/* Shared Laowai reading/learning profile. Values are delivered from tokens.json. */
body.learning-design { --paper:var(--lw-ds-paper); --ink:var(--lw-ds-ink); --muted:var(--lw-ds-muted); --line:var(--lw-ds-line); --accent:var(--lw-ds-accent-text); background:var(--lw-ds-paper); color:var(--lw-ds-ink); font:400 1.0625rem/1.6 var(--lw-ds-font-interface); }
.learning-design *, .learning-design *::before, .learning-design *::after { box-sizing:border-box; }
.learning-design ::selection { background:var(--lw-ds-sage); color:var(--lw-ds-ink); }
.learning-design :is(input,select) { caret-color:var(--lw-ds-accent-text); }
.learning-design :is(a,button,input,select,summary):focus-visible { outline:3px solid var(--lw-ds-accent-text); outline-offset:4px; }
.learning-design main { max-width:1120px; padding-inline:24px; }
body.learning-design :is(h1,h2,h3) { font-family:var(--lw-ds-font-editorial); font-weight:400; letter-spacing:-.025em; text-wrap:balance; overflow-wrap:anywhere; }
body.learning-design h1 { font-size:4rem; line-height:1.08; max-width:18ch; }
body.learning-design h2 { font-size:2.25rem; line-height:1.2; }
body.learning-design h3 { font-size:1.375rem; line-height:1.3; }
body.learning-design p { text-wrap:pretty; }
body.learning-design main :is(.index-hero,.hsk-grammar-hub-opening) { display:block!important; padding:28px 0!important; margin:0 0 20px!important; }
body.learning-design main :is(.index-hero,.hsk-grammar-hub-opening) h1 { font-size:4rem; margin:0 0 20px; }
body.learning-design :is(.index-hero,.hsk-grammar-hub-opening) p { max-width:65ch; font-size:1.0625rem; line-height:1.6; margin:12px 0; }
body.learning-design :is(.paper-link,button,select,input[type=search],.hsk-format) { min-height:44px; border-radius:12px; font-family:var(--lw-ds-font-interface); }
body.learning-design :is(.paper-link,button,select) { font-size:.9375rem; }
body.learning-design .paper-link { padding:11px 16px; line-height:1.5; }
body.learning-design .paper-link.dark { background:var(--lw-ds-action-fill); color:var(--lw-ds-on-action); border-color:var(--lw-ds-action-fill); }
body.learning-design .paper-link.dark:hover { background:var(--lw-ds-action-hover); }
body.learning-design input[type=search] { width:100%; max-width:100%; min-width:0; padding:12px 16px; font-size:1.0625rem; color:var(--lw-ds-ink); background:var(--lw-ds-field); border:1px solid var(--lw-ds-muted); }
body.learning-design input::placeholder { color:var(--lw-ds-muted); opacity:1; }
body.learning-design select { max-width:100%; padding:10px 36px 10px 14px; color:var(--lw-ds-ink); background-color:var(--lw-ds-field); border:1px solid var(--lw-ds-muted); }
body.learning-design :is(.hsk-editions,.hsk-grammar-editions) { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0 24px; }
body.learning-design :is(.hsk-editions,.hsk-grammar-editions) a { display:inline-flex; align-items:center; min-height:44px; border-radius:12px; padding:10px 16px; font-size:.9375rem; }
body.learning-design :is(.hsk-level-grid,.hsk-grammar-level-index) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:24px 0 40px; }
body.learning-design .hsk-level-card,body.learning-design .hsk-grammar-level-index>section,body.learning-design .hsk-grammar-hub-levels .hsk-grammar-levels>a { position:relative; isolation:isolate; overflow:hidden; border:0; border-radius:20px; padding:24px; min-height:190px; color:var(--lw-ds-ink); background:var(--level-bg,var(--lw-ds-gradient-sage)); text-decoration:none; box-shadow:none; }
body.learning-design .hsk-level-card h3,body.learning-design .hsk-grammar-level-index h2 { font:400 1.5rem/1.25 var(--lw-ds-font-editorial)!important; color:var(--level-accent,var(--lw-ds-accent-text)); margin:0 0 12px; letter-spacing:-.02em; }
body.learning-design .hsk-grammar-level-index h2>a { color:inherit; text-decoration:none; }
body.learning-design .hsk-level-card :is(.hsk-card-count,.hsk-card-link),body.learning-design .hsk-grammar-level-index p { font:400 .9375rem/1.5 var(--lw-ds-font-interface); color:var(--lw-ds-ink); margin:8px 0; }
body.learning-design .hsk-card-link { font-weight:600; margin-top:16px; }
body.learning-design .learning-illustrated-level { padding-inline-end:calc(38% + 20px)!important; }
body.learning-design .learning-illustrated-level>:not(.learning-level-art) { position:relative; z-index:1; }
body.learning-design .learning-level-art { position:absolute; inset-block:0; inset-inline-end:0; width:38%; z-index:0; overflow:hidden; mask-image:linear-gradient(to right,transparent,#000 24%); }
body.learning-design .learning-level-art>img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
body.learning-design .hsk-level-card:hover,body.learning-design .hsk-grammar-level-index>section:hover { filter:brightness(.98); }
body.learning-design .hsk-grammar-hub-levels { margin-block:40px; }
body.learning-design .hsk-grammar-hub-levels .hsk-grammar-levels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
body.learning-design .hsk-grammar-hub-levels .hsk-grammar-levels>a { min-height:140px; display:flex; align-items:start; font:400 1.5rem/1.3 var(--lw-ds-font-editorial); color:var(--level-accent); }
body.learning-design .hsk-downloads { padding-block:36px; }
body.learning-design .hsk-download-group { padding:28px 0; border:0; border-top:1px solid var(--lw-ds-line); background:none; box-shadow:none; }
body.learning-design .hsk-download-group>h3 { margin:0 0 20px; }
body.learning-design .hsk-download-body { display:grid; grid-template-columns:210px minmax(0,1fr); align-items:start; gap:32px; }
body.learning-design .hsk-book-preview { margin:0; max-width:210px; padding:0; background:none; }
body.learning-design .hsk-book-preview img { display:block; width:100%; height:auto; border:1px solid var(--lw-ds-line); border-radius:4px; box-shadow:0 8px 24px #24332c12; }
body.learning-design .hsk-format-grid { display:grid; grid-template-columns:1fr; gap:0; }
body.learning-design .hsk-format { display:flex; align-items:center; gap:16px; border:0; border-radius:0; border-bottom:1px solid var(--lw-ds-line); background:none; color:var(--lw-ds-ink); padding:16px 0; }
body.learning-design .hsk-format-tag { width:48px; flex:none; font:600 .875rem/1.4 var(--lw-ds-font-interface); color:var(--lw-ds-accent-text); background:none; }
body.learning-design .hsk-format-copy { display:grid; gap:4px; flex:1; min-width:0; }
body.learning-design .hsk-format-copy strong { font:600 1.0625rem/1.4 var(--lw-ds-font-interface); }
body.learning-design .hsk-format-copy span,body.learning-design .hsk-format-size { font-size:.875rem; color:var(--lw-ds-muted); }
body.learning-design .hsk-app-bridge { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:16px; margin:16px 0 24px; }
body.learning-design .hsk-app-bridge img { height:44px; width:auto; }
body.learning-design .hsk-table { width:100%; min-width:0; table-layout:fixed; }
body.learning-design .hsk-table :is(th,td) { padding:14px 10px; overflow-wrap:anywhere; }
body.learning-design .hsk-table td { font-size:.9375rem; line-height:1.5; }
body.learning-design .hsk-table td:nth-child(1) { width:9%; font-size:.875rem; color:var(--lw-ds-muted); }
body.learning-design .hsk-table td:nth-child(2) a { display:inline-flex; align-items:center; min-height:44px; font:400 1.5rem/1.5 var(--lw-ds-font-hanzi); }
body.learning-design .hsk-table td:nth-child(3) { font-family:var(--lw-ds-font-editorial); font-style:italic; }
body.learning-design .hsk-grammar-opening { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:40px; align-items:start; margin:28px 0 48px; }
body.learning-design .hsk-grammar-opening h1 { margin:0 0 20px; font-size:3rem; line-height:1.1; }
body.learning-design .hsk-grammar-opening p { font-size:1.0625rem; line-height:1.6; }
body.learning-design .hsk-grammar-lead { font-family:var(--lw-ds-font-editorial); font-size:1.375rem; }
body.learning-design .hsk-grammar-scene { margin:0; padding:0; background:none; border:0; border-radius:0; }
body.learning-design .hsk-grammar-scene img { width:100%; height:auto; border-radius:12px; display:block; }
body.learning-design .hsk-grammar-scene figcaption { padding:16px 0; }
body.learning-design .hsk-grammar-scene figcaption p { margin:4px 0; }
body.learning-design .hsk-grammar-scene figcaption [lang=zh-Hans] { font:400 1.5rem/1.6 var(--lw-ds-font-hanzi); }
body.learning-design .hsk-grammar-scene figcaption [lang=zh-Latn] { font:italic .9375rem/1.5 var(--lw-ds-font-editorial); }
body.learning-design .hsk-grammar-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
body.learning-design .hsk-grammar-contents { padding:24px 0; border:0; border-block:1px solid var(--lw-ds-line); background:none; border-radius:0; }
body.learning-design .hsk-grammar-contents nav { display:flex; flex-wrap:wrap; gap:8px 20px; }
body.learning-design .hsk-grammar-contents nav a { min-height:44px; display:inline-flex; align-items:center; font-size:.9375rem; }
body.learning-design .hsk-grammar-group { padding-block:24px; }
body.learning-design .hsk-grammar-topic { padding:28px 0; border:0; border-bottom:1px solid var(--lw-ds-line); background:none; border-radius:0; }
body.learning-design .hsk-grammar-topic h3 { margin:0 0 12px; font-size:1.5rem; }
body.learning-design .hsk-grammar-example { padding:16px 0; border:0; background:none; margin:12px 0; }
body.learning-design .hsk-grammar-example [lang=zh-Hans] { font:400 1.5rem/1.6 var(--lw-ds-font-hanzi); }
body.learning-design .hsk-grammar-example [lang=zh-Latn] { font:italic .9375rem/1.5 var(--lw-ds-font-editorial); color:var(--lw-ds-muted); }
body.learning-design .grammar-directory-grid { display:block; }
body.learning-design .grammar-directory-card { display:grid; grid-template-columns:150px minmax(0,1fr) 140px; gap:12px 28px; padding:24px 0; border:0; border-bottom:1px solid var(--lw-ds-line); border-radius:0; background:none!important; transform:none!important; }
body.learning-design .grammar-directory-card h2 { font:400 1.375rem/1.35 var(--lw-ds-font-editorial)!important; margin:0; }
body.learning-design .grammar-card-form [lang=zh-Hans] { font:400 1.5rem/1.5 var(--lw-ds-font-hanzi); }
body.learning-design .grammar-card-form [lang=zh-Latn] { font:italic .9375rem/1.5 var(--lw-ds-font-editorial); color:var(--lw-ds-muted); }
body.learning-design .grammar-card-description { display:block; font-size:1.0625rem; line-height:1.6; color:var(--lw-ds-muted); -webkit-line-clamp:unset; overflow:visible; }
body.learning-design .grammar-card-form { grid-column:1; grid-row:1 / span 2; margin:0; }
body.learning-design .grammar-directory-card h2 { grid-column:2; grid-row:1; }
body.learning-design .grammar-card-description { grid-column:2; grid-row:2; margin:0; }
body.learning-design .grammar-card-meta { grid-column:3; grid-row:1 / span 2; font-size:.875rem; line-height:1.5; color:var(--lw-ds-muted); }
body.learning-design .grammar-card-level { font-weight:600; color:var(--lw-ds-accent-text); }
body.learning-design .grammar-quick-levels { gap:8px; }
body.learning-design .grammar-quick-levels button { padding:10px 14px; border-radius:12px; min-height:44px; font-size:.9375rem; }
body.learning-design .grammar-quick-levels button[aria-pressed=true] { color:var(--lw-ds-on-action); background:var(--lw-ds-action-fill); }
.learning-level-select { display:none; }
@media(max-width:850px) { body.learning-design .hsk-grammar-opening { grid-template-columns:1fr; gap:24px; } body.learning-design .grammar-directory-card { grid-template-columns:130px minmax(0,1fr); gap:12px 24px; } body.learning-design .grammar-card-meta { grid-column:2; grid-row:3; } body.learning-design .grammar-card-form { grid-row:1 / span 3; } }
@media(max-width:650px) { body.learning-design main { padding-inline:max(20px,env(safe-area-inset-left)); padding-right:max(20px,env(safe-area-inset-right)); } body.learning-design main :is(.index-hero,.hsk-grammar-hub-opening) h1,body.learning-design .hsk-grammar-opening h1 { font-size:2.25rem!important; max-width:18ch; line-height:1.13; } body.learning-design h2 { font-size:1.75rem; } body.learning-design :is(.hsk-level-grid,.hsk-grammar-level-index),body.learning-design .hsk-grammar-hub-levels .hsk-grammar-levels { grid-template-columns:1fr; gap:16px; } body.learning-design .hsk-level-card,body.learning-design .hsk-grammar-level-index>section { min-height:174px; padding:20px; } body.learning-design .hsk-download-body { grid-template-columns:1fr; gap:24px; } body.learning-design .hsk-book-preview { width:180px; max-width:70%; } body.learning-design .hsk-format { gap:12px; } body.learning-design .hsk-format-tag { width:42px; } body.learning-design .hsk-level-actions { display:flex; flex-wrap:wrap; } body.learning-design .grammar-directory-card { display:block; padding:24px 0; } body.learning-design .grammar-card-form { margin-bottom:12px; } body.learning-design .grammar-card-form [lang=zh-Hans] { font-size:1.75rem; } body.learning-design .grammar-card-description { margin:10px 0; } body.learning-design .grammar-card-meta { display:flex; flex-direction:row; flex-wrap:wrap; gap:8px 16px; } body.learning-design .hsk-table th:first-child,body.learning-design .hsk-table td:first-child { display:none; } body.learning-design .hsk-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; } body.learning-design .hsk-table td { padding:12px 6px; width:auto; } body.learning-design .hsk-table td:nth-child(2),body.learning-design .hsk-table td:nth-child(3) { width:40%; } body.learning-design .hsk-table td:nth-child(4) { width:20%; font-size:.875rem; } .learning-level-select { display:grid; gap:8px; margin:12px 0 20px; font-size:.9375rem; } .has-learning-level-select { display:none!important; } }
@media(prefers-reduced-motion:reduce) { body.learning-design * { scroll-behavior:auto!important; transition:none!important; } }
@media print { .learning-design .learning-level-select { display:none; } }

body.learning-design .hsk-grammar-level-index p a { display:inline-flex; align-items:center; min-height:44px; margin-inline-end:8px; text-underline-offset:.2em; }

body.learning-design.grammar-directory .grammar-directory-grid .grammar-directory-card:nth-child(n) { background:transparent!important; }

body.learning-design main > section > p { max-width:65ch; }

body.learning-design[data-lw-level] h1 { color:var(--level-accent,var(--lw-ds-ink)); }
/* The learning pages share the public paper profile, including inherited guide roles. */
body.learning-design { --green:var(--lw-ds-accent-text); --hsk-ink:var(--lw-ds-ink); --hsk-muted:var(--lw-ds-muted); --hsk-paper:var(--lw-ds-paper); --hsk-line:var(--lw-ds-line); --hsk-green:var(--lw-ds-accent-text); color-scheme:light; }
body.learning-design .site-header { background:var(--lw-ds-paper); color:var(--lw-ds-ink); }
body.learning-design .breadcrumb,body.learning-design .breadcrumb a { color:var(--lw-ds-muted); }
body.learning-design .hsk-grammar-actions .paper-link:not(.dark) { color:var(--lw-ds-ink); background:transparent; }
body.learning-design .hsk-grammar-editions a[aria-current],body.learning-design .hsk-grammar-levels a[aria-current] { background:var(--lw-ds-action-fill); color:var(--lw-ds-on-action); }
body.learning-design .hsk-grammar-editions a:hover,body.learning-design .hsk-grammar-levels a:hover { background:var(--lw-ds-sage); color:var(--lw-ds-ink); }
body.learning-design select { appearance:none; height:48px; padding:10px 44px 10px 14px; line-height:1.4; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2324332C' stroke-width='1.8'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-position:right 14px center; background-size:20px; background-repeat:no-repeat; }
/* Vocabulary rows keep their semantic roles when the existing selector adds a checkbox column. */
body.learning-design .hsk-table a[lang=zh-Hans] { display:inline-flex; align-items:center; min-height:44px; font:400 1.5rem/1.5 var(--lw-ds-font-hanzi); }
body.learning-design .hsk-table td[lang=zh-Latn] { font:italic .9375rem/1.5 var(--lw-ds-font-editorial); }
body.learning-design .hsk-has-selection td:nth-child(2) { width:8%; font:400 .875rem/1.5 var(--lw-ds-font-interface); color:var(--lw-ds-muted); }
body.learning-design .hsk-has-selection td:nth-child(3) { width:28%; font-style:normal; }
body.learning-design .hsk-has-selection td:nth-child(4) { width:28%; }
@media(max-width:700px) {
 body.learning-design .hsk-table tbody { display:block; }
 body.learning-design .hsk-table tr { display:grid; grid-template-columns:44px minmax(0,1fr); gap:0 12px; padding:16px 0; border-bottom:1px solid var(--lw-ds-line); }
 body.learning-design .hsk-table td { display:block; width:auto!important; min-width:0!important; padding:0!important; border:0; grid-column:2; }
 body.learning-design .hsk-table:not(.hsk-has-selection) td:first-child { display:block; grid-column:1; grid-row:1 / span 3; font:400 .875rem/1.5 var(--lw-ds-font-interface); padding-top:10px!important; }
 body.learning-design .hsk-has-selection td:nth-child(2) { display:none; }
 body.learning-design .hsk-table .hsk-select-cell { display:flex!important; grid-column:1; grid-row:1 / span 3; align-items:flex-start; padding-top:10px!important; }
 body.learning-design .hsk-has-selection td:nth-child(3) { grid-row:1; }
 body.learning-design .hsk-has-selection td:nth-child(4) { grid-row:2; }
 body.learning-design .hsk-table td[lang=zh-Latn] { padding:2px 0!important; }
 body.learning-design .hsk-table td:last-child { font:400 .875rem/1.5 var(--lw-ds-font-interface); color:var(--lw-ds-muted); padding-top:2px!important; }
}
body.learning-design .site-wide-callout p,body.learning-design .hsk-grammar-basis { max-width:60ch; }
body.learning-design.resource-page .hsk-downloads .hsk-format-size { font-size:.875rem!important; }
body.learning-design #main > p.editorial-note { text-wrap:balance; }
body.learning-design .hsk-downloads .hsk-format { border:0; border-bottom:1px solid var(--lw-ds-line); border-radius:0; box-shadow:none; background:transparent; padding:16px 0; text-decoration:none; }
body.learning-design .hsk-downloads .hsk-format-copy strong { text-decoration:none; }
body.learning-design .site-wide-callout > p { max-width:60ch!important; }

/* Generated from tokens.json. */
body.learning-design[data-lw-level="1"],body.learning-design [data-lw-level="1"] { --level-bg:linear-gradient(135deg,#ECF1E4,#C7D9AB); --level-accent:#35431A; }
body.learning-design[data-lw-level="2"],body.learning-design [data-lw-level="2"] { --level-bg:linear-gradient(135deg,#E3F3EE,#A4E0CE); --level-accent:#06483B; }
body.learning-design[data-lw-level="3"],body.learning-design [data-lw-level="3"] { --level-bg:linear-gradient(135deg,#E2F1F8,#A3DBF1); --level-accent:#074457; }
body.learning-design[data-lw-level="4"],body.learning-design [data-lw-level="4"] { --level-bg:linear-gradient(135deg,#EBEEFB,#C4CEFC); --level-accent:#333A5F; }
body.learning-design[data-lw-level="5"],body.learning-design [data-lw-level="5"] { --level-bg:linear-gradient(135deg,#F5EBF5,#E8C3E9); --level-accent:#4E3150; }
body.learning-design[data-lw-level="6"],body.learning-design [data-lw-level="6"] { --level-bg:linear-gradient(135deg,#FAEBE6,#F8C3B5); --level-accent:#5A3025; }
body.learning-design[data-lw-level="7-9"],body.learning-design [data-lw-level="7-9"] { --level-bg:linear-gradient(135deg,#F4EEE1,#E5CEA1); --level-accent:#4D3A0D; }
