:root{color-scheme:light;--bg: #f8f7f3;--surface: #ffffff;--ink: #202321;--muted: #626b63;--line: #d9ddd6;--accent: #245f48;--accent-soft: #edf3ee;--warm: #9d4826}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,YuGothic,Segoe UI,sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}.site-header{border-bottom:1px solid var(--line)}.header-inner,.home-shell,.article-shell,.footer-inner{width:min(980px,calc(100% - 40px));margin:0 auto}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{flex:0 0 auto;font-size:24px;font-weight:800;letter-spacing:0}.site-note{margin:0;color:var(--muted);font-size:13px;text-align:right}.home-shell{padding:58px 0 88px}.intro{max-width:760px;padding-bottom:48px}.issue-label{margin:0 0 18px;color:var(--warm);font-size:13px;font-weight:800}h1,h2,h3,p{overflow-wrap:anywhere}h1{margin:0;font-size:clamp(38px,6vw,68px);line-height:1.12;letter-spacing:0}.lead{margin:26px 0 0;max-width:680px;color:var(--muted);font-size:18px}.featured-article{display:grid;grid-template-columns:160px minmax(0,1fr);gap:32px;border-top:3px solid var(--ink);border-bottom:1px solid var(--line);padding:28px 0 34px}.featured-link{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:28px;align-items:center}.featured-link img,.article-row img,.article-hero{display:block;width:100%;object-fit:cover;background:var(--accent-soft)}.featured-link img{aspect-ratio:16 / 9}.feature-meta{color:var(--muted);font-size:13px;line-height:1.5}.feature-meta span,.feature-meta time{display:block}.feature-meta span{color:var(--accent);font-weight:800}.featured-link h2{margin:0;font-size:clamp(30px,4vw,48px);line-height:1.22;letter-spacing:0}.featured-link p{margin:18px 0 0;max-width:660px;color:var(--muted);font-size:17px}.article-index{padding-top:46px}.index-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:10px}.index-heading h2{margin:0;font-size:22px;letter-spacing:0}.index-heading span{color:var(--muted);font-size:13px}.article-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.article-list li{border-bottom:1px solid var(--line)}.article-row{display:grid;grid-template-columns:130px 180px minmax(0,1fr);gap:24px;align-items:start;padding:24px 0 26px}.article-row:hover h3{color:var(--accent)}.article-row time,.article-date{color:var(--muted);font-size:13px}.article-row h3{margin:0;font-size:25px;line-height:1.4;letter-spacing:0;transition:color .16s ease}.article-row p{margin:8px 0 0;max-width:680px;color:var(--muted);font-size:15px}.article-row img{aspect-ratio:16 / 10}.site-footer{border-top:1px solid var(--line);padding:28px 0;color:var(--muted);font-size:13px}.article-shell{padding:56px 0 88px}.back-link{display:inline-flex;margin-bottom:36px;color:var(--accent);font-size:14px;font-weight:800}.article-header{max-width:780px;margin-bottom:32px}.article-header h1{margin-top:12px;font-size:clamp(34px,5vw,58px)}.article-body{max-width:720px;border-top:1px solid var(--line);padding-top:34px;font-size:18px}.article-hero{max-width:860px;aspect-ratio:16 / 9;margin:0 0 38px}.article-body h2{margin:42px 0 12px;font-size:28px;line-height:1.45}.article-body p{margin:0 0 22px}.article-body ul,.article-body ol{margin:0 0 24px;padding-left:1.4em}.article-body li{margin-bottom:8px}.placeholder-note{margin-top:32px;border-radius:8px;background:var(--accent-soft);padding:18px 20px;color:var(--accent);font-size:15px;font-weight:700}@media(max-width:720px){.header-inner,.home-shell,.article-shell,.footer-inner{width:min(100% - 28px,980px)}.header-inner{min-height:70px;display:block;padding:18px 0 16px}.site-note{margin-top:4px;text-align:left}.home-shell{padding-top:42px}.intro{padding-bottom:36px}h1{font-size:39px}.lead{font-size:16px}.featured-article,.featured-link,.article-row{grid-template-columns:1fr;gap:14px}.featured-link h2{font-size:30px}.article-row h3{font-size:22px}.index-heading{display:block}.index-heading span{display:block;margin-top:2px}}
