@font-face{font-family:Caprasimo;src:url(/fonts/caprasimo.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:Figtree;src:url(/fonts/figtree.woff2)format("woff2");font-display:swap;font-weight:400 700;font-style:normal}@font-face{font-family:ZCOOL KuaiLe;src:url(/fonts/zcool-kuaile-subset.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:Huninn;src:url(/fonts/huninn-subset.woff2)format("woff2");font-display:swap;font-weight:400 800}@font-face{font-family:Caprasimo Fallback;src:local(Arial),local(Helvetica Neue);unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;size-adjust:115.33%;ascent-override:79.59%;descent-override:19.86%;line-gap-override:0%;font-weight:400}@font-face{font-family:Figtree Fallback;src:local(Arial),local(Helvetica Neue);unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;size-adjust:100.72%;ascent-override:94.32%;descent-override:24.82%;line-gap-override:0%;font-weight:400 700}@font-face{font-family:ZCOOL KuaiLe Fallback;src:local(PingFang SC),local(Microsoft YaHei),local(Noto Sans CJK SC),local(Source Han Sans SC),local(Noto Sans SC),local(Heiti SC),local("sans-serif");size-adjust:100%;ascent-override:88%;descent-override:12%;line-gap-override:0%;font-weight:400}@font-face{font-family:CJK Body SC;src:local(PingFang SC),local(Microsoft YaHei),local(Noto Sans CJK SC),local(Source Han Sans SC),local(Noto Sans SC),local(Heiti SC),local("sans-serif");size-adjust:100%;ascent-override:116%;descent-override:28.8%;line-gap-override:0%;font-weight:400 800}@font-face{font-family:CJK Body TC;src:local(PingFang TC),local(Microsoft JhengHei),local(Noto Sans CJK TC),local(Source Han Sans TC),local(Noto Sans TC),local(Heiti TC),local("sans-serif");size-adjust:100%;ascent-override:116%;descent-override:28.8%;line-gap-override:0%;font-weight:400 800}@font-face{font-family:Huninn Fallback;src:local(PingFang TC),local(Microsoft JhengHei),local(Noto Sans CJK TC),local(Source Han Sans TC),local(Noto Sans TC),local(Heiti TC),local("sans-serif");size-adjust:100%;ascent-override:85.06%;descent-override:14.94%;line-gap-override:0%;font-weight:400 800}:root{--color-bg:#f5ead8;--color-surface:#ebddc5;--color-text:#201e1d;--color-accent:#c67139;--color-accent-2:#7a8a5e;--color-divider:#201e1d29;--color-neutral-100:#f9f4ed;--color-neutral-200:#eee7db;--color-neutral-300:#dcd3c4;--color-neutral-400:#c0b6a5;--color-neutral-500:#a19786;--color-neutral-600:#82796a;--color-neutral-700:#645c50;--color-neutral-800:#474238;--color-neutral-900:#2e2b25;--color-accent-100:#fff2eb;--color-accent-200:#ffe1d0;--color-accent-300:#ffc6a5;--color-accent-400:#f6a06b;--color-accent-500:#d67f48;--color-accent-600:#b2622d;--color-accent-700:#8c491a;--color-accent-800:#643312;--color-accent-900:#402310;--color-accent-2-100:#f0fae1;--color-accent-2-200:#e1eecc;--color-accent-2-300:#ccdbb2;--color-accent-2-400:#aebf92;--color-accent-2-500:#8fa073;--color-accent-2-600:#728157;--color-accent-2-700:#56633f;--color-accent-2-800:#3d472b;--color-accent-2-900:#272e1b;--color-error:#8a3b2a;--color-error-100:#f6e0da;--font-heading:"Caprasimo", "Caprasimo Fallback", system-ui, sans-serif;--font-heading-weight:400;--font-body:"Figtree", "Figtree Fallback", system-ui, sans-serif;--space-1:4.4px;--space-2:8.8px;--space-3:13.2px;--space-4:17.6px;--space-6:26.4px;--space-8:35.2px;--radius-sm:8px;--radius-md:16px;--radius-lg:28px;--radius-card:calc(var(--radius-lg) * 1.15);--radius-hero:calc(var(--radius-lg) * 2);--shadow-sm:0 1px 2px #2e2b2524;--shadow-md:0 3px 10px #2e2b2529;--shadow-lg:0 12px 32px #2e2b2538;--leading:28px;--half:14px;--edge:clamp(20px, 5vw, 72px);--measure:58ch;--text-xxs:10px;--text-xs:11px;--text-sm:12px;--text-md:13px;--text-base:14px;--text-md-lg:15px;--text-lg:16px;--text-xl:17px;--text-2xl:19px;--text-3xl:21px;--text-4xl:26px;--text-5xl:32px;--line-height-tight:1.12;--line-height-snug:1.2;--line-height-body:1.55;--line-height-relaxed:1.7;--line-height-28:28px;--control-height-sm:32px;--control-height-md:40px;--control-height-lg:48px;--control-icon-size:36px;--control-padding-y:var(--space-2);--control-padding-x:var(--space-3);--radius-pill:999px;--border-width:1px;--border-width-strong:2px;--focus-color:#3d472b;--focus-ring:2px solid var(--focus-color);--color-disabled:color-mix(in srgb, var(--color-text) 45%, transparent);--color-muted:color-mix(in srgb, var(--color-text) 55%, transparent);--color-tool-canvas:#f4f5f6;--color-tool-surface:#fff;--color-tool-on-dark:#fff;--container-content:720px;--container-wide:1200px;--container-full:100%;--breakpoint-sm:720px;--breakpoint-md:880px;--breakpoint-lg:960px;--breakpoint-xl:1080px;--transition-fast:.15s ease;--transition-base:.25s ease}html[lang=zh-CN]{--font-heading:"Caprasimo", "ZCOOL KuaiLe", "ZCOOL KuaiLe Fallback", "Caprasimo Fallback", system-ui, sans-serif;--font-body:"Figtree", "CJK Body SC", "Figtree Fallback", system-ui, sans-serif}html[lang=zh-TW]{--font-heading:"Caprasimo", "Huninn", "Huninn Fallback", "Caprasimo Fallback", system-ui, sans-serif;--font-body:"Figtree", "CJK Body TC", "Figtree Fallback", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-moz-text-size-adjust:100%;text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-md-lg);line-height:var(--line-height-body);margin:0;font-weight:400;overflow-x:clip}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);line-height:var(--line-height-tight);letter-spacing:0;margin:0 0 var(--space-3);text-wrap:balance}h1{font-size:clamp(38px,5.2vw,68px);line-height:clamp(42px,5.6vw,74px)}h2{font-size:clamp(26px,3.2vw,36px);line-height:var(--line-height-snug)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-xl)}p{margin:0 0 var(--space-3)}a{color:var(--color-accent-700);text-underline-offset:3px}.lesson-main a{color:var(--color-accent-700);text-underline-offset:3px;font-weight:600}.display{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:0;text-wrap:balance;margin:0;font-size:clamp(38px,5.2vw,68px);line-height:clamp(42px,5.6vw,74px)}.kicker{font-size:var(--text-md);line-height:var(--half);letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent-700);margin:0 0 var(--half);font-weight:700;display:block}.kicker.is-sage{color:var(--color-accent-2-700)}.eyebrow-pill{font-size:var(--text-md);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);background:var(--color-accent-100);color:var(--color-accent-800);margin:0 0 var(--half);white-space:nowrap;align-items:center;gap:7px;font-weight:600;display:inline-flex}.text-muted{color:var(--color-muted)}.text-accent{color:var(--color-accent-700)}.text-sage{color:var(--color-accent-2-700)}:focus-visible{outline:var(--focus-ring);outline-offset:2px}::selection{background:color-mix(in srgb, var(--color-accent) 30%, transparent)}.container{width:100%;padding-inline:var(--edge);margin-inline:auto}.container-content{max-width:var(--container-content)}.container-wide{max-width:var(--container-wide)}.container-full{max-width:var(--container-full);padding-inline:0}.section{padding-block:calc(2 * var(--leading))}.btn{cursor:pointer;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:var(--text-base);line-height:var(--line-height-snug);color:var(--color-text);border:var(--border-width) solid transparent;padding:var(--control-padding-y) var(--control-padding-x);min-height:var(--control-height-md);border-radius:var(--radius-pill);white-space:nowrap;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;justify-content:center;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.btn svg{flex:none;width:16px;height:16px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-accent-700);color:var(--color-bg)}.btn-primary:hover{background:var(--color-accent-800)}.btn-primary:active{background:var(--color-accent-900)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.btn-secondary:active{background:color-mix(in srgb, var(--color-text) 14%, transparent)}.btn-ghost{color:var(--color-accent-700);padding-inline:var(--space-1)}.btn-ghost:hover{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.btn-ghost:active{background:color-mix(in srgb, var(--color-accent) 18%, transparent)}.btn-sm{padding-inline:var(--space-3);min-height:var(--control-height-sm);font-size:var(--text-md)}.btn-lg{padding-inline:var(--space-6);min-height:var(--control-height-lg);font-size:var(--text-md-lg)}.btn-block{width:100%}.btn-icon{width:var(--control-icon-size);height:var(--control-icon-size);padding:0}.tag,.badge{font-size:var(--text-xs);letter-spacing:.02em;padding:3px var(--space-2);border-radius:calc(var(--radius-md) * .75);white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.tag svg,.badge svg{flex:none;width:13px;height:13px}.tag-accent,.badge-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-accent-2,.badge-sage{background:var(--color-accent-2-100);color:var(--color-accent-2-800)}.tag-neutral,.badge-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800)}.tag-outline,.badge-outline{border:var(--border-width) solid var(--color-accent-700);color:var(--color-accent-700)}.card{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-card);background:var(--color-surface);flex-direction:column;display:flex}.card-default{background:var(--color-surface)}.card-accent{background:var(--color-accent-100)}.card-sage{background:var(--color-accent-2-100)}.card-kicker{font-size:var(--text-xxs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:var(--text-2xl);line-height:var(--line-height-snug)}.card-body{font-size:var(--text-base);opacity:.82;flex:1;margin:0}.elev-sm{box-shadow:var(--shadow-sm)}.elev-md{box-shadow:var(--shadow-md)}.elev-lg{box-shadow:var(--shadow-lg)}.hero-actions{margin-top:var(--leading);flex-wrap:wrap;display:flex}.hero-actions .btn{font-size:var(--text-md-lg);padding:13px 26px}.text-link{color:var(--color-accent-700);font-weight:var(--font-heading-weight);text-underline-offset:4px;align-items:center;gap:6px;text-decoration:underline;display:inline-flex}.text-link svg{flex:none;width:16px;height:16px}.text-link:hover{color:var(--color-accent)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.washed{filter:saturate(.6)contrast(.85)brightness(1.1)opacity(.94)}.stack{gap:var(--space-3);flex-direction:column;display:flex}.stack-lg{gap:var(--space-6);flex-direction:column;display:flex}.flex{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.flex-between{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.no-wrap{white-space:nowrap}.text-center{text-align:center}.text-balance{text-wrap:balance}
