/* Native CSS editorial prototype. Variance 5, motion 1, density 3.
   One light theme; cobalt accent. No animation or external dependencies. */
:root{--ink:#202b3c;--muted:#566173;--accent:#2854b8;--soft:#ecf1fd;--line:#d9e0ec;--paper:#f8f9fc;--white:#fff;--radius:12px}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-padding-top:24px}body{margin:0;font:16px/1.9 "Yu Gothic UI","Meiryo",sans-serif;color:var(--ink);background:var(--paper)}a{color:var(--accent);text-underline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}p{margin:0 0 20px}h1,h2,h3{line-height:1.5;letter-spacing:.015em;margin:0 0 20px}h1{font-size:clamp(30px,3.7vw,48px);line-height:1.45}h2{font-size:28px}h3{font-size:20px}img{max-width:100%;height:auto}figure{margin:0}figcaption,.small{font-size:13px;color:var(--muted)}strong{font-weight:700}ul,ol{padding-left:24px}li{margin-bottom:9px}.wrap{max-width:1160px;margin:auto;padding:0 40px}.preview-bar{background:var(--soft);color:#384f7e;font-size:12px;padding:6px 0}.preview-bar .wrap{display:flex;justify-content:space-between;gap:16px}.header{border-bottom:1px solid var(--line)}.header .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:90px}.logo{font-family:"Segoe UI",sans-serif;font-size:30px;font-weight:800;text-decoration:none;color:var(--ink);letter-spacing:-1px}.logo span{color:var(--accent)}nav{display:flex;gap:28px;flex-wrap:wrap}nav a{font-size:14px;color:var(--muted);text-decoration:none;padding:10px 0}nav a[aria-current=page]{color:var(--accent);font-weight:700}.home-intro{padding:44px 0 30px}.home-intro h1{font-size:38px;margin-bottom:14px}.home-intro p{color:var(--muted);margin:0;max-width:720px}.feature{display:grid;grid-template-columns:1.25fr 1fr;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.feature-image{display:block;height:100%;min-height:330px;background:#e6ecf3}.feature-image img{display:block;width:100%;height:100%;object-fit:cover}.feature-copy{padding:32px}.meta{font-size:13px;color:var(--muted);margin-bottom:15px;display:flex;gap:16px;flex-wrap:wrap}.category{color:var(--accent);font-weight:700}.feature h2{font-size:28px;line-height:1.6;margin-bottom:14px}.feature h2 a{color:var(--ink);text-decoration:none}.feature-copy>p{font-size:15px;color:var(--muted);margin-bottom:24px}.button{display:inline-block;border:1px solid var(--accent);background:var(--accent);color:white;padding:11px 22px;border-radius:6px;text-decoration:none;font-weight:700;font-size:15px;line-height:1.7}.button.secondary{background:white;color:var(--accent)}.section{padding:46px 0;border-bottom:1px solid var(--line)}.topic-list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.topic{border-top:3px solid var(--line);padding-top:20px}.topic h3{font-size:20px;margin-bottom:12px}.topic p{font-size:15px;color:var(--muted);margin-bottom:14px}.topic .small{font-size:12px}.about-strip{display:grid;grid-template-columns:1fr 1.8fr;gap:40px;padding:35px 0}.about-strip h2{font-size:24px}.about-strip p{color:var(--muted);margin:0}.crumb{font-size:13px;color:var(--muted);padding:25px 0}.article-head{max-width:840px;margin:0 auto 28px}.article-head h1{font-size:clamp(29px,3.6vw,44px);margin:12px 0 20px}.article-head .deck{font-size:18px;line-height:1.95;color:var(--muted);margin-bottom:20px}.article-hero{margin-bottom:40px}.article-hero img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius)}.article-hero figcaption{padding-top:8px}.article-layout{display:grid;grid-template-columns:minmax(0,760px) 230px;gap:50px;align-items:start}.prose{font-size:16px;min-width:0}.prose p{line-height:2}.prose h2{margin:44px 0 20px;font-size:26px}.prose h3{margin:30px 0 15px;font-size:20px}.prose a{overflow-wrap:anywhere}.summary{border-left:4px solid var(--accent);background:var(--soft);padding:24px 26px;border-radius:0 10px 10px 0;margin-bottom:30px}.summary h2{margin:0 0 12px;font-size:21px}.summary ol{margin:0}.summary li:last-child{margin:0}.toc{position:sticky;top:24px;padding:24px 0;border-top:2px solid var(--accent)}.toc h2{font-size:16px;margin-bottom:16px}.toc a{display:block;color:var(--muted);font-size:14px;text-decoration:none;margin:0 0 13px}.toc a:hover{color:var(--accent)}.toc p{font-size:12px;color:var(--muted);margin-top:25px}.diagram{background:var(--white);padding:26px;border:1px solid var(--line);border-radius:var(--radius);margin:25px 0}.diagram h3{margin:0 0 22px;font-size:19px}.protocol{display:grid;grid-template-columns:1fr 34px 1.5fr;gap:14px;align-items:center}.protocol .shape{padding:20px;background:var(--soft);border-radius:8px;text-align:center}.protocol .shape b{font-size:28px;color:var(--accent);display:block}.protocol .shape span{font-size:13px}.protocol .arrow{font-size:24px;color:var(--accent)}.protocol .choices>div{padding:10px 14px;border:1px solid var(--line);border-radius:6px;margin:8px 0}.protocol .choices b{display:block;font-size:16px}.protocol .choices span{font-size:13px;color:var(--muted)}.diagram figcaption{margin-top:18px}.size-svg{display:block;width:100%;max-width:560px;margin:auto}.note{padding:18px 22px;background:#f0f3f8;border-radius:8px;margin:24px 0;font-size:15px}.note p:last-child{margin-bottom:0}.checklist{background:white;border:1px solid var(--line);padding:26px;border-radius:var(--radius);margin:28px 0}.checklist h2{margin:0 0 16px}.checklist label{display:flex;align-items:flex-start;gap:12px;padding:12px 0;line-height:1.7}.checklist input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin:4px 0 0}.checklist .button{margin-top:18px}.check-status{font-size:13px;color:var(--muted);margin:12px 0 0!important}.ad{padding:26px;background:white;border:1px solid var(--line);border-radius:var(--radius);margin:34px 0}.ad h2{margin:7px 0 12px!important;font-size:23px}.ad-label{font-size:12px;color:var(--muted)}.ad .small{margin-bottom:0}.ad-links{display:grid;gap:12px;margin:22px 0}.ad-links a{display:flex;align-items:center;justify-content:space-between;gap:18px;text-decoration:none;border:1px solid var(--line);border-radius:6px;padding:15px 18px;font-size:15px;font-weight:700}.ad-links a:hover{border-color:var(--accent);background:var(--soft)}.ad-links span{font-size:12px;white-space:nowrap}.sources{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:25px;margin-top:32px}.sources h2{font-size:20px;margin:0 0 14px}.sources li{margin-bottom:12px}.sources a{overflow-wrap:anywhere}.end-link{margin:35px 0 50px}.document{max-width:840px;margin:auto;padding:38px 0 50px}.document h1{font-size:36px}.document h2{margin-top:38px;font-size:25px}.document p{line-height:2}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0}.steps>div{padding:18px;border-top:3px solid var(--accent);background:white}.steps b{display:block;margin-bottom:8px}.steps p{font-size:14px;margin:0}.table-wrap{overflow:auto;margin:26px 0}table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}th,td{padding:16px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--soft)}td:first-child{min-width:120px}td:nth-child(2){min-width:90px}.document details{padding:20px 22px;background:white;border:1px solid var(--line);border-radius:8px;margin:22px 0}.document summary{font-weight:700;cursor:pointer;color:var(--accent)}.document details[open] summary{margin-bottom:15px}.document details p:last-child{margin:0}.footer{margin-top:30px;border-top:1px solid var(--line);padding:30px 0 36px}.footer .wrap{display:flex;justify-content:space-between;gap:25px}.footer p{font-size:12px;color:var(--muted);margin:0}.footer a{font-size:13px}.skip{position:absolute;left:20px;top:-100px;background:white;padding:12px;z-index:4}.skip:focus{top:16px}
@media(max-width:900px){.wrap{padding:0 25px}.feature{grid-template-columns:1.15fr 1fr}.feature-copy{padding:24px}.feature h2{font-size:24px}.article-layout{grid-template-columns:1fr;gap:0}.toc{display:none}.article-head{max-width:none}.article-hero{margin-bottom:28px}}
@media(max-width:650px){.wrap{padding:0 20px}.header .wrap{min-height:78px;gap:15px}.logo{font-size:26px}nav{gap:15px}nav a{font-size:12px}.preview-bar .wrap{font-size:11px;gap:8px}.home-intro{padding:30px 0 25px}.home-intro h1{font-size:29px}.home-intro p{font-size:15px}.feature{grid-template-columns:1fr}.feature-image{min-height:0}.feature-image img{height:auto;aspect-ratio:16/9}.feature-copy{padding:24px}.feature h2{font-size:25px}.topic-list{grid-template-columns:1fr;gap:24px}.about-strip{grid-template-columns:1fr;gap:0}.section{padding:34px 0}.article-head .deck{font-size:16px}.article-head h1{font-size:29px}.article-head h1 br{display:none}.article-hero{margin-bottom:26px}.article-layout .prose h2{font-size:23px}.summary,.diagram,.checklist,.ad{padding:20px}.protocol{grid-template-columns:1fr;gap:0}.protocol .arrow{text-align:center;transform:rotate(90deg);line-height:30px}.protocol .shape{padding:10px}.protocol .shape b{font-size:23px}.ad-links a{display:block}.ad-links span{display:block;margin-top:5px}.steps{grid-template-columns:1fr;gap:10px}.document h1{font-size:29px}.footer .wrap{display:block}.footer p{margin-bottom:12px}.small{font-size:12px}}
@media print{.preview-bar,nav,.toc,.footer,.checklist button,.ad,.skip,.end-link{display:none!important}body{background:white;font-size:11pt}.wrap{max-width:none;padding:0}.header .wrap{min-height:55px}.article-layout{display:block}h1,h2,h3{break-after:avoid}figure,.summary,.checklist{break-inside:avoid}.article-hero img{max-height:260px;object-fit:contain}a{color:inherit}.article-head h1{font-size:27pt}.prose h2{font-size:19pt}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
[data-page] h1:focus{outline:none}

.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:110px;gap:20px}.site-header{border-bottom:1px solid var(--line)}.public-prose{max-width:800px;margin:0 auto}.public-prose .sources{margin-bottom:35px}@media(max-width:650px){.header-inner{min-height:85px}.public-prose h2{font-size:23px}.header-inner nav{gap:10px}}