/* Editorial focus: one thesis per article, with a clear route through supporting sections. */
.article-intro{max-width:1240px;padding-bottom:30px}
.article-intro h1,.article-intro .article-summary,.article-intro>.micro{max-width:750px}
.article-intro h1{font-size:clamp(34px,4vw,48px);line-height:1.45}
.article-intro .article-summary{color:var(--ink);font-size:clamp(17px,1.8vw,20px);line-height:1.9}
.article-thesis{max-width:750px;margin:24px 0 20px;padding:22px 25px;background:#f1e9dc;border:1px solid #dfcbb7;border-left:5px solid #a94736;border-radius:4px 14px 14px 4px}
.article-thesis .eyebrow{margin:0 0 8px;color:#963d2e;font-size:12px}
.article-thesis>p:last-child{margin:0;color:var(--ink);font-size:clamp(18px,2vw,23px);font-weight:650;line-height:1.75;letter-spacing:.005em}
.article-cover-frame{margin:18px 0 12px}.article-cover-frame figcaption{margin-top:7px}
.article-body{max-width:760px;line-height:2.02}
.toc{margin:34px 0 45px;padding:0;overflow:hidden;background:var(--surface,#fffdf8);border:1px solid var(--line);border-top:4px solid #a94736;border-radius:14px}
.toc-heading{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px 16px;padding:19px 22px 14px}
.toc-heading .eyebrow{grid-column:1/-1;margin:0;color:#963d2e}.toc-heading strong{font-size:19px;font-weight:650}.toc-heading>span{color:var(--muted);font-size:12px}
.toc-list{list-style:none;padding:0;margin:0 22px 14px;border-top:1px solid var(--line)}.toc-list li{margin:0;border-bottom:1px solid var(--line)}
.toc-list a{display:grid;grid-template-columns:34px minmax(0,1fr) 20px;align-items:center;gap:12px;min-height:56px;padding:8px 4px;text-decoration:none;line-height:1.55}
.toc-number{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#f1e9dc;color:#963d2e;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}
.toc-arrow{color:#963d2e;text-align:center;transition:transform .18s ease}.toc-list a:hover .toc-arrow{transform:translateY(2px)}
.article-section{padding:5px 0 30px;margin:0 0 30px;border-bottom:1px solid var(--line);scroll-margin-top:30px}
.article-section h2{display:flex;align-items:flex-start;gap:14px;margin:0 0 18px;font-size:clamp(23px,2.5vw,30px);line-height:1.55}
.section-number{flex:0 0 34px;display:grid;place-items:center;width:34px;height:34px;margin-top:4px;border-radius:50%;background:#963d2e;color:#fff;font:700 11px/1 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:0}
.article-section p{max-width:68ch}
.section-key-point{margin:20px 0;padding:15px 19px;background:var(--article-takeaway-bg);border:1px solid var(--article-takeaway-line);border-left:4px solid var(--green);border-radius:0 10px 10px 0}
.section-key-point span{display:block;margin-bottom:4px;color:var(--green);font-size:11px;font-weight:700;letter-spacing:.08em}.section-key-point p{margin:0;font-weight:650;line-height:1.8}
.article-example{margin:24px 0;padding:20px 22px;background:var(--article-example-bg);border:1px solid var(--article-example-line);border-left:4px solid var(--accent);border-radius:0 12px 12px 0}
.article-example>figcaption{display:flex;flex-direction:column;gap:2px;margin:0 0 12px;color:var(--ink);line-height:1.6}
.article-example>figcaption .eyebrow,.article-example-translation .eyebrow,.article-reference-group>.eyebrow,.article-checklist-block>.eyebrow{margin:0;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.06em}
.article-example>figcaption strong{font-size:16px;font-weight:700}
.article-example .practice-example{margin:0;padding:0;background:transparent!important;border:0!important;border-radius:0!important;color:var(--ink);font:400 15px/1.85 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere}
.article-example-translation{margin-top:16px;padding:14px 16px;background:var(--article-translation-bg);border:1px solid var(--article-translation-line);border-radius:8px}
.article-example-translation .eyebrow{margin-bottom:6px}
.article-example-translation>p:last-child{margin:0;color:var(--ink);font-size:14px;line-height:1.85;white-space:pre-line}
.article-quote{margin:24px 0;padding:20px 24px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:0 10px 10px 0}
.article-quote blockquote{margin:0;color:var(--ink);font-size:18px;font-weight:600;line-height:1.85}
.article-quote figcaption{margin-top:12px;color:var(--muted);font-size:12px}.article-quote figcaption:before{content:"出典："}
.article-callout{margin:22px 0;padding:16px 19px;background:var(--article-example-bg);border:1px solid var(--article-example-line);border-left:4px solid var(--accent);border-radius:0 10px 10px 0}
.article-callout>.eyebrow{margin:0 0 5px;color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.06em}.article-callout>p:last-child{margin:0;line-height:1.8}
.article-callout--caution{background:var(--article-warning-bg);border-color:var(--article-warning-line);border-left-color:var(--accent)}.article-callout--context,.article-callout--aside{background:var(--article-context-bg);border-color:var(--article-context-line);border-left-color:var(--article-context-accent)}
.article-checklist-block{margin:22px 0}.article-checklist-block>.eyebrow{margin-bottom:6px}.article-checklist{margin:0;background:var(--article-checklist-bg)}
.article-reference-group{margin:20px 0 26px}.article-reference-group>.eyebrow{margin:0 0 8px}.article-reference-group .article-references{margin:0}
.article-references{display:grid;gap:8px;list-style:none;padding:0;margin:20px 0 26px}.article-references li{margin:0;padding:0}
.article-references a{display:flex;align-items:center;gap:10px;min-height:48px;padding:11px 15px;background:var(--surface,#fffdf8);border:1px solid var(--line);border-radius:8px;color:var(--green);font-size:14px;font-weight:600;line-height:1.65;text-decoration:none;overflow-wrap:anywhere}
.article-references a:before{content:"↗";flex:0 0 auto;color:#963d2e;font-size:13px}.article-references a:hover{border-color:#b97867;background:#f7eee7}
.article-checklist{list-style:none;padding:14px 18px;margin:22px 0;background:#eef2e9;border-radius:10px}
.article-checklist li{position:relative;margin:0;padding:7px 4px 7px 27px;border-bottom:1px solid #d9dfd5}.article-checklist li:last-child{border-bottom:0}.article-checklist li:before{content:"✓";position:absolute;left:3px;color:var(--green);font-weight:800}
.practice-example{border-left-color:#a94736!important;background:#f4eee5!important;border-radius:0 10px 10px 0!important}
.article-ending{margin-top:48px;padding:28px 30px 20px;background:#f1e9dc;border:1px solid #dfcbb7;border-top:4px solid #963d2e;border-radius:14px}
.article-ending>.eyebrow{margin:0 0 7px;color:#963d2e;font-size:12px;font-weight:700;letter-spacing:.06em}
.article-ending>h2{margin:0 0 12px!important;font-size:clamp(23px,2.5vw,30px)!important}.article-ending>.article-action{margin-top:24px;padding:0;background:transparent;border:0}.article-ending .article-action>.eyebrow{margin:0 0 4px;color:#705d4d;font-size:11px;font-weight:700;letter-spacing:.05em}.article-ending .article-action>strong{font-size:18px}
.article-ending .article-action .button,.learn-box .button{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:50px;margin-top:13px;background:#963d2e;border-color:#963d2e;color:#fff;font-weight:700}
.article-ending .article-action .button:hover,.learn-box .button:hover{background:#722e24;border-color:#722e24;color:#fff}.article-ending .article-action .micro{margin-top:14px}
.article-next-read{display:grid;grid-template-columns:minmax(100px,160px) minmax(0,1fr);align-items:center;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid #d7c6b3}.article-next-read .eyebrow{margin:0;color:#705d4d;font-size:12px;font-weight:700}.article-next-read>a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:46px;color:var(--ink);font-weight:650;text-decoration:none}.article-next-read>a span:last-child{color:#963d2e;font-size:20px}.article-next-read>a:hover{color:#963d2e}
.article-next-action{margin-top:38px;padding:24px;border-left:4px solid var(--green)}
.learn-box{margin:36px 0 26px;padding:26px;background:#e9efe7;border:1px solid #cbd7ca;border-radius:14px}.learn-box .eyebrow{margin:0 0 5px}.learn-box h2{margin:4px 0 10px;font-size:24px}.learn-box p{max-width:65ch}
.article-disclaimer{margin-top:32px;padding-top:18px;border-top:1px solid var(--line)}
.related-panel{background:var(--surface,#fffdf8);border-top:4px solid var(--green)}
.related-panel .related-link{display:grid;grid-template-columns:27px minmax(0,1fr) 16px;align-items:start;gap:9px;padding:14px 0;border-top:1px solid var(--line);text-decoration:none}
.related-panel .related-link span{color:#963d2e;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.related-panel .related-link b{color:#963d2e;font-size:12px}.related-panel .related-link:hover{color:#963d2e}
.article-body a:focus-visible,.toc a:focus-visible{outline:3px solid #963d2e;outline-offset:3px;border-radius:4px}
@media(max-width:700px){.article-intro h1{font-size:29px}.article-thesis{margin:20px 0;padding:18px 19px}.toc{margin:24px 0 32px}.toc-heading{grid-template-columns:1fr;padding:17px 18px 12px;gap:4px}.toc-heading .eyebrow{grid-column:auto}.toc-heading>span{font-size:11px}.toc-list{margin-inline:18px}.toc-list a{grid-template-columns:30px minmax(0,1fr) 18px;gap:9px;min-height:52px;font-size:14px}.toc-number{width:27px;height:27px}.article-section{margin-bottom:24px;padding-bottom:24px}.article-section h2{gap:10px;font-size:23px}.section-number{flex-basis:29px;width:29px;height:29px;font-size:10px}.article-example{padding:17px 16px}.article-example .practice-example{font-size:14px}.article-example-translation{padding:12px}.article-quote{padding:17px}.article-quote blockquote{font-size:16px}.article-references a{font-size:13px}.article-ending{padding:22px 18px}.article-ending .article-action{padding:0}.article-ending .article-action .button,.learn-box .button{width:100%}.article-next-read{grid-template-columns:1fr;gap:5px;margin-top:20px;padding-top:15px}.article-next-read>a{font-size:15px}.learn-box{padding:21px}.related-panel{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.toc-arrow{transition:none}}
