:root{--ink:#263c34;--muted:#5e7167;--green:#275e48;--line:#dce5da;--paper:#fbfcf8;--wash:#edf3e9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.85 system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif}a{color:var(--green);text-underline-offset:4px}a:focus-visible,summary:focus-visible{outline:3px solid #a17b35;outline-offset:4px}.skip{position:absolute;left:16px;top:-100px;background:white;padding:12px;z-index:9}.skip:focus{top:8px}.learn-header{border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:20px max(24px,calc((100vw - 1180px)/2));gap:30px}.wordmark{font-size:26px;font-weight:800;text-decoration:none;white-space:nowrap}.wordmark span{display:block;font-size:10px;letter-spacing:2.8px;line-height:1.4}.learn-header nav{display:flex;gap:9px;flex-wrap:wrap}.learn-header nav a{text-decoration:none;padding:9px 14px;border-radius:7px;min-height:44px}.learn-header nav a:hover{background:var(--wash)}.nav-practice{background:var(--green)!important;color:#fff}main{max-width:1180px;margin:auto;padding:30px 28px 70px}.breadcrumbs{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.breadcrumbs a{text-decoration:none}.article-heading,.hub-heading{max-width:850px;padding:36px 0 32px}.kicker{font-size:11px;letter-spacing:1.5px;color:#667b60;font-weight:700}h1{font-size:clamp(28px,3.6vw,43px);line-height:1.4;letter-spacing:-.6px;margin:13px 0 20px}h2{font-size:25px;line-height:1.5;margin:0 0 16px}h3{font-size:19px;line-height:1.6}.lead{font-size:18px;color:#52685a;line-height:1.95}.byline,.small{font-size:13px;color:var(--muted)}.reading-layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:55px;align-items:start}.contents{position:sticky;top:25px;border-top:2px solid var(--green);padding:17px 0;font-size:14px}.contents ol{padding-left:20px}.contents li{margin:10px 0}.contents a{text-decoration:none}.prose{max-width:780px;min-width:0}.prose>section{margin-bottom:40px;scroll-margin-top:30px}.prose p{margin:14px 0}.prose ul,.prose ol{padding-left:25px}.prose li{margin:10px 0}.english{font-family:system-ui,sans-serif;line-height:1.9}.source-text{white-space:pre-line;background:#f2f5ed;border-radius:10px;padding:22px;margin:18px 0}.worked-example{border:1px solid var(--line);background:white;border-radius:14px;padding:26px}.worked-example h2{margin-top:10px}.example-question{padding:10px 0 20px;border-bottom:1px solid var(--line)}details{padding:14px 18px;background:#f2f6ef;border:1px solid var(--line);border-radius:8px;margin:14px 0 20px}summary{cursor:pointer;color:var(--green);font-weight:650;min-height:26px}.button{display:inline-block;background:var(--green);color:#fff;text-decoration:none;padding:12px 20px;border-radius:8px;margin-top:16px;font-weight:650;min-height:48px}.scene{width:100%;height:auto;display:block;border-radius:10px;margin:18px 0}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:15px;margin:22px 0}td,th{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--wash)}.practice-next{padding:26px;background:#eaf1e5;border-radius:14px}.exercise-links{display:grid;gap:10px}.exercise-links a{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 18px;background:white;border-radius:9px;text-decoration:none;border:1px solid var(--line)}.exercise-links span{font-size:13px;color:var(--muted);white-space:nowrap}.source-note{border-top:1px solid var(--line);padding-top:22px;font-size:14px;color:var(--muted)}.source-note h2{font-size:18px}.learn-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.learn-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:13px;padding:25px;text-decoration:none;transition:transform .15s,border-color .15s}.learn-card:hover{transform:translateY(-3px);border-color:#91ac91}.learn-card h3{margin:13px 0 7px}.learn-card p{color:var(--muted);font-size:15px;line-height:1.8;flex:1}.card-action{font-size:14px;font-weight:700}.related{margin-top:50px;padding-top:30px;border-top:1px solid var(--line)}.route-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 28px}.route-cards a{padding:22px;background:var(--wash);border:1px solid var(--line);border-radius:11px;text-decoration:none}.route-cards b,.route-cards span{display:block}.route-cards b{font-size:17px}.route-cards span{font-size:14px;color:var(--muted);margin-top:8px}.prose .route-cards{grid-template-columns:1fr}.guide-group{margin:45px 0}.section-title{display:flex;gap:20px;align-items:baseline;justify-content:space-between;margin-bottom:18px}.section-title h2{margin:0}.section-title a{font-size:14px}.hub-method{margin:35px 0;padding:30px;background:var(--wash);border-radius:12px}.hub-heading h2{font-size:22px;color:var(--muted);font-weight:500}.note-example,.comparison-text{background:var(--wash);padding:20px;border-left:4px solid #9fb68e;border-radius:5px}.about-prose{margin:0 auto}.about-prose h2{margin-top:35px}footer{max-width:1180px;margin:auto;padding:30px 28px 45px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}footer a{display:inline-block;margin:0 20px 10px 0}footer p{margin:10px 0 18px}@media(max-width:800px){.learn-header{padding:18px 20px;align-items:flex-start;gap:18px}.learn-header nav{gap:3px;justify-content:flex-end}.learn-header nav a{font-size:13px;padding:8px 10px}.reading-layout{grid-template-columns:1fr;gap:20px}.contents{position:static;background:var(--wash);padding:18px 22px;border-radius:10px}.contents ol{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;margin-bottom:0}.contents li{margin:6px 0}.route-cards{grid-template-columns:1fr}.article-heading{padding-bottom:20px}}@media(max-width:540px){body{font-size:16px}.learn-header{display:block}.wordmark{display:inline-block}.learn-header nav{margin-top:18px;justify-content:flex-start}.learn-header nav a{font-size:14px;padding:8px 12px}.learn-header nav .nav-practice{width:100%;text-align:center;margin-top:6px}main{padding:22px 18px 45px}h1{font-size:29px}h2{font-size:23px}.lead{font-size:17px}.learn-grid{grid-template-columns:1fr}.contents ol{display:block}.worked-example,.practice-next{padding:20px 16px}.source-text{padding:16px}.exercise-links a{display:block}.exercise-links span{display:block;margin-top:6px}.prose table{font-size:14px}.section-title{align-items:center}.section-title a{white-space:nowrap}.hub-method{padding:24px}.learn-card{padding:22px}footer{padding:28px 18px}.table-scroll table{min-width:460px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.learn-card{transition:none}}@media print{.learn-header,.contents,.related,footer,.button{display:none}.reading-layout{display:block}main{padding:0}.prose{max-width:none}}
/* Score tools and the expanded topic directory */
.topic-routes{grid-template-columns:repeat(4,minmax(0,1fr))}.tool-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;margin:0 0 46px;box-shadow:0 8px 28px #263c3407}.tool-box h2{margin-top:8px}.tool-box form{margin-top:25px}.tool-box fieldset{min-width:0;margin:28px 0;padding:24px;border:1px solid var(--line);border-radius:12px}.tool-box fieldset[hidden]{display:none}.tool-box legend{font-weight:750;padding:0 10px;color:var(--green)}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.tool-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.tool-box label{display:block;font-size:15px;font-weight:650;min-width:0}.tool-box label small{display:block;font-size:13px;line-height:1.7;font-weight:400;color:var(--muted);margin-top:8px}.tool-box select,.tool-box input{display:block;margin-top:8px;width:100%;min-width:0;min-height:48px;border:1px solid #aebfb1;border-radius:7px;padding:10px;background:#fbfcf8;color:var(--ink);font:inherit;font-weight:400}.tool-box :is(input,select,button):focus-visible{outline:3px solid #ac8542;outline-offset:3px}.tool-box .language-fields{padding:16px;margin-top:22px}.tool-box button{cursor:pointer;font:inherit;font-weight:650;border:0}.tool-box .secondary{background:#e9f0e5;color:var(--green);border:1px solid var(--line)}.tool-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tool-actions .button{margin-top:0}.text-button{padding:12px;background:transparent;color:var(--green);text-decoration:underline;text-underline-offset:4px}.rule-banner{background:#fbf5e8;border-left:4px solid #b28a45;padding:18px 20px;border-radius:5px;font-size:14px}.rule-banner p{margin:8px 0 0}.tool-result{margin-top:25px;padding:24px;background:var(--wash);border-radius:11px;overflow-wrap:anywhere}.tool-result:empty{display:none}.score-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.score-chips div{border:1px solid var(--line);padding:15px;background:#fff;border-radius:9px}.score-chips span,.score-chips b{display:block}.score-chips b{font-size:20px;color:var(--green)}.score-total{display:flex;gap:20px;align-items:baseline}.score-total>b{font-size:68px;line-height:1.3;letter-spacing:-3px;color:var(--green)}.score-total span{color:var(--muted)}.tool-result h3{margin-top:28px}.tool-result table{background:#fff}.tool-result td:last-child{font-variant-numeric:tabular-nums}.tool-result details{background:#fff}.tool-box>form>.tool-grid{margin-top:20px}
@media(max-width:900px){.topic-routes{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.learn-header nav{gap:3px}.learn-header nav a{padding:8px 10px}}
@media(max-width:540px){.tool-box{padding:22px 16px}.tool-box fieldset{padding:16px 12px}.tool-grid{grid-template-columns:1fr;gap:18px}.tool-grid.four{grid-template-columns:1fr 1fr;gap:12px}.tool-box .language-fields{padding:12px 8px}.tool-box label{font-size:14px}.tool-box select{font-size:16px}.tool-result{padding:18px 12px}.tool-result .table-scroll table{min-width:340px}.tool-actions{display:grid}.tool-actions .button{width:100%;text-align:center}.score-chips{grid-template-columns:1fr 1fr}.score-chips b{font-size:18px}.topic-routes{grid-template-columns:1fr}.score-total>b{font-size:58px}}
