    :root {
      color-scheme:light;
      --bg:#f7f8fa; --surface:#ebe9e3; --surface-hover:#dfddd6; --primary:#191a1d; --secondary:#5c626b; --tertiary:#7a828e; --muted-tone:#9299a4; --disabled:#b6bbc3; --text:var(--primary); --muted:var(--secondary); --quiet:var(--tertiary); --line:rgba(25,26,29,.10); --line-strong:rgba(25,26,29,.18); --nav:rgba(247,248,250,.60); --nav-menu:rgba(247,248,250,.94); --nav-hover:rgba(25,26,29,.075); --nav-child:#f7f8fa; --nav-child-hover:#ebe9e3; --accent:#5d58df; --accent-blue:#3977e4; --lime:#78980a; --shadow:rgba(63,59,130,.18);
      --font-sans:"Inter Variable","Inter","PingFang SC","Microsoft YaHei","Noto Sans SC",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
      --font-mono:"JetBrains Mono","SFMono-Regular",Consolas,"Liberation Mono",monospace;
      --type-display-size:56px; --type-display-line:64px; --type-display-weight:700; --type-display-tracking:-.025em;
      --type-h1-size:48px; --type-h1-line:58px; --type-h1-weight:650; --type-h1-tracking:-.02em;
      --type-h2-size:36px; --type-h2-line:46px; --type-h2-weight:650; --type-h2-tracking:-.015em;
      --type-h3-size:28px; --type-h3-line:38px; --type-h3-weight:600; --type-h3-tracking:-.01em;
      --type-h4-size:24px; --type-h4-line:34px; --type-h4-weight:600; --type-h4-tracking:0;
      --type-h5-size:20px; --type-h5-line:30px; --type-h5-weight:600; --type-h5-tracking:0;
      --type-body-lg-size:18px; --type-body-lg-line:30px;
      --type-body-size:16px; --type-body-line:28px;
      --type-body-sm-size:14px; --type-body-sm-line:22px;
      --type-label-size:14px; --type-label-line:20px; --type-label-weight:500; --type-label-tracking:.01em;
      --type-caption-size:12px; --type-caption-line:18px; --type-caption-tracking:.01em;
      --type-code-size:14px; --type-code-line:22px;
      --type-button-size:14px; --type-button-line:20px; --type-button-weight:600; --type-button-tracking:.01em;
      --type-input-size:16px; --type-input-line:24px;
      --type-page-size:var(--type-h1-size); --type-page-line:var(--type-h1-line); --type-section-size:var(--type-h2-size); --type-section-line:var(--type-h2-line); --type-item-size:var(--type-h5-size); --type-item-line:var(--type-h5-line); --type-reading-size:var(--type-body-lg-size); --type-reading-line:var(--type-body-lg-line); --type-meta-size:var(--type-caption-size); --type-meta-line:var(--type-caption-line); --type-heading-weight:650; --type-body-weight:400;
    }
    [data-theme="dark"] { color-scheme:dark; --bg:#06060b; --surface:#111118; --surface-hover:#181820; --primary:#f2f3f5; --secondary:#b6bbc3; --tertiary:#9299a4; --muted-tone:#7a828e; --disabled:#5c626b; --text:var(--primary); --muted:var(--secondary); --quiet:var(--tertiary); --line:rgba(255,255,255,.075); --line-strong:rgba(255,255,255,.15); --nav:rgba(6,6,11,.46); --nav-menu:rgba(9,9,15,.94); --nav-hover:rgba(255,255,255,.085); --nav-child:#202126; --nav-child-hover:#292a30; --accent:#7565f5; --accent-blue:#4f8cff; --lime:#c8f04b; --shadow:rgba(40,31,128,.30); }
    * { box-sizing:border-box; }
    html { height:100%; background:var(--bg); overflow:hidden; }
    body { position:relative; height:100%; margin:0; overflow:hidden; background:var(--bg); color:var(--text); font-family:var(--font-sans); font-size:var(--type-body-size); font-weight:var(--type-body-weight); line-height:var(--type-body-line); font-optical-sizing:auto; font-synthesis:none; text-rendering:optimizeLegibility; transition:background-color .2s ease,color .2s ease; }
    button,input,textarea,select { font:inherit; } a { color:inherit; } ::selection { background:rgba(109,93,246,.34); } :focus-visible { outline:2px solid var(--accent-blue); outline-offset:3px; }
    .shell { width:min(1200px,calc(100% - 96px)); margin-inline:auto; }
    .mono { font-family:var(--font-mono); font-variant-numeric:tabular-nums; }
    .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
    .page-view[data-route-style-loading] { visibility:hidden; }
    .cosmic-background { position:fixed; inset:0; z-index:0; width:100%; height:100%; opacity:0; pointer-events:none; transition:opacity .35s ease; }
    [data-theme="dark"] .cosmic-background { opacity:.82; }
    .site-nav { position:fixed; inset:0 0 auto; z-index:40; height:64px; border-bottom:1px solid var(--line); background:var(--nav); backdrop-filter:blur(18px) saturate(145%); -webkit-backdrop-filter:blur(18px) saturate(145%); transition:opacity .28s ease,transform .42s cubic-bezier(.16,1,.3,1),visibility 0s linear 0s; }
    body.auth-route .site-nav { opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-100%); transition:opacity .2s ease,transform .32s cubic-bezier(.16,1,.3,1),visibility 0s linear .32s; }
    body.auth-route .cosmic-background { opacity:0; }
    .nav-inner { position:relative; height:100%; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; }
    .brand { width:max-content; display:flex; align-items:center; gap:0; text-decoration:none; font-weight:500; font-size:14px; }
    .brand,.nav-links,.nav-actions { will-change:transform; }
    @media (min-width:768px) {
      .nav-inner.is-subpage { width:calc(100% - 40px); grid-template-columns:auto minmax(0,1fr) auto; gap:12px; }
      .nav-inner.is-subpage .nav-links { justify-self:end; }
    }
    .brand-logo-frame { position:relative; width:118px; height:42px; flex:none; overflow:hidden; border-radius:8px; background:#fff; }
    .brand-logo { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:contain; }
    .site-nav .brand-logo-frame { width:122px; height:46px; overflow:visible; border-radius:0; background:transparent; }
    .site-nav .brand-logo { position:static; display:block; filter:none; }
    [data-theme="dark"] .site-nav .brand-logo { filter:brightness(3.25) saturate(.86) contrast(.96) drop-shadow(0 0 1px rgba(255,255,255,.22)); }
    .brand-sub { color:var(--quiet); font-size:11px; font-weight:400; }
    .nav-links { position:relative; display:flex; align-items:center; gap:1px; padding:3px; border-radius:999px; perspective:900px; }
    .nav-group { position:relative; z-index:1; }
    .nav-trigger { position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:34px; padding:7px 13px; border:0; border-radius:999px; background:transparent; color:var(--secondary); white-space:nowrap; font-size:13px; font-weight:500; cursor:pointer; transition:color .2s ease,font-weight .2s ease,transform .2s cubic-bezier(.22,1,.36,1); }
    .nav-trigger i { color:var(--tertiary); font-size:8px; transition:transform .25s cubic-bezier(.22,1,.36,1),color .2s ease; }
    .nav-trigger:hover,.nav-trigger:focus-visible,.nav-group.active .nav-trigger,.nav-group.open .nav-trigger { color:var(--primary); font-weight:600; transform:scale(1.035); }
    .nav-group.open .nav-trigger i { color:var(--primary); transform:rotate(180deg); }
    .nav-hover-indicator { position:absolute; z-index:0; top:0; left:0; width:0; height:0; border:1px solid var(--line); border-radius:999px; background:var(--nav-hover); opacity:0; pointer-events:none; transform:translate3d(0,0,0); transition:transform .3s cubic-bezier(.22,1,.36,1),width .3s cubic-bezier(.22,1,.36,1),height .3s cubic-bezier(.22,1,.36,1),opacity .16s ease; }
    .nav-hover-indicator.visible { opacity:1; }
    .nav-dropdown { position:absolute; top:calc(100% + 12px); left:50%; display:grid; grid-template-columns:1fr; gap:4px; padding:6px; border:0; border-radius:12px; background:var(--nav-menu); box-shadow:0 22px 56px rgba(23,25,34,.16); backdrop-filter:blur(18px) saturate(135%); -webkit-backdrop-filter:blur(18px) saturate(135%); opacity:0; visibility:hidden; pointer-events:none; transform:translate3d(-50%,-10px,0) rotateX(-9deg) scale(.985); transform-origin:50% 0; transition:opacity .2s ease,transform .3s cubic-bezier(.22,1,.36,1),visibility 0s linear .3s; }
    .nav-dropdown::before { content:""; position:absolute; left:0; right:0; top:-13px; height:13px; }
    .nav-group.open .nav-dropdown { opacity:1; visibility:visible; pointer-events:auto; transform:translate3d(-50%,0,0) rotateX(0) scale(1); transition-delay:0s; }
    .nav-dropdown-single,.nav-dropdown-resources { width:220px; }
    .nav-child { display:flex; align-items:center; min-height:44px; padding:11px 13px; border:0; border-radius:8px; background:var(--nav-child); color:var(--primary); text-decoration:none; transition:transform .22s cubic-bezier(.22,1,.36,1),background-color .2s ease,color .2s ease; }
    .nav-child:hover,.nav-child:focus-visible,.nav-child.active { background:var(--nav-child-hover); color:var(--primary); transform:translateX(2px); }
    .nav-child strong { display:block; font-size:14px; font-weight:500; }
    .nav-actions { justify-self:end; display:flex; align-items:center; gap:10px; }
    .search-button { height:36px; min-width:158px; display:flex; align-items:center; justify-content:flex-start; gap:10px; padding:0 12px; border:1px solid var(--line); border-radius:8px; background:transparent; color:var(--tertiary); font-size:13px; font-weight:400; text-align:left; cursor:pointer; }
    .search-button:hover { border-color:var(--line-strong); color:var(--muted); }
    .theme-button,.menu-button { width:36px; height:36px; display:grid; place-items:center; border:1px solid var(--line); border-radius:8px; background:transparent; color:var(--muted); cursor:pointer; }
    .theme-button:hover,.menu-button:hover { background:var(--surface); color:var(--text); } .menu-button { display:none; }
    .theme-button:disabled { opacity:.55; cursor:default; }
    .theme-button:disabled:hover { background:transparent; color:var(--muted); }
    .login-button { height:36px; display:inline-flex; align-items:center; justify-content:center; padding:0 14px; border:1px solid var(--line-strong); border-radius:8px; background:var(--surface); color:var(--primary); text-decoration:none; font-size:12px; font-weight:500; white-space:nowrap; transition:background-color .2s ease,border-color .2s ease,transform .12s ease; }
    .login-button:hover,.login-button:focus-visible { border-color:var(--accent-blue); background:var(--surface-hover); }
    .login-button:active { transform:scale(.97); }
    .button { min-height:42px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:10px 20px; border-radius:9px; border:1px solid transparent; text-decoration:none; font-size:12px; font-weight:500; white-space:nowrap; cursor:pointer; transition:transform .12s ease,box-shadow .2s ease,filter .2s ease,background-color .2s ease,border-color .2s ease; }
    .button:active { transform:scale(.97); } .primary { background:linear-gradient(90deg,#6659eb,#477fea); color:#fff; box-shadow:0 8px 24px rgba(83,84,224,.24); }
    .primary:hover { transform:translateY(-1px); filter:brightness(1.07); box-shadow:0 9px 30px rgba(83,84,224,.38); }
    .secondary { border-color:var(--line); background:transparent; color:var(--text); } .secondary:hover { border-color:var(--line-strong); background:var(--surface); }

    .hero { position:relative; overflow:hidden; }
    .hero::before { content:""; position:absolute; inset:0; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:88px 88px; opacity:.28; mask-image:linear-gradient(to bottom,black,transparent 76%); pointer-events:none; }
    [data-theme="dark"] .hero::before { opacity:0; }
    .hero::after { content:""; position:absolute; right:0; bottom:110px; width:58%; height:48%; background:radial-gradient(ellipse at right bottom,rgba(79,140,255,.08),transparent 62%); pointer-events:none; }
    .hero-inner { position:relative; z-index:1; padding-top:120px; }
    .hero-copy { position:relative; z-index:2; }
    .hero-badge { display:inline-flex; align-items:center; gap:9px; padding:7px 11px; border:1px solid var(--line); border-radius:6px; color:var(--muted); font:400 10px/1 "JetBrains Mono",monospace; }
    .hero-badge i { font-size:6px; color:var(--lime); }
    .hero h1 { max-width:760px; margin:34px 0 22px; font-size:clamp(46px,5.6vw,74px); line-height:1.13; font-weight:400; letter-spacing:.01em; }
    .hero-title-line { display:block; white-space:nowrap; }
    .accent-text { color:var(--accent-blue); } .hero-lead { max-width:610px; margin:0; color:var(--muted); font-size:16px; line-height:1.85; }
    .hero-pain-points { width:min(760px,100%); display:grid; grid-template-columns:1fr 1fr 1.45fr; margin-top:34px; }
    .hero-pain-points p { display:flex; align-items:center; min-height:58px; margin:0; padding:2px 22px; color:var(--secondary); font-size:13px; font-weight:500; line-height:1.65; }
    .hero-pain-points p:first-child { padding-left:0; }
    .hero-pain-points p + p { border-left:1px solid var(--line-strong); }
    .hero-stats { width:690px; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:64px; padding-top:28px; border-top:1px solid var(--line); }
    .hero-stat strong { display:block; color:var(--primary); font:500 28px/1 "JetBrains Mono",monospace; letter-spacing:-.04em; } .hero-stat strong small { color:var(--tertiary); font-size:13px; }
    .hero-stat span { display:block; margin-top:10px; color:var(--tertiary); font-size:13px; font-weight:400; }
    .hero-beam { height:2px; margin-top:72px; background:linear-gradient(90deg,var(--accent),var(--accent-blue),transparent 78%); box-shadow:0 0 18px rgba(79,140,255,.32); transform-origin:left; animation:beam-in .9s cubic-bezier(.22,1,.36,1) both; }
    @keyframes beam-in { from { transform:scaleX(0); opacity:0; } to { transform:scaleX(1); opacity:1; } }
    .trust { min-height:74px; display:flex; align-items:center; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
    .trust-row { display:grid; grid-template-columns:1.6fr repeat(6,1fr); gap:30px; align-items:center; }
    .trust-row span { color:var(--quiet); font-size:11px; text-align:center; } .trust-row span:first-child { font:400 9px/1 "JetBrains Mono",monospace; text-align:left; }

    .section { padding:126px 0; } .section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:48px; }
    .section-label { margin:0 0 20px; color:var(--muted-tone); font:500 12px/1 "JetBrains Mono",monospace; letter-spacing:.12em; text-transform:uppercase; }
    .section h2 { margin:0; font-size:clamp(34px,4vw,52px); line-height:1.2; font-weight:400; }
    .section-link { display:inline-flex; align-items:center; gap:8px; color:var(--muted); text-decoration:none; font-size:11px; } .section-link:hover { color:var(--accent-blue); }
    .course-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
    .course-card { min-height:344px; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:var(--surface); transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .2s ease,filter .2s ease; }
    .course-card.featured { grid-column:span 2; } .course-grid:has(.course-card:hover) .course-card:not(:hover) { filter:brightness(.84); }
    .course-card:hover { transform:translateY(-4px); border-color:var(--line-strong); }
    .course-cover { height:154px; position:relative; overflow:hidden; background:linear-gradient(135deg,#171624,#28205b); }
    .course-card:nth-child(2) .course-cover { background:linear-gradient(135deg,#15213d,#10131d); } .course-card:nth-child(3) .course-cover { background:linear-gradient(135deg,#241a42,#15121f); }
    .course-card:nth-child(4) .course-cover { background:linear-gradient(135deg,#1b2117,#222718); } .course-card:nth-child(5) .course-cover { background:linear-gradient(135deg,#102432,#121820); }
    .course-card:nth-child(6) .course-cover { background:linear-gradient(135deg,#1b1742,#2d2465); }
    .course-cover::after { content:""; position:absolute; right:-14%; bottom:-50%; width:75%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,rgba(109,93,246,.18),transparent 65%); }
    .cover-code { position:absolute; z-index:1; right:20px; top:24px; color:rgba(255,255,255,.055); font:500 58px/1 "JetBrains Mono",monospace; }
    .cover-tag { position:absolute; z-index:2; left:18px; bottom:17px; padding:5px 8px; border:1px solid rgba(255,255,255,.16); border-radius:5px; color:rgba(255,255,255,.74); font:400 9px/1 "JetBrains Mono",monospace; background:rgba(9,9,15,.24); }
    .course-body { flex:1; padding:22px 20px 18px; position:relative; background:radial-gradient(220px circle at var(--x,-200px) var(--y,-200px),rgba(109,93,246,.11),transparent 70%); }
    .course-body h3 { margin:0 0 8px; font-size:18px; font-weight:400; } .course-body p { min-height:44px; margin:0; color:var(--muted); font-size:12px; line-height:1.75; }
    .course-meta { display:flex; gap:16px; margin-top:16px; color:var(--quiet); font:400 9px/1 "JetBrains Mono",monospace; } .course-meta span:first-child { color:var(--accent-blue); }
    .progress-label { display:flex; justify-content:space-between; margin-top:18px; color:var(--quiet); font:400 8px/1 "JetBrains Mono",monospace; }
    .progress { height:3px; margin-top:9px; border-radius:999px; background:var(--line); overflow:hidden; } .progress i { display:block; height:100%; background:linear-gradient(90deg,var(--accent),var(--accent-blue)); } .progress.complete i { background:var(--lime); }
    .path-section { padding-top:118px; padding-bottom:136px; } .path-wrap { margin-top:74px; position:relative; }
    .path-line { position:absolute; left:0; right:0; top:9px; height:2px; background:var(--line); } .path-line::after { content:""; display:block; width:26%; height:100%; background:linear-gradient(90deg,var(--accent),var(--accent-blue)); box-shadow:0 0 14px rgba(79,140,255,.35); }
    .path-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:32px; } .path-item { position:relative; padding-top:42px; }
    .path-node { position:absolute; top:2px; left:0; width:16px; height:16px; border:4px solid var(--bg); border-radius:50%; background:var(--surface-hover); box-shadow:0 0 0 1px var(--line-strong); }
    .path-item.done .path-node { background:var(--accent); box-shadow:0 0 0 1px var(--accent); } .path-item.current .path-node { background:var(--accent-blue); box-shadow:0 0 0 1px var(--accent-blue),0 0 18px var(--accent-blue); }
    .phase { display:block; margin-bottom:11px; color:var(--quiet); font:400 8px/1 "JetBrains Mono",monospace; } .path-item h3 { margin:0 0 8px; font-size:14px; font-weight:400; }
    .path-item p { margin:0; color:var(--muted); font-size:11px; line-height:1.7; } .status { display:block; margin-top:14px; color:var(--quiet); font:400 8px/1 "JetBrains Mono",monospace; } .done .status,.current .status { color:var(--accent-blue); }
    .cta { padding:126px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); text-align:center; background:radial-gradient(circle at 50% 100%,rgba(109,93,246,.12),transparent 42%); }
    .cta h2 { max-width:720px; margin:0 auto; font-size:clamp(36px,4.8vw,58px); line-height:1.35; font-weight:400; } .cta p { margin:20px 0 30px; color:var(--muted); font-size:13px; }
    footer { padding:58px 0 30px; } .footer-grid { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:50px; }
    .footer-brand p { max-width:280px; margin:18px 0 0; color:var(--quiet); font-size:11px; line-height:1.75; } .footer-col h3 { margin:0 0 17px; font-size:11px; font-weight:400; }
    .footer-col a { display:block; width:max-content; margin-top:10px; color:var(--quiet); font-size:10px; text-decoration:none; } .footer-col a:hover { color:var(--text); }
    .footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:54px; padding-top:20px; border-top:1px solid var(--line); color:var(--quiet); font:400 8px/1.5 "JetBrains Mono",monospace; }
    /* Premium split authentication page, adapted to the current single-page router. */
    .auth-view.page-view { inset:0; background:#07080b; }
    .auth-layout { width:100%; height:100%; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(440px,.92fr); }
    .auth-art { position:relative; min-width:0; overflow:hidden; padding:0; background:#030406; color:#edf2f9; isolation:isolate; container-type:size; }
    .auth-art::before,.auth-art::after { display:none; }
    .auth-art-caption { position:absolute; z-index:4; left:38px; bottom:34px; color:#5d6979; font:500 9px/1.5 "JetBrains Mono",monospace; letter-spacing:.12em; }
    .auth-panel { position:relative; min-width:0; display:grid; place-items:center; overflow-y:auto; padding:64px clamp(36px,6vw,92px); background:#0d0e13; color:#f0f1f4; }
    [data-theme="dark"] .auth-panel { background:#0d0e13; color:#f0f1f4; }
    .auth-guest-link { position:absolute; top:31px; right:34px; color:#6d737c; text-decoration:none; font-size:12px; font-weight:500; line-height:1.5; cursor:pointer; transition:color .2s ease,font-weight .2s ease,transform .12s ease; }
    [data-theme="dark"] .auth-guest-link { color:#a5abb5; }
    .auth-guest-link:hover,.auth-guest-link:focus-visible { color:#17181b; font-weight:600; }
    [data-theme="dark"] .auth-guest-link:hover,[data-theme="dark"] .auth-guest-link:focus-visible { color:#fff; }
    .auth-guest-link:active { transform:translateY(1px); }
    .auth-mobile-brand { display:none; }
    .auth-form-shell { width:min(100%,420px); margin:auto 0; }
    .auth-form-view,.auth-signup-view { animation:auth-view-in .45s cubic-bezier(.16,1,.3,1) both; }
    @keyframes auth-view-in { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
    .auth-eyebrow { margin:0 0 12px; color:#7e858f; font:500 10px/1 "JetBrains Mono",monospace; letter-spacing:.14em; }
    [data-theme="dark"] .auth-eyebrow { color:#747b87; }
    .auth-form-view h1,.auth-signup-view h2,.auth-success h2 { margin:0; font-size:clamp(30px,3vw,40px); font-weight:600; line-height:1.2; letter-spacing:-.035em; }
    .auth-intro { margin:12px 0 30px; color:#6d737c; font-size:14px; line-height:1.75; }
    [data-theme="dark"] .auth-intro { color:#969ca7; }
    .auth-method-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; margin:0 0 20px; padding:4px; border-radius:11px; background:rgba(22,24,29,.055); }
    [data-theme="dark"] .auth-method-tabs { background:rgba(255,255,255,.06); }
    .auth-method-tab { height:38px; border:0; border-radius:8px; background:transparent; color:#747a84; font:500 12px/1 var(--font-sans); cursor:pointer; transition:color .2s ease,background-color .24s ease,box-shadow .24s ease,transform .12s ease; }
    .auth-method-tab:hover,.auth-method-tab:focus-visible { color:#202126; }
    .auth-method-tab[aria-selected="true"] { background:#fff; color:#202126; font-weight:600; box-shadow:0 2px 9px rgba(20,22,28,.08); }
    [data-theme="dark"] .auth-method-tab:hover,[data-theme="dark"] .auth-method-tab:focus-visible { color:#f1f2f5; }
    [data-theme="dark"] .auth-method-tab[aria-selected="true"] { background:#1a1b22; color:#f1f2f5; box-shadow:0 3px 12px rgba(0,0,0,.22); }
    .auth-login-pane[hidden] { display:none; }
    .auth-login-pane { animation:auth-method-in .32s cubic-bezier(.16,1,.3,1) both; }
    @keyframes auth-method-in { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
    .auth-social,.auth-submit { width:100%; height:46px; display:flex; align-items:center; justify-content:center; gap:10px; border-radius:10px; font-size:13px; font-weight:600; cursor:pointer; transition:transform .12s ease,box-shadow .2s ease,filter .2s ease,border-color .2s ease,background-color .2s ease; }
    .auth-social { border:1px solid rgba(22,24,29,.11); background:#fff; color:#202126; box-shadow:0 2px 8px rgba(20,22,28,.06); }
    [data-theme="dark"] .auth-social { border-color:rgba(255,255,255,.11); background:#15161c; color:#f1f2f5; box-shadow:0 2px 10px rgba(0,0,0,.22); }
    .auth-social:hover,.auth-social:focus-visible { border-color:rgba(57,119,228,.44); }
    .auth-social:disabled { opacity:.58; cursor:not-allowed; filter:grayscale(.25); box-shadow:none; }
    .auth-social:disabled:hover,.auth-social:disabled:focus-visible { border-color:rgba(22,24,29,.11); }
    [data-theme="dark"] .auth-social:disabled:hover,[data-theme="dark"] .auth-social:disabled:focus-visible { border-color:rgba(255,255,255,.11); }
    .auth-social:active,.auth-submit:active { transform:scale(.98); }
    .auth-divider { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:12px; margin:22px 0; color:#9298a2; font-size:11px; }
    .auth-divider::before,.auth-divider::after { content:""; height:1px; background:rgba(22,24,29,.10); }
    [data-theme="dark"] .auth-divider::before,[data-theme="dark"] .auth-divider::after { background:rgba(255,255,255,.09); }
    .auth-field { display:grid; gap:8px; }
    .auth-field label { color:#3c4148; font-size:12px; font-weight:600; }
    [data-theme="dark"] .auth-field label { color:#c8ccd3; }
    .auth-field input { width:100%; height:46px; padding:0 14px; border:1px solid rgba(22,24,29,.12); border-radius:10px; outline:0; background:#fff; color:#191a1d; font-size:13px; box-shadow:0 2px 8px rgba(20,22,28,.045); transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease; }
    .auth-field input::placeholder { color:#9ba1aa; opacity:1; }
    .auth-field input:focus { border-color:#4b80e5; box-shadow:0 0 0 3px rgba(57,119,228,.12); }
    .auth-field input[aria-invalid="true"] { border-color:#c34552; box-shadow:0 0 0 3px rgba(195,69,82,.10); }
    [data-theme="dark"] .auth-field input { border-color:rgba(255,255,255,.11); background:#15161c; color:#f1f2f5; box-shadow:0 2px 10px rgba(0,0,0,.18); }
    #auth-form,#auth-phone-form,.auth-signup-form,#auth-reset-form,#auth-new-password-form { display:grid; gap:14px; }
    .auth-input-action { position:relative; }
    .auth-input-action input { padding-right:118px; }
    .auth-code-button { position:absolute; top:6px; right:6px; min-width:104px; height:34px; padding:0 11px; border:0; border-radius:7px; background:rgba(57,119,228,.09); color:#356fcf; font:600 11px/1 var(--font-sans); cursor:pointer; transition:background-color .2s ease,color .2s ease,transform .12s ease; }
    .auth-code-button:hover,.auth-code-button:focus-visible { background:rgba(57,119,228,.15); color:#285ebd; }
    .auth-code-button:active { transform:scale(.97); }
    .auth-code-button:disabled { color:#9298a2; cursor:not-allowed; }
    [data-theme="dark"] .auth-code-button { background:rgba(105,148,235,.13); color:#85adf8; }
    .auth-signup-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
    .auth-signup-view .auth-intro { margin-bottom:24px; }
    .auth-consent { display:flex; align-items:flex-start; gap:9px; color:#747a84; font-size:11px; line-height:1.55; cursor:pointer; }
    .auth-consent input { width:15px; height:15px; margin:1px 0 0; accent-color:#5d67e8; flex:0 0 auto; }
    .auth-form-view .auth-submit,.auth-signup-view .auth-submit { margin-top:0; }
    .auth-form-view .auth-message,.auth-signup-view .auth-message { margin-top:-4px; }
    .auth-signup-view .auth-divider { margin:18px 0; }
    .auth-social-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
    .auth-login-providers { grid-template-columns:minmax(0,1fr); }
    .auth-social-compact { height:43px; }
    .auth-provider-google i { color:#4285f4; }
    .auth-submit { margin-top:16px; border:0; background:linear-gradient(100deg,#4d72df,#6c5bec); color:#fff; box-shadow:0 10px 28px rgba(74,92,220,.25); }
    .auth-submit:hover,.auth-submit:focus-visible { filter:brightness(1.06); box-shadow:0 12px 34px rgba(74,92,220,.34); }
    .auth-submit:disabled { opacity:.64; cursor:wait; filter:none; }
    .auth-message { min-height:20px; margin:10px 0 0; color:#c34552; font-size:11px; line-height:1.6; }
    .auth-message.is-success { color:#3977e4; }
    [data-theme="dark"] .auth-message.is-success { color:#7da6f4; }
    .auth-message.is-loading {
      display:grid;
      place-items:center;
      min-height:30px;
      margin-top:2px;
      color:transparent;
      font-size:0;
      line-height:0;
    }
    .auth-message.is-loading::before {
      width:22px;
      height:22px;
      border-radius:50%;
      background:repeating-conic-gradient(from 0deg,#85888d 0deg 12deg,transparent 12deg 30deg);
      -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 0);
      mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 0);
      animation:auth-loading-spin .84s steps(12) infinite;
      content:"";
    }
    [data-theme="dark"] .auth-message.is-loading::before { background:repeating-conic-gradient(from 0deg,#a5a8ae 0deg 12deg,transparent 12deg 30deg); }
    @keyframes auth-loading-spin { to { transform:rotate(1turn); } }
    @media (prefers-reduced-motion:reduce) {
      .auth-message.is-loading::before { animation:none; opacity:.78; }
    }
    .auth-switch { margin:20px 0 0; color:#747a84; text-align:center; font-size:12px; }
    .auth-switch button { padding:0; border:0; background:transparent; color:#356fcf; font-weight:600; cursor:pointer; }
    [data-theme="dark"] .auth-switch button { color:#77a2f4; }
    .auth-forgot { margin:-4px 0 0; text-align:right; }
    .auth-forgot button { padding:2px 0; border:0; background:transparent; color:#5f6671; font:600 11px/1.4 var(--font-sans); cursor:pointer; }
    .auth-forgot button:hover,.auth-forgot button:focus-visible { color:#3977e4; text-decoration:underline; }
    .auth-legal { position:absolute; left:0; right:0; bottom:24px; color:#999fa8; text-align:center; font-size:10px; }
    .auth-panel.is-signup .auth-legal { display:none; }
    .auth-success { width:min(100%,390px); text-align:center; animation:auth-view-in .45s cubic-bezier(.16,1,.3,1) both; }
    .auth-success[hidden],.auth-form-view[hidden],.auth-signup-view[hidden] { display:none; }
    .auth-success-icon { width:54px; height:54px; display:grid; place-items:center; margin:0 auto 22px; border-radius:50%; background:rgba(57,119,228,.10); color:#3977e4; font-size:19px; }
    .auth-success p { margin:14px 0 26px; color:#737984; font-size:13px; line-height:1.8; }
    [data-theme="dark"] .auth-success p { color:#999fa9; }
    .auth-success .auth-submit { text-decoration:none; }
    .auth-success-actions { display:grid; gap:10px; }
    .auth-resend { width:100%; height:44px; border:1px solid rgba(22,24,29,.13); border-radius:10px; background:transparent; color:var(--text); font:600 12px/1 var(--font-sans); cursor:pointer; }
    .auth-resend:hover,.auth-resend:focus-visible { border-color:#4b80e5; }
    .auth-resend:disabled { opacity:.58; cursor:wait; }
    .auth-success-logout { justify-self:center; padding:5px 8px; border:0; background:transparent; color:#737984; font:500 11px/1 var(--font-sans); cursor:pointer; }
    .auth-success-logout:hover,.auth-success-logout:focus-visible { color:var(--text); }
    .auth-success .auth-message { min-height:18px; margin:8px 0 0; }

    /* Four-step learning preferences: existing account onboarding, native controls. */
    .onboarding-overlay[hidden] { display:none; }
    .onboarding-overlay { position:fixed; inset:0; z-index:90; display:grid; place-items:center; padding:24px; background:rgba(7,8,13,.58); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); opacity:0; transition:opacity .24s ease; }
    .onboarding-overlay.open { opacity:1; }
    .onboarding-dialog { width:min(720px,calc(100vw - 48px)); height:min(760px,calc(100dvh - 48px)); display:flex; flex-direction:column; overflow:hidden; border:1px solid rgba(25,26,29,.12); border-radius:16px; background:#fff; color:#191a1d; box-shadow:0 30px 90px rgba(12,14,22,.28); opacity:0; transform:translateY(18px) scale(.985); transition:width .52s cubic-bezier(.16,1,.3,1),opacity .28s ease,transform .42s cubic-bezier(.16,1,.3,1); }
    .onboarding-overlay.open .onboarding-dialog { opacity:1; transform:translateY(0) scale(1); }
    .onboarding-dialog.is-results { width:min(820px,calc(100vw - 48px)); }
    [data-theme="dark"] .onboarding-dialog { border-color:rgba(255,255,255,.12); background:#14151b; color:#f1f2f4; box-shadow:0 32px 100px rgba(0,0,0,.56); }
    .onboarding-survey,.onboarding-results { min-height:0; flex:1; display:flex; flex-direction:column; }
    .onboarding-survey[hidden],.onboarding-results[hidden] { display:none; }
    .onboarding-head { position:sticky; top:0; z-index:2; padding:26px 30px 18px; background:#fff; }
    [data-theme="dark"] .onboarding-head { background:#14151b; }
    .onboarding-progress-row { display:flex; align-items:center; gap:26px; }
    .onboarding-progress { flex:1; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
    .onboarding-progress span { height:6px; overflow:hidden; border-radius:999px; background:#e7e8eb; }
    .onboarding-progress span::after { content:""; display:block; width:0; height:100%; border-radius:inherit; background:#3977e4; transition:width .38s cubic-bezier(.22,1,.36,1); }
    .onboarding-progress span.complete::after { width:100%; }
    [data-theme="dark"] .onboarding-progress span { background:#2b2d35; }
    .onboarding-close { width:34px; height:34px; display:grid; place-items:center; flex:none; border:0; border-radius:10px; background:transparent; color:#6f7580; cursor:pointer; transition:background-color .2s ease,color .2s ease,opacity .2s ease; }
    .onboarding-close:hover,.onboarding-close:focus-visible { background:#eff0f2; color:#191a1d; }
    [data-theme="dark"] .onboarding-close:hover,[data-theme="dark"] .onboarding-close:focus-visible { background:#24262e; color:#fff; }
    .onboarding-close.is-hidden { visibility:hidden; pointer-events:none; }
    .onboarding-copy { margin-top:22px; }
    .onboarding-copy h2 { margin:0; font-size:26px; line-height:1.25; font-weight:600; letter-spacing:-.025em; }
    .onboarding-copy p { margin:9px 0 0; color:#737a85; font-size:13px; line-height:1.65; }
    [data-theme="dark"] .onboarding-copy p { color:#9ca2ad; }
    .onboarding-body { min-height:0; flex:1; overflow:auto; padding:4px 30px 24px; scrollbar-width:thin; }
    .onboarding-options { display:grid; gap:11px; }
    .onboarding-options.two-column { grid-template-columns:1fr 1fr; }
    .onboarding-option { position:relative; min-height:58px; display:flex; align-items:center; gap:12px; padding:11px 12px; border:1px solid #dedfe3; border-radius:10px; background:#fff; color:#25272c; text-align:left; cursor:pointer; box-shadow:0 2px 7px rgba(25,28,36,.035); transition:border-color .16s ease,box-shadow .2s ease,transform .12s ease,background-color .16s ease; }
    .onboarding-option:hover { border-color:#c1c5cc; box-shadow:0 8px 22px rgba(25,28,36,.08); }
    .onboarding-option:active { transform:scale(.985); }
    .onboarding-option.selected { border-color:#3977e4; box-shadow:0 0 0 1px #3977e4; }
    [data-theme="dark"] .onboarding-option { border-color:#32343d; background:#191a21; color:#eff0f3; box-shadow:none; }
    [data-theme="dark"] .onboarding-option:hover { border-color:#50535f; background:#1d1f27; }
    [data-theme="dark"] .onboarding-option.selected { border-color:#6698f1; box-shadow:0 0 0 1px #6698f1; }
    .onboarding-option-icon { width:32px; height:32px; display:grid; place-items:center; flex:none; border-radius:7px; background:#eef2fb; color:#3977e4; font-size:14px; }
    [data-theme="dark"] .onboarding-option-icon { background:#222b3d; color:#78a5f3; }
    .onboarding-option-copy { min-width:0; flex:1; }
    .onboarding-option-copy strong { display:block; font-size:13px; font-weight:600; line-height:1.35; }
    .onboarding-option-copy small { display:block; margin-top:3px; color:#7c838e; font-size:11px; line-height:1.45; }
    [data-theme="dark"] .onboarding-option-copy small { color:#989faa; }
    .onboarding-choice { width:19px; height:19px; display:grid; place-items:center; flex:none; border:2px solid #c5c9d0; border-radius:5px; color:#fff; font-size:10px; }
    .onboarding-option[data-mode="radio"] .onboarding-choice { border-radius:50%; }
    .onboarding-option.selected .onboarding-choice { border-color:#3977e4; background:#3977e4; }
    .onboarding-option[data-mode="radio"].selected .onboarding-choice::after { content:""; width:7px; height:7px; border-radius:50%; background:#fff; }
    .onboarding-chips { display:flex; flex-wrap:wrap; gap:9px; }
    .onboarding-chip { min-height:40px; padding:9px 14px; border:1px solid #d9dce1; border-radius:999px; background:#fff; color:#454a53; font-size:12px; cursor:pointer; transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .12s ease; }
    .onboarding-chip:hover { border-color:#afb5be; }
    .onboarding-chip:active { transform:scale(.97); }
    .onboarding-chip.selected { border-color:#3977e4; background:#edf3ff; color:#235fae; }
    [data-theme="dark"] .onboarding-chip { border-color:#363943; background:#191a21; color:#c7cbd2; }
    [data-theme="dark"] .onboarding-chip.selected { border-color:#6698f1; background:#1d2b43; color:#9dc0fb; }
    .onboarding-footer { position:sticky; bottom:0; z-index:2; display:flex; align-items:center; justify-content:flex-end; gap:10px; padding:16px 30px 24px; background:#fff; }
    [data-theme="dark"] .onboarding-footer { background:#14151b; }
    .onboarding-button { min-width:96px; height:42px; display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:0 18px; border:1px solid transparent; border-radius:9px; font-size:12px; font-weight:600; cursor:pointer; transition:transform .12s ease,filter .2s ease,background-color .2s ease,border-color .2s ease; }
    .onboarding-button[hidden] { display:none; }
    .onboarding-button:active { transform:scale(.97); }
    .onboarding-button.primary-action { background:#3977e4; color:#fff; }
    .onboarding-button.primary-action:hover { filter:brightness(1.06); }
    .onboarding-button.primary-action:disabled { opacity:.42; cursor:not-allowed; filter:none; }
    .onboarding-button.secondary-action { border-color:#d8dbe0; background:#fff; color:#34373e; }
    [data-theme="dark"] .onboarding-button.secondary-action { border-color:#373a44; background:#191a21; color:#e1e3e7; }
    .onboarding-results { padding:26px 30px 30px; }
    .onboarding-results-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:22px; }
    .onboarding-results-head h2 { margin:0; font-size:27px; line-height:1.25; font-weight:600; letter-spacing:-.025em; }
    .onboarding-results-head p { margin:8px 0 0; color:#747b86; font-size:13px; }
    [data-theme="dark"] .onboarding-results-head p { color:#9ca2ad; }
    .onboarding-recommendations { min-height:0; flex:1; display:flex; flex-direction:column; overflow-y:auto; }
    .onboarding-loading { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:19px; text-align:center; }
    .onboarding-loading[hidden],.onboarding-recommendations[hidden] { display:none; }
    .onboarding-loading-mark { width:150px; height:64px; display:grid; place-items:center; overflow:hidden; border-radius:16px; background:#fff; animation:onboarding-pulse 1.25s ease-in-out infinite; }
    .onboarding-loading-mark img { width:132px; height:50px; object-fit:contain; }
    [data-theme="dark"] .onboarding-loading-mark { background:#1b2435; }
    .onboarding-loading h2 { margin:0; font-size:25px; font-weight:600; }
    .onboarding-loading p { margin:5px 0 0; color:#7a818c; font-size:13px; }
    .onboarding-loading-bar { width:190px; height:6px; overflow:hidden; border-radius:999px; background:#e1e4e8; }
    .onboarding-loading-bar::after { content:""; display:block; width:45%; height:100%; border-radius:inherit; background:#3977e4; animation:onboarding-load 1.15s ease-in-out infinite alternate; }
    .onboarding-path-card { display:block; overflow:hidden; border:1px solid #dfe1e5; border-radius:12px; background:#fff; color:#202227; text-decoration:none; transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .2s ease,box-shadow .2s ease; }
    .onboarding-path-card:hover,.onboarding-path-card:focus-visible { transform:translateY(-3px); border-color:#bfc4cb; box-shadow:0 16px 36px rgba(31,37,51,.11); }
    .onboarding-path-card:focus-visible { outline:2px solid #3977e4; outline-offset:3px; }
    [data-theme="dark"] .onboarding-path-card { border-color:#343640; background:#191a21; color:#f0f1f3; }
    .onboarding-path-cover { display:block; width:100%; height:210px; object-fit:cover; object-position:center; }
    .onboarding-path-copy { padding:22px 24px 24px; }
    .onboarding-path-kicker { color:#3977e4; font-size:11px; font-weight:600; }
    .onboarding-path-copy h3 { margin:8px 0 0; font-size:24px; font-weight:600; line-height:1.35; }
    .onboarding-path-copy p { margin:10px 0 0; color:#747b86; font-size:14px; line-height:1.7; }
    [data-theme="dark"] .onboarding-path-copy p { color:#aeb4bf; }
    .onboarding-path-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:20px; padding-top:16px; border-top:1px solid #e8e9ed; color:#747b86; font-size:12px; }
    [data-theme="dark"] .onboarding-path-bottom { border-color:#343640; color:#aeb4bf; }
    .onboarding-path-bottom strong { color:#3977e4; font-size:13px; white-space:nowrap; }
    .onboarding-results-actions { display:flex; justify-content:flex-end; margin-top:auto; padding-top:22px; }
    .onboarding-step-count { flex:none; color:#737a85; font:500 12px/1 var(--font-sans); font-variant-numeric:tabular-nums; }
    .onboarding-close span { font:400 24px/1 var(--font-sans); }
    .onboarding-eyebrow { margin:0 0 10px; color:#3977e4; font:600 11px/1.4 var(--font-sans); letter-spacing:.08em; }
    .onboarding-copy h2 { font-size:clamp(22px,2.4vw,28px); line-height:1.45; outline:none; }
    .onboarding-options { gap:8px; }
    .onboarding-option { min-height:50px; padding:12px 14px; gap:12px; box-shadow:none; }
    .onboarding-option:hover { box-shadow:none; border-color:#8faada; }
    .onboarding-option.selected { background:#f3f7ff; }
    .onboarding-option[data-mode="checkbox"].selected .onboarding-choice::after { content:""; width:4px; height:8px; border:solid #fff; border-width:0 2px 2px 0; transform:translateY(-1px) rotate(45deg); }
    .onboarding-option[data-mode="checkbox"] .onboarding-choice i { display:none; }
    .onboarding-option:focus-visible,.onboarding-close:focus-visible,.onboarding-button:focus-visible { outline:2px solid #3977e4; outline-offset:3px; }
    .onboarding-option-copy strong { font-size:13px; line-height:1.6; }
    .onboarding-option-copy small { font-size:12px; line-height:1.65; }
    .onboarding-choice { width:18px; height:18px; border-width:1.5px; }
    .onboarding-groups { display:grid; grid-template-columns:1fr 1fr; column-gap:20px; row-gap:18px; }
    .onboarding-group { min-width:0; }
    .onboarding-group h3 { margin:0 0 10px; padding-bottom:9px; border-bottom:1px solid #e7e8eb; color:#737a85; font-size:12px; font-weight:500; }
    .onboarding-group .onboarding-option { width:100%; min-height:46px; padding:10px 14px; }
    .onboarding-level-badge { flex:none; width:36px; height:36px; display:grid; place-items:center; border-radius:8px; background:#eef2fb; color:#3977e4; font:600 15px/1 var(--font-sans); }
    .onboarding-options.levels .onboarding-option { min-height:112px; align-items:flex-start; padding:16px 14px; }
    .onboarding-options.levels .onboarding-choice { margin-top:9px; }
    .onboarding-options.levels .onboarding-option[data-onboarding-value="unsure"] { grid-column:1 / -1; min-height:50px; align-items:center; padding:12px 14px; }
    .onboarding-options.levels .onboarding-option[data-onboarding-value="unsure"] .onboarding-choice { margin-top:0; }
    .onboarding-level-label { display:block; margin-bottom:5px; color:#737a85; font-size:10px; font-weight:500; letter-spacing:.06em; }
    .onboarding-help { flex:1; min-width:0; margin:0; color:#737a85; font-size:12px; line-height:1.6; }
    .onboarding-footer { border-top:1px solid #eff0f2; }
    [data-theme="dark"] .onboarding-step-count,[data-theme="dark"] .onboarding-help,[data-theme="dark"] .onboarding-group h3,[data-theme="dark"] .onboarding-level-label { color:#a8aeba; }
    [data-theme="dark"] .onboarding-eyebrow { color:#9dc0fb; }
    [data-theme="dark"] .onboarding-option.selected { background:#1d2b43; }
    [data-theme="dark"] .onboarding-level-badge { background:#222b3d; color:#9dc0fb; }
    [data-theme="dark"] .onboarding-group h3,[data-theme="dark"] .onboarding-footer { border-color:#2b2d35; }
    @keyframes onboarding-pulse { 50% { transform:scale(.96); opacity:.72; } }
    @keyframes onboarding-load { from { transform:translateX(-95%); } to { transform:translateX(220%); } }
    @media (max-width:767px) {
      .auth-layout { grid-template-columns:1fr; }
      .auth-art { display:none; }
      .auth-panel { place-items:center; padding:86px 24px 58px; }
      .auth-mobile-brand { position:absolute; top:24px; left:22px; display:flex; align-items:center; gap:9px; color:inherit; text-decoration:none; font-size:14px; font-weight:600; }
      .auth-mobile-brand .brand-sub { display:inline; }
      .auth-guest-link { top:27px; right:22px; }
      .auth-legal { bottom:16px; }
      .auth-signup-grid { grid-template-columns:1fr; }
      .onboarding-overlay { padding:0; }
      .onboarding-dialog,.onboarding-dialog.is-results { width:100%; height:100dvh; max-width:none; max-height:none; border:0; border-radius:0; }
      .onboarding-head { padding:22px 20px 16px; }
      .onboarding-body { padding:4px 20px 20px; }
      .onboarding-footer { padding:14px 20px 20px; }
      .onboarding-options.two-column { grid-template-columns:1fr; }
      .onboarding-groups { grid-template-columns:1fr; }
      .onboarding-progress-row { gap:14px; }
      .onboarding-options.levels .onboarding-option { min-height:92px; }
      .onboarding-footer { flex-wrap:wrap; }
      .onboarding-help { flex-basis:100%; }
      .onboarding-results { padding:22px 20px 24px; }
      .onboarding-path-cover { height:150px; }
      .onboarding-path-copy { padding:18px; }
      .onboarding-path-copy h3 { font-size:20px; }
      .onboarding-path-bottom { align-items:flex-start; flex-direction:column; gap:8px; }
    }
    @media (prefers-reduced-motion:reduce) {
      .onboarding-overlay,.onboarding-dialog,.onboarding-progress span::after,.onboarding-path-card { transition:none!important; }
      .onboarding-loading-mark,.onboarding-loading-bar::after { animation:none!important; }
    }

    .modal { position:fixed; inset:0; z-index:70; display:none; align-items:flex-start; justify-content:center; padding:12vh 20px 20px; background:rgba(4,4,8,.72); backdrop-filter:blur(8px); }
    .modal.open { display:flex; } .palette { width:min(600px,100%); overflow:hidden; border:1px solid var(--line-strong); border-radius:14px; background:var(--surface); box-shadow:0 24px 80px rgba(0,0,0,.45); }
    .search-field { display:flex; align-items:center; gap:13px; padding:17px 18px; border-bottom:1px solid var(--line); } .search-field i { color:var(--quiet); }
    .search-field input { flex:1; border:0; outline:0; background:transparent; color:var(--text); } .search-field input::placeholder { color:var(--quiet); opacity:1; } .search-field kbd { color:var(--quiet); font:400 10px/1 "JetBrains Mono",monospace; }
    .results { max-height:380px; overflow:auto; padding:10px; } .result { width:100%; display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:12px; padding:11px; border:0; border-radius:9px; background:transparent; color:var(--text); text-align:left; cursor:pointer; }
    .result:hover,.result.selected { background:var(--surface-hover); } .result-icon { width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--line); border-radius:8px; color:var(--accent-blue); }
    .result strong { display:block; font-size:13px; font-weight:400; } .result small { color:var(--quiet); font-size:10px; } .empty { padding:54px 20px; color:var(--muted); text-align:center; font-size:13px; }
    .reveal { opacity:0; transform:translateY(18px); filter:blur(6px); transition:opacity .52s cubic-bezier(.22,1,.36,1),transform .52s cubic-bezier(.22,1,.36,1),filter .52s cubic-bezier(.22,1,.36,1); }
    .reveal.visible { opacity:1; transform:translateY(0); filter:blur(0); }

    /* 固定视口 SPA：每次只展示一个路由视图，文档本身不产生纵向滚动。 */
    .app-main { position:relative; z-index:1; height:100dvh; min-height:100dvh; overflow:hidden; padding-top:64px; }
    .page-view { position:absolute; inset:64px 0 0; display:block; min-height:0; padding:0; overflow:hidden; visibility:hidden; opacity:0; transform:translate3d(0,14px,0); pointer-events:none; transition:opacity .34s cubic-bezier(.22,1,.36,1),transform .34s cubic-bezier(.22,1,.36,1),visibility 0s linear .34s; }
    .page-view.active { z-index:2; visibility:visible; opacity:1; transform:translate3d(0,0,0); pointer-events:auto; transition-delay:0s; }
    .page-view .shell { height:100%; }
    .hero.page-view { height:auto; }
    .hero-inner { height:100%; padding-top:clamp(42px,6.8vh,86px); }
    .hero h1 { margin:clamp(20px,3.2vh,34px) 0 clamp(12px,2vh,22px); font-size:clamp(36px,3.8vw,58px); }
    .hero-pain-points { margin-top:clamp(18px,3vh,34px); }
    .hero-stats { margin-top:clamp(24px,5vh,54px); padding-top:clamp(18px,2.7vh,28px); }
    .hero-beam { margin-top:clamp(26px,5vh,64px); }
    .trust,.cta,footer { display:none; }

    .workspace-view { padding:clamp(28px,5vh,54px) 0; }
    .workspace-view::before { content:""; position:absolute; inset:0; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:88px 88px; opacity:.12; mask-image:linear-gradient(to bottom,black,transparent 84%); pointer-events:none; }
    .workspace-view > .shell { position:relative; z-index:1; display:flex; flex-direction:column; }
    .workspace-view .section-heading { flex:none; margin-bottom:clamp(20px,3.8vh,38px); }
    .workspace-view .section-label { margin-bottom:12px; }
    .workspace-view h2 { font-size:clamp(30px,3.3vw,46px); }
    .view-intro { max-width:620px; margin:12px 0 0; color:var(--muted); font-size:13px; line-height:1.75; }
    .course-grid { flex:1; min-height:0; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
    .course-card { min-height:0; height:100%; border-radius:12px; }
    .course-card.featured { grid-column:auto; }
    .course-cover { height:clamp(82px,12vh,118px); flex:none; }
    .cover-code { top:16px; font-size:44px; }
    .cover-tag { bottom:12px; }
    .course-body { padding:16px 17px 14px; }
    .course-body h3 { margin-bottom:6px; font-size:15px; }
    .course-body p { min-height:38px; font-size:11px; line-height:1.65; }
    .course-meta { margin-top:11px; gap:10px; }
    .progress-label { margin-top:10px; }

    /* 课程目录：参考文档站的信息架构，左侧树状目录，右侧路径与课程内容。 */
    .course-catalog-layout { width:100%; min-width:0; flex:1; min-height:0; display:grid; grid-template-columns:minmax(260px,294px) minmax(0,1fr); gap:clamp(34px,4.8vw,72px); transition:grid-template-columns .56s cubic-bezier(.16,1,.3,1),gap .56s cubic-bezier(.16,1,.3,1); }
    .course-catalog-layout.is-course-detail { grid-template-columns:0 minmax(0,1fr); gap:0; }
    .course-catalog-layout.is-course-overview { grid-template-columns:minmax(260px,294px) minmax(0,1fr); gap:clamp(34px,4.8vw,72px); }
    .course-learning-path { min-width:0; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:7px 28px 24px 0; border-right:1px solid var(--line); opacity:1; transform:translateX(0) scale(1); transform-origin:right center; visibility:visible; scrollbar-width:thin; scrollbar-color:var(--line-strong) transparent; transition:opacity .3s ease,transform .56s cubic-bezier(.16,1,.3,1),padding .56s cubic-bezier(.16,1,.3,1),border-color .28s ease,visibility 0s linear 0s; }
    .course-catalog-layout.is-course-detail .course-learning-path { padding-right:0; overflow:hidden; border-right-color:transparent; opacity:0; transform:translateX(-48px) scale(.985); visibility:hidden; pointer-events:none; transition:opacity .26s ease,transform .56s cubic-bezier(.16,1,.3,1),padding .56s cubic-bezier(.16,1,.3,1),border-color .28s ease,visibility 0s linear .56s; }
    .course-learning-path h3 { margin:0 0 22px; color:var(--primary); font-size:17px; font-weight:600; letter-spacing:-.01em; }
    .course-directory { display:grid; gap:20px; }
    .course-directory-group { position:relative; min-width:0; }
    .course-directory-heading { position:sticky; top:-7px; z-index:5; margin:0 0 8px; padding:11px 0 9px; background:var(--bg); color:var(--secondary); font-size:14px; font-weight:600; line-height:1.5; }
    .course-directory-label { display:inline; color:inherit; background:var(--bg); }
    .course-path-list { max-width:100%; max-height:5200px; display:grid; gap:2px; margin:0; padding:0 0 0 14px; overflow:hidden; border-left:1px solid var(--line); opacity:1; transform:translateY(0); list-style:none; transition:max-height .38s cubic-bezier(.22,1,.36,1),opacity .22s ease,transform .32s cubic-bezier(.22,1,.36,1),border-color .2s ease; }
    .course-directory-group.is-collapsed .course-path-list { max-height:0; border-left-color:transparent; opacity:0; transform:translateY(-5px); pointer-events:none; }
    .course-path-module { min-width:0; list-style:none; }
    .course-path-module + .course-path-module { margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
    .course-path-module-title { margin:0 0 6px; color:var(--secondary); font-size:13px; font-weight:600; line-height:1.65; letter-spacing:-.005em; }
    .course-path-module-title b { margin-right:5px; color:var(--accent-blue); font-weight:600; }
    .course-path-module-toggle { width:100%; display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:4px 10px; border:0; border-radius:7px; background:transparent; color:inherit; font:inherit; line-height:inherit; text-align:left; cursor:pointer; transition:background-color .2s ease,color .2s ease; }
    .course-path-module-toggle:hover,.course-path-module-toggle:focus-visible { background:var(--nav-hover); color:var(--primary); }
    .course-path-module-toggle i { flex:none; margin-top:6px; color:var(--tertiary); font-size:9px; transform:rotate(0); transition:transform .32s cubic-bezier(.22,1,.36,1),color .2s ease; }
    .course-path-module-toggle:hover i,.course-path-module-toggle:focus-visible i { color:var(--accent-blue); }
    .course-path-module-list { max-height:1200px; display:grid; gap:2px; margin:0; padding:0; overflow:hidden; opacity:1; transform:translateY(0); list-style:none; transition:max-height .4s cubic-bezier(.22,1,.36,1),opacity .22s ease,transform .32s cubic-bezier(.22,1,.36,1); }
    .course-path-module.is-collapsed .course-path-module-title { margin-bottom:0; }
    .course-path-module.is-collapsed .course-path-module-toggle i { transform:rotate(-90deg); }
    .course-path-module.is-collapsed .course-path-module-list { max-height:0; opacity:0; transform:translateY(-5px); pointer-events:none; }
    .course-path-item { position:relative; min-width:0; }
    .course-path-button { width:100%; min-height:36px; display:flex; align-items:center; padding:7px 10px; border:0; border-radius:7px; background:transparent; color:var(--tertiary); text-align:left; font-size:13px; font-weight:400; line-height:1.5; cursor:pointer; transition:background-color .2s ease,color .2s ease,transform .22s cubic-bezier(.22,1,.36,1); }
    .course-path-button:hover,.course-path-button:focus-visible { background:var(--nav-hover); color:var(--primary); transform:translateX(2px); }
    .course-path-item.active::before { content:""; position:absolute; top:7px; bottom:7px; left:-15px; width:2px; border-radius:2px; background:var(--accent-blue); }
    .course-path-item.active .course-path-button { background:rgba(79,140,255,.09); color:var(--primary); font-weight:500; }
    .course-path-placeholder-item { min-width:0; }
    .course-path-placeholder { width:100%; min-height:34px; display:flex; align-items:center; padding:7px 10px; border-radius:7px; color:var(--disabled); font-size:12px; line-height:1.5; }
    .course-content-column { min-width:0; min-height:0; display:flex; flex-direction:column; overflow:hidden; }
    .course-breadcrumb { min-height:28px; display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0 0 12px; color:var(--tertiary); font-size:11px; }
    .course-breadcrumb a,.course-breadcrumb button { padding:0; border:0; background:transparent; color:inherit; font:inherit; text-decoration:none; cursor:pointer; transition:color .2s ease; }
    .course-breadcrumb a:hover,.course-breadcrumb a:focus-visible,.course-breadcrumb button:hover,.course-breadcrumb button:focus-visible { color:var(--primary); }
    .course-breadcrumb i { color:var(--disabled); font-size:8px; }
    .course-breadcrumb [aria-current="page"] { color:var(--secondary); font-weight:500; }
    .course-catalog-layout.is-course-detail .course-breadcrumb,.course-catalog-layout.is-course-overview .course-breadcrumb { min-height:32px; margin-bottom:16px; font-size:13px; }
    .course-content-column .section-heading { margin-bottom:clamp(14px,2.6vh,24px); }
    .course-list { width:100%; min-width:0; min-height:0; display:flex; flex:1; flex-direction:column; justify-content:flex-start; overflow-y:auto; overscroll-behavior:contain; padding:4px 6px 18px 0; scrollbar-width:thin; scrollbar-color:var(--line-strong) transparent; }
    .course-list-module { flex:none; min-width:0; }
    .course-list-module + .course-list-module { margin-top:22px; }
    .course-list-module-heading { display:flex; align-items:baseline; gap:9px; margin:0 0 6px; padding:0 14px 9px; border-bottom:1px solid var(--line); color:var(--secondary); font-size:13px; font-weight:600; line-height:1.55; }
    .course-list-module-heading span { flex:none; color:var(--accent-blue); font-family:var(--font-mono); font-size:11px; letter-spacing:.05em; }
    .course-item { min-width:0; flex:none; display:grid; grid-template-rows:48px 0fr; transition:grid-template-rows .56s cubic-bezier(.22,1,.36,1); }
    .course-item.is-previewing { grid-template-rows:48px 1fr; }
    .course-row-trigger { position:relative; width:100%; min-width:0; display:flex; align-items:center; padding:0 44px 0 14px; border:0; border-radius:10px; background:transparent; color:var(--primary); text-align:left; cursor:pointer; transition:background-color .24s ease,color .2s ease,padding .36s cubic-bezier(.22,1,.36,1); }
    .course-row-trigger h3 { min-width:0; margin:0; overflow:hidden; font-size:clamp(15px,1.42vw,19px); font-weight:400; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }
    .course-row-trigger::after { content:"+"; position:absolute; right:14px; top:50%; color:var(--tertiary); font:400 18px/1 "JetBrains Mono",monospace; transform:translateY(-50%) rotate(0); transition:transform .4s cubic-bezier(.22,1,.36,1),color .2s ease; }
    .course-item.is-previewing .course-row-trigger { padding-left:18px; background:var(--nav-hover); }
    .course-item.is-previewing .course-row-trigger::after { color:var(--accent-blue); transform:translateY(-50%) rotate(45deg); }
    .course-item-compact .course-row-trigger::after { content:""; }
    .course-item-compact.is-current .course-row-trigger { padding-left:18px; background:var(--nav-hover); color:var(--primary); }
    .course-progress-pill { flex:none; margin-left:auto; padding:4px 8px; border:1px solid color-mix(in srgb,var(--accent-blue) 24%,var(--line)); border-radius:999px; background:color-mix(in srgb,var(--accent-blue) 8%,transparent); color:var(--accent-blue); font:600 10px/1 "JetBrains Mono",monospace; }
    .course-progress-pill.is-complete { border-color:color-mix(in srgb,#31a66a 30%,var(--line)); background:color-mix(in srgb,#31a66a 9%,transparent); color:#238656; }
    .course-item:not(.course-item-compact) .course-progress-pill { margin-right:28px; }
    .course-path-progress { flex:none; margin-left:auto; color:var(--accent-blue); font:600 9px/1 "JetBrains Mono",monospace; }
    .course-list:has(.course-item.is-previewing) .course-item:not(.is-previewing) .course-row-trigger { color:var(--secondary); }
    .course-detail { min-height:0; overflow:hidden; }
    .course-detail-card { min-height:132px; display:grid; grid-template-columns:160px minmax(0,1fr); margin:4px 0 10px; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--surface); box-shadow:0 18px 44px rgba(20,21,34,.10); opacity:0; transform:translateY(-12px) scale(.985); transform-origin:50% 0; transition:opacity .28s ease,transform .5s cubic-bezier(.22,1,.36,1),border-color .2s ease; }
    .course-item.is-previewing .course-detail-card { border-color:var(--line-strong); opacity:1; transform:translateY(0) scale(1); transition-delay:.06s,0s,0s; }
    .course-detail-card .course-cover { width:100%; height:100%; min-height:132px; }
    #course-ai-101 .course-cover { background:linear-gradient(135deg,#1b2117,#222718); }
    #course-ai-tools .course-cover { background:linear-gradient(135deg,#171624,#28205b); }
    #course-ai-work .course-cover { background:linear-gradient(135deg,#15213d,#10131d); }
    #course-ai-creative .course-cover { background:linear-gradient(135deg,#241a42,#15121f); }
    #course-ai-foundation .course-cover { background:linear-gradient(135deg,#102432,#121820); }
    #course-ai-builder .course-cover { background:linear-gradient(135deg,#1b1742,#2d2465); }
    #course-ai-career .course-cover { background:linear-gradient(135deg,#22232a,#2f3542); }
    .course-detail-card .course-body { display:flex; flex-direction:column; justify-content:center; padding:14px 18px; }
    .course-detail-card .course-body p { min-height:0; margin:0; font-size:11px; line-height:1.65; }
    .course-profile-lines { display:grid; gap:5px; margin-top:8px; }
    .course-profile-lines div { display:grid; grid-template-columns:58px minmax(0,1fr); gap:8px; align-items:start; }
    .course-profile-lines small { color:var(--tertiary); font-size:9px; line-height:1.55; }
    .course-profile-lines span { color:var(--secondary); font-size:10px; line-height:1.55; }
    .course-detail-card .course-meta { flex-wrap:wrap; margin-top:9px; }
    .course-detail-card .progress-label { margin-top:9px; }
    .course-lesson-link { display:inline-flex; align-items:center; gap:6px; margin-left:auto; color:var(--accent-blue); text-decoration:none; white-space:nowrap; }

    /* 单课程详情使用聚焦模式：总课程大纲收起，当前课程目录固定在详情右侧。 */
    .course-catalog-list-view { min-width:0; min-height:0; flex:1; display:flex; flex-direction:column; }
    .course-catalog-list-view[hidden],.course-inline-detail[hidden] { display:none; }
    .course-inline-detail { --context-panel-width:0px; position:relative; min-width:0; min-height:0; flex:1; display:grid; grid-template-columns:var(--context-panel-width) minmax(0,1fr) minmax(244px,272px); overflow:hidden; transition:grid-template-columns .56s cubic-bezier(.16,1,.3,1); }
    .course-inline-detail.is-deep-blue-open { --context-panel-width:min(292px,20vw); }
    .course-context-panel { min-width:0; min-height:0; overflow:hidden; border-right:1px solid transparent; background:var(--lesson-paper); opacity:0; visibility:hidden; transform:translateX(-22px); transition:opacity .28s ease,transform .56s cubic-bezier(.16,1,.3,1),border-color .28s ease,visibility 0s linear .56s; }
    .course-inline-detail.is-deep-blue-open .course-context-panel { border-right-color:var(--lesson-line); opacity:1; visibility:visible; transform:translateX(0); transition-delay:0s; }
    .course-context-panel-inner { width:min(292px,20vw); height:100%; overflow-y:auto; overscroll-behavior:contain; padding:4px 26px 30px 0; scrollbar-width:thin; scrollbar-color:var(--line-strong) transparent; }
    .course-context-panel-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:24px; }
    .course-context-panel-kicker { margin:0; color:var(--accent-blue); font:600 10px/1 "JetBrains Mono",monospace; letter-spacing:.16em; }
    .course-context-panel-close { width:32px; height:32px; flex:none; display:grid; place-items:center; border:1px solid var(--line-strong); border-radius:50%; background:transparent; color:var(--secondary); cursor:pointer; transition:color .2s ease,background-color .2s ease,transform .2s ease; }
    .course-context-panel-close:hover,.course-context-panel-close:focus-visible { background:var(--nav-hover); color:var(--primary); transform:rotate(6deg); }
    .course-context-panel figure { margin:0 0 24px; }
    .course-context-panel img { width:100%; aspect-ratio:3/2; display:block; object-fit:cover; border-radius:10px; filter:saturate(.82) contrast(1.04); }
    .course-context-panel figcaption { margin-top:8px; color:var(--tertiary); font-size:9px; line-height:1.55; }
    .course-context-panel h3 { margin:0; color:var(--primary); font-size:25px; font-weight:650; line-height:1.25; letter-spacing:-.025em; }
    .course-context-panel h3 small { display:block; margin-top:5px; color:var(--tertiary); font:500 10px/1.5 "JetBrains Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }
    .course-context-panel-copy { display:grid; gap:12px; margin-top:18px; }
    .course-context-panel-copy p { margin:0; color:var(--secondary); font-size:12px; line-height:1.8; }
    .course-context-panel-facts { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:22px 0 0; }
    .course-context-panel-facts div { padding:11px 10px; border-top:1px solid var(--line); }
    .course-context-panel-facts small { display:block; color:var(--tertiary); font-size:9px; }
    .course-context-panel-facts strong { display:block; margin-top:5px; color:var(--primary); font-size:12px; font-weight:600; }
    .course-context-panel-source { display:inline-flex; align-items:center; gap:6px; margin-top:22px; color:var(--accent-blue); font-size:10px; text-decoration:none; }
    .course-context-panel-source:hover,.course-context-panel-source:focus-visible { color:var(--primary); }
    .course-inline-scroll { min-width:0; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:2px clamp(28px,3vw,44px) 28px; border-left:1px solid var(--line); scrollbar-gutter:stable; scrollbar-width:thin; scrollbar-color:var(--line-strong) transparent; }
    .course-inline-detail-header { display:flex; align-items:end; gap:24px; margin-bottom:24px; }
    .course-inline-detail-header .section-label { margin-bottom:8px; }
    .course-inline-detail-header h2 { margin:0; color:var(--primary); font-size:clamp(32px,4vw,52px); font-weight:500; letter-spacing:-.04em; line-height:1.05; }
    .course-inline-summary { display:grid; grid-template-columns:220px minmax(0,1fr); min-height:220px; overflow:hidden; border:1px solid var(--line-strong); border-radius:12px; background:var(--surface); box-shadow:0 18px 44px rgba(20,21,34,.08); }
    .course-inline-summary:has(.course-cover[data-cover-lesson]) { height:220px; }
    .course-inline-summary .course-cover { width:100%; height:auto; min-height:0; max-height:none; align-self:stretch; background:linear-gradient(135deg,#1b2117,#222718); }
    .course-inline-summary .course-cover[data-cover-lesson] { background-size:cover; background-position:center; }
    .course-inline-summary .course-cover[data-cover-lesson]::after,
    .course-inline-summary .course-cover[data-cover-lesson] .cover-code { display:none; }
    .course-inline-summary .course-cover[data-cover-lesson="1"] { background-image:url("course-covers/m1-1.1.png"); }
    .course-inline-summary .course-cover[data-cover-lesson="2"] { background-image:url("course-covers/m1-1.2.png"); }
    .course-inline-summary .course-cover[data-cover-lesson="3"] { background-image:url("course-covers/m1-1.3.png"); }
    .course-inline-summary .course-cover[data-cover-lesson="4"] { background-image:url("course-covers/m1-1.4.png"); }
    .course-inline-summary-body { min-width:0; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr) auto; gap:12px; padding:24px 26px; }
    .course-inline-summary-copy { min-width:0; align-self:start; }
    .course-inline-summary-copy p { max-width:none; margin:0; color:var(--secondary); font-size:13px; line-height:1.8; }
    .course-inline-summary-meta { display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:14px; color:var(--tertiary); font-size:10px; }
    .course-inline-entry { min-height:42px; display:inline-flex; align-items:center; justify-content:center; justify-self:end; align-self:end; gap:9px; padding:0 16px; border-radius:8px; background:var(--primary); color:var(--bg); font-size:11px; font-weight:600; text-decoration:none; white-space:nowrap; transition:transform .2s ease,opacity .2s ease; }
    .course-inline-entry:hover,.course-inline-entry:focus-visible { transform:translateY(-2px); opacity:.88; }
    .course-inline-entry.is-disabled { border:1px solid var(--line-strong); background:var(--surface-hover); color:var(--disabled); cursor:not-allowed; opacity:.78; pointer-events:auto; }
    .course-inline-entry.is-disabled:hover,.course-inline-entry.is-disabled:focus-visible { transform:none; opacity:.78; }
    .course-inline-entry.is-prerequisite-locked,.course-inline-entry.is-prerequisite-locked:hover,.course-inline-entry.is-prerequisite-locked:focus-visible { background:var(--surface); color:var(--secondary); opacity:1; }
    .course-inline-sections { padding:42px 0 10px; }
    .course-inline-main { min-width:0; display:grid; align-content:start; gap:42px; }
    .course-inline-section { min-width:0; }
    .course-inline-section h3 { margin:0 0 18px; color:var(--primary); font-size:18px; font-weight:600; letter-spacing:-.02em; }
    .course-inline-section p { margin:0; color:var(--secondary); font-size:13px; line-height:1.9; }
    .course-inline-section p + p { margin-top:12px; }
    .course-inline-outcomes { display:grid; gap:12px; margin:0; padding:0; list-style:none; counter-reset:course-outcome; }
    .course-inline-outcomes li { position:relative; min-height:32px; padding-left:34px; color:var(--secondary); font-size:12px; line-height:1.7; counter-increment:course-outcome; }
    .course-inline-outcomes li::before { content:counter(course-outcome,decimal-leading-zero); position:absolute; top:1px; left:0; color:var(--accent-blue); font:500 10px/1.7 "JetBrains Mono",monospace; }
    .course-inline-curriculum { min-width:0; min-height:0; align-self:stretch; overflow-y:auto; overscroll-behavior:contain; padding:2px 0 28px clamp(24px,2.3vw,34px); border-left:1px solid var(--line); scrollbar-width:thin; scrollbar-color:var(--line-strong) transparent; }
    .course-inline-curriculum-list { display:grid; gap:18px; margin:0; padding:0; list-style:none; counter-reset:inline-curriculum; }
    .course-inline-curriculum-item { position:relative; display:grid; grid-template-columns:30px minmax(0,1fr); gap:10px; align-items:start; color:var(--secondary); counter-increment:inline-curriculum; }
    .course-inline-curriculum-item[hidden] { display:none; }
    .course-inline-curriculum-item::before { content:counter(inline-curriculum,decimal-leading-zero); color:var(--accent-blue); font:500 10px/1.7 "JetBrains Mono",monospace; }
    .course-inline-curriculum-item strong { display:block; color:var(--primary); font-size:13px; font-weight:500; line-height:1.55; }
    .course-inline-curriculum-item span { display:block; margin-top:4px; color:var(--tertiary); font-size:11px; line-height:1.6; }
    .course-inline-curriculum-item button { width:100%; padding:0; border:0; background:transparent; color:inherit; text-align:left; cursor:pointer; }
    .course-inline-curriculum-item button:not(:disabled):hover strong,.course-inline-curriculum-item button:not(:disabled):focus-visible strong,.course-inline-curriculum-item.is-active strong { color:var(--accent-blue); }
    .course-inline-curriculum-item button:disabled { cursor:default; opacity:1; }
    .course-inline-curriculum-item.is-active::before { font-weight:700; }
    /* 课程内部视图沿用全站导航页的转场语言：短暂退场后，正文与章节目录错峰淡入。 */
    .course-inline-scroll,.course-inline-curriculum { will-change:opacity,transform,filter; }
    .course-inline-detail.is-course-transition-out .course-inline-scroll,
    .course-inline-detail.is-course-transition-out .course-inline-curriculum {
      opacity:0;
      transform:translateY(10px);
      filter:blur(4px);
      transition:opacity .16s ease-in,transform .16s ease-in,filter .16s ease-in;
    }
    .course-inline-detail.is-course-transition-in .course-inline-scroll {
      animation:course-view-in .52s cubic-bezier(.22,1,.36,1) both;
    }
    .course-inline-detail.is-course-transition-in .course-inline-curriculum {
      animation:course-view-in .52s .065s cubic-bezier(.22,1,.36,1) both;
    }
    .course-catalog-layout.is-course-transition-out {
      opacity:0;
      transform:translateY(10px);
      filter:blur(5px);
      transition:opacity .2s ease-in,transform .2s ease-in,filter .2s ease-in;
    }
    .course-catalog-layout.is-course-transition-in {
      animation:course-view-in .62s cubic-bezier(.22,1,.36,1) both;
    }
    @keyframes course-view-in {
      from { opacity:0; transform:translateY(18px); filter:blur(6px); }
      to { opacity:1; transform:translateY(0); filter:blur(0); }
    }
    @media (min-width:768px) {
      #courses.workspace-view > .shell { width:min(1880px,calc(50% + 600px),calc(100% - 48px)); }
      #courses .course-catalog-layout.is-course-overview { gap:clamp(24px,2.4vw,42px); }
      #courses .course-catalog-layout.is-course-overview .course-inline-scroll { padding-inline:clamp(20px,2vw,32px); }
    }
    .course-inline-overview[hidden],.course-inline-lesson[hidden] { display:none; }
    .course-inline-lesson.lesson-view { min-height:100%; padding:0; background:var(--lesson-paper); }
    .course-inline-lesson.lesson-view .lesson-panels { width:min(100%,820px); height:auto; min-height:100%; margin-inline:auto; overflow:visible; padding:0 0 72px; }
    .course-inline-lesson.lesson-view .lesson-sheet { width:100%; max-width:820px; }
    .course-inline-lesson.lesson-view .lesson-panels.pdf-html-course-panels { width:min(100%,900px); }
    .course-inline-lesson.lesson-view .lesson-sheet.pdf-html-course-sheet { width:100%; max-width:900px; }
    /* 第一课采用固定舞台式分镜，内容通过场景切换呈现，而不是连续课件下翻。 */
    .course-inline-detail.is-story-scene-mode .course-inline-scroll { overflow:hidden; padding-bottom:0; }
    .course-inline-detail.is-story-scene-mode .course-inline-lesson,
    .course-inline-detail.is-story-scene-mode .lesson-panels[data-lesson-course-index="0"],
    .course-inline-detail.is-story-scene-mode .lesson-panels[data-lesson-course-index="1"] { height:100%; min-height:0; }
    .course-inline-detail.is-story-scene-mode .lesson-panels[data-lesson-course-index="0"],
    .course-inline-detail.is-story-scene-mode .lesson-panels[data-lesson-course-index="1"] { width:100%; overflow:hidden; padding:0; }
    .course-inline-detail.is-story-scene-mode .lesson-pagination[data-lesson-course-index="0"],
    .course-inline-detail.is-story-scene-mode .lesson-pagination[data-lesson-course-index="1"] { display:none; }
    .lesson-panel.lesson-storyboard-panel { height:100%; min-height:0; overflow:hidden; }
    .lesson-storyboard { position:relative; width:100%; height:100%; min-height:430px; overflow:hidden; isolation:isolate; }
    .lesson-story-scene { position:absolute; inset:0; display:flex; align-items:flex-start; justify-content:center; overflow:auto; padding:clamp(28px,5vh,52px) clamp(8px,1.4vw,18px) max(44px,env(safe-area-inset-bottom)); scroll-padding-block:clamp(28px,5vh,52px); opacity:0; visibility:hidden; transform:translateY(20px) scale(.992); filter:blur(7px); pointer-events:none; transition:opacity .44s ease,transform .62s cubic-bezier(.22,1,.36,1),filter .44s ease,visibility 0s linear .62s; scrollbar-width:thin; scrollbar-color:var(--line-strong) transparent; }
    .lesson-story-scene.is-active { z-index:2; opacity:1; visibility:visible; transform:translateY(0) scale(1); filter:blur(0); pointer-events:auto; transition-delay:0s; }
    .lesson-story-scene.is-leaving { z-index:3; opacity:0; visibility:visible; transform:translateY(-14px) scale(.996); filter:blur(6px); pointer-events:none; transition-duration:.32s; }
    .lesson-storyboard.is-advanceable { cursor:pointer; }
    .lesson-story-map,.lesson-story-goals,.lesson-story-definition-content,.lesson-story-boundary { width:min(100%,820px); margin:0 auto; }
    .lesson-story-map .lesson-sheet-header { margin-bottom:clamp(34px,6vh,64px); padding:0 0 22px; border-bottom:1px solid var(--lesson-line); }
    .lesson-story-map .lesson-sheet-header h3 { opacity:0; }
    .lesson-story-scene.is-active .lesson-story-map .lesson-sheet-header h3 { animation:story-title-dock .82s cubic-bezier(.22,1,.36,1) both; }
    .lesson-story-map .lesson-sheet-subtitle { margin-top:14px; font-size:clamp(17px,2vw,23px); line-height:1.72; }
    .lesson-story-map .lesson-sheet-subtitle span { color:var(--lesson-copy); font-size:.76em; }
    .lesson-story-map .lesson-index-grid { margin-top:0; }
    .lesson-story-map .lesson-index-item { opacity:0; transform:translateY(18px); }
    .lesson-story-scene.is-active .lesson-story-map .lesson-index-item { animation:story-block-in .64s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-story-scene.is-active .lesson-story-map .lesson-index-item:nth-child(1) { animation-delay:.35s; }
    .lesson-story-scene.is-active .lesson-story-map .lesson-index-item:nth-child(2) { animation-delay:.55s; }
    .lesson-story-scene.is-active .lesson-story-map .lesson-index-item:nth-child(3) { animation-delay:.75s; }
    .lesson-story-scene.is-active .lesson-story-map .lesson-index-item:nth-child(4) { animation-delay:.95s; }
    /* M1 1.2：前四幕采用独立状态机，概览卡片在停留两秒后按阅读顺序进入。 */
    .task-story-overview,.task-story-goals,.task-story-logic,.task-story-classification,.task-story-types { width:min(100%,980px); margin:0 auto; }
    .task-story-overview .lesson-sheet-header { display:grid; justify-items:start; margin:0 0 clamp(38px,6vh,66px); padding:0; border:0; }
    .task-story-overview .lesson-sheet-header h3 { margin:0; font-size:clamp(46px,6vw,74px); font-weight:650; letter-spacing:-.055em; line-height:1.04; }
    .task-story-overview .lesson-sheet-subtitle { display:block; margin:14px 0 0; color:var(--lesson-ink); font-size:clamp(20px,2.35vw,30px); font-weight:650; line-height:1.4; }
    .task-story-overview .lesson-sheet-lede { display:block; max-width:680px; margin:14px 0 0; color:var(--lesson-muted); font-size:clamp(15px,1.5vw,18px); line-height:1.85; }
    .task-story-learning-note { display:block; margin:9px 0 0; color:var(--lesson-copy); font-size:clamp(16px,1.7vw,20px); line-height:1.7; }
    .task-story-overview .lesson-index-grid { margin-top:0; }
    .task-story-overview .lesson-index-item { opacity:0; transform:translate3d(-22px,12px,0); }
    .task-story-overview-scene.is-active .lesson-index-item { animation:task-story-card-in .72s cubic-bezier(.22,1,.36,1) forwards; }
    .task-story-overview-scene.is-active .lesson-index-item:nth-child(1) { animation-delay:2s; }
    .task-story-overview-scene.is-active .lesson-index-item:nth-child(2) { animation-delay:2.18s; }
    .task-story-overview-scene.is-active .lesson-index-item:nth-child(3) { animation-delay:2.36s; }
    .task-story-overview-scene.is-active .lesson-index-item:nth-child(4) { animation-delay:2.54s; }
    .task-story-goals .lesson-goals { margin:0; }
    .task-story-goals .lesson-goals h4 { margin-bottom:clamp(28px,5vh,52px); font-size:clamp(34px,4.8vw,58px); letter-spacing:-.045em; }
    .task-story-goals .lesson-goals li { font-size:clamp(15px,1.45vw,18px); }
    .task-story-logic .lesson-sheet-header { margin:0; padding:0; border:0; }
    .task-story-logic .lesson-sheet-header h3 { margin:0; font-size:clamp(42px,5.4vw,66px); font-weight:650; letter-spacing:-.05em; line-height:1.08; }
    .task-story-logic .lesson-sheet-subtitle { margin-top:20px; color:var(--lesson-copy); font-size:clamp(18px,2vw,24px); line-height:1.65; }
    .task-story-logic .lesson-sheet-lede { max-height:0; margin-top:0; overflow:hidden; opacity:0; transform:translateY(16px); filter:blur(5px); transition:max-height .7s cubic-bezier(.22,1,.36,1),margin .7s cubic-bezier(.22,1,.36,1),opacity .48s ease,transform .7s cubic-bezier(.22,1,.36,1),filter .48s ease; }
    .task-story-logic-scene.is-explanation-visible .lesson-sheet-lede { max-height:180px; margin-top:30px; opacity:1; transform:translateY(0); filter:blur(0); }
    .task-story-classification { padding-block:8px 28px; }
    .task-story-classification .lesson-definition-intro { margin-top:0; }
    .task-story-classification .lesson-definition-intro h4 { font-size:clamp(28px,3.6vw,42px); }
    .task-story-types { position:relative; height:100%; min-height:100%; padding:4px 0 26px; }
    .task-story-types .lesson-sheet-header { margin:0 0 26px; padding:0 0 20px; border-bottom:1px solid var(--lesson-line); }
    .task-story-types .lesson-sheet-header h3 { margin:0; font-size:clamp(40px,5vw,62px); font-weight:650; letter-spacing:-.05em; line-height:1.08; }
    .task-story-types .lesson-sheet-subtitle { max-height:0; margin:0; overflow:hidden; opacity:0; transform:translateY(10px); transition:max-height .58s cubic-bezier(.22,1,.36,1),margin .58s cubic-bezier(.22,1,.36,1),opacity .4s ease,transform .58s cubic-bezier(.22,1,.36,1); }
    .task-story-types-scene.is-matching-complete .lesson-sheet-subtitle { max-height:90px; margin-top:13px; opacity:1; transform:translateY(0); }
    .task-types-table-wrap { max-height:0; margin:0; overflow:hidden; border:0; border-radius:10px; opacity:0; transform:translateY(12px); transition:max-height .72s cubic-bezier(.22,1,.36,1),margin .72s cubic-bezier(.22,1,.36,1),opacity .45s ease,transform .72s cubic-bezier(.22,1,.36,1); }
    .task-types-table-wrap.is-visible { max-height:520px; margin:0 0 20px; border:1px solid var(--lesson-line); opacity:1; transform:translateY(0); }
    .task-types-table { width:100%; table-layout:fixed; border-collapse:collapse; }
    .task-types-table th,.task-types-table td { height:48px; padding:9px 12px; border-bottom:1px solid var(--lesson-line); color:var(--lesson-copy); font-size:12px; line-height:1.45; text-align:left; vertical-align:middle; transition:opacity .42s ease,background-color .28s ease,color .28s ease; }
    .task-types-table th { height:48px; color:var(--lesson-ink); font-weight:700; }
    .task-types-table tbody tr:last-child td { border-bottom:0; }
    .task-types-table th:first-child,.task-types-table td:first-child { width:14%; }
    .task-types-table th:nth-child(2),.task-types-table td:nth-child(2) { width:30%; }
    .task-types-table th:nth-child(3),.task-types-table td:nth-child(3) { width:28%; }
    .task-types-table th:nth-child(4),.task-types-table td:nth-child(4) { width:28%; }
    .task-types-table [data-type-column]:not([data-type-column="0"]) { visibility:hidden; opacity:0; }
    .task-story-types-scene[data-match-column="1"] [data-type-column="1"],.task-story-types-scene[data-match-column="2"] [data-type-column="1"],.task-story-types-scene[data-match-column="2"] [data-type-column="2"],.task-story-types-scene[data-match-column="3"] [data-type-column="1"],.task-story-types-scene[data-match-column="3"] [data-type-column="2"],.task-story-types-scene[data-match-column="3"] [data-type-column="3"],.task-story-types-scene.is-matching-complete [data-type-column] { visibility:visible; opacity:1; }
    .task-type-name-cell { color:var(--lesson-ink)!important; font-weight:700; }
    .task-type-name-cell span { display:inline-block; opacity:0; transform:translateY(8px); }
    .task-type-name-cell.is-filled span { animation:task-type-name-in .42s cubic-bezier(.22,1,.36,1) forwards; }
    .task-type-card-deck { position:relative; min-height:238px; display:grid; place-items:center; }
    .task-story-types-scene[data-types-mode="intro"] .task-type-card-deck,.task-story-types-scene[data-types-mode="transition"] .task-type-card-deck { position:absolute; inset:0; z-index:5; min-height:0; padding:clamp(82px,13vh,126px) 24px 38px; pointer-events:none; }
    .task-story-types-scene.is-matching .task-type-card-deck,.task-story-types-scene.is-matching-complete .task-type-card-deck { display:none; }
    .task-story-types .task-type-definition-card { position:absolute; inset:auto; width:min(620px,100%); min-height:210px; display:none; align-content:center; padding:28px 32px; border:1px solid var(--lesson-line); border-radius:12px; background:var(--lesson-soft); box-shadow:0 18px 52px rgba(34,52,74,.08); }
    .task-story-types .task-type-definition-card.is-active { display:grid; pointer-events:auto; animation:task-type-definition-in .58s cubic-bezier(.22,1,.36,1) both; }
    .task-story-types .task-type-definition-card small { display:none; }
    .task-story-types .task-type-definition-card h4 { margin:0 0 20px; color:var(--lesson-ink); font-size:clamp(28px,3.2vw,38px); }
    .task-story-types .task-type-definition-card p { margin:0; color:var(--lesson-copy); font-size:clamp(14px,1.45vw,17px); line-height:1.85; }
    .task-story-types .task-type-definition-card p + p { margin-top:10px; }
    .task-type-match-area { max-height:0; overflow:hidden; opacity:0; transform:translateY(12px); transition:max-height .65s cubic-bezier(.22,1,.36,1),opacity .42s ease,transform .65s cubic-bezier(.22,1,.36,1); }
    .task-story-types-scene.is-matching .task-type-match-area { max-height:360px; opacity:1; transform:translateY(0); }
    .task-type-sort-deck { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
    .task-type-sort-card { min-height:62px; padding:11px 13px; border:1px solid var(--lesson-line); border-radius:8px; background:var(--lesson-soft); color:var(--lesson-copy); font:inherit; font-size:12px; line-height:1.55; text-align:left; cursor:grab; transition:transform .24s cubic-bezier(.22,1,.36,1),border-color .2s ease,background-color .2s ease,box-shadow .24s ease; }
    .task-type-sort-card:hover,.task-type-sort-card:focus-visible,.task-type-sort-card.is-selected { transform:translateY(-2px); border-color:var(--lesson-blue); background:var(--lesson-soft-blue); box-shadow:0 10px 28px rgba(44,84,125,.09); outline:0; }
    .task-type-sort-card:active { cursor:grabbing; }
    .task-type-sort-card[draggable="false"] { cursor:default; }
    .task-drop-cell.is-active-column { background:color-mix(in srgb,var(--lesson-soft-blue) 62%,transparent); outline:1px dashed color-mix(in srgb,var(--lesson-blue) 60%,transparent); outline-offset:-5px; }
    .task-drop-cell.is-drag-over { background:var(--lesson-soft-blue); outline-style:solid; }
    .task-drop-cell > .task-type-sort-card { width:100%; min-height:0; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; color:var(--lesson-copy); cursor:grab; transform:none; }
    .task-drop-cell > .task-type-sort-card.is-wrong { padding:6px 8px; border:2px solid #df5252; border-radius:6px; background:rgba(223,82,82,.07); }
    .task-type-match-controls { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:42px; margin:0 0 14px; }
    .task-type-match-hint { display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 14px; margin:0; color:var(--lesson-muted); font-size:12px; }
    .task-type-match-hint strong { color:var(--lesson-ink); font-size:13px; font-weight:700; }
    .task-type-match-hint span { color:var(--lesson-quiet); font-size:11px; }
    .task-type-confirm { flex:none; padding:5px 0; border:0; border-bottom:1px solid currentColor; background:transparent; color:var(--lesson-ink); font:600 12px/1.4 inherit; cursor:pointer; transition:color .2s ease,opacity .2s ease,transform .2s ease; }
    .task-type-confirm:hover,.task-type-confirm:focus-visible { color:var(--lesson-blue); transform:translateX(2px); }
    .task-type-confirm:disabled { color:var(--lesson-quiet); cursor:not-allowed; opacity:.5; transform:none; }
    .task-story-types-scene.is-matching-complete .task-type-match-area { display:none; }
    .task-type-takeaway { max-height:0; margin:0!important; padding-block:0!important; overflow:hidden; border-color:transparent!important; opacity:0; transform:translateY(12px); transition:max-height .62s cubic-bezier(.22,1,.36,1),margin .62s cubic-bezier(.22,1,.36,1),padding .62s cubic-bezier(.22,1,.36,1),border-color .3s ease,opacity .42s ease,transform .62s cubic-bezier(.22,1,.36,1); }
    .task-story-types-scene.is-takeaway-visible .task-type-takeaway { max-height:160px; margin-top:22px!important; padding-block:18px!important; border-color:var(--lesson-line)!important; opacity:1; transform:translateY(0); }
    .task-story-boundary-content { width:min(100%,980px); margin:auto; padding:8px 0 28px; }
    .task-story-boundary-content .lesson-sheet-header { margin:0 0 28px; padding:0 0 20px; border-bottom:1px solid var(--lesson-line); }
    .task-story-boundary-content .lesson-sheet-header h3 { margin:0; font-size:clamp(40px,5vw,62px); font-weight:650; letter-spacing:-.05em; line-height:1.08; }
    .task-story-boundary-content .lesson-sheet-subtitle { margin-top:13px; font-size:clamp(15px,1.55vw,18px); }
    .task-boundary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:0; }
    .task-boundary-grid .lesson-boundary-card { position:relative; min-width:0; padding:14px 14px 18px; border:1px solid var(--lesson-line); border-radius:10px; background:var(--lesson-soft); opacity:0; transform-origin:center; }
    .task-story-boundary-scene.is-active .task-boundary-grid .lesson-boundary-card:nth-child(1) { animation:task-boundary-spread-left .82s 2s cubic-bezier(.22,1,.36,1) both; }
    .task-story-boundary-scene.is-active .task-boundary-grid .lesson-boundary-card:nth-child(2) { animation:task-boundary-spread-center .72s 2s cubic-bezier(.22,1,.36,1) both; }
    .task-story-boundary-scene.is-active .task-boundary-grid .lesson-boundary-card:nth-child(3) { animation:task-boundary-spread-right .82s 2s cubic-bezier(.22,1,.36,1) both; }
    .task-boundary-grid .lesson-figure { aspect-ratio:1.3; overflow:hidden; background:var(--lesson-paper); }
    .task-boundary-grid .lesson-figure img { width:100%; height:100%; object-fit:contain; opacity:0; clip-path:inset(0 100% 0 0); }
    .task-story-boundary-scene.is-active .task-boundary-grid .lesson-figure img { animation:task-boundary-line-loop 4.6s 2.72s ease-in-out infinite; }
    .task-story-boundary-scene.is-active .task-boundary-grid .lesson-boundary-card:nth-child(2) img { animation-delay:2.92s; }
    .task-story-boundary-scene.is-active .task-boundary-grid .lesson-boundary-card:nth-child(3) img { animation-delay:3.12s; }
    .task-boundary-grid .lesson-boundary-card h4 { margin:12px 0 8px; color:var(--lesson-ink); font-size:20px; }
    .task-boundary-grid .lesson-boundary-card p { color:var(--lesson-copy); font-size:13px; line-height:1.75; }
    .task-boundary-combination { margin-top:18px; padding-top:16px; border-top:1px solid var(--lesson-line); opacity:0; transform:translateY(14px); transition:opacity .48s ease,transform .62s cubic-bezier(.22,1,.36,1); }
    .task-story-boundary-scene.is-combination-visible .task-boundary-combination { opacity:1; transform:translateY(0); }
    .task-boundary-combination h4 { margin:0 0 8px; color:var(--lesson-ink); font-size:20px; }
    .task-boundary-combination p { min-height:48px; color:var(--lesson-copy); font-size:14px; line-height:1.8; }
    .task-boundary-combination p.is-streaming::after { content:""; display:inline-block; width:1px; height:1em; margin-left:3px; background:var(--lesson-blue); vertical-align:-.12em; animation:task-story-caret .72s steps(1,end) infinite; }
    .task-boundary-principle { max-height:0; margin:0!important; padding-block:0!important; overflow:hidden; border-color:transparent!important; opacity:0; transform:translateY(12px); transition:max-height .6s cubic-bezier(.22,1,.36,1),margin .6s cubic-bezier(.22,1,.36,1),padding .6s cubic-bezier(.22,1,.36,1),border-color .3s ease,opacity .4s ease,transform .6s cubic-bezier(.22,1,.36,1); }
    .task-story-boundary-scene.is-principle-visible .task-boundary-principle { max-height:130px; margin-top:18px!important; padding-block:16px!important; border-color:var(--lesson-line)!important; opacity:1; transform:translateY(0); }
    .second-lesson-quiz-links[hidden] { display:none; }
    .second-lesson-quiz-links { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; animation:story-next-card-in .55s cubic-bezier(.22,1,.36,1) both; }
    .second-lesson-quiz-links .lesson-story-quiz-next { width:100%; grid-column:auto; }
    .second-lesson-quiz-links .lesson-story-quiz-next:first-child { text-align:left; }
    @keyframes task-type-name-in { to { opacity:1; transform:translateY(0); } }
    @keyframes task-type-definition-in { from { opacity:0; transform:translateY(18px); filter:blur(5px); } to { opacity:1; transform:translateY(0); filter:blur(0); } }
    @keyframes task-boundary-spread-left { from { opacity:0; transform:translateX(calc(100% + 14px)) scale(.92); filter:blur(5px); } to { opacity:1; transform:translateX(0) scale(1); filter:blur(0); } }
    @keyframes task-boundary-spread-center { from { opacity:0; transform:scale(.9); filter:blur(5px); } to { opacity:1; transform:scale(1); filter:blur(0); } }
    @keyframes task-boundary-spread-right { from { opacity:0; transform:translateX(calc(-100% - 14px)) scale(.92); filter:blur(5px); } to { opacity:1; transform:translateX(0) scale(1); filter:blur(0); } }
    @keyframes task-boundary-line-loop { 0% { opacity:0; clip-path:inset(0 100% 0 0); } 18%,72% { opacity:1; clip-path:inset(0 0 0 0); } 88%,100% { opacity:0; clip-path:inset(0 0 0 0); } }
    @keyframes task-story-caret { 50% { opacity:0; } }
    @keyframes task-story-card-in { from { opacity:0; transform:translate3d(-22px,12px,0); filter:blur(5px); } to { opacity:1; transform:translate3d(0,0,0); filter:blur(0); } }
    .lesson-story-goals .lesson-goals { margin:0; }
    .lesson-story-goals .lesson-goals h4 { margin-bottom:clamp(28px,5vh,52px); font-size:clamp(34px,4.8vw,58px); letter-spacing:-.045em; }
    .lesson-story-goals .lesson-goals li { font-size:clamp(15px,1.45vw,18px); }
    .lesson-story-definition-title { width:min(100%,820px); padding-top:clamp(50px,12vh,110px); text-align:center; }
    .lesson-story-definition-title h3 { margin:0; color:var(--lesson-ink); font-size:clamp(42px,5.5vw,68px); font-weight:600; line-height:1.12; letter-spacing:-.05em; }
    .lesson-story-definition .lesson-story-definition-title { opacity:1; transform:translateY(0); filter:blur(0); transition:opacity .36s ease,transform .48s ease,filter .36s ease; }
    .lesson-story-definition .lesson-story-definition-content { position:absolute; inset:0; height:max-content; min-height:100%; padding:clamp(22px,4vh,44px) clamp(8px,1.4vw,18px); opacity:0; transform:translateY(18px); filter:blur(6px); pointer-events:none; transition:opacity .52s .16s ease,transform .66s .16s cubic-bezier(.22,1,.36,1),filter .52s .16s ease; }
    .lesson-story-definition.is-content-visible { align-items:flex-start; }
    .lesson-story-definition.is-content-visible .lesson-story-definition-title { opacity:0; transform:translateY(0); filter:blur(3px); pointer-events:none; }
    .lesson-story-definition.is-content-visible .lesson-story-definition-content { opacity:1; transform:translateY(0); filter:blur(0); pointer-events:auto; }
    .lesson-story-definition-question { margin:0 0 28px!important; padding-bottom:18px; border-bottom:1px solid var(--lesson-line); color:var(--lesson-copy)!important; font-size:clamp(17px,1.8vw,22px)!important; }
    .lesson-story-boundary { padding-block:8px 28px; }
    .lesson-story-boundary > h3 { margin:0 0 30px; padding-bottom:18px; border-bottom:1px solid var(--lesson-line); color:var(--lesson-ink); font-size:clamp(30px,4vw,48px); font-weight:600; letter-spacing:-.035em; }
    .lesson-story-boundary .lesson-concept-grid { margin-top:0; }
    .lesson-story-boundary-prompt { margin:26px 0 10px!important; color:var(--lesson-ink)!important; font-size:15px!important; font-weight:700; line-height:1.6!important; }
    .lesson-story-relation-content,.lesson-story-examples-content,.lesson-story-process-content,.lesson-story-case-content,.lesson-story-result-content,.lesson-story-hallucination-content { width:min(100%,900px); margin:0 auto; }
    .lesson-view .lesson-story-scene .lesson-story-relation-content,.lesson-view .lesson-story-scene .lesson-story-examples-content,.lesson-view .lesson-story-scene .lesson-story-process-content,.lesson-view .lesson-story-scene .lesson-story-case-content,.lesson-view .lesson-story-scene .lesson-story-result-content,.lesson-view .lesson-story-scene .lesson-story-hallucination-content { padding:18px 0; }
    .lesson-view [data-lesson-panel="overview"] .lesson-story-relation-content .lesson-sheet-header,.lesson-view [data-lesson-panel="overview"] .lesson-story-process-content .lesson-sheet-header,.lesson-view [data-lesson-panel="overview"] .lesson-story-result-content .lesson-sheet-header { display:block; padding-bottom:18px; border-bottom:1px solid var(--lesson-line); }
    .lesson-view [data-lesson-panel="overview"] .lesson-story-relation-content .lesson-sheet h3,.lesson-view [data-lesson-panel="overview"] .lesson-story-process-content .lesson-sheet h3,.lesson-view [data-lesson-panel="overview"] .lesson-story-result-content .lesson-sheet h3 { font-size:clamp(32px,4vw,48px); }
    .lesson-view [data-lesson-panel="overview"] .lesson-story-relation-content .lesson-sheet-kicker,.lesson-view [data-lesson-panel="overview"] .lesson-story-process-content .lesson-sheet-kicker,.lesson-view [data-lesson-panel="overview"] .lesson-story-result-content .lesson-sheet-kicker { margin-bottom:16px; }
    .lesson-view [data-lesson-panel="overview"] .lesson-story-relation-content .lesson-sheet-subtitle,.lesson-view [data-lesson-panel="overview"] .lesson-story-process-content .lesson-sheet-subtitle,.lesson-view [data-lesson-panel="overview"] .lesson-story-result-content .lesson-sheet-subtitle { margin-top:9px; font-size:17px; font-weight:400; }
    .lesson-view [data-lesson-panel="overview"] .lesson-story-process-content .lesson-sheet-lede,.lesson-view [data-lesson-panel="overview"] .lesson-story-result-content .lesson-sheet-lede { margin-top:18px; font-size:15px; line-height:1.9; }
    .lesson-story-relation-content .lesson-sheet-header h3,.lesson-story-relation-content .lesson-sheet-header .lesson-sheet-subtitle { opacity:0; transform:translateY(12px); }
    .lesson-story-relation.is-active .lesson-sheet-header h3 { animation:story-copy-in .62s .12s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-story-relation.is-active .lesson-sheet-header .lesson-sheet-subtitle { animation:story-copy-in .62s .48s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-view .lesson-story-relation .lesson-scope-layout { grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr); gap:clamp(40px,6vw,72px); align-items:center; margin:22px 0 0; }
    .lesson-view .lesson-story-relation .lesson-scope { position:relative; width:100%; aspect-ratio:1.28; overflow:visible; border:0; border-radius:0; background:transparent; }
    .story-scope-layer { position:absolute; display:grid; place-items:center; border:1px solid #7ea2c7; border-radius:10px; background:var(--lesson-soft); color:var(--lesson-muted); font-size:15px; font-weight:700; opacity:0; transform:scale(.9); }
    .story-scope-layer span { position:absolute; }
    .story-scope-ai { inset:0; }
    .story-scope-ai span { top:27%; }
    .story-scope-ml { z-index:2; left:27%; top:48%; width:61%; height:39%; background:color-mix(in srgb,var(--paper-blue) 7%,var(--lesson-soft)); }
    .story-scope-ml span { top:19%; }
    .story-scope-dl { z-index:3; left:45%; top:68%; width:38%; height:19%; background:color-mix(in srgb,var(--paper-blue) 13%,var(--lesson-soft)); }
    .lesson-story-relation.is-active .story-scope-dl { animation:story-scope-in .58s .9s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-story-relation.is-active .story-scope-ml { animation:story-scope-in .62s 1.22s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-story-relation.is-active .story-scope-ai { animation:story-scope-in .68s 1.56s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-view .lesson-story-relation .lesson-levels { height:360px; display:flex; flex-direction:column; justify-content:center; gap:0; transition:gap .48s cubic-bezier(.22,1,.36,1); }
    .lesson-view .lesson-story-relation .lesson-levels article { max-height:0; grid-template-columns:30px 1fr; gap:16px; overflow:hidden; opacity:0; transform:translateY(20px); transition:max-height .58s cubic-bezier(.22,1,.36,1),opacity .44s ease,transform .58s cubic-bezier(.22,1,.36,1),margin .58s cubic-bezier(.22,1,.36,1); }
    .lesson-story-relation.is-step-1 .lesson-levels article:nth-child(1),.lesson-story-relation.is-step-2 .lesson-levels article:nth-child(-n+2),.lesson-story-relation.is-step-3 .lesson-levels article { max-height:126px; margin:12px 0; opacity:1; transform:translateY(0); }
    .lesson-story-relation .scope-stream { min-height:0; }
    .lesson-story-examples-content > h3,.lesson-story-case-content > h3,.lesson-story-hallucination-content > h4 { margin:0 0 28px; padding-bottom:18px; border-bottom:1px solid var(--lesson-line); color:var(--lesson-ink); font-size:clamp(30px,4vw,48px); font-weight:600; letter-spacing:-.035em; }
    .lesson-story-examples-content .lesson-example-row { opacity:0; transform:translateY(16px); }
    .lesson-story-examples.is-active .lesson-example-row:nth-child(1) { animation:story-copy-in .62s .24s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-story-examples.is-active .lesson-example-row:nth-child(2) { animation:story-copy-in .62s .48s cubic-bezier(.22,1,.36,1) forwards; }
    [data-story-example-takeaway],[data-story-case-takeaway] { max-height:0; margin-top:0!important; padding-block:0!important; overflow:hidden; border-color:transparent!important; opacity:0; transform:translateY(14px); transition:max-height .62s cubic-bezier(.22,1,.36,1),margin .62s cubic-bezier(.22,1,.36,1),padding .62s cubic-bezier(.22,1,.36,1),border-color .3s ease,opacity .42s ease,transform .62s cubic-bezier(.22,1,.36,1); }
    .lesson-story-examples.is-show-takeaway [data-story-example-takeaway],.lesson-story-case.is-show-takeaway [data-story-case-takeaway] { max-height:150px; margin-top:26px!important; padding-block:20px!important; border-color:var(--lesson-line)!important; opacity:1; transform:translateY(0); }
    .lesson-story-process-content .lesson-sheet-header { margin-bottom:28px; }
    .lesson-story-process-content .lesson-sheet-header h3,.lesson-story-process-content .lesson-sheet-header .lesson-sheet-subtitle,.lesson-story-process-content .lesson-sheet-header .lesson-sheet-lede { opacity:0; transform:translateY(12px); }
    .lesson-story-process.is-active .lesson-sheet-header h3 { animation:story-copy-in .58s .08s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-story-process.is-active .lesson-sheet-header .lesson-sheet-subtitle { animation:story-copy-in .58s .28s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-story-process.is-active .lesson-sheet-header .lesson-sheet-lede { animation:story-copy-in .58s .48s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-story-process-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; perspective:1200px; }
    .lesson-story-flip-card { position:relative; min-width:0; height:260px; padding:0; border:0; border-radius:12px; background:transparent; color:inherit; cursor:pointer; opacity:1; transition:opacity .3s ease,transform .28s cubic-bezier(.22,1,.36,1); }
    .lesson-story-flip-card:disabled { cursor:default; }
    .lesson-story-flip-card:disabled:not(.is-flipped) { opacity:.34; }
    .lesson-story-flip-card:not(:disabled):hover,.lesson-story-flip-card:not(:disabled):focus-visible { transform:translateY(-4px); }
    .lesson-story-card-inner { position:absolute; inset:0; transform-style:preserve-3d; transition:transform .78s cubic-bezier(.2,.78,.2,1); }
    .lesson-story-flip-card.is-flipped .lesson-story-card-inner { transform:rotateY(180deg); }
    .lesson-story-card-face { position:absolute; inset:0; display:flex; flex-direction:column; overflow:hidden; padding:14px; border:1px solid var(--lesson-line); border-radius:12px; background:var(--lesson-soft); backface-visibility:hidden; }
    .lesson-story-card-front { justify-content:flex-end; }
    .lesson-story-card-back { justify-content:center; transform:rotateY(180deg); background:var(--lesson-soft-blue); }
    .lesson-story-card-image { flex:1; min-height:0; margin:-14px -14px 14px; background-image:var(--process-card-image); background-size:400% auto; background-repeat:no-repeat; background-position-y:center; background-color:#fff; }
    .lesson-story-flip-card:nth-child(1) .lesson-story-card-image { background-position-x:0%; }
    .lesson-story-flip-card:nth-child(2) .lesson-story-card-image { background-position-x:33.333%; }
    .lesson-story-flip-card:nth-child(3) .lesson-story-card-image { background-position-x:66.666%; }
    .lesson-story-flip-card:nth-child(4) .lesson-story-card-image { background-position-x:100%; }
    .lesson-story-card-face small { color:var(--lesson-blue); font:600 10px/1 "JetBrains Mono",monospace; }
    .lesson-story-card-face strong { margin-top:8px; color:var(--lesson-ink); font-size:19px; font-weight:700; }
    .lesson-story-card-back span { margin-top:14px; color:var(--lesson-copy); font-size:14px; line-height:1.8; }
    .lesson-story-flip-card:not(:disabled):not(.is-flipped) .lesson-story-card-face { border-color:color-mix(in srgb,var(--lesson-blue) 55%,var(--lesson-line)); box-shadow:0 12px 34px rgba(50,90,140,.08); }
    .lesson-story-case-content .lesson-case-row { opacity:0; transform:translateY(12px); }
    .lesson-story-case.is-active .lesson-case-row { animation:story-copy-in .58s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-story-case.is-active .lesson-case-row:nth-child(1) { animation-delay:.18s; }.lesson-story-case.is-active .lesson-case-row:nth-child(2) { animation-delay:.34s; }.lesson-story-case.is-active .lesson-case-row:nth-child(3) { animation-delay:.5s; }.lesson-story-case.is-active .lesson-case-row:nth-child(4) { animation-delay:.66s; }
    .lesson-story-result-content .lesson-sheet-header { margin-bottom:18px; }
    [data-story-factors] { max-height:0; overflow:hidden; opacity:0; transform:translateY(18px); transition:max-height .72s cubic-bezier(.22,1,.36,1),opacity .46s ease,transform .72s cubic-bezier(.22,1,.36,1); }
    .lesson-story-result.is-factors-visible [data-story-factors] { max-height:420px; opacity:1; transform:translateY(0); }
    .lesson-story-result [data-story-factors] h4,.lesson-story-result .lesson-factor { opacity:0; transform:translateY(14px); }
    .lesson-story-result.is-factors-visible [data-story-factors] h4 { animation:story-copy-in .54s .08s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-story-result.is-factors-visible .lesson-factor:nth-child(1) { animation:story-copy-in .54s .28s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-story-result.is-factors-visible .lesson-factor:nth-child(2) { animation:story-copy-in .54s .5s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-story-result.is-factors-visible .lesson-factor:nth-child(3) { animation:story-copy-in .54s .72s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-story-hallucination-content .lesson-figure-chat { opacity:0; clip-path:inset(0 0 100% 0); transform:translateY(10px); }
    .lesson-story-hallucination.is-active .lesson-figure-chat { animation:story-chat-reveal 1.25s .36s cubic-bezier(.22,1,.36,1) forwards; }
    [data-hallucination-part="correction"] { margin:16px 0 0; padding:16px 18px; border:0; border-radius:8px; background:var(--lesson-soft); color:var(--lesson-copy); font-size:14px; line-height:1.8; opacity:0; transform:translateY(12px); }
    .lesson-story-hallucination.is-active [data-hallucination-part="correction"] { animation:story-copy-in .62s 1.25s cubic-bezier(.22,1,.36,1) forwards; }
    [data-hallucination-part="definition"],[data-hallucination-part="contrast"],[data-hallucination-part="reminder"] { max-height:0; margin-top:0!important; padding-block:0!important; overflow:hidden; border-color:transparent!important; opacity:0; transform:translateY(14px); transition:max-height .62s cubic-bezier(.22,1,.36,1),margin .62s cubic-bezier(.22,1,.36,1),padding .62s cubic-bezier(.22,1,.36,1),border-color .3s ease,opacity .42s ease,transform .62s cubic-bezier(.22,1,.36,1); }
    .lesson-story-hallucination.is-step-1 [data-hallucination-part="definition"],.lesson-story-hallucination.is-step-2 [data-hallucination-part="definition"],.lesson-story-hallucination.is-step-3 [data-hallucination-part="definition"] { max-height:110px; margin-top:14px!important; padding-block:8px!important; opacity:1; transform:translateY(0); }
    .lesson-story-hallucination.is-step-2 [data-hallucination-part="contrast"],.lesson-story-hallucination.is-step-3 [data-hallucination-part="contrast"] { max-height:150px; margin-top:24px!important; padding-block:22px!important; border-color:var(--lesson-line)!important; opacity:1; transform:translateY(0); }
    .lesson-story-hallucination.is-step-3 [data-hallucination-part="reminder"] { max-height:150px; margin-top:24px!important; padding-block:20px!important; border-color:var(--lesson-line)!important; opacity:1; transform:translateY(0); }
    .lesson-story-summary-content,.lesson-story-quiz-content { width:min(100%,900px); margin:0 auto; }
    .course-inline-detail.is-story-scene-mode .lesson-sheet-kicker { display:none; }
    .lesson-view .lesson-story-scene .lesson-story-summary-content,.lesson-view .lesson-story-scene .lesson-story-quiz-content { padding:18px 0; }
    .lesson-story-summary-content .lesson-sheet-header { margin-bottom:18px; padding-bottom:18px; border-bottom:1px solid var(--lesson-line); }
    .lesson-story-summary-content .lesson-sheet-header h3,.lesson-story-summary-content .lesson-sheet-header .lesson-sheet-subtitle { opacity:0; transform:translateY(13px); }
    .lesson-story-summary.is-active .lesson-sheet-header h3 { animation:story-copy-in .62s .08s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-story-summary.is-active .lesson-sheet-header .lesson-sheet-subtitle { animation:story-copy-in .62s .34s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-story-summary-content .lesson-review-item { grid-template-columns:48px 210px 1fr; gap:28px; padding:19px 0; opacity:0; transform:translateY(18px); }
    .lesson-story-summary.is-active .lesson-review-item:nth-child(1) { animation:story-copy-in .58s .58s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-story-summary.is-active .lesson-review-item:nth-child(2) { animation:story-copy-in .58s .76s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-story-summary.is-active .lesson-review-item:nth-child(3) { animation:story-copy-in .58s .94s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-story-summary.is-active .lesson-review-item:nth-child(4) { animation:story-copy-in .58s 1.12s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-story-summary-content .lesson-review-item:nth-child(5) { max-height:0; margin-top:0; padding-block:0; overflow:hidden; border-color:transparent; transition:max-height .68s cubic-bezier(.22,1,.36,1),margin .68s cubic-bezier(.22,1,.36,1),padding .68s cubic-bezier(.22,1,.36,1),border-color .3s ease,opacity .5s ease,transform .68s cubic-bezier(.22,1,.36,1); }
    .lesson-story-summary.is-final-visible .lesson-review-item:nth-child(5) { max-height:130px; margin-top:8px; padding-block:22px; border-color:var(--lesson-line); opacity:1; transform:translateY(0); }
    .task-story-summary .lesson-review-item:nth-child(5) { max-height:none; margin-top:0; padding-block:19px; overflow:visible; border-color:var(--lesson-line); opacity:0; transform:translateY(18px); }
    .task-story-summary.is-active .lesson-review-item:nth-child(5) { animation:story-copy-in .58s 1.3s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-story-quiz-content { height:min(100%,680px); display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
    .lesson-story-quiz-content .lesson-sheet-header { margin:0; padding-bottom:18px; border-bottom:1px solid var(--lesson-line); }
    .lesson-story-quiz-content .lesson-sheet-header h3 { font-size:clamp(34px,4.5vw,54px); }
    .lesson-story-quiz-question { min-height:0; display:flex; flex-direction:column; justify-content:center; gap:28px; padding:clamp(28px,5vh,54px) 0; }
    .lesson-story-quiz-prompt { display:grid; grid-template-columns:52px minmax(0,1fr); gap:22px; align-items:start; }
    .lesson-story-quiz-prompt > b { padding-top:4px; color:var(--lesson-blue); font-size:17px; font-weight:700; }
    .lesson-story-quiz-prompt strong { display:block; margin:0 0 10px; color:var(--lesson-ink); font-size:clamp(20px,2.1vw,28px); font-weight:700; }
    .lesson-story-quiz-prompt p { margin:0; color:var(--lesson-copy); font-size:clamp(16px,1.65vw,20px); line-height:1.85; }
    .lesson-story-answer-box { position:relative; margin-left:74px; }
    .lesson-story-answer-box textarea { width:100%; min-height:142px; resize:none; padding:18px 22px 66px; border:1px solid var(--lesson-line); border-radius:14px; outline:0; background:color-mix(in srgb,var(--lesson-soft) 72%,transparent); color:var(--lesson-ink); font:400 15px/1.8 var(--font-sans); transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease; }
    .lesson-story-answer-box textarea::placeholder { color:var(--lesson-quiet); }
    .lesson-story-answer-box textarea:focus { border-color:color-mix(in srgb,var(--lesson-blue) 65%,var(--lesson-line)); background:var(--lesson-soft); box-shadow:0 0 0 3px color-mix(in srgb,var(--lesson-blue) 12%,transparent); }
    .lesson-story-answer-box textarea:disabled { opacity:.72; }
    .lesson-story-answer-submit { position:absolute; right:14px; bottom:14px; width:118px; height:38px; display:grid; place-items:center; overflow:hidden; padding:0 18px; border:0; border-radius:999px; background:#191a1d; color:#fff; font:600 12px/1 var(--font-sans); cursor:pointer; transition:opacity .3s ease,transform .3s cubic-bezier(.22,1,.36,1),background-color .2s ease; }
    .lesson-story-answer-submit:hover,.lesson-story-answer-submit:focus-visible { background:#2a2d33; transform:translateY(-1px); }
    .lesson-story-answer-submit span { grid-area:1/1; transition:opacity .34s ease,transform .42s cubic-bezier(.22,1,.36,1); }
    .lesson-story-answer-submit .next-label { opacity:0; transform:translateX(140%); }
    .lesson-story-answer-submit.is-next .confirm-label { opacity:0; transform:translateX(-140%); }
    .lesson-story-answer-submit.is-next .next-label { opacity:1; transform:translateX(0); }
    .lesson-story-answer-submit.is-complete { opacity:0; transform:translateY(8px) scale(.94); pointer-events:none; }
    .lesson-story-choice-list[hidden] { display:none; }
    .lesson-story-choice-list { display:grid; gap:4px; margin-left:74px; }
    .lesson-story-choice { width:100%; display:grid; grid-template-columns:58px minmax(0,1fr); gap:16px; align-items:center; min-height:58px; padding:10px 12px; border:1px solid transparent; border-radius:9px; background:transparent; color:var(--lesson-copy); font:400 clamp(14px,1.35vw,17px)/1.65 var(--font-sans); text-align:left; cursor:pointer; transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .2s ease; }
    .lesson-story-choice b { color:var(--lesson-blue); font-weight:500; }
    .lesson-story-choice:hover,.lesson-story-choice:focus-visible { border-color:color-mix(in srgb,var(--lesson-blue) 36%,var(--lesson-line)); background:var(--lesson-soft); outline:0; }
    .lesson-story-choice[aria-checked="true"] { border-color:var(--lesson-blue); background:var(--lesson-soft-blue); color:var(--lesson-ink); transform:translateX(4px); }
    .lesson-story-quiz-question.is-choice-question { justify-content:flex-start; gap:14px; padding-block:clamp(22px,3vh,34px); }
    .lesson-story-quiz-question.is-choice-question .lesson-story-quiz-prompt { grid-template-columns:auto minmax(0,1fr); gap:8px; align-items:baseline; }
    .lesson-story-quiz-question.is-choice-question .lesson-story-quiz-prompt > b { padding:0; color:var(--lesson-ink); font-size:clamp(20px,2.1vw,28px); }
    .lesson-story-quiz-question.is-choice-question .lesson-story-quiz-prompt strong { margin:0; }
    .lesson-story-quiz-question.is-choice-question .lesson-story-answer-box { min-height:48px; margin-left:0; }
    .lesson-story-quiz-question.is-choice-question .lesson-story-answer-box textarea { display:none; }
    .lesson-story-quiz-question.is-choice-question .lesson-story-answer-submit { bottom:0; }
    .task-story-quiz-content .lesson-sheet-subtitle { white-space:nowrap; font-size:clamp(13px,1.65vw,18px); }
    .lesson-story-choice-list.is-classification-list { gap:5px; margin-left:0; }
    .lesson-story-classify-row { display:grid; grid-template-columns:48px minmax(0,1fr) 190px 132px; gap:14px; align-items:center; min-height:58px; padding:8px 12px; border:1px solid transparent; border-radius:9px; color:var(--lesson-copy); transition:border-color .2s ease,background-color .2s ease; }
    .lesson-story-classify-row > b { color:var(--lesson-blue); font-size:15px; font-weight:500; }
    .lesson-story-classify-copy { min-width:0; font-size:clamp(14px,1.25vw,16px); line-height:1.55; }
    .lesson-story-classify-row select { width:100%; height:40px; padding:0 34px 0 12px; border:1px solid var(--lesson-line); border-radius:8px; outline:0; background:var(--lesson-paper); color:var(--lesson-ink); font:500 13px/1 var(--font-sans); cursor:pointer; transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease; }
    .lesson-story-classify-row select:focus { border-color:var(--lesson-blue); box-shadow:0 0 0 3px color-mix(in srgb,var(--lesson-blue) 12%,transparent); }
    .lesson-story-classify-row select:disabled { cursor:default; opacity:.86; }
    .lesson-story-classify-row.is-missing select { border-color:#d95454; box-shadow:0 0 0 2px rgba(217,84,84,.12); }
    .lesson-story-classify-row.is-wrong { border-color:#d95454; background:rgba(217,84,84,.055); }
    .lesson-story-correct-answer { color:#c93f3f; font-size:12px; font-weight:650; line-height:1.45; white-space:nowrap; }
    .lesson-story-quiz-question.is-classification-question { justify-content:flex-start; gap:12px; padding-block:clamp(18px,2.4vh,28px); }
    .lesson-story-quiz-question.is-classification-question .lesson-story-quiz-prompt { grid-template-columns:auto minmax(0,1fr); gap:8px; align-items:baseline; }
    .lesson-story-quiz-question.is-classification-question .lesson-story-quiz-prompt > b { padding:0; color:var(--lesson-ink); font-size:clamp(20px,2.1vw,28px); }
    .lesson-story-quiz-question.is-classification-question .lesson-story-quiz-prompt strong { margin:0; }
    .lesson-story-quiz-question.is-classification-question .lesson-story-answer-box { min-height:44px; margin-left:0; }
    .lesson-story-quiz-question.is-classification-question .lesson-story-answer-box textarea { display:none; }
    .lesson-story-quiz-question.is-classification-question .lesson-story-answer-submit { bottom:0; }
    .task-story-quiz-content:has(.lesson-story-quiz-question.is-classification-question) { height:auto; grid-template-rows:auto auto auto; }
    .lesson-story-quiz-footer { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:end; padding-top:18px; border-top:1px solid var(--lesson-line); }
    .lesson-story-quiz-footer .lesson-note { min-height:72px; display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:start; margin:0; padding:16px 0; border:0; background:transparent; }
    .lesson-story-quiz-footer .lesson-note strong { color:var(--lesson-ink); white-space:nowrap; }
    .lesson-story-quiz-next[hidden] { display:none; }
    .lesson-story-quiz-next { width:min(360px,38vw); min-height:98px; grid-column:2; display:flex; flex-direction:column; justify-content:center; gap:8px; padding:18px 22px; border:1px solid var(--lesson-line); border-radius:13px; background:var(--lesson-paper); color:var(--lesson-ink); text-align:right; text-decoration:none; animation:story-next-card-in .55s cubic-bezier(.22,1,.36,1) both; transition:border-color .2s ease,background-color .2s ease,transform .2s ease; }
    .lesson-story-quiz-next:hover,.lesson-story-quiz-next:focus-visible { border-color:color-mix(in srgb,var(--lesson-blue) 52%,var(--lesson-line)); background:var(--lesson-soft); transform:translateY(-2px); }
    .lesson-story-quiz-next span { color:var(--lesson-quiet); font-size:12px; }
    .lesson-story-quiz-next strong { font-size:16px; line-height:1.55; }
    @keyframes story-next-card-in { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
    @keyframes story-title-dock { from { opacity:.3; transform:translate(26%,18vh) scale(1.35); } to { opacity:1; transform:translate(0,0) scale(1); } }
    @keyframes story-block-in { to { opacity:1; transform:translateY(0); } }
    @keyframes story-copy-in { to { opacity:1; transform:translateY(0); } }
    @keyframes story-scope-in { to { opacity:1; transform:scale(1); } }
    @keyframes story-chat-reveal { to { opacity:1; clip-path:inset(0 0 0 0); transform:translateY(0); } }
    @media (max-width:767px) {
      .lesson-storyboard { min-height:360px; }
      .lesson-story-scene { align-items:flex-start; padding:20px 2px 34px; }
      .lesson-story-map .lesson-sheet-header { margin-bottom:24px; }
      .lesson-story-map .lesson-sheet-subtitle { font-size:17px; }
      .lesson-story-goals { align-self:center; }
      .lesson-story-definition .lesson-story-definition-content { padding:20px 2px 34px; }
      .lesson-story-boundary > h3 { font-size:30px; }
      .lesson-view .lesson-story-relation .lesson-scope-layout { grid-template-columns:1fr; gap:20px; }
      .lesson-view .lesson-story-relation .lesson-scope { width:min(100%,330px); margin-inline:auto; }
      .lesson-view .lesson-story-relation .lesson-levels { height:auto; min-height:280px; }
      .lesson-story-relation.is-step-1 .lesson-levels article:nth-child(1),.lesson-story-relation.is-step-2 .lesson-levels article:nth-child(-n+2),.lesson-story-relation.is-step-3 .lesson-levels article { max-height:150px; }
      .lesson-story-process-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
      .lesson-story-flip-card { height:220px; }
      .lesson-story-card-back span { font-size:12px; line-height:1.7; }
      .lesson-story-examples-content > h3,.lesson-story-case-content > h3,.lesson-story-hallucination-content > h4 { font-size:30px; }
      .lesson-story-summary-content .lesson-review-item { grid-template-columns:34px minmax(112px,.42fr) 1fr; gap:10px; padding:15px 0; }
      .lesson-story-summary-content .lesson-review-item strong { font-size:15px; }
      .lesson-story-summary-content .lesson-review-item p { font-size:13px; line-height:1.65; }
      .lesson-story-quiz-content { height:auto; min-height:100%; }
      .lesson-story-quiz-question { gap:20px; padding:26px 0; }
      .lesson-story-quiz-prompt { grid-template-columns:34px minmax(0,1fr); gap:10px; }
      .lesson-story-answer-box { margin-left:0; }
      .lesson-story-answer-box textarea { min-height:160px; }
      .lesson-story-choice-list { margin-left:0; }
      .lesson-story-choice { grid-template-columns:42px minmax(0,1fr); gap:8px; min-height:54px; padding-inline:8px; }
      .task-story-quiz-content .lesson-sheet-subtitle { font-size:clamp(11px,3.25vw,13px); letter-spacing:-.035em; }
      .lesson-story-classify-row { grid-template-columns:32px minmax(0,1fr); gap:7px 10px; padding:10px 8px; }
      .lesson-story-classify-row select,.lesson-story-correct-answer { grid-column:2; }
      .lesson-story-correct-answer { white-space:normal; }
      .lesson-story-quiz-footer { grid-template-columns:1fr; }
      .lesson-story-quiz-footer .lesson-note { grid-template-columns:1fr; gap:6px; }
      .lesson-story-quiz-next { width:100%; grid-column:1; }
      .task-story-types .lesson-sheet-header h3 { font-size:38px; }
      .task-types-table-wrap.is-visible { overflow-x:auto; overflow-y:hidden; }
      .task-types-table { min-width:760px; }
      .task-story-types .task-type-definition-card { min-height:230px; padding:24px 22px; }
      .task-story-types-scene[data-types-mode="intro"] .task-type-card-deck,.task-story-types-scene[data-types-mode="transition"] .task-type-card-deck { padding:76px 8px 28px; }
      .task-type-sort-deck { grid-template-columns:1fr; }
      .task-type-match-controls { align-items:flex-start; }
      .task-type-match-hint { display:grid; gap:3px; }
      .task-type-match-controls { position:sticky; right:0; bottom:0; padding:10px 0; background:var(--lesson-paper); }
      .task-boundary-grid { grid-template-columns:1fr; }
      .task-story-boundary-scene.is-active .task-boundary-grid .lesson-boundary-card:nth-child(n) { animation-name:story-copy-in; }
      .second-lesson-quiz-links { grid-template-columns:1fr; }
      @keyframes story-title-dock { from { opacity:.25; transform:translate(8%,20vh) scale(1.18); } to { opacity:1; transform:translate(0,0) scale(1); } }
    }
    @media (prefers-reduced-motion:reduce) {
      .course-catalog-layout.is-course-transition-out,.course-catalog-layout.is-course-transition-in { opacity:1!important; transform:none!important; filter:none!important; animation:none!important; transition:none!important; }
      .lesson-story-scene,.lesson-story-definition-title,.lesson-story-definition-content { transition:none!important; }
      .lesson-story-scene.is-active .lesson-story-map .lesson-sheet-header h3,
      .lesson-story-scene.is-active .lesson-story-map .lesson-index-item,
      .lesson-story-summary.is-active .lesson-sheet-header h3,
      .lesson-story-summary.is-active .lesson-sheet-header .lesson-sheet-subtitle,
      .lesson-story-summary.is-active .lesson-review-item:nth-child(-n+4),
      .task-story-overview .lesson-index-item { opacity:1!important; transform:none!important; filter:none!important; animation:none!important; }
      .task-story-logic .lesson-sheet-lede,.task-types-table-wrap,.task-story-types .lesson-sheet-subtitle,.task-type-match-area,.task-type-takeaway,.task-boundary-combination,.task-boundary-principle { transition:none!important; }
      .task-story-types .task-type-definition-card.is-active,.task-type-name-cell.is-filled span,.task-boundary-grid .lesson-boundary-card,.task-boundary-grid .lesson-figure img { opacity:1!important; transform:none!important; filter:none!important; clip-path:none!important; animation:none!important; }
    }
    .course-lesson-link:hover,.course-lesson-link:focus-visible { color:var(--primary); }

    /* 单门课程概览：课程简介、课程目录与学习成果集中在正式学习之前。 */
    .course-overview-view { overflow-y:auto; overscroll-behavior:contain; padding:clamp(24px,4vh,46px) 0 80px; }
    .course-overview-view > .shell { height:auto; min-height:100%; display:block; }
    .course-overview { width:min(980px,100%); margin:0 auto; }
    .course-overview-breadcrumb { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin-bottom:clamp(30px,5vh,52px); color:var(--tertiary); font-size:11px; }
    .course-overview-breadcrumb a { color:inherit; text-decoration:none; transition:color .2s ease; }
    .course-overview-breadcrumb a:hover,.course-overview-breadcrumb a:focus-visible { color:var(--primary); }
    .course-overview-breadcrumb i { color:var(--disabled); font-size:8px; }
    .course-overview-breadcrumb [aria-current="page"] { color:var(--secondary); font-weight:500; }
    .course-overview-hero { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:clamp(44px,7vw,92px); align-items:end; padding-bottom:clamp(44px,7vh,72px); border-bottom:1px solid var(--line); }
    .course-overview-kicker { margin:0 0 16px; color:var(--accent-blue); font:500 10px/1 "JetBrains Mono",monospace; letter-spacing:.1em; }
    .course-overview-hero h1 { margin:0; color:var(--primary); font-size:clamp(48px,7vw,82px); font-weight:500; letter-spacing:-.055em; line-height:1; }
    .course-overview-lede { max-width:660px; margin:24px 0 0; color:var(--secondary); font-size:16px; line-height:1.9; }
    .course-overview-actions { display:grid; gap:14px; }
    .course-overview-start { min-height:48px; display:flex; align-items:center; justify-content:center; gap:10px; padding:0 18px; border-radius:8px; background:var(--primary); color:var(--bg); font-size:12px; font-weight:600; text-decoration:none; transition:transform .24s cubic-bezier(.22,1,.36,1),opacity .2s ease; }
    .course-overview-start:hover,.course-overview-start:focus-visible { transform:translateY(-2px); opacity:.88; }
    .course-overview-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--line); }
    .course-overview-meta div { padding:13px 14px; background:var(--bg); }
    .course-overview-meta span { display:block; color:var(--tertiary); font-size:9px; }
    .course-overview-meta strong { display:block; margin-top:6px; color:var(--primary); font-size:11px; font-weight:500; }
    .course-overview-content { display:grid; gap:clamp(58px,9vh,98px); padding-top:clamp(50px,8vh,84px); }
    .course-overview-section { display:grid; grid-template-columns:minmax(150px,.32fr) minmax(0,1fr); gap:clamp(34px,6vw,80px); align-items:start; }
    .course-overview-section-label { position:sticky; top:22px; }
    .course-overview-section-label small { display:block; color:var(--accent-blue); font:500 9px/1 "JetBrains Mono",monospace; letter-spacing:.1em; }
    .course-overview-section-label h2 { margin:11px 0 0; color:var(--primary); font-size:clamp(21px,2.5vw,29px); font-weight:500; letter-spacing:-.03em; }
    .course-overview-copy { color:var(--secondary); font-size:14px; line-height:2; }
    .course-overview-copy p { margin:0; }
    .course-overview-copy p + p { margin-top:18px; }
    .course-syllabus { border-top:1px solid var(--line); }
    .course-syllabus-item { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:16px; align-items:center; min-height:76px; padding:15px 4px; border-bottom:1px solid var(--line); }
    .course-syllabus-item b { color:var(--accent-blue); font:500 10px/1 "JetBrains Mono",monospace; }
    .course-syllabus-item strong { display:block; color:var(--primary); font-size:14px; font-weight:500; }
    .course-syllabus-item p { margin:5px 0 0; color:var(--tertiary); font-size:11px; line-height:1.55; }
    .course-syllabus-item span { color:var(--tertiary); font-size:10px; white-space:nowrap; }
    .course-outcomes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 34px; margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
    .course-outcomes li { position:relative; min-height:96px; padding:20px 0 20px 28px; border-bottom:1px solid var(--line); color:var(--secondary); font-size:13px; line-height:1.8; }
    .course-outcomes li::before { content:""; position:absolute; top:28px; left:4px; width:7px; height:7px; border:1px solid var(--accent-blue); border-radius:50%; box-shadow:inset 0 0 0 2px var(--bg); background:var(--accent-blue); }

    /* 单课程阅读器：左侧章节目录与右侧语义化课件内容一一对应。 */
    .lesson-view { padding:clamp(18px,3vh,30px) 0; }
    .lesson-workspace { flex:1; min-width:0; min-height:0; display:grid; grid-template-columns:minmax(210px,.42fr) minmax(0,1.78fr); gap:clamp(20px,3vw,38px); }
    .lesson-toc { min-width:0; min-height:0; padding:10px 24px 10px 0; border-right:1px solid var(--line); }
    .lesson-toc-course { margin-bottom:22px; }
    .lesson-toc-course span { display:block; margin-bottom:9px; color:var(--tertiary); font-size:10px; }
    .lesson-toc-course strong { display:block; color:var(--primary); font-size:15px; font-weight:500; line-height:1.45; }
    .lesson-toc-course small { display:block; margin-top:7px; color:var(--tertiary); font-size:10px; line-height:1.6; }
    .lesson-tabs { display:grid; gap:5px; }
    .lesson-tab { width:100%; min-height:40px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 11px; border:0; border-radius:9px; background:transparent; color:var(--secondary); text-align:left; text-decoration:none; font-size:12px; cursor:pointer; transition:background-color .2s ease,color .2s ease,transform .22s cubic-bezier(.22,1,.36,1); }
    .lesson-tab small { color:var(--tertiary); font:400 9px/1 "JetBrains Mono",monospace; }
    .lesson-tab:hover,.lesson-tab:focus-visible { background:var(--nav-hover); color:var(--primary); transform:translateX(2px); }
    .lesson-tab.active { background:var(--surface); color:var(--primary); font-weight:500; }
    .lesson-tab.active small { color:var(--accent-blue); }
    .lesson-reader { min-width:0; min-height:0; height:100%; display:block; overflow:hidden; border:0; border-radius:0; background:transparent; }
    .lesson-panels { width:100%; height:100%; min-width:0; min-height:0; overflow-y:auto; overscroll-behavior:contain; scroll-behavior:smooth; scroll-padding-top:18px; padding:8px clamp(18px,3vw,44px) 72px 0; scrollbar-color:var(--line-strong) transparent; }
    .lesson-panel { display:block; height:auto; overflow:visible; scroll-margin-top:clamp(12px,2vw,20px); }
    .lesson-panel + .lesson-panel { margin-top:clamp(52px,8vh,88px); padding-top:clamp(52px,8vh,88px); border-top:1px solid var(--line); }
    .lesson-panel.active .lesson-sheet { border-color:transparent; }
    .lesson-sheet { --paper:transparent; --paper-soft:var(--surface); --paper-ink:var(--primary); --paper-muted:var(--secondary); --paper-line:var(--line-strong); --paper-blue:var(--accent-blue); width:min(100%,820px); min-height:0; margin:0 auto; padding:clamp(18px,2.5vw,34px) 0; border:0; border-radius:0; background:transparent; color:var(--paper-ink); box-shadow:none; }
    [data-theme="dark"] .lesson-sheet { --paper:transparent; --paper-soft:var(--surface); --paper-ink:var(--primary); --paper-muted:var(--secondary); --paper-line:var(--line-strong); --paper-blue:var(--accent-blue); box-shadow:none; }
    .lesson-sheet * { box-sizing:border-box; }
    .lesson-sheet-header { margin-bottom:clamp(24px,4vw,42px); }
    .lesson-sheet-kicker { margin:0 0 13px; color:var(--paper-muted); font:500 9px/1 "JetBrains Mono",monospace; letter-spacing:.16em; text-transform:uppercase; }
    .lesson-sheet h3 { margin:0; color:var(--paper-ink); font-size:clamp(25px,3.2vw,42px); font-weight:600; line-height:1.22; letter-spacing:-.025em; }
    .lesson-sheet-subtitle { margin:9px 0 0; color:var(--paper-muted); font-size:clamp(12px,1.35vw,16px); line-height:1.75; }
    .lesson-sheet-lede { max-width:62ch; margin:22px 0 0; color:var(--paper-muted); font-size:13px; line-height:1.9; }
    .lesson-sheet h4 { margin:0 0 12px; color:var(--paper-ink); font-size:13px; font-weight:600; }
    .lesson-sheet p { margin:0; color:var(--paper-muted); font-size:12px; line-height:1.85; }
    .lesson-index-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:28px; }
    .lesson-index-item { min-height:66px; display:grid; grid-template-columns:34px 1fr; align-items:center; gap:12px; padding:13px 15px; border:1px solid var(--paper-line); border-radius:7px; background:var(--paper-soft); }
    .lesson-index-item b { color:var(--paper-blue); font:500 11px/1 "JetBrains Mono",monospace; }
    .lesson-index-item strong { display:block; font-size:12px; font-weight:600; }
    .lesson-index-item small { display:block; margin-top:3px; color:var(--paper-muted); font-size:10px; }
    .lesson-goals { margin-top:30px; padding-top:24px; border-top:1px solid var(--paper-line); }
    .lesson-goals ul { display:grid; gap:9px; margin:0; padding:0; list-style:none; }
    .lesson-goals li { position:relative; padding-left:18px; color:var(--paper-muted); font-size:12px; line-height:1.7; }
    .lesson-goals li::before { content:""; position:absolute; left:1px; top:.68em; width:5px; height:5px; border-radius:50%; background:var(--paper-blue); }
    .lesson-note,.lesson-takeaway { margin-top:24px; padding:16px 18px; border-left:3px solid var(--paper-blue); border-radius:0 7px 7px 0; background:var(--paper-soft); }
    .lesson-note strong,.lesson-takeaway strong { display:block; margin-bottom:5px; color:var(--paper-ink); font-size:11px; }
    .lesson-comparison { display:grid; grid-template-columns:1fr auto 1fr; gap:12px; align-items:center; margin:24px 0; }
    .lesson-comparison article { min-height:92px; padding:15px; border:1px solid var(--paper-line); border-radius:7px; background:var(--paper-soft); }
    .lesson-comparison article strong { display:block; margin-bottom:8px; color:var(--paper-ink); font-size:12px; }
    .lesson-comparison article span { color:var(--paper-muted); font-size:11px; line-height:1.65; }
    .lesson-comparison > i { color:var(--paper-blue); font-size:13px; }
    .lesson-concept-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:24px; }
    .lesson-concept-grid article { padding:15px; border-top:1px solid var(--paper-line); }
    .lesson-concept-grid strong { display:block; margin-bottom:6px; color:var(--paper-ink); font-size:12px; }
    .lesson-concept-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
    .lesson-concept-choice { min-height:38px; padding:8px 10px; border:1px solid var(--paper-line); border-radius:7px; background:transparent; color:var(--paper-ink); font-size:13px; font-weight:700; line-height:1.45; text-align:left; cursor:pointer; transition:border-color .2s ease,background-color .2s ease,color .2s ease,transform .16s ease; }
    .lesson-concept-choice:hover,.lesson-concept-choice:focus-visible { border-color:var(--paper-blue); background:color-mix(in srgb,var(--paper-blue) 6%,transparent); }
    .lesson-concept-choice:active { transform:scale(.985); }
    .lesson-concept-choice[aria-disabled="true"] { cursor:default; }
    .lesson-concept-choice.is-answer,.lesson-concept-choice.is-correct { border-color:var(--paper-blue); background:color-mix(in srgb,var(--paper-blue) 10%,transparent); color:var(--paper-blue); }
    .lesson-concept-choice.is-incorrect { border-color:#b86a6a; background:rgba(184,106,106,.08); color:#9b4f4f; }
    .lesson-concept-feedback { display:block; min-height:18px; margin-top:8px; color:var(--paper-blue); font-size:11px; font-weight:600; line-height:18px; }
    .lesson-concept-answer { min-height:3.8em; margin-top:2px; opacity:0; }
    .lesson-concept-answer.is-revealed { opacity:1; }
    .lesson-concept-answer.is-streaming::after { content:""; display:inline-block; width:1px; height:1em; margin-left:4px; background:var(--paper-blue); vertical-align:-.12em; animation:scope-caret-blink .85s step-end infinite; }
    .lesson-scope-layout { display:grid; grid-template-columns:minmax(210px,.8fr) minmax(0,1.2fr); gap:clamp(22px,4vw,48px); align-items:center; margin:26px 0; }
    .lesson-scope { aspect-ratio:1.25; display:grid; place-items:center; padding:18px; border:1px solid var(--paper-line); border-radius:10px; background:var(--paper-soft); }
    .scope-ai,.scope-ml,.scope-dl { display:grid; place-items:center; border:1px solid var(--paper-blue); border-radius:10px; color:var(--paper-ink); text-align:center; font-size:10px; }
    .scope-ai { width:100%; height:100%; padding:18px; }
    .scope-ml { width:76%; height:76%; padding:14px; background:color-mix(in srgb,var(--paper-blue) 7%,transparent); }
    .scope-dl { width:68%; height:68%; padding:10px; background:color-mix(in srgb,var(--paper-blue) 13%,transparent); }
    .lesson-levels { display:grid; gap:13px; }
    .lesson-levels article { display:grid; grid-template-columns:25px 1fr; gap:10px; }
    .lesson-levels b { color:var(--paper-blue); font:500 10px/1.7 "JetBrains Mono",monospace; }
    .lesson-levels strong { display:block; color:var(--paper-ink); font-size:12px; }
    .lesson-levels p { margin-top:4px; font-size:11px; }
    .lesson-example-list { display:grid; gap:8px; margin-top:24px; }
    .lesson-example-row { display:grid; grid-template-columns:160px 1fr; gap:14px; padding:12px 0; border-top:1px solid var(--paper-line); }
    .lesson-example-row strong { color:var(--paper-ink); font-size:11px; }
    .lesson-inline-entity { display:inline; margin:0; padding:0; border:0; background:transparent; color:var(--paper-blue); font:inherit; font-weight:inherit; line-height:inherit; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; cursor:pointer; transition:color .2s ease,background-color .2s ease,box-shadow .2s ease; }
    .lesson-inline-entity:hover,.lesson-inline-entity:focus-visible,.lesson-inline-entity[aria-expanded="true"] { color:#165dcb; background:color-mix(in srgb,var(--paper-blue) 10%,transparent); box-shadow:0 0 0 4px color-mix(in srgb,var(--paper-blue) 10%,transparent); }
    .lesson-process-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin:26px 0; }
    .lesson-process-step { position:relative; min-height:112px; padding:15px 13px; border:1px solid var(--paper-line); border-radius:7px; background:var(--paper-soft); }
    .lesson-process-step:not(:last-child)::after { content:"→"; position:absolute; top:50%; right:-10px; z-index:1; color:var(--paper-blue); font-weight:600; transform:translateY(-50%); }
    .lesson-process-step small { color:var(--paper-blue); font:500 8px/1 "JetBrains Mono",monospace; }
    .lesson-process-step strong { display:block; margin:9px 0 6px; color:var(--paper-ink); font-size:12px; }
    .lesson-process-step p { font-size:10px; line-height:1.65; }
    .lesson-case-rows { display:grid; gap:0; margin-top:20px; border-top:1px solid var(--paper-line); }
    .lesson-case-row { display:grid; grid-template-columns:64px 1fr; gap:14px; padding:10px 0; border-bottom:1px solid var(--paper-line); }
    .lesson-case-row strong { color:var(--paper-blue); font-size:11px; }
    .lesson-factors { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:24px 0; }
    .lesson-factor { padding:16px; border:1px solid var(--paper-line); border-radius:7px; background:var(--paper-soft); }
    .lesson-factor small { color:var(--paper-blue); font:500 8px/1 "JetBrains Mono",monospace; }
    .lesson-factor strong { display:block; margin:9px 0 6px; color:var(--paper-ink); font-size:12px; }
    .lesson-factor em { display:block; margin-top:10px; color:var(--paper-blue); font-size:10px; font-style:normal; }
    .lesson-fact-check { margin-top:24px; padding:18px; border:1px solid var(--paper-line); border-radius:7px; }
    .lesson-fact-check blockquote { margin:10px 0 0; padding:13px 15px; border-radius:6px; background:var(--paper-soft); color:var(--paper-ink); font-size:12px; line-height:1.7; }
    .lesson-contrast-line { display:flex; align-items:center; gap:16px; margin-top:22px; padding-top:18px; border-top:1px solid var(--paper-line); }
    .lesson-contrast-line strong { color:var(--paper-ink); font-size:17px; white-space:nowrap; }
    .lesson-review-list { display:grid; gap:0; margin-top:16px; }
    .lesson-review-item { display:grid; grid-template-columns:34px 150px 1fr; gap:16px; align-items:start; padding:18px 0; border-bottom:1px solid var(--paper-line); }
    .lesson-review-item b { color:var(--paper-blue); font:500 11px/1.8 "JetBrains Mono",monospace; }
    .lesson-review-item strong { color:var(--paper-ink); font-size:12px; }
    .lesson-reflect-list { display:grid; gap:0; margin-top:14px; }
    .lesson-reflect-item { display:grid; grid-template-columns:38px 1fr; gap:14px; padding:18px 0; border-bottom:1px solid var(--paper-line); }
    .lesson-reflect-item b { color:var(--paper-blue); font:500 10px/1.8 "JetBrains Mono",monospace; }
    .lesson-reflect-item strong { display:block; margin-bottom:6px; color:var(--paper-ink); font-size:12px; }
    .lesson-table-wrap { width:100%; margin:22px 0; overflow-x:auto; border:1px solid var(--paper-line); border-radius:8px; }
    .lesson-table { width:100%; min-width:640px; border-collapse:collapse; background:transparent; }
    .lesson-table th,.lesson-table td { padding:12px 13px; border-bottom:1px solid var(--paper-line); color:var(--paper-muted); font-size:11px; line-height:1.65; text-align:left; vertical-align:top; }
    .lesson-table th { background:var(--paper-soft); color:var(--paper-ink); font-weight:600; }
    .lesson-table tbody tr:last-child td { border-bottom:0; }
    .lesson-table td:first-child { color:var(--paper-ink); font-weight:600; }
    .lesson-type-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:22px; }
    .lesson-type-card { min-height:184px; padding:18px; border:1px solid var(--paper-line); border-radius:8px; background:var(--paper-soft); }
    .lesson-type-card small { color:var(--paper-blue); font:500 9px/1 "JetBrains Mono",monospace; }
    .lesson-type-card h4 { margin:10px 0 8px; font-size:14px; }
    .lesson-type-card p + p { margin-top:7px; }
    .lesson-type-card strong { color:var(--paper-ink); }
    .lesson-boundary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:22px; }
    .lesson-boundary-card { padding:14px; border:1px solid var(--paper-line); border-radius:8px; background:var(--paper-soft); }
    .lesson-boundary-card .lesson-figure { aspect-ratio:1.3; margin-bottom:14px; background:transparent; }
    .lesson-boundary-card .lesson-figure img { width:100%; height:100%; object-fit:contain; }
    .lesson-boundary-card h4 { margin-bottom:7px; }
    .lesson-media-caption { margin-top:8px; color:var(--paper-muted); font-size:9px; line-height:1.6; text-align:center; }
    .lesson-role-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:22px 0; }
    .lesson-role-card { padding:17px; border:1px solid var(--paper-line); border-radius:8px; background:var(--paper-soft); }
    .lesson-role-card b { color:var(--paper-blue); font:500 9px/1 "JetBrains Mono",monospace; }
    .lesson-role-card strong { display:block; margin:10px 0 7px; color:var(--paper-ink); font-size:13px; }
    .lesson-media-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:24px 0; }
    .lesson-media-step { padding:13px; border:1px solid var(--paper-line); border-radius:8px; background:var(--paper-soft); }
    .lesson-media-step .lesson-figure { aspect-ratio:1.45; background:transparent; }
    .lesson-media-step .lesson-figure img { width:100%; height:100%; object-fit:contain; }
    .lesson-media-step strong { display:block; margin-top:12px; color:var(--paper-ink); font-size:12px; }
    .lesson-media-step p { margin-top:5px; font-size:10px; }
    .lesson-split-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:22px 0; }
    .lesson-split-card { padding:18px; border:1px solid var(--paper-line); border-radius:8px; background:var(--paper-soft); }
    .lesson-split-card strong { display:block; margin-bottom:8px; color:var(--paper-ink); font-size:13px; }
    .lesson-checklist { display:grid; gap:10px; margin:22px 0; padding:0; list-style:none; }
    .lesson-checklist li { position:relative; padding:12px 14px 12px 38px; border:1px solid var(--paper-line); border-radius:7px; color:var(--paper-muted); font-size:11px; line-height:1.7; }
    .lesson-checklist li::before { content:"✓"; position:absolute; left:14px; top:12px; color:var(--paper-blue); font-weight:700; }
    .lesson-next { margin-top:24px; display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:center; padding:14px 16px; border-radius:7px; background:var(--paper-soft); }
    .lesson-next b { color:var(--paper-blue); font:500 9px/1 "JetBrains Mono",monospace; }
    @keyframes lesson-panel-in { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

    .topic-layout { flex:1; min-height:0; display:grid; grid-template-columns:minmax(260px,.72fr) minmax(0,1.55fr); gap:clamp(22px,4vw,58px); align-items:stretch; }
    .topic-summary { display:flex; flex-direction:column; justify-content:flex-end; padding:0 0 10px; }
    .topic-summary strong { display:block; margin-bottom:18px; color:var(--accent-blue); font:500 clamp(42px,7vw,88px)/.9 "JetBrains Mono",monospace; letter-spacing:-.08em; }
    .topic-summary p { max-width:360px; margin:0; color:var(--muted); font-size:14px; line-height:1.85; }
    .topic-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-content:stretch; }
    .topic-item { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:0; padding:clamp(18px,2.6vw,30px); border:1px solid var(--line); border-radius:12px; background:var(--surface); overflow:hidden; transition:transform .24s cubic-bezier(.22,1,.36,1),border-color .2s ease,background-color .2s ease; }
    .topic-item:hover { transform:translateY(-3px); border-color:var(--line-strong); background:var(--surface-hover); }
    .topic-item::before { content:attr(data-code); position:absolute; top:12px; right:18px; color:var(--quiet); font:500 clamp(30px,4vw,54px)/1 "JetBrains Mono",monospace; opacity:.3; }
    .topic-item h3 { position:relative; margin:0 0 8px; font-size:17px; font-weight:400; }
    .topic-item p { position:relative; max-width:46ch; margin:0; color:var(--muted); font-size:11px; line-height:1.7; }
    .topic-item a { position:relative; width:max-content; margin-top:16px; color:var(--accent-blue); font-size:10px; text-decoration:none; }
    .topic-item a:hover { color:var(--text); }

    /* 提示词目录：高密度检索结构与独立详情阅读页。 */
    .prompt-library-view,.prompt-detail-view { overflow-y:auto; overscroll-behavior:contain; padding:clamp(34px,5vh,58px) 0 82px; }
    .prompt-library-view > .shell,.prompt-detail-view > .shell { height:auto; min-height:100%; }
    .prompt-library-header { max-width:920px; }
    .prompt-library-header .section-label { margin-bottom:18px; }
    .prompt-heading-row { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; }
    .prompt-heading-row h1 { margin:0; color:var(--primary); font-size:clamp(42px,5.7vw,72px); font-weight:500; letter-spacing:-.055em; line-height:1; }
    .prompt-heading-row p { margin:16px 0 0; color:var(--secondary); font-size:15px; line-height:1.75; }
    .prompt-heading-row > span { flex:none; padding-bottom:5px; color:var(--tertiary); font-size:11px; }
    .prompt-search { position:relative; display:block; margin-top:30px; }
    .prompt-search > i { position:absolute; top:50%; left:20px; color:var(--tertiary); font-size:14px; transform:translateY(-50%); pointer-events:none; }
    .prompt-search input { width:100%; height:60px; padding:0 58px 0 50px; border:1px solid var(--line-strong); border-radius:10px; outline:0; background:color-mix(in srgb,var(--surface) 70%,transparent); color:var(--primary); font-size:15px; box-shadow:0 14px 44px rgba(21,22,34,.06); transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease; }
    .prompt-search input:focus { border-color:color-mix(in srgb,var(--accent-blue) 62%,var(--line-strong)); background:var(--surface); box-shadow:0 0 0 3px rgba(79,140,255,.10),0 18px 48px rgba(21,22,34,.08); }
    .prompt-search input::placeholder { color:var(--tertiary); }
    .prompt-search kbd { position:absolute; top:50%; right:17px; min-width:25px; padding:5px 7px; border:1px solid var(--line); border-radius:5px; background:var(--bg); color:var(--tertiary); font:500 10px/1 "JetBrains Mono",monospace; text-align:center; transform:translateY(-50%); }
    .prompt-filters { display:flex; flex-wrap:wrap; gap:7px; margin-top:17px; }
    .prompt-filter { min-height:32px; padding:6px 12px; border:1px solid transparent; border-radius:999px; background:transparent; color:var(--tertiary); font-size:11px; cursor:pointer; transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .15s ease; }
    .prompt-filter:hover,.prompt-filter:focus-visible { color:var(--primary); background:var(--nav-hover); }
    .prompt-filter:active { transform:scale(.97); }
    .prompt-filter.active { border-color:var(--line); background:var(--surface); color:var(--primary); }
    .prompt-results-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:clamp(42px,6vh,64px) 0 14px; padding-bottom:12px; border-bottom:1px solid var(--line); }
    .prompt-results-head strong { color:var(--primary); font-size:13px; font-weight:500; }
    .prompt-results-head span { color:var(--tertiary); font-size:10px; }
    .prompt-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
    .prompt-card { position:relative; min-height:206px; display:flex; flex-direction:column; padding:20px; overflow:hidden; border:1px solid var(--line); border-radius:10px; background:color-mix(in srgb,var(--surface) 62%,transparent); color:var(--primary); text-decoration:none; transition:transform .28s cubic-bezier(.22,1,.36,1),border-color .2s ease,background-color .2s ease,box-shadow .28s ease; }
    .prompt-card:hover,.prompt-card:focus-visible { transform:translateY(-4px); border-color:var(--line-strong); background:var(--surface); box-shadow:0 18px 44px rgba(21,22,34,.09); }
    .prompt-card-top { display:flex; align-items:center; justify-content:space-between; gap:14px; }
    .prompt-card-category { color:var(--accent-blue); font:500 9px/1 "JetBrains Mono",monospace; letter-spacing:.06em; }
    .prompt-card-top i { color:var(--disabled); font-size:10px; transform:translateX(-4px); opacity:0; transition:opacity .2s ease,transform .22s ease,color .2s ease; }
    .prompt-card:hover .prompt-card-top i,.prompt-card:focus-visible .prompt-card-top i { color:var(--accent-blue); opacity:1; transform:translateX(0); }
    .prompt-card h2 { margin:28px 0 10px; font-size:19px; font-weight:500; letter-spacing:-.015em; line-height:1.35; }
    .prompt-card p { display:-webkit-box; margin:0; overflow:hidden; color:var(--secondary); font-size:12px; line-height:1.75; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
    .prompt-card-meta { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin-top:auto; padding-top:22px; }
    .prompt-card-meta span { padding:4px 7px; border-radius:4px; background:var(--nav-hover); color:var(--tertiary); font-size:9px; }
    .prompt-empty { min-height:260px; display:grid; place-items:center; align-content:center; gap:10px; color:var(--tertiary); text-align:center; }
    .prompt-empty[hidden] { display:none; }
    .prompt-empty i { font-size:22px; }
    .prompt-empty strong { color:var(--secondary); font-size:14px; font-weight:500; }
    .prompt-empty span { font-size:11px; }
    .prompt-detail-breadcrumb { display:flex; align-items:center; gap:10px; margin-bottom:clamp(42px,7vh,76px); color:var(--tertiary); font-size:11px; }
    .prompt-detail-breadcrumb a { text-decoration:none; transition:color .2s ease; }
    .prompt-detail-breadcrumb a:hover { color:var(--primary); }
    .prompt-detail-breadcrumb i { font-size:7px; }
    .prompt-detail-header { max-width:850px; }
    .prompt-detail-header .section-label { margin-bottom:19px; color:var(--accent-blue); }
    .prompt-detail-header h1 { margin:0; font-size:clamp(40px,5vw,66px); font-weight:500; letter-spacing:-.05em; line-height:1.08; }
    .prompt-detail-header > p:not(.section-label) { max-width:700px; margin:20px 0 0; color:var(--secondary); font-size:16px; line-height:1.85; }
    .prompt-detail-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:22px; }
    .prompt-detail-tags span { padding:5px 9px; border:1px solid var(--line); border-radius:5px; color:var(--tertiary); font-size:10px; }
    .prompt-detail-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(230px,.55fr); gap:clamp(34px,5vw,76px); margin-top:clamp(48px,7vh,82px); padding-top:24px; border-top:1px solid var(--line); }
    .prompt-detail-main { min-width:0; }
    .prompt-content-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:13px; }
    .prompt-content-head > div { display:grid; gap:3px; }
    .prompt-content-head span { color:var(--primary); font-size:13px; font-weight:500; }
    .prompt-content-head small { color:var(--tertiary); font-size:9px; }
    .prompt-copy-button { min-height:36px; display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border:1px solid var(--line-strong); border-radius:7px; background:var(--surface); color:var(--primary); font-size:11px; cursor:pointer; transition:border-color .2s ease,background-color .2s ease,transform .15s ease; }
    .prompt-copy-button:hover { border-color:var(--accent-blue); background:var(--surface-hover); }
    .prompt-copy-button:active { transform:scale(.97); }
    .prompt-copy-button.copied { border-color:rgba(56,161,105,.5); color:#2f9e68; }
    .prompt-content { min-height:360px; margin:0; padding:clamp(22px,3vw,34px); overflow:auto; border:1px solid var(--line); border-radius:10px; background:color-mix(in srgb,var(--surface) 72%,transparent); color:var(--primary); font:400 13px/1.95 var(--font-sans); white-space:pre-wrap; overflow-wrap:anywhere; tab-size:2; }
    .prompt-detail-aside { display:flex; flex-direction:column; gap:0; padding-left:clamp(0px,2vw,28px); border-left:1px solid var(--line); }
    .prompt-detail-aside section { padding:0 0 22px; }
    .prompt-detail-aside section + section { padding-top:22px; border-top:1px solid var(--line); }
    .prompt-detail-aside section > span { display:block; margin-bottom:9px; color:var(--tertiary); font:500 9px/1 "JetBrains Mono",monospace; letter-spacing:.08em; }
    .prompt-detail-aside strong { color:var(--primary); font-size:13px; font-weight:500; line-height:1.6; }
    .prompt-detail-aside p { margin:0; color:var(--secondary); font-size:11px; line-height:1.8; }
    .prompt-detail-aside > a { display:flex; align-items:center; gap:9px; margin-top:auto; padding-top:22px; border-top:1px solid var(--line); color:var(--secondary); font-size:11px; text-decoration:none; transition:color .2s ease; }
    .prompt-detail-aside > a:hover { color:var(--accent-blue); }

    /* AI 词典：以检索为中心的术语索引，以及独立的通俗解释页。 */
    .dictionary-view { overflow-y:auto; overscroll-behavior:contain; padding:clamp(34px,5vh,58px) 0 72px; }
    .dictionary-view > .shell { height:auto; min-height:100%; display:block; }
    .dictionary-hero { max-width:760px; margin:0 auto; text-align:center; }
    .dictionary-hero h1 { margin:0; color:var(--primary); font-size:clamp(38px,5vw,64px); font-weight:500; letter-spacing:-.045em; line-height:1.08; }
    .dictionary-hero p { max-width:620px; margin:16px auto 0; color:var(--secondary); font-size:15px; line-height:1.8; }
    .dictionary-search { position:relative; width:min(680px,100%); margin:30px auto 0; }
    .dictionary-search i { position:absolute; top:50%; left:19px; color:var(--tertiary); font-size:14px; transform:translateY(-50%); pointer-events:none; }
    .dictionary-search input { width:100%; height:56px; padding:0 54px 0 48px; border:1px solid var(--line-strong); border-radius:10px; outline:0; background:color-mix(in srgb,var(--surface) 82%,transparent); color:var(--primary); font-size:14px; box-shadow:0 12px 36px rgba(21,22,34,.06); transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease; }
    .dictionary-search input:focus { border-color:color-mix(in srgb,var(--accent-blue) 62%,var(--line-strong)); background:var(--surface); box-shadow:0 0 0 3px rgba(79,140,255,.10),0 16px 42px rgba(21,22,34,.08); }
    .dictionary-search input::placeholder { color:var(--tertiary); }
    .dictionary-search kbd { position:absolute; top:50%; right:14px; padding:5px 7px; border:1px solid var(--line); border-radius:5px; color:var(--tertiary); background:var(--bg); font:500 9px/1 "JetBrains Mono",monospace; transform:translateY(-50%); }
    .dictionary-filters { display:flex; justify-content:center; flex-wrap:wrap; gap:7px; margin:18px auto 0; }
    .dictionary-filter { min-height:30px; padding:6px 11px; border:1px solid transparent; border-radius:999px; background:transparent; color:var(--tertiary); font-size:10px; cursor:pointer; transition:background-color .2s ease,color .2s ease,border-color .2s ease; }
    .dictionary-filter:hover,.dictionary-filter:focus-visible { color:var(--primary); background:var(--nav-hover); }
    .dictionary-filter.active { border-color:var(--line); background:var(--surface); color:var(--primary); }
    .dictionary-summary { min-height:20px; margin:14px 0 0; color:var(--tertiary); text-align:center; font-size:10px; }
    .dictionary-sections { width:min(1080px,100%); display:grid; gap:40px; margin:clamp(46px,7vh,78px) auto 0; }
    .dictionary-section { min-width:0; }
    .dictionary-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:13px; padding-bottom:11px; border-bottom:1px solid var(--line); }
    .dictionary-section-heading h2 { margin:0; font-size:18px; font-weight:500; letter-spacing:-.015em; }
    .dictionary-section-heading span { color:var(--tertiary); font:500 9px/1 "JetBrains Mono",monospace; letter-spacing:.08em; }
    .dictionary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
    .dictionary-term-card { position:relative; min-height:146px; display:flex; flex-direction:column; padding:18px 18px 16px; overflow:hidden; border:1px solid var(--line); border-radius:9px; background:color-mix(in srgb,var(--surface) 60%,transparent); color:var(--primary); text-decoration:none; transition:transform .26s cubic-bezier(.22,1,.36,1),border-color .2s ease,background-color .2s ease,box-shadow .26s ease; }
    .dictionary-term-card:hover,.dictionary-term-card:focus-visible { transform:translateY(-3px); border-color:var(--line-strong); background:var(--surface); box-shadow:0 16px 38px rgba(21,22,34,.08); }
    .dictionary-term-card small { color:var(--accent-blue); font:500 8px/1 "JetBrains Mono",monospace; letter-spacing:.08em; }
    .dictionary-term-card h3 { margin:20px 0 4px; font-size:17px; font-weight:500; line-height:1.3; }
    .dictionary-term-card .dictionary-term-en { color:var(--tertiary); font-size:10px; }
    .dictionary-term-card p { margin:13px 24px 0 0; color:var(--secondary); font-size:11px; line-height:1.65; }
    .dictionary-term-card i { position:absolute; right:17px; bottom:17px; color:var(--tertiary); font-size:10px; transition:color .2s ease,transform .24s ease; }
    .dictionary-term-card:hover i,.dictionary-term-card:focus-visible i { color:var(--accent-blue); transform:translateX(3px); }
    .dictionary-empty { grid-column:1 / -1; padding:54px 20px; border-top:1px solid var(--line); color:var(--tertiary); text-align:center; font-size:13px; }

    .dictionary-detail-view { overflow-y:auto; overscroll-behavior:contain; padding:clamp(28px,4vh,48px) 0 80px; }
    .dictionary-detail-view > .shell { height:auto; min-height:100%; display:block; }
    .dictionary-detail { width:min(820px,100%); margin:0 auto; }
    .dictionary-detail-breadcrumb { display:flex; align-items:center; gap:9px; margin-bottom:clamp(36px,6vh,66px); color:var(--tertiary); font-size:11px; }
    .dictionary-detail-breadcrumb a { color:inherit; text-decoration:none; transition:color .2s ease; }
    .dictionary-detail-breadcrumb a:hover,.dictionary-detail-breadcrumb a:focus-visible { color:var(--primary); }
    .dictionary-detail-breadcrumb i { color:var(--disabled); font-size:8px; }
    .dictionary-detail-category { margin:0 0 13px; color:var(--accent-blue); font:500 10px/1 "JetBrains Mono",monospace; letter-spacing:.1em; }
    .dictionary-detail h1 { margin:0; color:var(--primary); font-size:clamp(42px,6vw,72px); font-weight:500; letter-spacing:-.05em; line-height:1.02; }
    .dictionary-detail-english { margin:12px 0 0; color:var(--tertiary); font-size:14px; }
    .dictionary-detail-lede { max-width:720px; margin:28px 0 0; color:var(--primary); font-size:clamp(18px,2.2vw,25px); line-height:1.65; }
    .dictionary-detail-body { display:grid; grid-template-columns:minmax(0,1fr) minmax(200px,.56fr); gap:clamp(34px,6vw,76px); margin-top:clamp(46px,7vh,76px); padding-top:28px; border-top:1px solid var(--line); }
    .dictionary-detail-copy { display:grid; gap:34px; }
    .dictionary-detail-copy section h2,.dictionary-detail-aside h2 { margin:0 0 11px; color:var(--primary); font-size:13px; font-weight:600; }
    .dictionary-detail-copy section p,.dictionary-detail-aside p { margin:0; color:var(--secondary); font-size:13px; line-height:1.9; }
    .dictionary-detail-aside { align-self:start; padding-left:22px; border-left:1px solid var(--line); }
    .dictionary-detail-aside a { display:inline-flex; align-items:center; gap:7px; margin-top:14px; color:var(--accent-blue); font-size:10px; text-decoration:none; }
    .dictionary-detail-aside a:hover,.dictionary-detail-aside a:focus-visible { color:var(--primary); }
    .dictionary-detail-sources { display:grid; gap:10px; margin-top:14px; }
    .dictionary-detail-sources a { margin-top:0; line-height:1.55; }

    .path-section { padding:clamp(30px,6vh,68px) 0; }
    .path-section .section-heading { margin-bottom:clamp(28px,7vh,68px); }
    .path-wrap { flex:1; min-height:0; margin-top:0; }
    .path-grid { height:100%; }
    .project-grid { flex:1; min-height:0; display:grid; grid-template-columns:1.35fr 1fr; grid-template-rows:repeat(2,minmax(0,1fr)); gap:14px; }
    .project-grid .topic-item:first-child { grid-row:1 / -1; }
    .project-grid .topic-item:first-child h3 { font-size:clamp(22px,2.7vw,36px); }
    .page-marker { position:absolute; right:0; bottom:0; color:var(--quiet); font:400 9px/1 "JetBrains Mono",monospace; letter-spacing:.08em; }
    @keyframes view-content-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
    .page-view.active .view-animate { animation:view-content-in .48s cubic-bezier(.22,1,.36,1) both; }
    @media (max-width:1024px) { .shell{width:calc(100% - 48px)} .nav-inner{gap:14px}.nav-links{gap:0}.nav-trigger{padding-inline:10px}.search-button{min-width:36px;width:36px;justify-content:center;padding:0}.search-button span{display:none}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr))} }
    @media (max-width:767px) { .shell{width:calc(100% - 40px)}.nav-inner{grid-template-columns:1fr auto}.nav-links{display:none;position:absolute;top:64px;left:0;right:0;max-height:calc(100dvh - 80px);overflow-y:auto;padding:8px;border:1px solid var(--line-strong);border-radius:17px;background:var(--nav-menu);backdrop-filter:blur(18px);box-shadow:0 18px 48px rgba(12,12,24,.18)}.nav-links.open{display:block;animation:nav-menu-in .25s cubic-bezier(.22,1,.36,1)}.nav-group{width:100%}.nav-trigger{width:100%;justify-content:space-between;padding:10px 12px;border-radius:10px}.nav-trigger:hover,.nav-trigger:focus-visible,.nav-group.active .nav-trigger,.nav-group.open .nav-trigger{transform:none}.learning-pendant{display:none}.nav-dropdown,.nav-dropdown-resources,.nav-dropdown-single{position:relative;top:auto;left:auto;width:100%;max-height:0;grid-template-columns:1fr;gap:4px;overflow:hidden;padding:0 8px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;opacity:0;visibility:hidden;pointer-events:none;transform:none;transform-origin:top;transition:max-height .3s cubic-bezier(.22,1,.36,1),opacity .2s ease,padding .3s cubic-bezier(.22,1,.36,1),visibility 0s linear .3s}.nav-dropdown::before{display:none}.nav-group.open .nav-dropdown{max-height:240px;padding:4px 8px 10px;opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}.nav-child{min-height:42px;padding:10px 12px;border-radius:8px}.nav-hover-indicator{display:none}.menu-button{display:grid}.brand-sub{display:none}.hero-inner{padding-top:clamp(26px,4vh,46px)}.hero h1{font-size:clamp(25px,6.75vw,36px);line-height:1.14}.hero-lead{font-size:12px;line-height:1.65;max-width:75%}.hero-actions{display:flex;gap:8px}.button{padding-inline:14px}.hero-stats{position:absolute;z-index:2;left:0;right:0;bottom:38px;width:100%;grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding-top:18px}.hero-stat strong{font-size:19px}.hero-stat span{margin-top:6px;font-size:8px}.hero-beam{position:absolute;left:0;right:0;bottom:16px;margin:0}.workspace-view{padding:24px 0}.workspace-view .section-heading{display:block;margin-bottom:20px}.workspace-view .section-link{margin-top:10px}.course-grid{display:grid;grid-auto-flow:column;grid-auto-columns:min(78vw,310px);grid-template-columns:none;grid-template-rows:1fr;gap:12px;overflow-x:auto;overflow-y:hidden;padding:0 2px 12px;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain}.course-card{scroll-snap-align:start}.course-cover{height:22vh;max-height:135px}.topic-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:18px}.topic-summary{display:block;padding:0}.topic-summary strong{float:left;margin:0 18px 0 0;font-size:42px}.topic-summary p{font-size:12px;line-height:1.65}.topic-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.topic-item{padding:16px}.topic-item h3{font-size:14px}.topic-item p{font-size:10px;line-height:1.55}.topic-item a{margin-top:10px}.path-wrap{overflow-x:auto;overflow-y:hidden;padding-bottom:14px}.path-grid{min-width:780px}.project-grid{grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(0,1fr));gap:10px}.project-grid .topic-item:first-child{grid-row:auto}.project-grid .topic-item:first-child h3{font-size:18px}.page-marker{display:none} }
    @media (max-width:767px) { .hero-pain-points{grid-template-columns:1fr 1fr 1.35fr;margin-top:16px}.hero-pain-points p{min-height:58px;padding:2px 9px;font-size:9px;line-height:1.55}.hero-pain-points p:first-child{padding-left:0}.hero-pain-points p:last-child{padding-right:0} }
    @media (max-width:900px) { .prompt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.prompt-detail-layout{grid-template-columns:minmax(0,1.35fr) minmax(210px,.65fr)} }
    @media (min-width:768px) and (max-width:1100px) { .course-inline-detail{grid-template-columns:var(--context-panel-width) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto}.course-inline-detail.is-deep-blue-open{--context-panel-width:220px}.course-context-panel{grid-column:1;grid-row:1}.course-context-panel-inner{width:220px;padding-right:18px}.course-inline-scroll{grid-column:2;grid-row:1;padding-right:20px;padding-left:20px}.course-inline-curriculum{grid-column:1 / -1;grid-row:2;max-height:112px;overflow-x:auto;overflow-y:hidden;padding:12px 0 10px;border-top:1px solid var(--line);border-left:0;background:var(--lesson-paper)}.course-inline-curriculum h3{margin-bottom:8px}.course-inline-curriculum-list{display:flex;gap:16px}.course-inline-curriculum-item{flex:0 0 190px} }
    @media (min-width:768px) and (max-width:1100px) { .course-inline-summary{grid-template-columns:160px minmax(0,1fr)}.course-inline-summary-body{gap:8px;padding:16px 18px} }
    @media (max-width:767px) { .prompt-library-view,.prompt-detail-view{padding:28px 0 58px}.prompt-heading-row{display:block}.prompt-heading-row h1{font-size:44px}.prompt-heading-row p{margin-top:12px;font-size:12px}.prompt-heading-row>span{display:none}.prompt-search{margin-top:22px}.prompt-search input{height:52px;font-size:13px}.prompt-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}.prompt-filters::-webkit-scrollbar{display:none}.prompt-filter{flex:none}.prompt-results-head{margin-top:34px}.prompt-results-head span{display:none}.prompt-grid{grid-template-columns:1fr}.prompt-card{min-height:172px;padding:18px}.prompt-card h2{margin-top:22px;font-size:17px}.prompt-card-meta{padding-top:18px}.prompt-detail-breadcrumb{margin-bottom:36px}.prompt-detail-header h1{font-size:43px}.prompt-detail-header>p:not(.section-label){margin-top:16px;font-size:13px}.prompt-detail-layout{grid-template-columns:1fr;gap:34px;margin-top:42px}.prompt-content-head{align-items:flex-end}.prompt-content-head small{display:none}.prompt-copy-button{min-width:104px;justify-content:center}.prompt-content{min-height:320px;padding:20px;font-size:12px;line-height:1.85}.prompt-detail-aside{padding:26px 0 0;border-top:1px solid var(--line);border-left:0} }
    @media (max-width:767px) { .dictionary-view{padding:30px 0 56px}.dictionary-hero h1{font-size:38px}.dictionary-hero p{margin-top:11px;font-size:12px}.dictionary-search{margin-top:22px}.dictionary-search input{height:50px;font-size:12px}.dictionary-filters{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}.dictionary-filters::-webkit-scrollbar{display:none}.dictionary-filter{flex:none}.dictionary-sections{gap:34px;margin-top:38px}.dictionary-grid{grid-template-columns:1fr}.dictionary-term-card{min-height:126px}.dictionary-detail-view{padding:24px 0 56px}.dictionary-detail-breadcrumb{margin-bottom:38px}.dictionary-detail h1{font-size:44px}.dictionary-detail-lede{margin-top:22px;font-size:17px}.dictionary-detail-body{grid-template-columns:1fr;gap:38px;margin-top:42px}.dictionary-detail-aside{padding:22px 0 0;border-top:1px solid var(--line);border-left:0} }
    @media (max-width:767px) { #courses.workspace-view{padding:18px 0}.course-catalog-layout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:10px}.course-learning-path{overflow:visible;padding:0;border-right:0}.course-learning-path h3{margin-bottom:10px;font-size:15px}.course-directory{display:flex;gap:8px;overflow-x:auto;padding:0 0 8px;scrollbar-width:none}.course-directory::-webkit-scrollbar{display:none}.course-directory-group{flex:0 0 264px;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--surface) 68%,transparent)}.course-directory-heading{display:block;margin-bottom:7px;font-size:13px;white-space:normal}.course-directory-toggle{min-height:32px;padding:3px 4px 3px 0}.course-directory-toggle:hover,.course-directory-toggle:focus-visible{padding-left:5px}.course-directory-toggle i{font-size:9px}.course-path-list{max-height:5200px;display:grid;gap:1px;padding:0;border-left:0}.course-directory-group.is-collapsed .course-path-list{max-height:0}.course-path-item,.course-path-placeholder-item{min-width:0}.course-path-item.active::before{display:none}.course-path-button,.course-path-placeholder{min-height:32px;padding:5px 0;border-radius:0;background:transparent;font-size:11px;line-height:1.45;white-space:normal}.course-path-button:hover,.course-path-button:focus-visible,.course-path-item.active .course-path-button{background:transparent;color:var(--primary);transform:none}.course-breadcrumb{margin-bottom:6px;font-size:9px}.course-content-column .section-heading{margin-bottom:8px}.course-list{justify-content:flex-start;overflow-y:auto;padding:0 0 8px}.course-item{grid-template-rows:44px 0fr}.course-item.is-previewing{grid-template-rows:44px 1fr}.course-row-trigger{padding-left:10px}.course-row-trigger h3{font-size:14px}.course-detail-card{min-height:142px;grid-template-columns:92px minmax(0,1fr);margin-top:2px}.course-detail-card .course-cover{min-height:142px}.course-detail-card .cover-code{right:10px;top:14px;font-size:28px}.course-detail-card .cover-tag{display:none}.course-detail-card .course-body{padding:10px 12px}.course-detail-card .course-body>p{display:-webkit-box;overflow:hidden;font-size:10px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.course-profile-lines{gap:3px;margin-top:6px}.course-profile-lines div{grid-template-columns:48px minmax(0,1fr);gap:5px}.course-profile-lines small{font-size:8px}.course-profile-lines span{display:-webkit-box;overflow:hidden;font-size:8px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.course-detail-card .course-meta{gap:7px;font-size:8px}.course-detail-card .progress-label,.course-detail-card .progress{display:none} }
    @media (max-width:767px) { .course-catalog-layout.is-course-detail,.course-catalog-layout.is-course-overview{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr);gap:0}.course-catalog-layout.is-course-detail .course-learning-path,.course-catalog-layout.is-course-overview .course-learning-path{display:none}.course-catalog-layout.is-course-detail .course-breadcrumb,.course-catalog-layout.is-course-overview .course-breadcrumb{min-height:28px;margin-bottom:10px;font-size:11px}.course-inline-detail,.course-inline-detail.is-deep-blue-open{--context-panel-width:0px;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}.course-context-panel{position:absolute;inset:0 auto 0 0;z-index:12;width:min(86vw,320px);border-right:1px solid var(--lesson-line);box-shadow:18px 0 46px rgba(20,25,36,.16);transform:translateX(-104%)}.course-inline-detail.is-deep-blue-open .course-context-panel{transform:translateX(0)}.course-context-panel-inner{width:100%;padding:18px 20px 30px}.course-inline-scroll{min-height:0;overflow-y:auto;padding:0 8px 20px 0;border-left:0}.course-inline-detail-header{align-items:flex-start;margin:4px 0 16px}.course-inline-detail-header h2{font-size:30px}.course-inline-summary{grid-template-columns:92px minmax(0,1fr)}.course-inline-summary .course-cover{min-height:154px}.course-inline-summary .cover-code{right:10px;top:14px;font-size:28px}.course-inline-summary .cover-tag{display:none}.course-inline-summary-body{grid-template-columns:1fr;gap:14px;padding:15px}.course-inline-summary-copy p{font-size:11px;line-height:1.65}.course-inline-summary-meta{margin-top:10px;font-size:9px}.course-inline-entry{width:100%;min-height:38px}.course-inline-sections{padding-top:34px}.course-inline-main{gap:34px}.course-inline-section h3{margin-bottom:14px;font-size:16px}.course-inline-section p{font-size:12px}.course-inline-outcomes li{font-size:11px}.course-inline-curriculum{min-height:0;overflow-x:auto;overflow-y:hidden;padding:14px 0 8px;border-top:1px solid var(--line);border-left:0}.course-inline-curriculum h3{margin-bottom:10px;font-size:14px}.course-inline-curriculum-list{display:flex;gap:16px}.course-inline-curriculum-item{flex:0 0 184px}.course-inline-lesson.lesson-view .lesson-panels{padding-right:0} }
    @media (max-width:767px) { .course-inline-summary .course-cover{height:auto;min-height:0}.course-inline-summary-body{grid-template-rows:minmax(0,1fr) auto;gap:10px}.course-inline-entry{width:auto} }
    @media (max-width:360px) { .course-inline-summary{min-height:280px}.course-inline-summary:has(.course-cover[data-cover-lesson]){height:280px} }
    @media (max-width:767px) { .course-overview-view{padding:20px 0 56px}.course-overview-breadcrumb{margin-bottom:34px}.course-overview-hero{grid-template-columns:1fr;gap:32px;padding-bottom:46px}.course-overview-hero h1{font-size:48px}.course-overview-lede{margin-top:18px;font-size:13px}.course-overview-actions{max-width:none}.course-overview-content{gap:58px;padding-top:50px}.course-overview-section{grid-template-columns:1fr;gap:24px}.course-overview-section-label{position:static}.course-syllabus-item{grid-template-columns:34px minmax(0,1fr);min-height:72px}.course-syllabus-item span{grid-column:2}.course-outcomes{grid-template-columns:1fr}.course-outcomes li{min-height:0} }
    @media (max-width:767px) { .lesson-view{padding:12px 0 16px}.lesson-workspace{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:8px}.lesson-toc{padding:0;border-right:0}.lesson-toc-course{display:none}.lesson-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.lesson-tabs::-webkit-scrollbar{display:none}.lesson-tab{width:auto;min-width:max-content;min-height:32px;padding:7px 10px;background:var(--surface);font-size:9px}.lesson-tab:hover,.lesson-tab:focus-visible{transform:none}.lesson-panel{padding:10px}.lesson-page{margin-bottom:10px}.lesson-page img{border-radius:6px} }
    @media (max-width:767px) { .lesson-panels{padding:4px 0 56px}.lesson-panel{padding:0}.lesson-panel + .lesson-panel{margin-top:42px;padding-top:42px}.lesson-sheet{padding:20px 0;border-radius:0}.lesson-sheet h3{font-size:25px}.lesson-sheet-lede{margin-top:15px;font-size:11px}.lesson-index-grid,.lesson-concept-grid,.lesson-factors{grid-template-columns:1fr}.lesson-index-item{min-height:56px}.lesson-scope-layout{grid-template-columns:1fr;gap:18px}.lesson-scope{max-width:320px;width:100%;margin-inline:auto}.lesson-example-row{grid-template-columns:1fr;gap:5px}.lesson-process-flow{grid-template-columns:1fr 1fr}.lesson-process-step:not(:last-child)::after{display:none}.lesson-review-item{grid-template-columns:28px 1fr}.lesson-review-item p{grid-column:2}.lesson-contrast-line{align-items:flex-start;flex-direction:column;gap:5px} }
    @media (max-width:767px) { .lesson-type-grid,.lesson-boundary-grid,.lesson-role-grid,.lesson-media-flow,.lesson-split-grid{grid-template-columns:1fr}.lesson-type-card{min-height:0}.lesson-table{min-width:580px} }
    @keyframes nav-menu-in { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
    @media (max-width:430px) { .hero-actions{display:grid;grid-template-columns:1fr 1fr}.button{width:100%;min-height:38px;font-size:10px}.hero-stats{grid-template-columns:repeat(2,1fr);bottom:28px;row-gap:12px}.hero-beam{display:none}.topic-item p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden} }
    @media (max-height:760px) and (min-width:768px) { .hero-badge{display:none}.hero-inner{padding-top:36px}.hero h1{margin-top:0;font-size:clamp(34px,4.5vw,54px)}.hero-lead{font-size:13px}.hero-stats{margin-top:26px}.hero-beam{margin-top:24px}.workspace-view{padding:24px 0}.workspace-view .section-heading{margin-bottom:18px}.course-cover{height:78px}.course-body{padding:12px 15px}.course-body p{min-height:32px;line-height:1.45}.course-meta{margin-top:8px}.progress-label,.progress{display:none}.topic-item{padding:18px}.path-section .section-heading{margin-bottom:28px} }
    @media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.15s!important}.cosmic-background{transition:none}.reveal{opacity:1;transform:none;filter:none}.nav-hover-indicator{transition:opacity .01ms!important}.course-item,.course-detail-card,.course-catalog-layout,.course-learning-path,.course-inline-detail,.course-context-panel{transition:none!important}.course-inline-detail.is-course-transition-out .course-inline-scroll,.course-inline-detail.is-course-transition-out .course-inline-curriculum,.course-inline-detail.is-course-transition-in .course-inline-scroll,.course-inline-detail.is-course-transition-in .course-inline-curriculum{opacity:1!important;transform:none!important;filter:none!important;animation:none!important;transition:none!important} }
    @media (prefers-reduced-motion:reduce) { .lesson-panels{scroll-behavior:auto}.course-inline-lesson .lesson-goals li{opacity:1!important;transform:none!important;clip-path:none!important;animation:none!important} }
    @media (prefers-reduced-transparency:reduce) { .site-nav { background:var(--bg); backdrop-filter:none; -webkit-backdrop-filter:none; } .nav-links{background:var(--nav-menu);backdrop-filter:none;-webkit-backdrop-filter:none} }

    /* 课程正文保留原课件的纸面色与教学蓝，并统一使用全站字体栈。 */
    .lesson-view {
      --lesson-paper:#fff;
      --lesson-soft:#f6f9fc;
      --lesson-soft-blue:#f2f6fc;
      --lesson-ink:#252a30;
      --lesson-copy:#303a44;
      --lesson-muted:#66727e;
      --lesson-quiet:#929aa4;
      --lesson-line:#dde2e7;
      --lesson-blue:#3b6898;
      background:var(--lesson-paper);
      color:var(--lesson-copy);
    }
    /* 深色课程正文：在组件变量层覆盖纸面色，避免正文、章节面板继续继承白底。 */
    [data-theme="dark"] .lesson-view {
      --lesson-paper:var(--bg);
      --lesson-soft:#11151d;
      --lesson-soft-blue:#111927;
      --lesson-ink:#eef1f5;
      --lesson-copy:#c5cbd4;
      --lesson-muted:#9da6b2;
      --lesson-quiet:#77818e;
      --lesson-line:rgba(255,255,255,.1);
      --lesson-blue:#79a9ef;
    }
    [data-theme="dark"] .course-inline-detail,
    [data-theme="dark"] .course-inline-scroll,
    [data-theme="dark"] .course-context-panel { background:var(--bg); }
    .lesson-view::before { display:none; }
    .lesson-view > .shell { width:min(1340px,calc(100% - 72px)); }
    .lesson-view .lesson-workspace { grid-template-columns:minmax(190px,.38fr) minmax(0,1.72fr); gap:clamp(30px,4vw,58px); }
    .lesson-view .lesson-toc { border-color:var(--lesson-line); }
    .lesson-view .lesson-toc-course span,
    .lesson-view .lesson-toc-course small { color:var(--lesson-quiet); }
    .lesson-view .lesson-toc-course strong { color:var(--lesson-ink); font-weight:700; }
    .lesson-view .lesson-tab { color:var(--lesson-muted); }
    .lesson-view .lesson-tab small { color:var(--lesson-quiet); }
    .lesson-view .lesson-tab:hover,
    .lesson-view .lesson-tab:focus-visible { background:var(--lesson-soft); color:var(--lesson-ink); }
    .lesson-view .lesson-tab.active { background:#edf3fa; color:var(--lesson-ink); font-weight:700; }
    [data-theme="dark"] .lesson-view .lesson-tab.active { background:var(--lesson-soft-blue); }
    .lesson-view .lesson-tab.active small { color:var(--lesson-blue); }
    .lesson-view .lesson-reader,
    .lesson-view .lesson-panels { background:var(--lesson-paper); }
    .lesson-view .lesson-panels { padding:0 clamp(20px,3vw,46px) 90px 0; scrollbar-color:#c8d0d8 transparent; }
    .lesson-view .lesson-panel + .lesson-panel { margin-top:70px; padding-top:70px; border-color:var(--lesson-line); }
    .lesson-view .lesson-sheet,
    [data-theme="dark"] .lesson-view .lesson-sheet {
      --paper:var(--lesson-paper);
      --paper-soft:var(--lesson-soft);
      --paper-ink:var(--lesson-ink);
      --paper-muted:var(--lesson-copy);
      --paper-line:var(--lesson-line);
      --paper-blue:var(--lesson-blue);
      width:min(100%,820px);
      padding:56px 0 50px;
      background:var(--lesson-paper);
      color:var(--lesson-copy);
      font-family:var(--font-sans);
      font-variant-numeric:tabular-nums;
    }
    .lesson-view .lesson-sheet-header { margin-bottom:26px; padding-bottom:18px; border-bottom:1px solid var(--lesson-line); }
    .lesson-view .lesson-sheet-kicker { margin:0 0 22px; color:#7a858f; font-family:var(--font-sans); font-size:12px; font-weight:400; line-height:1; letter-spacing:.22em; }
    .lesson-view .lesson-sheet h3 { color:var(--lesson-ink); font-size:32px; font-weight:700; line-height:1.28; letter-spacing:0; }
    .lesson-view .lesson-sheet-subtitle { margin-top:9px; color:var(--lesson-muted); font-size:17px; font-weight:400; line-height:1.75; }
    .lesson-view .lesson-sheet-lede { max-width:none; margin-top:18px; color:var(--lesson-copy); font-size:15px; font-weight:400; line-height:1.9; }
    .lesson-view .lesson-sheet h4 { margin-bottom:14px; color:var(--lesson-ink); font-size:20px; font-weight:700; line-height:1.45; }
    .lesson-view .lesson-sheet p { color:var(--lesson-copy); font-size:15px; font-weight:400; line-height:1.9; }
    .lesson-view [data-lesson-panel="overview"] .lesson-sheet-header { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(240px,.9fr); grid-template-rows:auto auto auto; column-gap:48px; padding-bottom:0; border-bottom:0; }
    .lesson-view [data-lesson-panel="overview"] .lesson-sheet-kicker { grid-column:1 / -1; }
    .lesson-view [data-lesson-panel="overview"] .lesson-sheet h3 { grid-column:1; grid-row:2; font-size:52px; line-height:1.12; }
    .lesson-view [data-lesson-panel="overview"] .lesson-sheet-subtitle { grid-column:1; grid-row:3; margin-top:12px; font-size:20px; font-weight:700; }
    .lesson-view [data-lesson-panel="overview"] .lesson-sheet-lede { grid-column:2; grid-row:2 / 4; align-self:center; margin:0; color:var(--lesson-muted); font-size:16px; line-height:2; }
    .lesson-view [data-lesson-panel="overview"] .task-story-overview .lesson-sheet-header { grid-template-columns:minmax(0,1fr); grid-template-rows:repeat(4,auto); column-gap:0; }
    .lesson-view [data-lesson-panel="overview"] .task-story-overview .lesson-sheet-header h3,.lesson-view [data-lesson-panel="overview"] .task-story-overview .lesson-sheet-subtitle,.lesson-view [data-lesson-panel="overview"] .task-story-overview .lesson-sheet-lede,.lesson-view [data-lesson-panel="overview"] .task-story-overview .task-story-learning-note { grid-column:1; grid-row:auto; align-self:auto; }
    .lesson-view [data-lesson-panel="overview"] .task-story-overview .lesson-sheet-subtitle { margin-top:14px; }
    .lesson-view [data-lesson-panel="overview"] .task-story-overview .lesson-sheet-lede { max-width:680px; margin-top:14px; font-size:clamp(15px,1.5vw,18px); line-height:1.85; }
    .lesson-view [data-lesson-panel="overview"] .task-story-overview .task-story-learning-note { margin-top:9px; }
    .lesson-view .lesson-index-grid { gap:18px 24px; margin-top:34px; }
    .lesson-view .lesson-index-item { min-height:86px; grid-template-columns:42px 1fr; gap:0; padding:18px 20px; border:0; border-radius:10px; background:var(--lesson-soft); }
    .lesson-view .lesson-index-item b { color:var(--lesson-blue); font-family:var(--font-sans); font-size:14px; font-weight:400; }
    .lesson-view .lesson-index-item strong { color:var(--lesson-ink); font-size:20px; font-weight:700; }
    .lesson-view .lesson-index-item small { margin-top:6px; color:var(--lesson-muted); font-size:14px; }
    .lesson-view .lesson-goals { margin-top:36px; padding-top:0; border-top:0; }
    .lesson-view .lesson-goals h4 { display:flex; align-items:center; gap:24px; }
    .lesson-view .lesson-goals h4::after { content:""; height:1px; flex:1; background:var(--lesson-line); }
    .lesson-view .lesson-goals ul { gap:14px; }
    .lesson-view .lesson-goals li { padding-left:28px; color:var(--lesson-copy); font-size:15px; line-height:1.9; }
    .lesson-view .lesson-goals li::before { left:6px; top:.8em; width:6px; height:6px; background:var(--lesson-blue); }
    .course-inline-lesson .lesson-goals li { opacity:0; transform:translateY(9px); clip-path:inset(0 100% 0 0); }
    .course-inline-lesson .lesson-goals.is-streaming li { animation:lesson-goal-stream .72s cubic-bezier(.22,1,.36,1) both; }
    .course-inline-lesson .lesson-goals.is-streaming li:nth-child(2) { animation-delay:.17s; }
    .course-inline-lesson .lesson-goals.is-streaming li:nth-child(3) { animation-delay:.34s; }
    .course-inline-lesson .lesson-goals.is-streaming li:nth-child(4) { animation-delay:.51s; }
    @keyframes lesson-goal-stream { 0% { opacity:0; transform:translateY(9px); clip-path:inset(0 100% 0 0); } 45% { opacity:1; } 100% { opacity:1; transform:translateY(0); clip-path:inset(0 0 0 0); } }
    .lesson-view .lesson-comparison { gap:18px; margin:22px 0 28px; }
    .lesson-view .lesson-comparison article { min-height:0; padding:0; border:0; border-radius:0; background:transparent; }
    .lesson-view .lesson-comparison article strong { margin-bottom:4px; color:var(--lesson-ink); font-size:16px; font-weight:700; }
    .lesson-view .lesson-comparison article span { color:var(--lesson-copy); font-size:15px; line-height:1.75; }
    .lesson-view .lesson-comparison > i { color:var(--lesson-blue); font-size:14px; }
    .lesson-view .lesson-note,
    .lesson-view .lesson-takeaway { display:grid; grid-template-columns:72px 1fr; gap:14px; margin-top:26px; padding:20px 0; border:0; border-top:1px solid var(--lesson-line); border-bottom:1px solid var(--lesson-line); border-radius:0; background:transparent; }
    .lesson-view .lesson-note strong,
    .lesson-view .lesson-takeaway strong { margin:0; color:var(--lesson-ink); font-size:16px; font-weight:700; line-height:1.8; }
    .lesson-view .lesson-concept-grid { gap:12px 42px; margin-top:30px; }
    .lesson-view .lesson-concept-grid article { padding:16px 0 8px 20px; border-top:1px solid var(--lesson-line); }
    .lesson-view .lesson-concept-grid strong { margin-bottom:7px; color:var(--lesson-ink); font-size:16px; font-weight:700; }
    .lesson-view .lesson-concept-choice { border-color:var(--lesson-line); color:var(--lesson-ink); font-size:14px; }
    .lesson-view .lesson-concept-feedback { color:var(--lesson-blue); font-size:12px; }
    .lesson-view .lesson-scope-layout { grid-template-columns:minmax(250px,.9fr) minmax(0,1.1fr); gap:42px; margin:30px 0 36px; }
    .lesson-view .lesson-scope { border-color:#8ca9c6; border-radius:8px; background:var(--lesson-soft); }
    .lesson-view .scope-ai,
    .lesson-view .scope-ml,
    .lesson-view .scope-dl { border-color:#7ea2c7; border-radius:8px; font-size:14px; font-weight:700; }
    .lesson-view .lesson-levels { gap:26px; }
    .lesson-view .lesson-levels article { grid-template-columns:30px 1fr; gap:16px; }
    .lesson-view .lesson-levels b { color:var(--lesson-blue); font-family:var(--font-sans); font-size:14px; font-weight:700; }
    .lesson-view .lesson-levels strong { color:var(--lesson-ink); font-size:18px; font-weight:700; }
    .lesson-view .lesson-levels p { margin-top:5px; font-size:15px; }
    .lesson-view .lesson-scope-sequence { position:relative; isolation:isolate; overflow:visible; }
    .lesson-view .scope-stage { position:absolute; isolation:isolate; display:grid; place-items:center; margin:0; padding:0; appearance:none; border:1px solid #7ea2c7; border-radius:8px; color:var(--lesson-ink); background:var(--lesson-soft); font:700 14px/1.4 var(--font-sans); text-align:center; cursor:pointer; transition:border-color .35s ease, box-shadow .35s ease, opacity .35s ease; }
    .lesson-view .scope-stage::before { content:""; position:absolute; inset:-3px; z-index:-1; border-radius:inherit; padding:3px; background:linear-gradient(115deg,#34c8ff,#4f7dff,#a56bff,#4f7dff,#34c8ff); background-size:300% 300%; opacity:0; filter:blur(.2px); pointer-events:none; -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; transition:opacity .35s ease; }
    .lesson-view .scope-stage::after { content:""; position:absolute; inset:-9px; z-index:-2; border-radius:inherit; border:5px solid rgba(79,125,255,.18); opacity:0; filter:blur(9px); pointer-events:none; transition:opacity .35s ease; }
    .lesson-view .scope-stage.is-active { border-color:transparent; box-shadow:0 0 0 1px rgba(79,125,255,.12); }
    .lesson-view .scope-stage.is-active::before { opacity:1; animation:scope-border-flow 4.6s ease-in-out infinite; }
    .lesson-view .scope-stage.is-active::after { opacity:1; animation:scope-glow-breathe 2.8s ease-in-out infinite; }
    .lesson-view .scope-stage.is-complete { border-color:#aebfd0; color:#596575; }
    .lesson-view .scope-stage:focus-visible { outline:3px solid rgba(79,125,255,.24); outline-offset:6px; }
    .lesson-view .scope-stage:disabled { cursor:default; opacity:1; }
    .lesson-view .scope-stage:disabled:not(.is-active) { pointer-events:none; }
    .lesson-view .scope-stage.scope-ai { inset:22px; width:auto; height:auto; padding:0; background:var(--lesson-soft); }
    .lesson-view .scope-stage.scope-ai > span { position:absolute; inset:20% 0 auto; }
    .lesson-view .scope-stage.scope-ml { z-index:2; left:27%; top:45%; width:59%; height:37%; padding:0; background:color-mix(in srgb,var(--paper-blue) 7%,var(--lesson-soft)); }
    .lesson-view .scope-stage.scope-ml > span { position:absolute; inset:18% 0 auto; }
    .lesson-view .scope-stage.scope-dl { z-index:3; left:42%; top:64%; width:37%; height:18%; padding:0; background:color-mix(in srgb,var(--paper-blue) 13%,var(--lesson-soft)); }
    .lesson-view .scope-stage.scope-dl > span { position:static; }
    .lesson-view .scope-stream { min-height:3.5em; }
    .lesson-view .scope-stream.is-streaming::after { content:""; display:inline-block; width:1px; height:1em; margin-left:4px; background:var(--lesson-blue); vertical-align:-.12em; animation:scope-caret-blink .85s step-end infinite; }
    @keyframes scope-border-flow { 0%,100% { background-position:0% 50%; } 50% { background-position:100% 50%; } }
    @keyframes scope-glow-breathe { 0%,100% { opacity:.45; } 50% { opacity:.85; } }
    @keyframes scope-caret-blink { 0%,45% { opacity:1; } 46%,100% { opacity:0; } }
    .lesson-view .lesson-example-list { gap:0; margin-top:18px; }
    .lesson-view .lesson-example-row { grid-template-columns:230px 1fr; gap:28px; padding:18px 0; border-color:var(--lesson-line); }
    .lesson-view .lesson-example-row strong { color:var(--lesson-ink); font-size:16px; font-weight:700; }
    .lesson-view .lesson-process-flow { gap:0; margin:30px 0 38px; }
    .lesson-view .lesson-process-step { min-height:130px; padding:18px 18px 16px 0; border:0; border-top:1px solid var(--lesson-line); border-radius:0; background:transparent; }
    .lesson-view .lesson-process-step:not(:last-child)::after { right:6px; color:var(--lesson-ink); }
    .lesson-view .lesson-process-step small { color:var(--lesson-blue); font-family:var(--font-sans); font-size:11px; font-weight:700; }
    .lesson-view .lesson-process-step strong { margin:10px 0 6px; color:var(--lesson-ink); font-size:18px; font-weight:700; }
    .lesson-view .lesson-process-step p { font-size:14px; line-height:1.75; }
    .lesson-view .lesson-case-rows { margin-top:16px; border-color:var(--lesson-line); }
    .lesson-view .lesson-case-row { grid-template-columns:82px 1fr; gap:20px; padding:10px 0; border-bottom:0; }
    .lesson-view .lesson-case-row strong { color:#294d70; font-size:16px; font-weight:700; }
    .lesson-view .lesson-factors { gap:0; margin:22px 0 32px; }
    .lesson-view .lesson-factor { padding:10px 28px 8px 0; border:0; border-radius:0; background:transparent; }
    .lesson-view .lesson-factor + .lesson-factor { padding-left:28px; border-left:1px solid var(--lesson-line); }
    .lesson-view .lesson-factor small { color:var(--lesson-blue); font-family:var(--font-sans); font-size:12px; font-weight:700; }
    .lesson-view .lesson-factor strong { margin:10px 0 8px; color:var(--lesson-ink); font-size:19px; font-weight:700; }
    .lesson-view .lesson-factor em { margin-top:12px; color:var(--lesson-muted); font-size:14px; }
    .lesson-view .lesson-fact-check { margin-top:24px; padding:20px 0; border:0; border-top:1px solid var(--lesson-line); border-bottom:1px solid var(--lesson-line); border-radius:0; }
    .lesson-view .lesson-fact-check blockquote { margin-top:12px; padding:18px 20px; border-radius:6px; background:#f2f2f2; color:var(--lesson-ink); font-size:15px; line-height:1.75; }
    [data-theme="dark"] .lesson-view .lesson-fact-check blockquote { background:var(--lesson-soft); }
    .lesson-view .lesson-contrast-line { gap:28px; padding:22px 24px; border:0; border-radius:10px; background:var(--lesson-soft-blue); }
    .lesson-view .lesson-contrast-line strong { color:#1f334a; font-size:20px; font-weight:700; }
    [data-theme="dark"] .lesson-view .lesson-contrast-line strong,
    [data-theme="dark"] .lesson-view .lesson-case-row strong { color:var(--lesson-ink); }
    .lesson-view .lesson-review-list { margin-top:4px; }
    .lesson-view .lesson-review-item { grid-template-columns:44px 180px 1fr; gap:20px; padding:26px 0; border-bottom:0; }
    .lesson-view .lesson-review-item:last-child { margin-top:8px; border-top:1px solid var(--lesson-line); }
    .lesson-view .lesson-story-summary-content .lesson-review-item:nth-child(5) { margin-top:0; border-top-color:transparent; }
    .lesson-view .lesson-story-summary.is-final-visible .lesson-review-item:nth-child(5) { margin-top:8px; border-top-color:var(--lesson-line); }
    .lesson-view .lesson-review-item b { color:var(--lesson-blue); font-family:var(--font-sans); font-size:15px; font-weight:700; }
    .lesson-view .lesson-review-item strong { color:var(--lesson-ink); font-size:19px; font-weight:700; }
    .lesson-view .lesson-reflect-list { margin-top:6px; }
    .lesson-view .lesson-reflect-item { grid-template-columns:42px 1fr; gap:14px; padding:24px 0; border-color:var(--lesson-line); }
    .lesson-view .lesson-reflect-item b { color:var(--lesson-blue); font-family:var(--font-sans); font-size:15px; font-weight:700; }
    .lesson-view .lesson-reflect-item strong { margin-bottom:7px; color:var(--lesson-ink); font-size:18px; font-weight:700; }
    .lesson-view .lesson-pagination { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; width:min(100%,820px); margin:76px 0 0; padding-top:24px; border-top:1px solid var(--lesson-line); }
    .lesson-view .lesson-pagination-link { display:flex; min-width:0; min-height:96px; flex-direction:column; justify-content:center; gap:8px; padding:18px 20px; border:1px solid var(--lesson-line); border-radius:10px; background:var(--lesson-paper); color:var(--lesson-ink); text-decoration:none; transition:border-color .24s ease,background-color .24s ease,transform .24s ease; }
    .lesson-view .lesson-pagination-link[data-direction="next"] { grid-column:2; text-align:right; }
    .lesson-view .lesson-pagination-direction { display:flex; align-items:center; gap:8px; color:var(--lesson-quiet); font-family:var(--font-sans); font-size:12px; font-weight:500; }
    .lesson-view .lesson-pagination-link[data-direction="next"] .lesson-pagination-direction { justify-content:flex-end; }
    .lesson-view .lesson-pagination-link strong { overflow:hidden; color:var(--lesson-ink); font-family:var(--font-sans); font-size:16px; font-weight:700; line-height:1.55; text-overflow:ellipsis; white-space:nowrap; }
    .lesson-view .lesson-pagination-link:hover,.lesson-view .lesson-pagination-link:focus-visible { border-color:#9ab6d2; background:var(--lesson-soft); transform:translateY(-2px); }
    .lesson-view .lesson-pagination-link:hover .lesson-pagination-direction,.lesson-view .lesson-pagination-link:focus-visible .lesson-pagination-direction { color:var(--lesson-blue); }
    .lesson-view .lesson-figure { margin:0; overflow:hidden; background:#fff; }
    .lesson-view .lesson-figure img { display:block; width:100%; height:auto; object-fit:contain; }
    .lesson-view .lesson-figure-overview { width:min(82%,680px); margin:14px auto 34px; }
    .lesson-view .lesson-definition-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.88fr); gap:34px; align-items:center; }
    .lesson-view .lesson-figure-definition { align-self:center; }
    .lesson-view .lesson-card-sequence { position:relative; isolation:isolate; }
    .lesson-view .lesson-card-mask { position:absolute; z-index:2; display:none; border-radius:8px; background:#fff; pointer-events:none; transform-origin:50% 50%; }
    .lesson-view .lesson-card-sequence.is-sequence-ready .lesson-card-mask { display:block; }
    .lesson-view .lesson-card-sequence.is-animating .lesson-card-mask { animation:lesson-card-reveal .95s cubic-bezier(.22,1,.36,1) forwards; }
    .lesson-view .lesson-card-sequence.is-animating .lesson-card-mask:nth-of-type(2) { animation-delay:.42s; }
    .lesson-view .lesson-card-sequence.is-animating .lesson-card-mask:nth-of-type(3) { animation-delay:.84s; }
    .lesson-view .lesson-card-sequence.is-animating .lesson-card-mask:nth-of-type(4) { animation-delay:1.26s; }
    .lesson-view .lesson-card-sequence.is-animating .lesson-card-mask:nth-of-type(5) { animation-delay:1.68s; }
    .lesson-view .lesson-card-map { left:15%; top:6%; width:36%; height:34%; }
    .lesson-view .lesson-card-image { left:58%; top:6%; width:29%; height:34%; }
    .lesson-view .lesson-card-chat { left:68%; top:35%; width:31%; height:31%; }
    .lesson-view .lesson-card-filter { left:4%; top:54%; width:31%; height:33%; }
    .lesson-view .lesson-card-mail { left:4%; top:34%; width:38%; height:27%; }
    @keyframes lesson-card-reveal { from { opacity:1; transform:scale(1); } to { opacity:0; transform:scale(.86); } }
    .lesson-view .lesson-figure-process { width:100%; margin:8px auto 6px; }
    .lesson-view .lesson-figure-chat { height:220px; margin:14px 0 18px; border:1px solid #b7cce2; border-radius:14px; }
    .lesson-view .lesson-figure-chat img { width:100%; height:auto; object-position:top center; }
    .lesson-view .lesson-reflect-item.is-illustrated { grid-template-columns:42px minmax(0,1fr) minmax(230px,.9fr); align-items:center; }
    .lesson-view .lesson-reflect-item.is-illustrated .lesson-figure { grid-column:3; grid-row:1; }
    @media (max-width:767px) {
      .lesson-view { padding:16px 0; }
      .lesson-view > .shell { width:calc(100% - 32px); }
      .lesson-view .lesson-workspace { grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); gap:8px; }
      .lesson-view .lesson-toc { border-color:var(--lesson-line); }
      .lesson-view .lesson-tab { background:var(--lesson-soft); color:var(--lesson-muted); }
      .lesson-view .lesson-panels { padding:0 0 60px; }
      .lesson-view .lesson-panel + .lesson-panel { margin-top:46px; padding-top:46px; }
      .lesson-view .lesson-sheet,
      [data-theme="dark"] .lesson-view .lesson-sheet { padding:34px 0 28px; }
      .lesson-view .lesson-sheet-header { margin-bottom:22px; padding-bottom:16px; }
      .lesson-view .lesson-sheet h3 { font-size:30px; }
      .lesson-view .lesson-sheet-subtitle { font-size:16px; }
      .lesson-view .lesson-sheet-lede,
      .lesson-view .lesson-sheet p { font-size:15px; line-height:1.85; }
      .lesson-view [data-lesson-panel="overview"] .lesson-sheet-header { display:block; }
      .lesson-view [data-lesson-panel="overview"] .lesson-sheet h3 { font-size:40px; }
      .lesson-view [data-lesson-panel="overview"] .lesson-sheet-subtitle { font-size:18px; }
      .lesson-view [data-lesson-panel="overview"] .lesson-sheet-lede { margin-top:18px; font-size:15px; }
      .lesson-view .lesson-index-grid { grid-template-columns:1fr; gap:10px; }
      .lesson-view .lesson-index-item { min-height:76px; }
      .lesson-view .lesson-note,
      .lesson-view .lesson-takeaway { grid-template-columns:1fr; gap:6px; }
      .lesson-view .lesson-comparison { grid-template-columns:1fr; }
      .lesson-view .lesson-comparison > i { display:none; }
      .lesson-view .lesson-scope-layout { grid-template-columns:1fr; }
      .lesson-view .lesson-example-row { grid-template-columns:1fr; gap:6px; }
      .lesson-view .lesson-process-flow { grid-template-columns:1fr 1fr; gap:14px; }
      .lesson-view .lesson-process-step { min-height:0; padding-right:8px; }
      .lesson-view .lesson-factors { grid-template-columns:1fr; }
      .lesson-view .lesson-factor,
      .lesson-view .lesson-factor + .lesson-factor { padding:18px 0; border-left:0; border-top:1px solid var(--lesson-line); }
      .lesson-view .lesson-review-item { grid-template-columns:32px 1fr; gap:10px; padding:22px 0; }
      .lesson-view .lesson-review-item p { grid-column:2; }
      .lesson-view .lesson-tabs { scroll-snap-type:x proximity; scroll-padding-inline:12px; overscroll-behavior-inline:contain; mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent); -webkit-mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent); }
      .lesson-view .lesson-tab { scroll-snap-align:center; }
      .lesson-view .lesson-figure-overview { width:100%; margin:10px auto 24px; }
      .lesson-view .lesson-definition-intro { grid-template-columns:1fr; gap:20px; }
      .lesson-view .lesson-figure-definition { width:min(100%,340px); margin-inline:auto; }
      .lesson-view .lesson-figure-process { margin:4px auto 12px; }
      .lesson-view .lesson-figure-chat { height:150px; border-radius:10px; }
      .lesson-view .lesson-reflect-item.is-illustrated { grid-template-columns:32px 1fr; }
      .lesson-view .lesson-reflect-item.is-illustrated .lesson-figure { grid-column:1 / -1; grid-row:auto; width:min(100%,340px); margin:16px auto 0; }
      .lesson-view .lesson-pagination { grid-template-columns:1fr; gap:10px; margin-top:50px; }
      .lesson-view .lesson-pagination-link[data-direction="next"] { grid-column:1; }
      .lesson-view .lesson-pagination-link { min-height:84px; padding:15px 16px; }
      .lesson-view .lesson-pagination-link strong { font-size:15px; }
    }

    /* VibeHub-inspired practice view: one focused question, immediate feedback, then the concept reveal. */
    .practice-view { --practice-option:#f3f3f4; --practice-option-hover:#eceef2; --practice-panel:#f7f7f8; --practice-border:#ececef; --practice-success:#2b8a63; --practice-error:#c65454; overflow-y:auto; overscroll-behavior-y:contain; background:var(--bg); color:var(--primary); }
    [data-theme="dark"] .practice-view { --practice-option:#15171d; --practice-option-hover:#1d2028; --practice-panel:#111319; --practice-border:#242832; --practice-success:#69c99c; --practice-error:#e18383; }
    .practice-shell { width:min(1120px,calc(100% - 64px)); min-height:100%; margin-inline:auto; padding:16px 0 20px; }
    .practice-layout { min-height:calc(100dvh - 100px); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(42px,7vw,92px); align-items:stretch; }
    .practice-answer-panel { display:flex; flex-direction:column; justify-content:center; padding:18px 0 0; }
    .practice-answer-panel h1 { max-width:520px; margin:0 0 36px; color:var(--primary); font-size:clamp(25px,2.15vw,32px); line-height:1.48; font-weight:700; letter-spacing:-.035em; }
    .practice-options { display:grid; gap:9px; margin:0; padding:0; border:0; }
    .practice-option { width:100%; min-height:64px; display:grid; grid-template-columns:28px minmax(0,1fr); align-items:center; gap:12px; padding:13px 20px; border:1px solid transparent; border-radius:12px; background:var(--practice-option); color:var(--primary); text-align:left; cursor:pointer; transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s cubic-bezier(.22,1,.36,1); }
    .practice-option:hover,.practice-option:focus-visible { background:var(--practice-option-hover); transform:translateX(3px); }
    .practice-option:active { transform:translateX(3px) scale(.992); }
    .practice-option:disabled { cursor:default; }
    .practice-option > span { width:24px; height:24px; display:grid; place-items:center; border-radius:50%; background:color-mix(in srgb,var(--bg) 72%,transparent); color:var(--tertiary); font:600 12px/1 "JetBrains Mono",monospace; }
    .practice-option > b { font-size:15px; line-height:1.55; font-weight:600; }
    .practice-option.is-correct { border-color:color-mix(in srgb,var(--practice-success) 48%,transparent); background:color-mix(in srgb,var(--practice-success) 12%,var(--bg)); color:var(--practice-success); }
    .practice-option.is-wrong { border-color:color-mix(in srgb,var(--practice-error) 48%,transparent); background:color-mix(in srgb,var(--practice-error) 11%,var(--bg)); color:var(--practice-error); }
    .practice-feedback { min-height:22px; margin:15px 0 0; color:var(--tertiary); font-size:13px; line-height:1.65; }
    .practice-feedback.success { color:var(--practice-success); }
    .practice-feedback.error { color:var(--practice-error); }
    .practice-detail-column { min-width:0; display:grid; grid-template-rows:auto minmax(420px,1fr); gap:14px; }
    .practice-run-head { min-height:42px; display:flex; align-items:center; justify-content:space-between; gap:22px; color:var(--tertiary); font-size:13px; }
    .practice-counter { white-space:nowrap; }
    .practice-scope-picker { display:flex; align-items:center; gap:12px; }
    .practice-scope-picker label { white-space:nowrap; }
    .practice-scope-select { min-width:164px; height:40px; padding:0 36px 0 14px; border:1px solid var(--line-strong); border-radius:10px; outline:0; background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237A828E' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 13px center; color:var(--primary); font-family:inherit; font-size:13px; font-weight:600; appearance:none; cursor:pointer; }
    .practice-scope-select:focus-visible { border-color:var(--accent-blue); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-blue) 18%,transparent); }
    .practice-term-panel { position:relative; min-height:0; overflow:hidden; border:1px solid var(--practice-border); border-radius:15px; background:var(--practice-panel); box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--practice-border) 68%,transparent); }
    .practice-lock,.practice-term-detail { position:absolute; inset:0; }
    .practice-lock { display:grid; place-content:center; justify-items:center; gap:14px; color:var(--tertiary); font-size:13px; transition:opacity .28s ease,transform .32s cubic-bezier(.22,1,.36,1),visibility 0s linear .32s; }
    .practice-lock i { color:var(--secondary); font-size:23px; }
    .practice-term-detail { display:flex; flex-direction:column; padding:clamp(28px,4vw,48px); overflow-y:auto; opacity:0; visibility:hidden; transform:translateY(16px); transition:opacity .3s ease,transform .38s cubic-bezier(.22,1,.36,1),visibility 0s linear .38s; }
    .practice-term-panel.is-revealed .practice-lock { opacity:0; visibility:hidden; transform:translateY(-12px); }
    .practice-term-panel.is-revealed .practice-term-detail { opacity:1; visibility:visible; transform:translateY(0); transition-delay:.08s; }
    .practice-result-mark { width:38px; height:38px; display:grid; place-items:center; margin-bottom:auto; border-radius:50%; background:color-mix(in srgb,var(--practice-success) 13%,var(--bg)); color:var(--practice-success); }
    .practice-term-category { margin:28px 0 9px; color:var(--accent-blue); font:600 11px/1.4 "JetBrains Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
    .practice-term-detail h2 { margin:0; color:var(--primary); font-size:clamp(28px,3vw,40px); line-height:1.2; font-weight:700; letter-spacing:-.04em; }
    .practice-term-tagline { max-width:42ch; margin:15px 0 0; color:var(--secondary); font-size:15px; line-height:1.75; }
    .practice-term-explanation { max-width:48ch; margin:22px 0 0; color:var(--tertiary); font-size:13px; line-height:1.75; }
    .practice-next { width:max-content; min-height:40px; display:inline-flex; align-items:center; gap:9px; margin-top:28px; padding:0 17px; border:1px solid var(--line-strong); border-radius:10px; background:var(--surface); color:var(--primary); font-size:13px; font-weight:600; cursor:pointer; transition:background-color .2s ease,border-color .2s ease,transform .2s ease; }
    .practice-next:hover,.practice-next:focus-visible { border-color:var(--accent-blue); background:var(--surface-hover); }
    .practice-next:active { transform:scale(.98); }
    @media (max-width:960px) {
      .practice-shell { width:calc(100% - 48px); }
      .practice-layout { gap:32px; }
      .practice-answer-panel h1 { font-size:24px; }
      .practice-option { padding-inline:15px; }
    }
    @media (max-width:767px) {
      .practice-shell { width:calc(100% - 24px); padding:18px 0 48px; }
      .practice-layout { min-height:0; grid-template-columns:1fr; gap:34px; }
      .practice-answer-panel { justify-content:flex-start; padding:16px 0 0; }
      .practice-answer-panel h1 { margin-bottom:24px; font-size:23px; line-height:1.45; }
      .practice-option { min-height:58px; border-radius:10px; }
      .practice-option:hover,.practice-option:focus-visible { transform:none; }
      .practice-detail-column { grid-template-rows:auto 390px; }
      .practice-run-head { align-items:flex-start; }
      .practice-scope-picker { align-items:flex-start; flex-direction:column; gap:6px; }
      .practice-scope-select { min-width:154px; }
      .practice-term-detail { padding:26px 24px; }
    }
    @media (prefers-reduced-motion:reduce) {
      .practice-option,.practice-lock,.practice-term-detail,.practice-next { transition:none; }
    }

    /* AIbase-style editorial news list and article detail views. */
    .nav-route-link { position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center; min-height:34px; padding:7px 13px; border-radius:999px; color:var(--secondary); text-decoration:none; white-space:nowrap; font-size:13px; font-weight:500; transition:color .2s ease,font-weight .2s ease,transform .2s cubic-bezier(.22,1,.36,1); }
    .nav-route-link:hover,.nav-route-link:focus-visible,.nav-route-link.active { color:var(--primary); font-weight:600; transform:scale(1.035); }
    .news-view { --news-bg:#f7f8fa; --news-panel:#fff; --news-ink:#061b40; --news-copy:#2f3d52; --news-muted:#8a8f99; --news-line:#e1e5eb; --news-soft:#f0f4fe; --news-blue:#306af1; overflow-y:auto; overscroll-behavior-y:contain; scrollbar-gutter:stable; background:var(--news-bg); color:var(--news-ink); }
    [data-theme="dark"] .news-view { --news-bg:#0a0b10; --news-panel:#12141b; --news-ink:#edf1f8; --news-copy:#c4cad4; --news-muted:#8d95a2; --news-line:#292d36; --news-soft:#171d2a; --news-blue:#5c8df3; }
    .news-view::before { content:""; position:absolute; inset:0 0 auto; height:520px; background:radial-gradient(ellipse at 50% 0,rgba(48,106,241,.09),transparent 68%); pointer-events:none; }
    .news-shell { position:relative; z-index:1; width:min(1400px,calc(100% - 72px)); margin-inline:auto; padding:36px 0 76px; }
    .news-list-layout { display:grid; grid-template-columns:minmax(0,1fr) 362px; gap:48px; align-items:start; }
    .news-page-title { margin:0 0 24px; color:var(--news-ink); font-size:24px; line-height:1.1; font-weight:600; }
    .news-stream { display:grid; gap:0; }
    .news-stream-item { display:grid; grid-template-columns:246px minmax(0,1fr); gap:16px; min-height:140px; padding:16px 0; color:var(--news-ink); text-decoration:none; }
    .news-stream-item:first-child { padding-top:0; }
    .news-stream-item + .news-stream-item { border-top:1px solid var(--news-line); }
    .news-stream-item:hover .news-item-title,.news-stream-item:focus-visible .news-item-title { color:var(--news-blue); }
    .news-media-placeholder { min-width:0; height:140px; display:grid; place-items:center; overflow:hidden; border-radius:3px; background:linear-gradient(145deg,#e9edf4,#dce3ed); color:#9aa7b9; }
    [data-theme="dark"] .news-media-placeholder { background:linear-gradient(145deg,#1d212b,#171a22); color:#5f6877; }
    .news-media-placeholder-inner { display:grid; justify-items:center; gap:7px; font:500 9px/1 "JetBrains Mono",monospace; letter-spacing:.08em; }
    .news-media-placeholder-inner i { font-size:22px; }
    .news-media { min-width:0; height:140px; margin:0; overflow:hidden; border-radius:4px; background:var(--news-soft); }
    .news-media img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .5s cubic-bezier(.22,1,.36,1); }
    .news-stream-item:hover .news-media img,.news-stream-item:focus-visible .news-media img { transform:scale(1.035); }
    .news-item-copy { min-width:0; display:flex; flex-direction:column; padding-top:8px; }
    .news-item-title { margin:0; overflow:hidden; color:var(--news-ink); font-size:18px; line-height:30px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; transition:color .18s ease; }
    .news-item-summary { min-height:44px; display:-webkit-box; margin:6px 0 0; overflow:hidden; color:var(--news-muted); font-size:14px; line-height:22px; word-break:break-all; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
    .news-item-meta { display:flex; align-items:center; gap:32px; margin-top:auto; color:var(--news-ink); font-size:14px; line-height:22px; }
    .news-item-meta span { display:inline-flex; align-items:center; gap:5px; }
    .news-item-meta i { color:var(--news-muted); font-size:13px; }
    .news-trending { padding-bottom:48px; }
    .news-trending-head { display:flex; align-items:center; justify-content:space-between; padding-bottom:18px; }
    .news-trending-head h2 { margin:0; color:var(--news-ink); font-size:24px; line-height:36px; font-weight:600; }
    .news-ranking { display:grid; gap:16px; }
    .news-rank-item { display:flex; gap:8px; min-height:68px; padding:15px; border:1px solid var(--news-line); border-radius:5px; background:var(--news-panel); color:var(--news-ink); text-decoration:none; box-shadow:6px 6px 12px rgba(0,34,102,.05); transition:border-color .18s ease,background-color .18s ease,color .18s ease; }
    .news-rank-item:hover,.news-rank-item:focus-visible { border-color:var(--news-blue); background:var(--news-soft); color:var(--news-blue); }
    .news-rank-number { min-width:28px; color:#c3c7cd; text-align:center; font-size:16px; font-weight:600; }
    .news-rank-item:nth-child(1) .news-rank-number { color:#ff9f1a; }
    .news-rank-item:nth-child(2) .news-rank-number { color:var(--news-blue); }
    .news-rank-item:nth-child(3) .news-rank-number { color:#20a990; }
    .news-rank-title { display:-webkit-box; overflow:hidden; font-size:14px; line-height:22px; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
    .news-pagination { display:flex; align-items:center; justify-content:center; gap:8px; padding:36px 10px 0; }
    .news-page-button { min-width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; padding:0 12px; border:1px solid var(--news-line); border-radius:4px; background:var(--news-panel); color:var(--news-ink); font-size:14px; cursor:pointer; box-shadow:6px 6px 16px rgba(0,42,128,.03); }
    .news-page-button.wide { min-width:86px; border-radius:18px; background:var(--news-blue); color:#fff; }
    .news-page-button.active { border-color:var(--news-blue); background:var(--news-blue); color:#fff; font-weight:600; }
    .news-page-button:disabled { background:transparent; color:#b6bbc3; cursor:not-allowed; }
    .news-page-button:not(:disabled):active { transform:scale(.97); }

    .news-detail-view .news-shell { width:min(1090px,calc(100% - 72px)); padding-top:24px; }
    .news-detail-layout { display:grid; grid-template-columns:minmax(0,728px) minmax(0,336px); gap:16px; align-items:start; }
    .news-article-card { padding:0 24px 24px; border:1px solid var(--news-line); border-radius:5px; background:var(--news-panel); }
    .news-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:8px; padding:20px 0 30px; color:var(--news-ink); font-size:14px; line-height:22px; }
    .news-breadcrumbs a { color:inherit; text-decoration:none; }
    .news-breadcrumbs a:hover { color:var(--news-blue); }
    .news-breadcrumbs i { color:#c3c7cd; font-size:10px; }
    .news-article-header h1 { margin:0; color:var(--news-ink); font-size:24px; line-height:36px; font-weight:600; }
    .news-article-meta { display:flex; align-items:center; flex-wrap:wrap; gap:12px 40px; margin-top:14px; color:var(--news-ink); font-size:15px; line-height:25px; }
    .news-author { display:flex; align-items:center; gap:8px; }
    .news-author-logo { width:72px; height:30px; overflow:hidden; border:1px solid var(--news-line); border-radius:7px; background:#fff; }
    .news-author-logo img { width:100%; height:100%; object-fit:contain; }
    .news-article-facts { display:flex; gap:40px; }
    .news-article-facts span { display:inline-flex; align-items:center; gap:5px; }
    .news-article-rule { height:1px; margin:20px 0 19px; background:var(--news-line); }
    .news-article-content { color:var(--news-copy); font-size:16px; letter-spacing:.02em; line-height:28px; text-align:justify; }
    .news-article-content p { margin:0 0 28px; }
    .news-article-content h2 { margin:36px 0 16px; color:var(--news-ink); font-size:20px; line-height:30px; font-weight:600; }
    .news-article-media { width:100%; aspect-ratio:16/9; margin:28px 0; }
    .news-article-media.news-media-placeholder { height:auto; }
    .news-article-media.news-media { height:auto; border:1px solid var(--news-line); border-radius:6px; }
    .news-article-media.news-media img { aspect-ratio:16/9; object-fit:cover; }
    .news-article-media figcaption { padding:9px 12px; border-top:1px solid var(--news-line); color:var(--news-muted); font-size:11px; line-height:18px; }
    .news-source-link { display:inline-flex; align-items:center; gap:8px; margin:8px 0 30px; padding:10px 14px; border:1px solid var(--news-line); border-radius:5px; color:var(--news-blue); font-size:13px; font-weight:500; text-decoration:none; transition:border-color .18s ease,background-color .18s ease,color .18s ease; }
    .news-source-link:hover,.news-source-link:focus-visible { border-color:var(--news-blue); background:var(--news-soft); color:var(--news-ink); }
    .news-related { margin-bottom:48px; }
    .news-related h2 { margin:0 0 12px; color:var(--news-ink); font-size:16px; line-height:24px; font-weight:600; }
    .news-related-list { display:grid; gap:16px; }
    .news-related-item { display:block; padding:12px 16px; border:1px solid var(--news-line); border-radius:5px; background:var(--news-panel); color:var(--news-ink); text-decoration:none; transition:border-color .18s ease,background-color .18s ease; }
    .news-related-item:hover,.news-related-item:focus-visible { border-color:var(--news-blue); background:var(--news-soft); }
    .news-related-item h3 { display:-webkit-box; margin:0 0 8px; overflow:hidden; font-size:16px; line-height:24px; font-weight:600; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
    .news-related-item p { display:-webkit-box; margin:0; overflow:hidden; color:var(--news-muted); font-size:14px; line-height:22px; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
    .news-related-meta { display:flex; justify-content:space-between; gap:12px; margin-top:12px; padding-top:12px; border-top:1px solid var(--news-line); color:var(--news-ink); font-size:12px; }
    .news-related-meta span { display:inline-flex; align-items:center; gap:4px; }
    .news-back-link { width:max-content; display:inline-flex; align-items:center; gap:7px; margin-top:28px; color:var(--news-blue); font-size:14px; text-decoration:none; }
    .news-back-link:hover { color:var(--news-ink); }
    @media (max-width:1024px) {
      .news-shell,.news-detail-view .news-shell { width:calc(100% - 48px); }
      .news-list-layout { grid-template-columns:minmax(0,1fr) 300px; gap:28px; }
      .news-stream-item { grid-template-columns:210px minmax(0,1fr); }
      .news-detail-layout { grid-template-columns:minmax(0,1fr) 300px; }
    }
    @media (max-width:767px) {
      .nav-route-link { width:100%; justify-content:flex-start; padding:10px 12px; border-radius:10px; }
      .nav-route-link:hover,.nav-route-link:focus-visible,.nav-route-link.active { background:var(--nav-hover); transform:none; }
      .news-shell,.news-detail-view .news-shell { width:calc(100% - 24px); padding:18px 0 48px; }
      .news-list-layout,.news-detail-layout { grid-template-columns:1fr; gap:39px; }
      .news-page-title,.news-trending-head h2 { font-size:20px; line-height:30px; }
      .news-stream { gap:32px; }
      .news-stream-item,.news-stream-item:first-child { min-height:74px; grid-template-columns:130px minmax(0,1fr); gap:16px; padding:0; }
      .news-stream-item + .news-stream-item { border-top:0; }
      .news-stream-item .news-media-placeholder,.news-stream-item .news-media { height:74px; }
      .news-media-placeholder-inner { gap:4px; font-size:7px; }
      .news-media-placeholder-inner i { font-size:16px; }
      .news-item-copy { padding-top:0; }
      .news-item-title { display:-webkit-box; font-size:16px; line-height:24px; white-space:normal; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
      .news-item-summary { display:none; }
      .news-item-meta { gap:18px; margin-top:8px; color:var(--news-muted); font-size:12px; line-height:18px; }
      .news-pagination { justify-content:flex-start; overflow-x:auto; padding-inline:0; }
      .news-trending { padding-bottom:0; }
      .news-detail-view { background:var(--news-panel); }
      .news-detail-layout { gap:48px; }
      .news-article-card { padding:0 4px 24px; border:0; background:transparent; }
      .news-breadcrumbs { padding:10px 0 22px; }
      .news-article-header h1 { font-size:23px; line-height:34px; }
      .news-article-meta { font-size:13px; }
      .news-article-facts { gap:16px; }
      .news-article-content { font-size:15px; line-height:27px; }
      .news-related-item { padding:12px; }
    }
    /* 调研报告字体规范：统一字体栈、字阶、行高、字重与组件语义。 */
    .hero h1 {
      font-family:var(--font-sans);
      font-size:var(--type-h1-size);
      font-weight:var(--type-h1-weight);
      line-height:var(--type-h1-line);
      letter-spacing:var(--type-h1-tracking);
    }
    .workspace-view .section-heading h2,
    .course-inline-detail-header h2,
    .course-overview-hero h1,
    .prompt-heading-row h1,
    .prompt-detail-header h1,
    .dictionary-hero h1,
    .dictionary-detail h1,
    .practice-answer-panel h1,
    .news-page-title,
    .news-article-header h1 {
      font-family:var(--font-sans);
      font-size:var(--type-h1-size);
      font-weight:var(--type-h1-weight);
      line-height:var(--type-h1-line);
      letter-spacing:var(--type-h1-tracking);
    }
    .section h2,
    .cta h2,
    .course-overview-section-label h2,
    .dictionary-section-heading h2,
    .practice-term-detail h2,
    .lesson-view .lesson-sheet h3 {
      font-family:var(--font-sans);
      font-size:var(--type-h2-size);
      font-weight:var(--type-h2-weight);
      line-height:var(--type-h2-line);
      letter-spacing:var(--type-h2-tracking);
    }
    .course-inline-section h3,
    .onboarding-copy h2,
    .onboarding-results-head h2,
    .onboarding-loading h2,
    .auth-form-view h1,
    .auth-signup-view h2,
    .auth-success h2 {
      font-family:var(--font-sans);
      font-size:var(--type-h3-size);
      font-weight:var(--type-h3-weight);
      line-height:var(--type-h3-line);
      letter-spacing:var(--type-h3-tracking);
    }
    .lesson-view .lesson-sheet h4,
    .dictionary-detail-copy section h2,
    .dictionary-detail-aside h2,
    .news-trending-head h2,
    .news-article-content h2 {
      font-family:var(--font-sans);
      font-size:var(--type-h4-size);
      font-weight:var(--type-h4-weight);
      line-height:var(--type-h4-line);
      letter-spacing:var(--type-h4-tracking);
    }
    .course-row-trigger h3,
    .course-body h3,
    .prompt-card h2,
    .dictionary-term-card h3,
    .topic-item h3,
    .path-item h3,
    .practice-option > b,
    .course-learning-path h3,
    .news-related h2,
    .news-related-item h3 {
      font-family:var(--font-sans);
      font-size:var(--type-h5-size);
      font-weight:var(--type-h5-weight);
      line-height:var(--type-h5-line);
      letter-spacing:var(--type-h5-tracking);
    }
    .hero-lead,
    .view-intro,
    .course-overview-lede,
    .dictionary-detail-lede,
    .lesson-view .lesson-sheet-subtitle,
    .lesson-view .lesson-sheet-lede {
      font-family:var(--font-sans);
      font-size:var(--type-body-lg-size);
      font-weight:var(--type-body-weight);
      line-height:var(--type-body-lg-line);
      letter-spacing:0;
    }
    .course-inline-summary-copy p,
    .course-inline-section p,
    .course-overview-copy,
    .course-outcomes li,
    .prompt-detail-header > p:not(.section-label),
    .prompt-detail-aside p,
    .dictionary-detail-copy section p,
    .dictionary-detail-aside p,
    .practice-term-tagline,
    .practice-term-explanation,
    .auth-intro,
    .auth-success p,
    .lesson-view .lesson-sheet p,
    .lesson-view .lesson-goals li,
    .news-article-content {
      font-family:var(--font-sans);
      font-size:var(--type-body-size);
      font-weight:var(--type-body-weight);
      line-height:var(--type-body-line);
      letter-spacing:0;
    }
    .hero-pain-points p,
    .course-body p,
    .course-syllabus-item p,
    .prompt-heading-row p,
    .prompt-card p,
    .dictionary-hero p,
    .dictionary-term-card p,
    .topic-summary p,
    .topic-item p,
    .path-item p,
    .news-item-summary,
    .news-rank-title,
    .news-related-item p {
      font-family:var(--font-sans);
      font-size:var(--type-body-sm-size);
      font-weight:var(--type-body-weight);
      line-height:var(--type-body-sm-line);
      letter-spacing:0;
    }
    .brand,
    .nav-trigger,
    .nav-route-link,
    .nav-child strong,
    .course-directory-heading,
    .course-path-button,
    .lesson-tab,
    .practice-scope-select,
    .auth-field label {
      font-family:var(--font-sans);
      font-size:var(--type-label-size);
      font-weight:var(--type-label-weight);
      line-height:var(--type-label-line);
      letter-spacing:var(--type-label-tracking);
    }
    .button,
    .login-button,
    .course-inline-entry,
    .course-overview-start,
    .prompt-copy-button,
    .practice-next,
    .auth-social,
    .auth-submit,
    .onboarding-button {
      font-family:var(--font-sans);
      font-size:var(--type-button-size);
      font-weight:var(--type-button-weight);
      line-height:var(--type-button-line);
      letter-spacing:var(--type-button-tracking);
    }
    .section-label,
    .course-inline-summary-meta,
    .dictionary-summary,
    .auth-consent,
    .auth-switch,
    .auth-message,
    .footer-brand p,
    .footer-col a,
    .footer-bottom {
      font-family:var(--font-sans);
      font-size:var(--type-caption-size);
      font-weight:var(--type-body-weight);
      line-height:var(--type-caption-line);
      letter-spacing:var(--type-caption-tracking);
    }
    .course-breadcrumb,
    .course-overview-breadcrumb,
    .prompt-detail-breadcrumb,
    .dictionary-detail-breadcrumb,
    .practice-feedback,
    .news-breadcrumbs,
    .news-item-meta,
    .news-article-meta {
      font-family:var(--font-sans);
      font-size:var(--type-body-sm-size);
      font-weight:var(--type-body-weight);
      line-height:var(--type-body-sm-line);
      letter-spacing:0;
    }
    .auth-field input,
    .search-field input,
    .prompt-search input,
    .dictionary-search input {
      font-family:var(--font-sans);
      font-size:var(--type-input-size);
      font-weight:var(--type-body-weight);
      line-height:var(--type-input-line);
      letter-spacing:0;
    }
    code,
    pre,
    kbd,
    .mono,
    .hero-badge,
    .hero-stat strong,
    .trust-row span:first-child,
    .cover-code,
    .cover-tag,
    .course-meta,
    .phase,
    .status,
    .progress-label {
      font-family:var(--font-mono);
    }
    code,
    pre { font-size:var(--type-code-size); line-height:var(--type-code-line); }
    .lesson-view .lesson-sheet p,
    .lesson-view .lesson-sheet-lede,
    .news-article-content,
    .course-overview-copy,
    .dictionary-detail-copy { max-width:760px; }
    @media (max-width:767px) {
      :root {
        --type-display-size:44px; --type-display-line:52px;
        --type-h1-size:36px; --type-h1-line:44px;
        --type-h2-size:30px; --type-h2-line:38px;
        --type-h3-size:26px; --type-h3-line:34px;
        --type-h4-size:22px; --type-h4-line:30px;
        --type-h5-size:20px; --type-h5-line:28px;
        --type-code-size:13px; --type-code-line:20px;
        --type-page-size:var(--type-h1-size); --type-page-line:var(--type-h1-line); --type-section-size:var(--type-h2-size); --type-section-line:var(--type-h2-line); --type-item-size:var(--type-h5-size); --type-item-line:var(--type-h5-line); --type-reading-size:var(--type-body-lg-size); --type-reading-line:var(--type-body-lg-line);
      }
      .hero-title-line { white-space:normal; }
    }
    /* 明主题统一使用资讯页的冷白页面底色，暗主题继续沿用原有配色。 */
    :root:not([data-theme="dark"]) .page-view:not(.auth-view) { background:var(--bg); }
    :root:not([data-theme="dark"]) .lesson-view { --lesson-paper:var(--bg); }
    /* PRO 与交流群独立页面 */
    .pro-view,
    .community-view {
      overflow-x:hidden;
      overflow-y:auto;
    }
    .pro-view { background:var(--bg); color:var(--text); }
    .pro-shell { width:min(1120px,calc(100% - 64px)); min-height:100%; padding-top:84px; padding-bottom:96px; }
    .pro-header { max-width:760px; margin-bottom:48px; }
    .pro-eyebrow { margin:0 0 16px; color:var(--accent-blue); font:500 11px/1 var(--font-mono); letter-spacing:.12em; }
    .pro-header h1 { margin:0; color:var(--primary); font-size:clamp(42px,5.5vw,68px); font-weight:500; line-height:1.08; letter-spacing:-.045em; }
    .pro-header p { max-width:620px; margin:20px 0 0; color:var(--secondary); font-size:16px; line-height:1.8; }
    .pro-tier-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch; }
    .pro-tier-card { position:relative; min-height:430px; display:flex; flex-direction:column; padding:28px; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--surface); color:var(--text); transition:transform .24s cubic-bezier(.22,1,.36,1),border-color .2s ease,box-shadow .24s ease; }
    .pro-tier-card:hover { transform:translateY(-4px); border-color:var(--line-strong); box-shadow:0 24px 54px var(--shadow); }
    .pro-tier-card.is-featured { border-color:color-mix(in srgb,var(--accent-blue) 60%,var(--line)); background:linear-gradient(180deg,color-mix(in srgb,var(--accent-blue) 9%,var(--surface)),var(--surface) 42%); }
    .pro-tier-card.is-featured::before { position:absolute; inset:0 0 auto; height:3px; background:linear-gradient(90deg,var(--accent),var(--accent-blue)); content:""; }
    .pro-tier-badge { width:max-content; min-height:26px; display:inline-flex; align-items:center; padding:0 11px; border:1px solid var(--line-strong); border-radius:999px; color:var(--secondary); font-size:10px; font-weight:600; }
    .pro-tier-card.is-featured .pro-tier-badge { border-color:transparent; background:var(--accent-blue); color:#fff; }
    .pro-tier-name { margin:24px 0 0; color:var(--accent-blue); font:500 11px/1 var(--font-mono); letter-spacing:.08em; }
    .pro-tier-card h2 { margin:10px 0 0; color:var(--primary); font-size:30px; line-height:1.15; font-weight:550; letter-spacing:-.035em; }
    .pro-tier-summary { min-height:72px; margin:18px 0 0; color:var(--secondary); font-size:13px; line-height:1.7; }
    .pro-tier-list { display:grid; gap:13px; margin:24px 0 28px; padding:22px 0 0; border-top:1px solid var(--line); list-style:none; }
    .pro-tier-list li { display:grid; grid-template-columns:16px 1fr; gap:9px; align-items:start; color:var(--primary); font-size:13px; line-height:1.55; }
    .pro-tier-list i { margin-top:4px; color:var(--accent-blue); font-size:10px; }
    .pro-tier-status { width:100%; min-height:44px; display:flex; align-items:center; justify-content:center; margin-top:auto; padding:0 16px; border:1px solid var(--line-strong); border-radius:9px; background:transparent; color:var(--primary); font:600 12px/1 var(--font-sans); }
    button.pro-tier-status { cursor:not-allowed; opacity:.68; }
    .pro-tier-card.is-featured .pro-tier-status { border-color:transparent; background:linear-gradient(90deg,var(--accent),var(--accent-blue)); color:#fff; }
    .community-header h1 {
      margin:0;
      color:var(--primary);
      font-size:clamp(38px,5vw,64px);
      line-height:1.08;
      letter-spacing:-.045em;
    }
    .community-header p {
      margin:18px 0 0;
      color:var(--secondary);
      font-size:17px;
      line-height:1.8;
    }
    .community-shell {
      display:grid;
      place-items:center;
      min-height:100%;
      padding-top:54px;
      padding-bottom:80px;
    }
    .community-panel {
      width:min(720px,100%);
      text-align:center;
    }
    .community-header p {
      max-width:560px;
      margin-right:auto;
      margin-left:auto;
    }
    .community-qr {
      display:grid;
      place-items:center;
      width:282px;
      aspect-ratio:1;
      margin:42px auto 28px;
      color:#111318;
      background:#fff;
      border:1px solid var(--line);
      border-radius:14px;
      box-shadow:0 18px 50px rgba(20,24,32,.09);
    }
    .community-qr i { font-size:172px; }
    .community-qr-note {
      margin:0 0 28px;
      color:var(--secondary);
      font-size:13px;
    }
    .community-copy {
      max-width:680px;
      margin:0 auto;
      padding-top:28px;
      color:var(--primary);
      font-size:17px;
      line-height:1.85;
      border-top:1px solid var(--line);
    }
    .nav-route-pro,
    .nav-route-pro:hover,
    .nav-route-pro:focus-visible,
    .nav-route-pro.active {
      background:linear-gradient(90deg,#ff5f6d 0%,#ffb547 20%,#6ecb72 40%,#34b7ef 60%,#7467f0 80%,#ec62bf 100%);
      color:transparent;
      -webkit-background-clip:text;
      background-clip:text;
      -webkit-text-fill-color:transparent;
      font-weight:750;
      filter:saturate(1.08);
    }
    @media (forced-colors:active) {
      .nav-route-pro,
      .nav-route-pro:hover,
      .nav-route-pro:focus-visible,
      .nav-route-pro.active {
        background:none;
        color:LinkText;
        -webkit-text-fill-color:LinkText;
        filter:none;
      }
    }
.account-view { overflow-y:auto; overscroll-behavior:contain; }
    .account-shell { width:min(1120px,calc(100% - 40px)); min-height:100%; margin:0 auto; padding:clamp(46px,7vh,78px) 0 64px; }
    .account-header { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:28px; }
    .account-header-copy .section-label { margin-bottom:12px; }
    .account-header h1 { margin:0; color:var(--primary); font-size:clamp(34px,4vw,52px); line-height:1.05; letter-spacing:-.045em; }
    .account-header p { max-width:600px; margin:14px 0 0; color:var(--muted); font-size:13px; line-height:1.75; }
    .account-continue { min-height:42px; flex:none; padding:0 18px; border:0; border-radius:9px; background:linear-gradient(90deg,#6659eb,#477fea); color:#fff; font-size:12px; font-weight:600; cursor:pointer; box-shadow:0 9px 26px rgba(83,84,224,.24); }
    .account-continue:hover,.account-continue:focus-visible { filter:brightness(1.07); transform:translateY(-1px); }
    .account-layout { display:grid; grid-template-columns:minmax(270px,320px) minmax(0,1fr); gap:22px; align-items:start; }
    .account-card { border:1px solid var(--line); border-radius:16px; background:var(--surface); box-shadow:0 16px 50px rgba(23,25,34,.05); }
    .account-profile-card { position:sticky; top:28px; padding:28px; }
    .account-avatar { width:58px; height:58px; display:grid; place-items:center; margin-bottom:20px; border-radius:16px; background:linear-gradient(135deg,#6659eb,#477fea); color:#fff; font:700 22px/1 "JetBrains Mono",monospace; box-shadow:0 10px 24px rgba(79,100,230,.24); }
    .account-profile-card h2 { margin:0; color:var(--primary); font-size:22px; line-height:1.3; letter-spacing:-.02em; overflow-wrap:anywhere; }
    .account-email { margin:7px 0 0; color:var(--tertiary); font-size:12px; overflow-wrap:anywhere; }
    .account-status { width:max-content; display:inline-flex; align-items:center; gap:7px; margin-top:18px; padding:7px 10px; border:1px solid color-mix(in srgb,#31a66a 28%,var(--line)); border-radius:999px; background:color-mix(in srgb,#31a66a 8%,transparent); color:#238656; font-size:11px; font-weight:600; }
    .account-status i { font-size:7px; }
    .account-profile-divider { height:1px; margin:24px 0; background:var(--line); }
    .account-action-stack { display:grid; gap:9px; }
    .account-action { min-height:42px; display:flex; align-items:center; justify-content:center; gap:9px; border:1px solid var(--line); border-radius:9px; background:transparent; color:var(--secondary); font-size:12px; font-weight:600; cursor:pointer; }
    .account-action[hidden] { display:none; }
    .account-action:hover,.account-action:focus-visible { border-color:var(--line-strong); background:var(--surface-hover); color:var(--primary); }
    .account-action.danger { color:#c24c56; }
    .account-action:disabled { opacity:.55; cursor:wait; }
    .account-security-message { min-height:18px; margin:12px 0 0; color:var(--tertiary); font-size:11px; line-height:1.55; }
    .account-security-message.is-success { color:#238656; }
    .account-progress-card { min-width:0; padding:26px; }
    .account-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:30px; }
    .account-summary-item { min-width:0; padding:18px; border:1px solid var(--line); border-radius:12px; background:var(--bg); }
    .account-summary-item span { display:block; color:var(--tertiary); font-size:11px; }
    .account-summary-item strong { display:block; margin-top:10px; color:var(--primary); font:600 25px/1 "JetBrains Mono",monospace; letter-spacing:-.04em; }
    .account-section-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:12px; }
    .account-section-head h2 { margin:0; color:var(--primary); font-size:18px; }
    .account-text-button { padding:6px 0; border:0; background:transparent; color:var(--accent-blue); font-size:11px; cursor:pointer; }
    .account-progress-list { display:grid; gap:9px; }
    .account-progress-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:18px; align-items:center; padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--bg); }
    .account-progress-row h3 { margin:0; color:var(--primary); font-size:14px; font-weight:600; }
    .account-progress-meta { display:flex; flex-wrap:wrap; gap:7px 14px; margin-top:7px; color:var(--tertiary); font-size:10px; }
    .account-progress-track { height:4px; margin-top:12px; overflow:hidden; border-radius:999px; background:var(--line); }
    .account-progress-track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#6659eb,#477fea); }
    .account-progress-resume { min-height:36px; padding:0 13px; border:1px solid var(--line-strong); border-radius:8px; background:var(--surface); color:var(--primary); font-size:11px; font-weight:600; cursor:pointer; white-space:nowrap; }
    .account-progress-resume:hover,.account-progress-resume:focus-visible { border-color:var(--accent-blue); background:var(--surface-hover); }
    .account-empty { padding:44px 20px; border:1px dashed var(--line-strong); border-radius:12px; color:var(--tertiary); text-align:center; font-size:12px; line-height:1.7; }
    @media (max-width:767px) {
      .account-shell { width:calc(100% - 32px); padding-top:34px; }
      .account-header { align-items:flex-start; flex-direction:column; }
      .account-continue { width:100%; }
      .account-layout { grid-template-columns:1fr; }
      .account-profile-card { position:static; }
      .account-summary { grid-template-columns:1fr; }
      .account-progress-row { grid-template-columns:1fr; }
      .account-progress-resume { width:100%; }
    }
    @media (max-width:980px) {
      .pro-shell { width:calc(100% - 40px); }
      .pro-tier-grid { max-width:640px; grid-template-columns:1fr; }
    }
    @media (max-width:767px) {
      .pro-shell { width:calc(100% - 32px); padding-top:58px; padding-bottom:64px; }
      .community-shell { padding-top:38px; padding-bottom:48px; }
      .pro-header { margin-bottom:32px; }
      .pro-header h1 { font-size:38px; }
      .pro-header p { margin-top:16px; font-size:14px; }
      .pro-tier-card { min-height:auto; padding:24px; border-radius:14px; }
      .pro-tier-summary { min-height:auto; }
      .community-qr { width:228px; margin-top:34px; }
      .community-qr i { font-size:138px; }
      .community-copy { font-size:15px; }
    }
    @media (prefers-reduced-motion:reduce) {
      .pro-tier-card { transition:none; }
      .pro-tier-card:hover { transform:none; }
    }
    /* The login route is dark independently of the site's saved theme. */
    .auth-view.page-view {
      background:#07080b;
      color:#f1f3f7;
      color-scheme:dark;
      --surface:#15171e;
      --primary:#f1f3f7;
      --secondary:#a5adba;
      --text:#f1f3f7;
      --line-strong:rgba(255,255,255,.17);
      --accent-blue:#87adf4;
    }
    .auth-view .auth-art {
      background:#030406;
      color:#edf2f9;
      border-right:1px solid #20242c;
    }
    .auth-view .auth-art::before,.auth-view .auth-art::after { content:none; }
    /* Preserve the original tilted, alternating 3D card marquee. */
    .auth-marquee { position:absolute; inset:0; z-index:0; overflow:hidden; background:#030406; }
    .auth-marquee::before {
      position:absolute; inset:0; z-index:2;
      background:radial-gradient(circle at 50% 50%,transparent 15%,rgba(3,4,6,.1) 50%,rgba(3,4,6,.84) 95%);
      content:""; pointer-events:none;
    }
    .auth-marquee::after {
      position:absolute; inset:0; z-index:2;
      background:linear-gradient(90deg,rgba(3,4,6,.58),transparent 24%,transparent 76%,rgba(3,4,6,.58));
      content:""; pointer-events:none;
    }
    .auth-marquee-viewport { width:100%; height:100%; display:flex; align-items:center; justify-content:center; overflow:hidden; }
    .auth-marquee-stage { position:relative; width:1720px; height:1720px; flex:0 0 1720px; transform:scale(.75); transform-origin:center; }
    .auth-marquee-grid {
      position:relative; top:384px; right:50%; display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px;
      width:100%; height:100%;
      transform:rotateX(55deg) rotateY(0deg) rotateZ(-45deg);
      transform-origin:top left; transform-style:preserve-3d;
    }
    .auth-marquee-column {
      position:relative; min-width:0; display:flex; flex-direction:column;
      align-items:flex-start; gap:32px; overflow:visible; will-change:transform;
      animation:auth-marquee-positive 10s ease-in-out infinite alternate;
    }
    .auth-marquee-column:nth-child(even) { animation-name:auth-marquee-negative; animation-duration:15s; }
    .auth-marquee-column::before {
      position:absolute; z-index:2; top:-40px; left:-16px; width:1px; height:calc(100% + 80px);
      background:repeating-linear-gradient(to bottom,rgba(136,164,208,.22) 0 2.5px,transparent 2.5px 5px);
      -webkit-mask-image:linear-gradient(to bottom,transparent,#000 10%,#000 90%,transparent);
      mask-image:linear-gradient(to bottom,transparent,#000 10%,#000 90%,transparent);
      content:""; pointer-events:none;
    }
    .auth-marquee-frame {
      position:relative; width:100%; flex:none; margin:0; overflow:hidden;
      aspect-ratio:970/700; border:1px solid rgba(142,171,215,.25); border-radius:10px;
      background:#111721; box-shadow:0 14px 34px rgba(0,0,0,.34);
      transition:transform .3s ease-in-out,box-shadow .3s ease-in-out;
    }
    .auth-marquee-frame::before {
      position:absolute; z-index:2; top:-16px; left:-10px; width:calc(100% + 20px); height:1px;
      background:repeating-linear-gradient(to right,rgba(136,164,208,.22) 0 2.5px,transparent 2.5px 5px);
      -webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);
      mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);
      content:""; pointer-events:none;
    }
    .auth-marquee-frame img { width:100%; height:100%; display:block; object-fit:cover; object-position:center top; filter:saturate(.92) contrast(1.05); }
    .auth-marquee-frame:hover { transform:translateY(-10px); box-shadow:0 24px 54px rgba(0,0,0,.46); }
    .auth-marquee-brand { display:grid; place-items:center; background:#0b1420; }
    .auth-marquee-brand img { position:absolute; inset:0; z-index:1; width:84%; height:74%; margin:auto; object-fit:contain; }
    .auth-marquee-brand .auth-marquee-brand-white { filter:brightness(0) invert(1); }
    .auth-marquee-brand .auth-marquee-brand-color { clip-path:inset(0 67% 0 0); filter:none; }
    @keyframes auth-marquee-positive { from { transform:translate3d(0,0,0); } to { transform:translate3d(0,100px,0); } }
    @keyframes auth-marquee-negative { from { transform:translate3d(0,0,0); } to { transform:translate3d(0,-100px,0); } }
    @container (min-width:850px) { .auth-marquee-stage { transform:scale(1); } }
    @media (prefers-reduced-motion:reduce) { .auth-marquee-column { animation:none!important; transform:none!important; } }
    .auth-view .auth-art-caption { color:#5d6979; }
    .auth-view .auth-panel { background:#0d0e13; color:#f0f1f4; }
    .auth-view .auth-guest-link { color:#a5abb5; }
    .auth-view .auth-guest-link:hover,.auth-view .auth-guest-link:focus-visible { color:#fff; }
    .auth-view .auth-eyebrow { color:#8ba5ca; }
    .auth-view .auth-intro,.auth-view .auth-switch,.auth-view .auth-consent { color:#a0a8b5; }
    .auth-view .auth-method-tabs { background:rgba(255,255,255,.06); }
    .auth-view .auth-method-tab { color:#a0a8b5; }
    .auth-view .auth-method-tab:hover,.auth-view .auth-method-tab:focus-visible { color:#f1f2f5; }
    .auth-view .auth-method-tab[aria-selected="true"] { background:#1d2028; color:#f1f2f5; box-shadow:0 3px 12px rgba(0,0,0,.22); }
    .auth-view .auth-social { border-color:rgba(255,255,255,.11); background:#15161c; color:#f1f2f5; box-shadow:0 2px 10px rgba(0,0,0,.22); }
    .auth-view .auth-divider::before,.auth-view .auth-divider::after { background:rgba(255,255,255,.09); }
    .auth-view .auth-field label { color:#c8ccd3; }
    .auth-view .auth-field input { border-color:rgba(255,255,255,.11); background:#15161c; color:#f1f2f5; box-shadow:0 2px 10px rgba(0,0,0,.18); }
    .auth-view .auth-code-button { background:rgba(105,148,235,.13); color:#85adf8; }
    .auth-view .auth-switch button,.auth-view .auth-message.is-success { color:#87adf4; }
    .auth-view .auth-forgot button { color:#a5abb5; }
    .auth-view .auth-forgot button:hover,.auth-view .auth-forgot button:focus-visible { color:#a7c5fb; }
    .auth-view .auth-success p,.auth-view .auth-legal { color:#929aa8; }
    .auth-view .auth-resend { border-color:rgba(255,255,255,.17); }
    .auth-view .auth-mobile-brand .brand-logo-frame { width:142px; height:48px; background:transparent; }
    .auth-view .auth-mobile-brand .brand-logo { filter:brightness(0) invert(1); }
    .auth-view .auth-mobile-brand .brand-logo-color { clip-path:inset(0 67% 0 0); filter:none; }
    @media (max-width:1100px) and (min-width:768px) {
      .auth-layout { grid-template-columns:minmax(0,1fr) minmax(400px,1fr); }
    }
    @media (max-width:767px) {
      .auth-view .auth-art { display:none; }
      .auth-view .auth-mobile-brand { left:50%; transform:translateX(-50%); }
    }
