:root{--ink:#172747;--muted:#56647d;--primary:#2453db;--accent:#dfe9ff;--blue:#164dcc;--line:#d8e0ef;--paper:#fff;--wash:#f3f6fd;--serif:Georgia,'Times New Roman','Noto Serif CJK SC',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-underline-offset:4px}button,input,textarea,select{font:inherit}button,a,input,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.09;letter-spacing:-.035em}h1{font-size:clamp(2.8rem,5.6vw,5.7rem)}h2{font-size:clamp(2rem,3.5vw,3.7rem)}h3{font-size:1.2rem;line-height:1.35;letter-spacing:-.015em}p{margin-bottom:1.15em}img{display:block;max-width:100%}svg{vertical-align:middle}a{text-decoration-thickness:1px}.wrap{max-width:1376px;padding:0 48px;margin:auto}.skip{position:absolute;top:-80px;background:var(--accent);padding:12px;z-index:30}.skip:focus{top:0}.topline{background:var(--primary);color:white;font-size:.8rem;text-align:center;letter-spacing:.07em;padding:7px 12px}.header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:10}.nav{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}.mark{font-family:var(--serif);display:grid;place-items:center;border:1px solid var(--primary);width:47px;height:54px;color:var(--primary);font-size:25px;letter-spacing:-.14em;padding-right:4px}.brand-name{font-family:var(--serif);font-size:1.22rem;line-height:1.13;letter-spacing:-.01em}.brand-name small{display:block;font-family:var(--sans);font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;margin-top:5px}.navlinks{display:flex;gap:27px;align-items:center}.navlinks a{font-size:.91rem;text-decoration:none;border-bottom:1px solid transparent}.navlinks a:hover,.navlinks a[aria-current=page]{border-color:var(--primary);color:var(--primary)}.lang{border:1px solid var(--line)!important;padding:7px 11px;border-radius:3px}.menu{display:none;background:none;border:1px solid var(--line);padding:8px 13px}.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;font-weight:650;display:block;margin-bottom:24px}.hero{display:grid;grid-template-columns:1fr 1.04fr;gap:46px;align-items:center;padding-top:52px;padding-bottom:48px}.hero h1{margin-bottom:26px}.hero h1 em{font-weight:400;color:var(--primary)}.hero .lead{max-width:510px}.lead{font-size:1.12rem;line-height:1.7;color:var(--muted)}.actions{display:flex;gap:17px;align-items:center;flex-wrap:wrap;margin-top:26px}.button{display:inline-flex;gap:24px;align-items:center;justify-content:center;background:var(--primary);color:#fff;border:1px solid var(--primary);padding:13px 22px;text-decoration:none;border-radius:3px;font-weight:550;line-height:1.4}.button:hover{background:#183eaf}.button.light{background:var(--accent);color:var(--ink);border-color:var(--accent)}.button.outline{background:transparent;color:var(--primary)}.textlink{font-size:.94rem;text-decoration:underline}.hero-visual{position:relative}.hero-visual img{width:100%;height:480px;object-fit:cover;border-radius:2px}.image-caption{font-size:.75rem;color:var(--muted);margin-top:9px}.image-tag{position:absolute;left:22px;bottom:58px;padding:13px 18px;background:var(--accent);max-width:230px;font-size:.86rem;line-height:1.4}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:22px 0}.strip span{padding:0 25px;border-right:1px solid var(--line);font-size:.9rem}.strip span:first-child{padding-left:0}.strip span:last-child{border:0}.section{padding-top:68px;padding-bottom:70px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.section-head h2{margin:0}.section-head p{max-width:450px;color:var(--muted);margin:0}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.lesson-card{padding:25px;border:1px solid var(--line);text-decoration:none;display:flex;flex-direction:column;min-height:235px;transition:background .15s,transform .15s}.lesson-card:hover{background:var(--wash);transform:translateY(-3px)}.card-top{display:flex;justify-content:space-between;align-items:center;font-size:.77rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:32px}.lesson-number{font-family:var(--serif);font-size:1.65rem;color:var(--primary)}.lesson-card h3{font-size:1.4rem;margin-bottom:12px}.lesson-card p{font-size:.94rem;color:var(--muted)}.card-foot{font-size:.83rem;margin-top:auto;padding-top:16px;color:var(--primary)}.feature{display:grid;grid-template-columns:1.05fr 1fr;background:var(--primary);color:white}.feature-copy{padding:53px}.feature h2{font-size:3rem}.feature p{color:#e4ebff;max-width:440px}.steps{padding:32px 44px;background:#183891}.step{padding:20px 0;border-bottom:1px solid #5673b5;display:flex;gap:23px}.step:last-child{border:0}.step b{font-family:var(--serif);font-size:1.6rem;color:var(--accent)}.step p{margin:0;font-size:.91rem}.step strong{display:block;font-size:1.08rem;margin-bottom:3px}.fields{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}.field{padding:29px 28px 29px 0;border-bottom:1px solid var(--line);text-decoration:none}.field .eyebrow{margin-bottom:12px;color:var(--primary)}.field p{color:var(--muted);font-size:.94rem;margin-bottom:0}.field:hover h3{text-decoration:underline}.reading-card{border-top:3px solid var(--primary);padding:24px;background:var(--wash);text-decoration:none;display:flex;flex-direction:column}.reading-card h3{font-family:var(--serif);font-size:1.6rem;font-weight:400;margin-top:20px}.reading-card .meta{font-size:.8rem;color:var(--muted)}.reading-card p{font-size:.94rem}.reading-card:hover{background:#e7edfc}.footer{background:#eff3fc;border-top:1px solid var(--line);padding:45px 0 24px;margin-top:38px}.footer-top{display:grid;grid-template-columns:1.3fr 1fr;gap:40px}.footer p{max-width:520px;font-size:.87rem;color:var(--muted);margin-top:20px}.footerlinks{display:flex;flex-wrap:wrap;gap:15px 24px;justify-content:flex-end;align-content:start;font-size:.88rem}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:25px;font-size:.76rem;color:var(--muted)}.page-intro{padding:55px 0 35px;max-width:920px}.page-intro h1{font-size:clamp(2.6rem,4.5vw,4.6rem);margin-bottom:25px}.breadcrumb{font-size:.86rem;color:var(--muted);margin-bottom:30px}.breadcrumb a{text-decoration:none}.catalog-block{margin-bottom:44px}.week-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:13px}.week-head h2{font-size:1.9rem;margin:0}.week-head span{font-size:.87rem;color:var(--muted)}.page-band{background:var(--wash);border-bottom:1px solid var(--line)}.article-layout{display:grid;grid-template-columns:240px minmax(0,760px);gap:70px;padding-top:46px;align-items:start}.toc{position:sticky;top:30px;font-size:.86rem}.toc strong{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.toc a{display:block;padding:9px 0;text-decoration:none;color:var(--muted);border-bottom:1px solid var(--line)}.toc a:hover{color:var(--primary)}.article{min-width:0;font-size:1.04rem;line-height:1.9}.article h2{font-size:2rem;line-height:1.2;margin-top:48px;margin-bottom:20px}.article h3{margin-top:30px}.article li{margin:8px 0}.article ul,.article ol{padding-left:25px}.objectives{border-top:2px solid var(--primary);border-bottom:1px solid var(--line);padding:20px 0 10px;margin-bottom:35px}.objectives h2{font-family:var(--sans);font-size:1rem;margin:0 0 12px;font-weight:650}.case{background:var(--wash);padding:25px 30px;margin-top:36px;border-left:3px solid var(--primary)}.case h2{margin-top:4px}.practice{background:#edf2ff;padding:28px 30px;margin-top:36px}.practice h2{margin-top:0}.practice textarea,.project-form textarea,.project-form input{display:block;width:100%;border:1px solid #99a8c5;background:white;padding:13px 15px;border-radius:3px;color:var(--ink)}textarea{min-height:165px;resize:vertical;line-height:1.7}label{display:block;font-weight:550;margin:15px 0 8px}.status{font-size:.85rem;color:var(--muted);min-height:1.4em;margin-top:10px}.quiz{margin-top:38px;padding-top:24px;border-top:1px solid var(--line)}.quiz h2{margin-top:0}.choice{display:flex;gap:12px;border:1px solid var(--line);padding:12px 15px;font-size:.98rem;font-weight:400;border-radius:3px;align-items:start}.choice input{margin-top:8px;flex-shrink:0}.quiz-feedback{margin-top:15px;padding:15px;background:var(--wash)}.sources{font-size:.91rem}.sources li{padding-bottom:13px}.sources span{display:block;color:var(--muted);font-size:.86rem}.lesson-next{display:flex;justify-content:space-between;gap:24px;margin:40px 0;border-top:1px solid var(--line);padding-top:25px}.lesson-meta{display:flex;gap:22px;flex-wrap:wrap;color:var(--muted);font-size:.87rem}.project-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:48px;padding-bottom:30px}.project-form fieldset{border:0;border-top:1px solid var(--line);padding:28px 0;margin:0}.project-form legend{font-size:1.4rem;font-weight:550;padding:0 18px 0 0}.project-form p{color:var(--muted)}.project-side{background:var(--wash);padding:30px;height:fit-content;position:sticky;top:25px}.progress-track{height:7px;background:#dce4f5;margin:16px 0}.progress-fill{height:100%;background:var(--primary);width:0;transition:width .2s}.progress-list{padding:0;list-style:none;font-size:.85rem}.progress-list li{padding:11px 0;border-bottom:1px solid var(--line)}.progress-list a{text-decoration:none}.progress-list .done{color:var(--primary)}.notice{font-size:.88rem;color:var(--muted);border-top:1px solid var(--line);padding-top:15px}.read-hero{padding:32px;background:var(--wash);border-top:3px solid var(--primary)}.about-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:35px;margin-bottom:40px}.about-grid section{border-top:1px solid var(--line);padding-top:25px}.about-grid h2{font-size:2rem}.about-grid p{color:var(--muted)}.narrow{max-width:850px;margin:0 auto}.field-route{padding-bottom:32px}.field-route h2{font-size:2.3rem}.complete-row{margin-top:25px;padding:15px 0;border-top:1px solid var(--line)}.complete-row label{display:flex;gap:12px;align-items:center;font-size:.95rem}.complete-row input{width:19px;height:19px}.micro{font-size:.79rem;color:var(--muted)}[hidden]{display:none!important}:lang(zh) h1,:lang(zh) h2{font-family:var(--sans);font-weight:550;letter-spacing:-.035em}:lang(zh) .hero h1{font-size:clamp(2.7rem,5vw,4.6rem);line-height:1.25}:lang(zh) .article{line-height:2}:lang(zh) .brand-name{font-family:var(--sans)}
@media(min-width:1600px){.hero-visual img{height:540px}}@media(max-width:1100px){.wrap{padding:0 30px}.navlinks{gap:17px}.hero{gap:30px}.hero-visual img{height:425px}.hero h1{font-size:4.2rem}.feature-copy{padding:38px}.article-layout{gap:35px;grid-template-columns:185px minmax(0,1fr)}}@media(max-width:780px){.wrap{padding:0 22px}.topline{font-size:.7rem}.nav{min-height:80px;flex-wrap:wrap;gap:0}.brand-name{font-size:1.07rem}.brand-name small{font-size:.62rem}.mark{width:39px;height:46px;font-size:22px}.menu{display:block}.navlinks{display:none;width:100%;padding:18px 0 24px;flex-wrap:wrap;gap:16px 22px}.navlinks.open{display:flex}.hero{grid-template-columns:1fr;gap:30px;padding-top:35px;padding-bottom:28px}.hero h1{font-size:3.6rem;margin-bottom:20px}.eyebrow{margin-bottom:19px}.lead{font-size:1.02rem}.hero-visual img{height:auto;aspect-ratio:1.5}.image-tag{bottom:52px;left:16px;font-size:.8rem;padding:10px 14px}.strip{grid-template-columns:1fr 1fr;gap:15px;padding:20px 0}.strip span{padding:0!important;border:0;font-size:.8rem}.section{padding-top:45px;padding-bottom:40px}.section-head{display:block;margin-bottom:25px}.section-head p{margin-top:16px}.section-head .textlink{display:inline-block;margin-top:16px}.grid3{grid-template-columns:1fr;gap:16px}.lesson-card{min-height:190px;padding:22px}.card-top{margin-bottom:18px}.feature{grid-template-columns:1fr}.feature-copy{padding:30px 25px}.feature h2{font-size:2.4rem}.steps{padding:12px 25px}.fields{grid-template-columns:1fr 1fr;gap:0 22px}.field{padding:24px 0}.field h3{font-size:1.12rem}.field p{font-size:.88rem}.footer-top{grid-template-columns:1fr;gap:20px}.footerlinks{justify-content:start}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:8px}.page-intro{padding:35px 0 28px}.page-intro h1{font-size:2.7rem}.article-layout{grid-template-columns:1fr;gap:20px;padding-top:25px}.toc{position:static;display:flex;gap:4px 17px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:18px}.toc strong{width:100%}.toc a{border:0;padding:4px 0;font-size:.8rem}.article{font-size:1rem}.article h2{font-size:1.8rem;margin-top:37px}.case,.practice{padding:22px}.practice h2,.case h2{margin-top:0}.lesson-next{flex-direction:column}.project-layout{grid-template-columns:1fr;gap:25px}.project-side{position:static}.about-grid{grid-template-columns:1fr;gap:15px}.week-head{display:block}.week-head span{display:block;margin-top:10px}.read-hero{padding:23px}.lesson-meta{gap:12px}.button{padding:12px 17px;gap:16px}h3{overflow-wrap:break-word}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.menu{width:44px;height:44px;padding:10px;color:var(--primary);border:0;cursor:pointer;flex-shrink:0;line-height:0}.menu svg{display:block}.menu:hover{background:var(--wash)}.hero h1 em{font-style:normal;font-weight:inherit}@media(max-width:780px){.nav .brand{flex-shrink:1;min-width:0}.brand-name small{font-size:clamp(.48rem,2.05vw,.62rem);letter-spacing:.09em}.menu{margin-left:8px}}

:lang(zh) h1,:lang(zh) h2,:lang(zh) h3{text-wrap:balance;word-break:normal;line-break:strict}:lang(zh) .lesson-card h3{line-height:1.5}
