:root{color-scheme:light;--paper:#fcfbf8;--ink:#252c2d;--muted:#545e5f;--line:#d8dcd7;--accent:#a63820;--soft:#f2e9df;--green:#225c50;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.95 var(--sans);overflow-wrap:anywhere}a{color:var(--accent);text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button{font:inherit}button[hidden]{display:none}:focus-visible{outline:3px solid #164fb2;outline-offset:5px}::selection{background:#f6d3b3}.skip-link{position:absolute;top:8px;left:16px;transform:translateY(-200%);z-index:5;background:white;padding:8px 16px}.skip-link:focus{transform:none}.site-header{min-height:92px;padding:20px 4vw;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:5px solid var(--accent);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:16px;color:var(--ink);text-decoration:none;font-size:15px;letter-spacing:.025em}.brand strong{font-weight:700}.brand-mark{font:700 35px/1 var(--serif);color:var(--accent)}.edition{font-size:12px;letter-spacing:.08em;color:var(--muted)}.layout{max-width:1496px;margin:auto;display:grid;grid-template-columns:240px minmax(0,1fr)}.sidebar{padding:42px 24px 50px 32px;border-right:1px solid var(--line)}.nav-heading{font-size:11px;letter-spacing:.13em;font-weight:700;margin:0 0 24px}.nav-heading span{letter-spacing:normal;color:var(--muted);margin-left:9px;font-weight:400}.sidebar nav{display:grid;gap:8px}.nav-link{display:block;padding:10px 12px;font-size:14px;color:var(--muted);text-decoration:none;border-left:3px solid transparent}.nav-link small{display:block;font-size:11px;letter-spacing:.07em}.nav-link[aria-current=page]{background:var(--soft);color:var(--accent);border-left-color:var(--accent);font-weight:700}.nav-link:hover{background:#eeeae3}.reading-note{border-top:1px solid var(--line);margin-top:44px;padding-top:20px}.note-symbol{font-size:25px;color:var(--accent)}.reading-note p{font-size:13px;line-height:1.9;margin:8px 0}.reading-note .small{font-size:11px;color:var(--muted)}main{min-width:0;padding:46px clamp(24px,4.5vw,76px) 80px;max-width:1170px}main:focus{outline:none}.breadcrumb{margin:0 0 28px;font-size:12px;color:var(--muted)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.13em;color:var(--accent);margin:0 0 12px}.criterion-name{font-size:18px;font-weight:700;margin:0 0 16px}.criterion-name span{margin-left:12px;display:inline-block;padding:2px 10px;border:1px solid var(--line);font-size:11px;font-weight:500;vertical-align:middle}h1{font:600 clamp(29px,3.2vw,45px)/1.65 var(--serif);letter-spacing:.025em;margin:0 0 22px;text-wrap:balance}.metadata{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin:0 0 38px;font-size:11px;color:var(--muted)}.draft-label{border:1px solid #c8ad91;padding:0 8px;border-radius:3px;color:#73502a}.section{border-top:1px solid var(--line);padding:28px 0 12px}.section h2{font-size:19px;line-height:1.6;margin:0 0 18px;display:flex;gap:14px;align-items:baseline}.section-number{font-size:12px;color:var(--accent);letter-spacing:.1em;font-weight:500}.section p{margin:0 0 16px}.section h3{font-size:16px;line-height:1.8;margin:24px 0 10px}.section ul{padding-left:1.45em;margin:0 0 18px}.section li{margin:10px 0}.section-overview{border-top:2px solid var(--ink)}.section-overview p{font-size:18px;line-height:2}.section-checks ul{list-style:none;padding:0}.section-checks li{position:relative;padding:14px 18px 14px 42px;margin:0;border-bottom:1px solid var(--line);background:#f2f3ed}.section-checks li::before{content:"□";position:absolute;left:16px;font-size:16px;color:var(--green)}.section-notes,.section-references{font-size:14px}.section-references li{margin:12px 0}.comparison{margin:16px 0 38px}.figure-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}.figure-heading h2{font-size:16px;margin:0;line-height:1.8}.mono-toggle{border:1px solid #7b8684;color:var(--ink);border-radius:4px;background:transparent;padding:6px 12px;cursor:pointer;min-height:44px;font-size:12px}.mono-toggle[aria-pressed=true]{background:var(--ink);color:white}.comparison-panels{display:grid;grid-template-columns:1fr 1fr;border:1px solid #bdc6bf;border-radius:8px;overflow:hidden}.example{padding:24px;background:#f5f0e9}.example-after{background:#edf3ed;border-left:1px solid #bdc6bf}.example h3{font-size:14px;line-height:1.8;margin:0 0 18px}.example-symbol{font-size:23px;vertical-align:-2px;color:var(--accent);font-weight:700}.example-after .example-symbol{color:var(--green)}.example-subtitle{display:block;margin-left:26px;color:var(--muted);font-size:11px;font-weight:400}.mock-screen{border:1px solid #bcc4c0;border-radius:7px;background:#fff;overflow:hidden}.mock-toolbar{display:flex;gap:5px;padding:10px 12px;background:#f1f2ef;border-bottom:1px solid #d7dcd7}.mock-toolbar span{width:5px;height:5px;border:1px solid #aab3ad;border-radius:50%}.mock-content{padding:22px 18px}.mock-title{font-size:14px;font-weight:700;margin:0 0 10px;line-height:1.8}.mock-instruction{font-size:11px;margin:0 0 20px;min-height:38px;line-height:1.8;color:#4f5956}.mock-fields{margin:0}.mock-fields dt{font-size:12px;font-weight:600;min-height:30px;display:flex;align-items:center;gap:8px}.required-color{color:#ad2929}.mock-input{margin:3px 0 16px;border:1px solid #b6bfba;border-radius:4px;background:#fff;padding:9px 10px;font-size:10px;color:#59645f;line-height:1.8;min-height:38px}.field-tag{font-size:9px;background:#ad2929;color:white;padding:0 5px;border-radius:2px;line-height:1.9}.optional-tag{font-size:9px;color:#4f5956;border:1px solid #b1bbb4;line-height:1.7;padding:0 4px;border-radius:2px}.mock-submit{display:block;margin-top:22px;text-align:center;background:#24574c;color:white;padding:8px;font-size:11px;border-radius:4px}.example-result{margin:20px 0 0;font-size:12px;line-height:1.9}.example-result strong{font-size:14px}.comparison figcaption{font-size:11px;line-height:1.9;color:var(--muted);margin-top:14px}.is-monochrome .mock-screen{filter:grayscale(1)}.home-intro{font-size:17px;max-width:620px}.home-hero{padding-bottom:28px}.home-hero h1{font-size:clamp(32px,3.8vw,52px)}.learning-path{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0 40px;padding:0;list-style:none;counter-reset:step}.learning-path li{border-top:2px solid var(--ink);padding-top:12px;font-size:13px;counter-increment:step}.learning-path li::before{content:"0" counter(step);display:block;color:var(--accent);font:500 24px/1.8 var(--serif)}.learning-path strong{display:block;font-size:16px;margin-bottom:8px}.chapter-list{list-style:none;padding:0}.chapter-list li{border-bottom:1px solid var(--line)}.chapter-list a{display:grid;grid-template-columns:65px 1fr auto;gap:14px;align-items:center;padding:22px 0;color:var(--ink);text-decoration:none}.chapter-list a:hover{color:var(--accent)}.chapter-id{font-size:13px;color:var(--accent)}.chapter-list strong{font-size:18px}.chapter-list small{display:block;font-size:12px;font-weight:400;color:var(--muted)}.level-pill{font-size:11px;border:1px solid var(--line);padding:0 10px}.callout{padding:20px 24px;background:var(--soft);font-size:14px;border-left:3px solid var(--accent);margin:28px 0}.callout strong{display:block}.callout p{margin:8px 0 0}.site-footer{border-top:1px solid var(--line);padding:24px 4vw;display:flex;flex-wrap:wrap;gap:12px 30px;font-size:10px;color:var(--muted);justify-content:space-between}
.nav-toggle{width:100%;min-height:44px;text-align:left;padding:8px 12px;border:1px solid #7b8684;border-radius:4px;background:var(--paper);color:var(--ink);font-size:14px;cursor:pointer}.nav-toggle[aria-expanded=true]{margin-bottom:12px}.sidebar nav[hidden]{display:none}
main table{width:100%;border-collapse:collapse;table-layout:fixed;margin:22px 0;font-size:14px;line-height:1.85}main th,main td{border-bottom:1px solid var(--line);padding:14px 16px;text-align:left;vertical-align:top}main th{background:#eeeae1;font-weight:700}main th:first-child{width:28%}main td:first-child{font-weight:600}main td{background:#fff}main table+p{margin-top:18px}.home-intro a{font-size:12px}
@media(min-width:1550px){.sidebar{padding-left:42px}}
@media(max-width:1000px){.layout{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:32px 16px}.example{padding:18px 14px}.mock-content{padding:18px 12px}main{padding:32px 28px 60px}.figure-heading{align-items:flex-start}}
@media(max-width:720px){.site-header{padding:16px 20px;min-height:76px}.edition{display:none}.brand{gap:12px;font-size:13px}.brand-mark{font-size:30px}.layout{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:14px 20px}.nav-heading,.reading-note{display:none}.sidebar nav{display:flex;flex-wrap:wrap;gap:8px}.nav-link{font-size:12px;padding:5px 10px}.nav-link small{display:inline;margin-right:8px}.nav-link[aria-current=page]{border-left-width:2px}main{padding:30px 22px 48px}.breadcrumb{margin-bottom:22px}h1{font-size:30px}.criterion-name{font-size:16px}.metadata{margin-bottom:28px}.section-overview p{font-size:16px}.section{padding-top:24px}.section h2{font-size:17px;gap:10px}.comparison-panels{grid-template-columns:1fr}.example{padding:22px}.example-after{border-left:0;border-top:1px solid #bdc6bf}.example-subtitle{display:block;margin-left:26px}.mock-content{padding:22px}.mock-title{font-size:16px}.mock-instruction,.mock-fields dt,.mock-submit{font-size:13px}.mock-input{font-size:12px}.example-result{font-size:13px}.comparison figcaption{font-size:12px}.learning-path{grid-template-columns:1fr;gap:16px}.learning-path li{display:grid;grid-template-columns:32px 1fr;column-gap:14px}.learning-path li::before{grid-row:span 2}.chapter-list a{grid-template-columns:48px 1fr auto;gap:10px}.chapter-list strong{font-size:16px}.callout{padding:18px}.site-footer{padding:22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media(max-width:720px){main th,main td{padding:12px 10px;font-size:13px}main th:first-child{width:36%}}
@page{size:A4;margin:16mm}
@media print{body{background:white;font-size:10pt;line-height:1.7}.skip-link,.sidebar,.mono-toggle,.edition{display:none!important}.site-header{padding:0 0 10pt;min-height:auto;border-top:0}.brand{font-size:10pt}.brand-mark{font-size:22pt}.layout{display:block;max-width:none}main{max-width:none;padding:16pt 0}.breadcrumb{margin-bottom:12pt}h1,.home-hero h1{font-size:26pt}.criterion-name{font-size:13pt}.metadata{margin-bottom:16pt}.section{padding:14pt 0 5pt}.section h2{font-size:13pt}.section h3{font-size:11pt}.section-overview p{font-size:12pt}.section-notes,.section-references{font-size:9pt}h1,h2,h3{break-after:avoid}.comparison{break-inside:avoid;margin:10pt 0 18pt}.comparison-panels{grid-template-columns:1fr 1fr}.example{padding:12pt;background:white!important}.example-after{border-top:0;border-left:1px solid #aab3ad}.example h3{font-size:10pt}.example-subtitle{display:block;margin-left:20px}.mock-content{padding:10pt}.mock-title{font-size:10pt}.mock-instruction{font-size:8pt}.mock-fields dt{font-size:9pt}.mock-input{font-size:8pt}.mock-submit{font-size:8pt}.example-result,.comparison figcaption{font-size:8pt}.is-monochrome .mock-screen{filter:none}.section li{break-inside:avoid}.section a{overflow-wrap:anywhere}.section-references a::after{content:" (" attr(href) ")";font-size:7pt}.site-footer{font-size:7pt;padding:10pt 0}.learning-path{grid-template-columns:repeat(3,1fr);display:grid}a{color:inherit}.callout{background:white;border:1px solid #888}}
