@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@500;600;700;900&family=Noto+Sans+TC:wght@400;500;700&display=swap');

:root{--paper:#f7f1e5;--paper-deep:#eadfc9;--ink:#1d2b27;--muted:#675f52;--jade:#173f36;--jade-2:#285d4f;--cinnabar:#a6422b;--gold:#b38b44;--line:rgba(44,61,52,.18);--surface:rgba(255,252,245,.83);--shadow:0 24px 70px rgba(48,39,24,.12)}
[data-theme="night"]{--paper:#101b18;--paper-deep:#172822;--ink:#f2eadc;--muted:#b8ad9a;--jade:#77b9a2;--jade-2:#96cbb8;--cinnabar:#e28b71;--gold:#dfbc76;--line:rgba(232,221,200,.17);--surface:rgba(26,42,36,.88);--shadow:0 24px 70px rgba(0,0,0,.32)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans TC",sans-serif;line-height:1.8;background-image:radial-gradient(circle at 12% 4%,rgba(179,139,68,.12),transparent 28%),linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:auto,100% 32px}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:16px;top:10px;z-index:99;background:#fff;padding:8px 14px}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(20px,5vw,72px);background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-family:"Noto Serif TC",serif;font-weight:900;text-decoration:none;letter-spacing:.08em}.brand-seal{display:grid;place-items:center;width:38px;height:38px;border:2px solid var(--cinnabar);border-radius:50%;color:var(--cinnabar);font-family:"Noto Serif TC",serif}.brand-seal.small{width:32px;height:32px}.site-nav{display:flex;align-items:center;gap:24px}.site-nav a,.theme-toggle{color:var(--ink);text-decoration:none;font-size:14px;background:none;border:0;cursor:pointer;font:inherit}.site-nav a:hover,.theme-toggle:hover{color:var(--cinnabar)}.menu-toggle{display:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:8px 12px;border-radius:6px}.hero{max-width:1240px;margin:auto;min-height:690px;padding:72px clamp(22px,5vw,72px);display:grid;grid-template-columns:1.03fr .97fr;gap:64px;align-items:center}.eyebrow{color:var(--cinnabar);font-size:13px;letter-spacing:.28em;font-weight:700}.hero h1{margin:12px 0 24px;font:900 clamp(52px,7vw,94px)/1.08 "Noto Serif TC",serif;letter-spacing:.03em}.hero h1 span{color:var(--jade)}.lead{max-width:610px;font-size:19px;color:var(--muted)}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:34px 0}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:4px;text-decoration:none;font-weight:700;transition:.2s transform,.2s box-shadow}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--jade);color:#fff;box-shadow:0 10px 25px rgba(23,63,54,.22)}.button.ghost{border:1px solid var(--jade);color:var(--jade)}.button.coffee{background:var(--cinnabar);color:#fff}.hero-notes{display:flex;gap:24px;padding:0;list-style:none;color:var(--muted);font-size:14px}.hero-notes li:before{content:"◆";color:var(--gold);margin-right:8px}.hero-figure{position:relative;margin:0;padding:20px}.hero-figure:before{content:"";position:absolute;inset:0;border:1px solid var(--gold);transform:rotate(2deg)}.hero-figure img{position:relative;width:100%;max-height:560px;object-fit:cover;object-position:50% 22%;filter:saturate(.9);box-shadow:var(--shadow)}.hero-figure figcaption{position:relative;margin-top:14px;color:var(--muted);font-family:"Noto Serif TC",serif;text-align:center;letter-spacing:.1em}.moon{position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(179,139,68,.18);right:-28px;top:-40px}.section{max-width:1120px;margin:0 auto;padding:100px clamp(22px,5vw,64px)}.section-heading{display:grid;grid-template-columns:72px 1fr;gap:24px;align-items:start;margin-bottom:36px}.section-heading>span{writing-mode:vertical-rl;color:var(--cinnabar);font:700 15px "Noto Serif TC",serif;letter-spacing:.25em;border-left:1px solid var(--gold);padding-left:13px}.section-heading p{margin:0;color:var(--gold);font-size:12px;letter-spacing:.22em}.section-heading h2{margin:4px 0;font:700 clamp(30px,4vw,48px)/1.35 "Noto Serif TC",serif}.section-lead{max-width:820px;color:var(--muted);font-size:18px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px}.feature-grid article{background:var(--surface);border:1px solid var(--line);padding:28px 24px;box-shadow:0 8px 30px rgba(49,41,29,.06)}.feature-grid h3,.timeline h3,.lesson-flow h3{font-family:"Noto Serif TC",serif;margin:14px 0 6px}.feature-grid p,.timeline p,.lesson-flow p{margin:0;color:var(--muted);font-size:14px}.ink-icon{display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--jade);border-radius:50%;color:var(--jade);font:700 19px "Noto Serif TC",serif}.journey-section{max-width:none;background:var(--paper-deep)}.journey-section>*{max-width:992px;margin-left:auto;margin-right:auto}.timeline{display:grid;grid-template-columns:repeat(4,1fr);position:relative;gap:0;margin-top:52px}.timeline:before{content:"";position:absolute;left:5%;right:5%;top:28px;border-top:1px solid var(--gold)}.timeline article{position:relative;padding-right:28px}.timeline b{position:relative;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--jade);color:#fff;font:700 19px "Noto Serif TC",serif}.download-section{max-width:none;background:var(--jade);color:#f8f0e3}.download-section>*{max-width:992px;margin-left:auto;margin-right:auto}.section-heading.light h2,.download-section .section-lead{color:#f8f0e3}.download-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}.download-card{background:#f8f0e3;color:#24352f;padding:34px;border-top:4px solid var(--gold);box-shadow:0 18px 40px rgba(0,0,0,.16)}.download-card.teacher{border-color:#b75138}.download-card .tag{color:#8b6730;font-size:12px;letter-spacing:.2em;font-weight:700}.download-card h3{font:700 25px "Noto Serif TC",serif}.download-card>p:not(.tag){color:#5f5a50}.button.paper{background:#243f37;color:#fff;margin-top:12px}.teacher .button.paper{background:#a6422b}.lesson-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.lesson-flow>div{padding:24px 20px;border-top:2px solid var(--gold);background:var(--surface)}.lesson-flow strong{font:700 40px "Noto Serif TC",serif;color:var(--jade)}.lesson-flow span{margin-left:4px;color:var(--muted);font-size:12px}.quote{margin:68px auto 0;text-align:center;position:relative}.quote>span{font:900 86px/1 "Noto Serif TC",serif;color:var(--gold);opacity:.45}.quote blockquote{margin:-38px 0 8px;font:700 clamp(25px,4vw,42px) "Noto Serif TC",serif;color:var(--jade)}.quote cite{color:var(--muted);font-style:normal}.faq-section details{border-bottom:1px solid var(--line);padding:18px 4px}.faq-section summary{cursor:pointer;font:600 18px "Noto Serif TC",serif}.faq-section details p{color:var(--muted);padding-left:24px}.final-cta{text-align:center;padding:100px 22px;background:linear-gradient(rgba(247,241,229,.88),rgba(247,241,229,.88)),url('assets/bai-juyi-comic.png') center 25%/cover fixed;color:#1d2b27}.final-cta h2{margin:10px 0;font:900 clamp(36px,6vw,64px) "Noto Serif TC",serif}.final-cta>p:not(.eyebrow){max-width:720px;margin:18px auto}.centered{justify-content:center}footer{display:flex;align-items:center;gap:14px;padding:28px clamp(22px,6vw,84px);background:#122822;color:#eee1cd}footer p{margin:0}footer small{color:#bdaf99}footer>a{margin-left:auto;color:#eee1cd}
@media(max-width:900px){.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:66px;left:16px;right:16px;padding:18px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.site-nav.open{display:flex}.hero{grid-template-columns:1fr;gap:38px;padding-top:48px}.hero-figure{max-width:580px;margin:auto}.feature-grid,.timeline,.lesson-flow{grid-template-columns:1fr 1fr}.timeline:before{display:none}.download-grid{grid-template-columns:1fr}}
@media(max-width:580px){.hero h1{font-size:48px}.hero-notes{flex-direction:column;gap:6px}.feature-grid,.timeline,.lesson-flow{grid-template-columns:1fr}.section{padding-top:74px;padding-bottom:74px}.section-heading{grid-template-columns:42px 1fr}.download-card{padding:26px 22px}.button{width:100%}footer{align-items:flex-start;flex-wrap:wrap}footer>a{margin-left:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
