@font-face{font-family:Archive Mincho;src:url("assets/mincho-text.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Archive Mincho;src:url("assets/mincho.woff2") format("woff2");font-weight:800;font-display:swap}
:root{color-scheme:light;--paper:#f2ebd9;--sheet:#f7efdc;--edge:#e5d5b7;--ink:#25231d;--quiet:#5d5547;--red:#9d2d23;--seal:#a33225;--rule:#bfb098;--light:#fff2db;--frame:#d3c4a8;--mono:"Courier New",monospace;--serif:Georgia,"Times New Roman",serif;--ja:"Archive Mincho","Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP",serif}
:root[data-theme=night]{color-scheme:dark;--paper:#22221f;--sheet:#2c2a24;--edge:#191916;--ink:#f2e8d1;--quiet:#c8bca7;--red:#f1927f;--seal:#9b3327;--rule:#625a4d;--light:#fff2db;--frame:#484034}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);line-height:1.55}
body::after{content:"";position:fixed;inset:0;z-index:4;pointer-events:none;background:url("assets/grain.svg");opacity:.19}
html{scroll-behavior:smooth}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--red);outline-offset:5px}
[hidden]{display:none!important}
[lang=ja]{font-family:var(--ja)}
h1 [lang=ja],h2 [lang=ja],.brand-ja,.stamp{font-weight:800}
.wrap{width:min(1160px,calc(100% - 100px));margin-inline:auto}
.skip{position:fixed;top:8px;left:8px;z-index:5;background:var(--sheet);padding:8px 15px;transform:translateY(-150%)}
.skip:focus{transform:none}
.masthead{min-height:83px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px}
.brand{display:flex;align-items:center;gap:11px;justify-self:start}
.brand img{flex:none}
.brand-ja,.brand-en{display:block;white-space:nowrap}
.brand-ja{font-size:14px;letter-spacing:.07em;line-height:1.2}
.brand-en{font:700 9px/1.5 var(--mono);letter-spacing:.09em;color:var(--quiet);margin-top:4px}
nav{display:flex;align-items:center;gap:34px;font-size:15px}
nav a:hover,.top:hover{color:var(--red)}
.mast-tools{justify-self:end;display:flex;align-items:center;gap:8px}
.mode{background:none;border:1px solid var(--rule);display:flex;align-items:center;gap:8px;padding:7px 11px;min-height:38px;font:700 11px var(--mono);white-space:nowrap}
.mode svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.mode:hover,.translation:hover,.top:hover{border-color:var(--red);color:var(--red)}
.mode[aria-pressed=true]{color:var(--red)}
.scroll{border-block:1px solid var(--rule);position:relative;background:radial-gradient(ellipse at 51% 39%,var(--sheet) 32%,transparent 100%),linear-gradient(90deg,var(--edge),var(--paper) 12%,var(--paper) 88%,var(--edge));box-shadow:inset 0 5px 14px #5f411217,inset 0 -5px 14px #5f411217}
.hero{padding-block:25px 22px}
.ledger,.filing{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;color:var(--quiet);font:700 11px/1.4 var(--mono);letter-spacing:.12em}
.ledger{border-top:3px double var(--rule);border-bottom:1px solid var(--rule);padding-block:11px}
.ledger span:last-child,.filing span:last-child{text-align:right}
.ledger i{display:inline-block;background:var(--red);width:7px;height:7px;margin-right:5px}
.ledger b{color:var(--red)}
.hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(30px,5vw,76px);padding:48px 0 40px}
.edition{display:flex;align-items:center;gap:11px;color:var(--red);font:700 11px var(--mono);letter-spacing:.15em}
.edition-mark{font-size:12px;line-height:1.3;padding:4px 6px;border:1px solid currentColor}
h1{font-size:clamp(38px,5vw,74px);line-height:1.14;letter-spacing:.005em;margin:17px 0 3px;font-weight:800}
h1 span{white-space:nowrap}
.english-title{min-height:1.6em;margin:6px 0 0;color:var(--red);font-size:clamp(17px,2.25vw,27px);font-style:italic}
.lede{max-width:30ch;margin:8px 0 24px;font-size:clamp(17px,1.8vw,23px);line-height:1.48}
.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.action,.translation{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:9px 13px;border:1px solid var(--rule);font:700 12px var(--mono)}
.action{background:var(--seal);border-color:var(--seal);color:var(--light)}
.action:hover{background:#752218;border-color:#752218}
.action [aria-hidden]{font-size:16px}
.translation{background:transparent}
.translation[aria-pressed=true]{border-color:var(--red);color:var(--red);background:var(--sheet)}
.section-toolbar{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.section-toolbar h2{margin-bottom:0}
.section-toolbar .translation,.mast-tools .translation,.footer-tools .translation{padding:6px 9px;min-height:38px}
.translation[data-translate]{justify-content:center;min-width:40px;min-height:40px;padding:6px}
.translation img{width:22px;height:auto;box-shadow:0 0 0 1px #49382848}
.plate{min-width:0;margin:0;background:var(--sheet);border:1px solid var(--rule);padding:9px;box-shadow:4px 4px 0 var(--frame);position:relative}
.plate-art{position:relative;overflow:hidden;background:var(--frame)}
.plate-art img{width:100%;height:auto;aspect-ratio:1.51;object-fit:cover}
.plate-tab{position:absolute;top:10px;left:10px;padding:5px 8px;background:#2a231d;color:#fff0da;font:700 10px var(--mono);letter-spacing:.12em}
figcaption{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:11px 3px 3px;font:700 10px/1.4 var(--mono);letter-spacing:.08em;color:var(--quiet)}
figcaption b{color:var(--red)}
figcaption [lang=ja]{white-space:nowrap;font-size:11px}
.filing{padding-top:12px;border-top:1px solid var(--rule);font-size:10px}
.mon{color:var(--red)}
.ruled{border-bottom:1px solid var(--rule);padding-block:58px;scroll-margin-top:12px}
.section-index{margin:4px 0 10px;font:700 13px var(--mono);letter-spacing:.12em;color:var(--red);white-space:nowrap}
h2{font-size:clamp(32px,4vw,51px);font-weight:normal;letter-spacing:-.04em;line-height:1.1;margin:0 0 13px}
.mandate{display:grid;grid-template-columns:1fr 6fr 1fr;gap:35px;align-items:start}
.mandate p:not(.section-index),.artifact-copy>p:not(.section-index){margin:0;max-width:67ch;color:var(--quiet);font-size:18px}
.stamp{border:4px double currentColor;color:var(--red);line-height:1.1;justify-self:center;align-self:center;padding:8px 9px;transform:rotate(-9deg);font-size:22px;text-align:center}
.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:13px}
.section-heading p{color:var(--quiet);margin:0}
.dossiers{border-top:1px solid var(--rule)}
details{border-bottom:1px solid var(--rule)}
summary{list-style:none;display:grid;grid-template-columns:100px 1fr auto 20px;align-items:center;gap:20px;padding:15px 8px;cursor:pointer}
summary::-webkit-details-marker{display:none}
summary:hover{background:var(--sheet)}
.record-id,.record-status{color:var(--red);font:700 11px var(--mono);letter-spacing:.08em}
.record-title{font-size:21px;line-height:1.3}
.record-title .record-date{display:block;color:var(--quiet);font:700 10px var(--mono);letter-spacing:.08em;margin-top:5px}
.expand{position:relative;width:16px;height:16px;color:var(--red)}
.expand::before,.expand::after{content:"";position:absolute;background:currentColor;top:7px;left:3px;width:10px;height:1px}
.expand::after{transform:rotate(90deg)}
details[open] .expand::after{transform:none}
details p{margin:0 30px 20px 128px;max-width:68ch;color:var(--quiet)}
.artifact{display:grid;grid-template-columns:1fr 1.13fr;gap:clamp(30px,6vw,95px);align-items:center}
.artifact dl{margin:23px 0 0}
.artifact dl div{display:grid;grid-template-columns:106px 1fr;gap:10px;border-top:1px solid var(--rule);align-items:baseline;padding:6px 0}
.artifact dt{font:700 10px var(--mono);letter-spacing:.09em;color:var(--red)}
.artifact dd{margin:0;font-size:14px}
.footer{padding-block:29px 33px;display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--quiet);font-size:13px}
.footer p{margin:0}
.footer-id{color:var(--red);font:700 10px var(--mono);letter-spacing:.13em;margin-bottom:5px!important}
.footer-tools{display:flex;gap:12px;align-items:center}
.site-language{display:flex;gap:4px;align-items:center}
.site-language button{display:grid;place-items:center;width:38px;height:40px;padding:4px;border:1px solid var(--edge);background:var(--sheet)}
.site-language button[aria-pressed=true]{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
.site-language button:hover{border-color:var(--red)}
.site-language img{flex:none;object-fit:contain;box-shadow:0 0 0 1px #49382848}
.top{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--rule);padding:7px 10px;white-space:nowrap}
/* Both labels occupy the same space so the seal doesn't move on translation. */
.puff{--credit-ink:var(--red);--credit-paper:var(--sheet);display:inline-flex;align-items:center;gap:8px;padding:3px 9px 3px 5px;border:1px solid var(--rule);background:var(--credit-paper);color:var(--credit-ink);white-space:nowrap;text-align:left;-webkit-tap-highlight-color:transparent}
.puff:active{border-color:var(--red)}
.puff img{width:42px;height:43px;flex:none;object-fit:contain}
.puff-labels{display:inline-grid;align-items:center;font-size:12px;font-weight:700}
.puff-labels>span{grid-area:1/1}
.puff-en{visibility:hidden;font-family:var(--serif)}
.puff:focus-visible{--credit-ink:var(--light);--credit-paper:var(--seal);border-color:var(--seal)}
.puff:focus-visible .puff-ja{visibility:hidden}
.puff:focus-visible .puff-en{visibility:visible}
@media(hover:hover){
  .puff:hover{--credit-ink:var(--light);--credit-paper:var(--seal);border-color:var(--seal)}
  .puff:hover .puff-ja{visibility:hidden}
  .puff:hover .puff-en{visibility:visible}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:430px){.footer-tools{gap:6px}.footer-tools .translation{padding-inline:5px}.puff{padding-right:7px}}
.top{min-width:40px;justify-content:center;font-size:16px}
@media(max-width:900px){.wrap{width:calc(100% - 64px)}.masthead{gap:14px}nav{gap:17px}.hero-grid{gap:26px}h1{font-size:clamp(35px,5.2vw,62px)}}
@media(max-width:680px){.wrap{width:calc(100% - 40px)}.masthead{grid-template-columns:1fr auto;gap:8px 14px;padding:13px 0 8px}.brand{grid-column:1;grid-row:1}.mast-tools{grid-column:2;grid-row:1}nav{grid-column:1/-1;justify-content:center;border-top:1px solid var(--rule);gap:30px;padding-top:7px;font-size:14px}.hero{padding-top:17px}.ledger,.filing{font-size:9px;letter-spacing:.04em}.hero-grid{grid-template-columns:1fr;padding:29px 0 28px;gap:24px}h1{font-size:clamp(38px,9.3vw,62px)}.lede{margin-bottom:16px}.ruled{padding-block:34px}.mandate{grid-template-columns:1fr auto;gap:4px 12px}.mandate .section-index{grid-column:1/-1}.stamp{font-size:15px;padding:6px}.mandate p:not(.section-index),.artifact-copy>p:not(.section-index){font-size:16px}.section-heading{display:block}.section-heading p{margin-bottom:12px}.artifact{grid-template-columns:1fr;gap:22px}summary{grid-template-columns:60px 1fr 15px;gap:8px;padding-inline:0}.record-status{display:none}.record-title{font-size:18px}details p{margin-left:68px;margin-right:0}.footer{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:355px){.wrap{width:calc(100% - 28px)}.brand-en{letter-spacing:0}.brand{gap:6px}.brand img{width:32px}.mode{padding-inline:6px}.mast-tools .translation{padding-inline:5px}.mast-tools{gap:5px}.masthead{column-gap:8px}.ledger span:nth-child(2){text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.footer-tools{flex-wrap:wrap}
@media(max-width:355px){.mast-tools .mode svg{display:none}}
.translation img{flex:none}
@media(max-width:430px){.mast-tools{gap:5px}.mast-tools .translation{padding-inline:5px}.mast-tools .mode{padding-inline:6px;font-size:10px}.mast-tools .mode svg{display:none}}
@media(max-width:355px){.masthead .brand img{width:28px}}
