@media screen {
  :root { --ink:#202725; --muted:#5c6763; --line:#dce1dd; --wash:#f5f7f5; --green:#255e4f; --editorial-red:#8b444a; --site-header-height:80px; }
  body { line-height:1.8; }
  h1,h2,.library-row h2,.reader-series h2 { font-family:'Noto Serif CJK SC','Songti SC','STSong','SimSun',serif; }
  h1,h2,h3 { letter-spacing:0; }
  #site-header { z-index:60; height:var(--site-header-height); }
  #primary-nav>a[aria-current=page]:after { background:var(--editorial-red); }
  .eyebrow { color:var(--muted); }
  .section { padding-block:64px; }
  .page-heading { padding-top:40px; padding-bottom:30px; }
  .page-heading h1 { font-size:38px; line-height:1.5; }
  .home-stage { height:540px; height:min(540px,calc(100svh - 180px)); min-height:430px; background:#eef0ec; }
  .stage-image { object-fit:contain; object-position:calc(50% + 130px) top; }
  .stage-copy { top:90px; width:290px; left:max(32px,calc((100% - 1220px)/2)); }
  .stage-copy h1 { font-size:60px; line-height:1.3; }
  .stage-copy .stage-intro { font-size:26px; margin-top:18px; }
  .stage-detail { margin-top:10px; margin-bottom:18px; }
  .stage-copy .button { min-height:46px; }
  .stage-learn { margin-top:12px; }
  .stage-caption { right:82px; left:auto; bottom:18px; }
  .stage-zoom { bottom:12px; }
  .product-facts { padding-block:18px; }
  .support-entry { padding-block:12px; gap:12px 26px; }
  .path-item:before { border-color:var(--editorial-red); }
  .library-heading { padding-top:30px; padding-bottom:22px; }
  .library-heading h1 { font-size:38px; margin-bottom:6px; line-height:1.45; }
  .library-heading .eyebrow { margin-bottom:5px; }
  .library-heading>p:not(.eyebrow) { font-size:16px; }
  .library-total { margin-top:10px; font-size:12px; }
  .library-heading-links { margin-top:10px; gap:12px 24px; }
  .library-layout { padding-top:26px; }
  .library-row { padding-block:24px; }
  .library-row h2 { font-size:23px; line-height:1.55; }
  .library-row-meta { gap:7px 14px; font-size:11px; }
  .library-row p { max-width:75ch; }
  .editorial-collections { display:flex; flex-wrap:wrap; gap:8px 24px; border-bottom:1px solid var(--line); margin-bottom:18px; }
  .editorial-collections a { padding:10px 0; font-size:14px; min-height:44px; border-bottom:2px solid transparent; }
  .editorial-collections a[aria-current=page] { color:var(--editorial-red); border-bottom-color:var(--editorial-red); font-weight:600; }
  .collection-context { font-size:14px; margin-bottom:18px; color:var(--muted); }
  .editorial-reason { border-left:2px solid var(--editorial-red); padding-left:12px; margin-top:15px; font-size:13px; color:var(--muted); }
  .editorial-reason strong { color:var(--ink); font-size:12px; margin-right:8px; }
  .reader-series { margin-block:36px; border-block:1px solid var(--line); padding-block:26px; }
  .reader-series h2 { font-size:23px; margin-bottom:10px; }
  .reader-series p { font-size:14px; color:var(--muted); }
  .series-actions { display:flex; flex-wrap:wrap; gap:12px 26px; margin-top:20px; }
  .series-actions .text-link { font-size:13px; max-width:100%; }
  .path-reading>ol>li { scroll-margin-top:100px; }
  .path-chapters { display:flex; flex-wrap:wrap; gap:8px 20px; margin-bottom:24px; border-block:1px solid var(--line); padding-block:15px; }
  .path-chapters a { min-height:40px; display:flex; align-items:center; font-size:13px; color:var(--green); }
  .step-detail-figure { margin:0 0 24px; border-block:1px solid var(--line); padding-block:18px; }
  .step-detail-figure img { width:100%; height:auto; max-height:330px; object-fit:contain; background:#f4f6f3; }
  .step-detail-figure figcaption { text-align:left; font-size:12px; }
  .step-copy { min-height:0; }
  .image-dialog[open] { display:flex; flex-direction:column; overflow:hidden; max-height:90dvh; }
  .image-dialog>header { flex:none; }
  .image-dialog .image-viewport { height:72dvh; min-height:0; flex:1 1 auto; }
  .image-dialog>header .icon-button { width:44px; height:44px; }
  .release-confidence { margin-top:26px; border-top:1px solid var(--line); padding-top:22px; }
  .release-confidence h3 { font-size:17px; }
  .download-aside .release-confidence dl { display:block; font-size:13px; }
  .release-confidence dt { font-size:12px; margin-top:14px; color:var(--ink); }
  .release-confidence dd { margin:5px 0 0; color:var(--muted); }
  .platform-release-meta { display:flex; flex-wrap:wrap; gap:6px 18px; font-size:12px; color:var(--muted); margin-block:12px 18px; }
  .creator-services { display:grid; grid-template-columns:1.5fr 1fr; gap:50px; border-top:1px solid var(--line); padding-block:42px; }
  .creator-services h2 { font-size:28px; margin-bottom:16px; }
  .creator-services p { color:var(--muted); font-size:14px; }
  .creator-services>div:last-child { display:flex; align-items:start; flex-direction:column; gap:18px; justify-content:center; }
  .creator-services>div:last-child p { font-size:12px; }
  .footer-inner nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px 24px; }
  .footer-inner nav a { font-size:12px; }
  .footer-inner { align-items:start; gap:36px; }
  .reader-body { line-height:var(--reading-line,1.95); }
  .reader-workspace { top:var(--site-header-height); }
  .reader-body [id] { scroll-margin-top:calc(var(--site-header-height) + 130px); }
  .reading-settings { border:0; padding:0; }
  .reading-settings-panel { position:fixed; left:12px; top:calc(var(--site-header-height) + 60px); width:min(260px,calc(100vw - 24px)); max-height:calc(100dvh - 100px); overflow:auto; overscroll-behavior:contain; }
  .reading-settings-panel>.text-link { min-height:44px; }
  body[data-reading-theme=dark] #primary-nav { background:#1b211d; }
  body[data-reading-theme=dark] #primary-nav>a { color:var(--muted); }
  body[data-reading-theme=dark] #primary-nav>a[aria-current=page],body[data-reading-theme=dark] #primary-nav>a:hover { color:var(--ink); }
  body[data-reading-theme=dark] .button.primary { background:#286448; border-color:#286448; color:#fff; }
  .reader-body img { content-visibility:auto; }
  [hidden] { display:none; }
}
@media screen and (min-width:1800px) { .home-stage { height:580px; } .stage-copy { top:105px; } .stage-image { object-position:calc(50% + 160px) top; } }
@media screen and (min-width:901px) and (max-height:650px) { .home-stage { height:390px; min-height:390px; } .stage-copy { top:24px; } .stage-copy h1 { font-size:48px; } .stage-copy .stage-intro { font-size:22px; margin-top:10px; } .stage-caption { display:none; } }
@media screen and (max-width:1100px) and (min-width:901px) { .stage-copy { top:65px; width:255px; } .stage-copy h1 { font-size:52px; } .stage-image { object-position:calc(50% + 110px) top; } .stage-copy .stage-intro { font-size:24px; } }
@media screen and (max-width:900px) {
  :root { --site-header-height:72px; }
  #primary-nav { gap:0; top:calc(var(--site-header-height) - 1px); max-height:calc(100dvh - var(--site-header-height)); overflow-y:auto; overscroll-behavior:contain; }
  .home-stage { display:block; height:500px; min-height:0; overflow:hidden; }
  .stage-image { position:absolute; inset:auto 0 0; width:100%; height:220px; object-fit:contain; object-position:center; opacity:1; z-index:-1; background:#eef0ec; }
  .stage-copy { position:relative; left:auto; top:auto; padding:34px 24px 24px; max-width:none; width:100%; }
  .stage-copy h1 { font-size:50px; }
  .stage-copy .stage-intro { margin-top:18px; font-size:25px; }
  .stage-copy .stage-intro br { display:none; }
  .stage-copy .stage-detail { max-width:300px; font-size:14px; margin-bottom:22px; }
  .stage-caption { position:absolute; bottom:12px; right:68px; padding:3px 5px; font-size:10px; max-width:230px; background:white; }
  .stage-zoom { bottom:10px; right:20px; }
  .product-facts { display:flex; flex-wrap:wrap; gap:10px 20px; }
  .library-layout { padding-top:20px; }
  .creator-services { grid-template-columns:1fr; gap:25px; }
  .footer-inner nav { grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; }
  .lesson-figure { margin-bottom:20px; }
}
@media screen and (max-width:560px) {
  .home-stage { height:420px; height:min(420px,calc(100svh - 138px)); min-height:350px; }
  .stage-copy { padding:24px 20px; }
  .stage-copy h1 { font-size:44px; }
  .stage-copy .eyebrow { margin-bottom:5px; }
  .stage-copy .stage-intro { font-size:22px; margin-top:14px; }
  .stage-copy .stage-detail { display:none; }
  .stage-copy .button { margin-top:16px; }
  .stage-image { height:150px; }
  .stage-english { font-size:12px; }
  .stage-caption { max-width:210px; font-size:9px; }
  .stage-learn { font-size:12px; }
  .product-facts { gap:8px 16px; padding-block:15px; }
  .product-facts>span,.product-facts>a { font-size:11px; }
  .section { padding-block:38px; }
  .page-heading { padding-top:26px; padding-bottom:24px; }
  .page-heading h1 { font-size:30px; }
  .library-heading { padding-top:24px; padding-bottom:18px; }
  .library-heading h1 { font-size:31px; }
  .library-heading .library-total { font-size:11px; margin-top:8px; }
  .library-heading-links { margin-top:8px; }
  .library-heading-links .text-link { font-size:12px; }
  .editorial-collections { gap:4px 18px; margin-bottom:12px; }
  .editorial-collections a { font-size:12px; padding:8px 0; }
  .library-row h2 { font-size:21px; }
  .library-row-meta { font-size:10px; gap:5px 11px; }
  .library-row { padding-block:20px; }
  .reader-series h2 { font-size:21px; }
  .reader-series { margin-block:26px; }
  .series-actions { gap:12px 18px; }
  .step-detail-figure img { max-height:240px; }
  .step-detail-figure figcaption { font-size:11px; }
  .footer-inner nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 18px; }
}
@media print { .editorial-collections,.reader-series,.path-chapters { display:none!important; } }
@media screen and (max-width:900px) and (max-height:450px) {
  .home-stage { height:250px; min-height:250px; }
  .stage-copy { padding:18px 24px; width:360px; }
  .stage-copy h1 { font-size:36px; }
  .stage-copy .stage-intro { font-size:18px; margin-top:5px; }
  .stage-copy .stage-detail,.stage-english,.stage-caption { display:none; }
  .stage-copy .button { min-height:40px; margin-top:10px; }
  .stage-learn { margin-top:8px; }
  .stage-image { inset:0 0 0 auto; width:55%; height:100%; object-fit:contain; }
}
