:root{--ink:#17243c;--muted:#617087;--paper:#faf8f3;--card:#fff;--line:#e4e7e9;--accent:#f35b3f;--gold:#f6c453;--soft:#eff2f6}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:#ba3a26;text-underline-offset:3px}a:hover{color:var(--ink)}button,input,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}.skip{position:absolute;top:-80px;left:20px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}.public-header{max-width:1140px;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.public-brand{display:flex;align-items:center;gap:12px;font-size:1.15rem;text-decoration:none;color:var(--ink)}.public-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--accent);color:white;font-size:1.65rem;font-weight:700}.public-nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap;font-size:.9rem}.public-nav a{text-decoration:none;color:var(--ink)}.public-nav .cta{background:var(--ink);color:white;padding:10px 17px;border-radius:10px}.public-main{max-width:1076px;margin:auto;padding:32px 32px 64px}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center;margin:20px 0 64px}.eyebrow{color:#aa3c2b;letter-spacing:.15em;text-transform:uppercase;font-size:.75rem;font-weight:800}.hero h1{font-size:clamp(2.5rem,5.5vw,4.8rem);line-height:1.06;letter-spacing:-.065em;max-width:720px;margin:16px 0 22px}.hero p{color:var(--muted);font-size:1.1rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.button{display:inline-block;padding:12px 20px;background:var(--ink);color:white!important;border-radius:12px;text-decoration:none;font-weight:650;border:0}.button.light{background:var(--soft);color:var(--ink)!important}.hero-card{background:var(--card);border:1px solid var(--line);border-radius:30px;padding:32px;text-align:center;box-shadow:0 16px 60px #17243c0a}.hero-hanzi{display:block;font-size:9rem;line-height:1.25;text-shadow:6px 6px var(--gold)}.hero-card strong{font-size:1.5rem}.hero-card p{font-size:.93rem;margin:10px 0}.section-heading{max-width:730px}.section-heading h2,.article-heading h1{font-size:clamp(1.9rem,3.7vw,3rem);line-height:1.17;letter-spacing:-.035em}.section-heading p,.intro{color:var(--muted);font-size:1.05rem}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.guide-card,.lesson,.notice{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:25px}.guide-card h3{margin:8px 0}.guide-card p{color:var(--muted);font-size:.95rem}.guide-card .number{font-size:.75rem;letter-spacing:.1em;font-weight:750;color:#b5402c}.public-main section{margin-bottom:42px}.article-heading{max-width:840px;margin:8px 0 35px}.article-heading h1{margin:12px 0 18px}.article-body{max-width:840px}.article-body h2{line-height:1.35;margin-top:34px}.article-body h3{line-height:1.4}.article-body .lesson{margin:22px 0}.lesson h2{margin-top:0}.pattern{background:var(--soft);padding:10px 15px;border-radius:10px;font-weight:650}.examples{display:grid;gap:12px}.example{padding:14px 16px;border-left:3px solid var(--gold);background:#fcfaf5}.example .chinese{display:block;font-size:1.5rem}.pinyin{display:block;color:#b5402c}.translation{display:block;font-size:.94rem}.exercise{border:1px solid var(--line);padding:15px;border-radius:12px;margin-top:18px}.exercise summary{cursor:pointer;font-weight:600}.muted,.source-note,.privacy-status{color:var(--muted);font-size:.875rem}.toc{display:flex;flex-wrap:wrap;gap:8px 16px;margin:24px 0 32px}.vocabulary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.vocabulary article{padding:20px;background:white;border:1px solid var(--line);border-radius:15px}.vocabulary .chinese{font-size:2rem}.stroke-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.stroke-grid .lesson{margin:0}.stroke-illustration{width:100%;height:105px;border-radius:12px;background:#f7f8fa}.stroke-grid p{margin:10px 0}.public-footer{border-top:1px solid var(--line);max-width:1076px;margin:auto;padding:28px 32px 36px;color:var(--muted);font-size:.87rem}.footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px}.footer-links button{border:0;padding:0;background:none;color:#ba3a26;text-decoration:underline;text-underline-offset:3px}.footer-caption{margin-top:18px}.notice{background:#fff6df}.contact-form{display:grid;gap:20px;max-width:640px}.contact-form label{display:grid;gap:7px;font-weight:600}.contact-form input,.contact-form textarea{width:100%;background:white;color:var(--ink);border:1px solid #cbd1db;border-radius:10px;padding:12px}.contact-form textarea{resize:vertical;min-height:180px}.contact-form .check-label{display:flex;align-items:flex-start;gap:10px;font-size:.9rem;font-weight:400}.check-label input{width:auto;flex-shrink:0;margin-top:8px}.honey{position:absolute;left:-9999px}.request-card{margin:20px 0;border:1px solid var(--line);border-radius:16px;padding:22px;background:white}.request-card p{white-space:pre-wrap;overflow-wrap:anywhere}.request-card a{overflow-wrap:anywhere}.request-card time{display:block;color:var(--muted);font-size:.85rem}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{padding:12px 15px;text-align:left;border-bottom:1px solid var(--line)}th{background:var(--soft)}.legal-content{overflow-wrap:anywhere}
@media(max-width:760px){.public-header{padding:20px;align-items:flex-start}.public-nav{gap:12px;font-size:.83rem}.public-nav .cta{padding:8px 12px}.public-main{padding:15px 20px 40px}.hero{grid-template-columns:1fr;gap:22px;margin:10px 0 42px}.hero h1{font-size:3rem}.hero-card{padding:24px}.hero-hanzi{font-size:6rem}.grid{grid-template-columns:1fr}.vocabulary{grid-template-columns:repeat(2,minmax(0,1fr))}.stroke-grid{grid-template-columns:1fr}.public-footer{padding:25px 20px}.lesson{padding:20px}.public-nav .wide-link{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

audio{display:block;width:100%;max-width:100%}.table-scroll table{min-width:480px}

.public-ad{margin:36px auto;padding-top:18px;border-top:1px solid var(--line);text-align:center}.ad-label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}.hanzi_public_banner{display:block;width:320px;height:100px;margin:0 auto}.public-ad:has(ins[data-ad-status="unfilled"]){display:none}@media(min-width:540px){.hanzi_public_banner{width:468px;height:60px}}@media(min-width:800px){.hanzi_public_banner{width:728px;height:90px}}@media(max-width:359px){.public-ad,.hanzi_public_banner{display:none}}
