:root{--page:#071a28;--panel:#102b3b;--text:#edf5f7;--muted:#b6c9d1;--cyan:#72d8e5;--line:#365463;--paper:#f3f6f5;--paper-text:#163447}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:18px}
body{margin:0;background:var(--page);color:var(--text);font-family:"Yu Gothic","Meiryo",sans-serif;font-size:16px;line-height:1.85}
a{color:inherit;text-underline-offset:4px}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
button{font:inherit;cursor:pointer}
h1,h2,h3{word-break:keep-all;line-break:strict;text-wrap:balance}
img{display:block;width:100%;height:auto}
.masthead{max-width:1320px;margin:auto;padding:18px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);font-size:13px}
.masthead a{text-decoration:none}
.brand{font-size:21px;font-weight:700;letter-spacing:.04em}
.brand span{font-size:11px;font-weight:400;letter-spacing:.13em;margin-left:12px}
.report-shell{max-width:1320px;margin:auto;padding:25px 28px 0;display:grid;grid-template-columns:216px minmax(0,960px);gap:32px;align-items:start}
.index{position:sticky;top:24px}
.index-label{font-size:11px;letter-spacing:.12em;color:var(--cyan);margin:0 0 12px}
.contents>summary{display:none}
.contents:not([open])>nav{display:none}
.contents nav{display:grid}
.index nav a{display:flex;gap:11px;padding:10px 0;border-top:1px solid var(--line);font-size:12px;line-height:1.65;text-decoration:none;color:var(--muted)}
.index nav span{font:12px Consolas,monospace;color:var(--cyan);padding-top:4px}
.index nav a:hover,.index nav a.active{color:#fff}
.download{display:block;font-size:12px;color:var(--cyan);margin-top:22px;padding:4px 0}
.index-note{color:var(--muted);font-size:11px;line-height:1.9;margin-top:15px}
.edition{display:flex;justify-content:space-between;flex-wrap:wrap;gap:5px;font-size:11px;line-height:1.6;color:var(--muted);padding-bottom:14px}
.part{scroll-margin-top:18px}
.image-stage{position:relative}
.zoom{display:block;cursor:zoom-in}
.image-cta{position:absolute;left:6%;right:6%;top:91%;bottom:3%;border-radius:999px;transition:background .18s,box-shadow .18s}
.image-cta:hover{background:#d3f9ff0d;box-shadow:inset 0 0 0 2px #b6eff5}
.analysis{background:var(--panel);padding:25px 30px 28px;border-top:1px solid var(--line);margin-bottom:22px}
.light .analysis{background:#e7eef0;color:var(--paper-text);border-color:#b8cbd3}
.analysis-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--cyan)}
.light .analysis-meta{color:#137084}
.analysis p{font-size:16px;line-height:1.95;margin:16px 0 18px;overflow-wrap:anywhere}
.sources{font-size:12px;line-height:1.75;overflow-wrap:anywhere;border-top:1px solid #466171;padding-top:14px;margin-top:16px}
.light .sources{border-color:#b8cbd3}
.sources span{display:block;font-size:11px;margin-bottom:5px;opacity:.8}
.sources a{display:block;margin:7px 0}
.transcript{border-top:1px solid #466171;margin:12px 0;font-size:14px}
.light .transcript{border-color:#b8cbd3}
.transcript summary{cursor:pointer;min-height:48px;display:list-item;padding:11px 0}
.transcript:not([open])>dl{display:none}
.transcript dl{margin:0 0 18px}
.transcript dt{font-size:16px;font-weight:700;margin-top:20px;line-height:1.7}
.transcript dd{font-size:16px;line-height:1.95;margin:8px 0 0;overflow-wrap:anywhere}
.references{padding:36px 30px;background:var(--panel)}
.references h2{font-size:22px;font-weight:500;margin:0 0 18px}
.references>p{font-size:15px;line-height:1.95}
.references ol{padding-left:23px}
.references li{padding:15px 0;border-top:1px solid var(--line);font-size:14px;overflow-wrap:anywhere}
.references li p{font-size:13px;line-height:1.9;color:var(--muted);margin:8px 0 0}
.primary{display:flex;align-items:center;justify-content:center;gap:14px;min-height:66px;margin-top:28px;padding:18px 28px;background:linear-gradient(#8fdee5,#66ccd8 48%,#4eafc0);border:1px solid #a7e9ee;border-radius:999px;color:#0a2e40;box-shadow:inset 0 1px 0 #d5f7f8,inset 0 -3px 0 #185b6f,0 5px 12px #082a3c;text-decoration:none;font-weight:700;font-size:16px;line-height:1.5}
.primary:hover{filter:brightness(1.05)}
.primary:active{transform:translateY(2px);box-shadow:inset 0 1px 0 #d5f7f8,inset 0 -1px 0 #185b6f,0 2px 6px #082a3c}
.all-download{display:block;text-align:center;color:var(--muted);font-size:13px;margin-top:18px;padding:8px 0}
footer{font-size:11px;color:var(--muted);text-align:center;padding:36px 20px 44px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip{position:absolute;top:-100px;left:16px;background:#fff;color:var(--paper-text);padding:10px;z-index:100}
.skip:focus{top:12px}
.viewer-dialog{width:min(1150px,calc(100vw - 28px));height:calc(100dvh - 28px);max-width:none;max-height:none;margin:auto;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--page);color:var(--text);overflow:hidden}
.viewer-dialog[open]{display:flex;flex-direction:column}
.viewer-dialog::backdrop{background:#04111de6}
.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;border-bottom:1px solid var(--line);flex:none;background:var(--panel)}
.viewer-toolbar h2{margin:0;font-size:15px;font-weight:400;white-space:nowrap}
.viewer-controls{display:flex;align-items:center;gap:7px}
.viewer-controls button,.viewer-controls a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid #70909f;background:#163a4c;color:var(--text);border-radius:5px;padding:4px 10px;font-size:14px;text-decoration:none}
.viewer-controls output{font:12px Consolas,monospace;min-width:40px;text-align:center}
.viewer-content{overflow:auto;flex:1;min-height:0;padding:16px;overscroll-behavior:contain;background:#061520}
.viewer-content img{width:auto;max-width:none;margin:0 auto;height:auto}
.masthead>a:last-child,.analysis-meta a{display:inline-flex;align-items:center;min-height:44px}
.index nav a{min-height:44px}
.download{min-height:44px;display:flex;align-items:center}
.sources a{min-height:44px;padding:10px 0;margin:0}
@media(max-width:1050px){.report-shell{grid-template-columns:180px minmax(0,1fr);gap:24px;padding:20px 24px 0}.index nav a{font-size:11px}.brand span{font-size:10px}}
@media(max-width:760px){
 .masthead{padding:14px 16px}.brand{font-size:19px}.brand span{display:none}.masthead>a:last-child{font-size:11px}
 .report-shell{display:block;padding:0}.index{position:static;padding:9px 16px 8px;border-bottom:1px solid var(--line)}.index-label{display:none}
 .contents>summary{display:list-item;min-height:44px;padding:10px 0;font-size:13px;cursor:pointer}.contents>summary span{font-size:11px;color:var(--muted);margin-left:8px}
 .contents nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;padding:4px 0 12px}.index nav a{font-size:12px;padding:10px 0;min-height:44px}.index nav span{font-size:12px}
 .download{font-size:11px;margin:2px 0 3px;padding:4px 0}.index-note{display:none}.edition{padding:14px 16px 12px;font-size:10px}
 .analysis{padding:21px 20px 24px;margin-bottom:14px}.analysis p{font-size:16px}.analysis-meta{font-size:11px}.sources{font-size:12px}.references{padding:30px 20px}.references h2{font-size:21px}.primary{padding:18px 23px;font-size:14px}
 .viewer-dialog{width:calc(100vw - 12px);height:calc(100dvh - 12px);border-radius:5px}.viewer-toolbar{display:block;padding:8px}.viewer-toolbar h2{font-size:13px;margin:0 0 6px}.viewer-controls{justify-content:space-between;gap:4px}.viewer-controls button,.viewer-controls a{min-width:44px;padding:4px 8px}.viewer-controls output{min-width:32px}.viewer-content{padding:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
:root{--page:#eef5f7;--panel:#fff;--text:#16394d;--muted:#486b7d;--cyan:#167f94;--line:#b6cdd6;--paper:#f6f9fa;--paper-text:#16394d}
.masthead{background:#eef5f7}.brand{font-size:20px;letter-spacing:0;font-weight:600}
.index-label{font-size:12px;letter-spacing:.02em}.index nav a:hover,.index nav a.active{color:#095a70}
.analysis{padding:12px 26px 18px;margin-bottom:18px;background:#fff;border-bottom:1px solid var(--line)}
.light .analysis{background:#fff;color:#16394d}.analysis-meta{align-items:center;color:#17687c}
.analysis-meta span{color:#486b7d}.transcript{margin:0}.transcript summary{font-size:15px;min-height:50px}
.references{background:#fff}.references>p{font-size:16px}.source-details{margin-top:24px;border-top:1px solid var(--line);font-size:15px}
.source-details summary{cursor:pointer;min-height:48px;padding:12px 0}.source-details:not([open])>ol,.source-details:not([open])>p{display:none}
.source-details a{display:block;min-height:44px;padding:8px 0}.source-details p{font-size:14px;color:#486b7d}
.viewer-dialog{background:#12384d;color:#f7fbfc}.viewer-toolbar{background:#163d52}.viewer-controls button,.viewer-controls a{color:#f7fbfc}
.index-note{font-size:12px}.download{font-size:13px}.edition{font-size:12px;line-height:1.8}
.image-cta:hover{background:#d3f9ff0d;box-shadow:inset 0 0 0 2px #b6eff5}
@media(max-width:760px){.brand{font-size:17px}.analysis{padding:10px 20px 16px}.edition{font-size:11px}.download{font-size:12px}.index-label{display:none}.references h2{font-size:20px}}
.part-heading,.part-intro{display:none}
.reading-mode{display:flex;gap:12px;margin:0 0 18px;padding:10px 16px 14px;border:1px solid #b6cdd6;border-radius:6px;background:#fff}
.reading-mode legend{font-size:13px;padding:0 6px}.reading-mode label{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;min-width:145px;padding:8px 14px;border:1px solid #b6cdd6;border-radius:5px;font-size:15px;cursor:pointer}
.reading-mode label:has(input:checked){background:#e7f2f5;border-color:#167f94}.reading-mode input{accent-color:#167f94;width:18px;height:18px;margin:0}
body[data-reading="text"] .image-stage{display:none}
body[data-reading="text"] .part-heading{display:block;font-size:25px;line-height:1.6;font-weight:500;padding:26px 24px 0;margin:0;background:#fff;color:#16394d}
body[data-reading="text"] .part-heading span{display:block;font-size:12px;color:#167f94;margin-bottom:8px}
body[data-reading="text"] .part-intro{display:block;margin:0;padding:12px 24px 6px;background:#fff;color:#486b7d;font-size:16px;line-height:1.9}
body[data-reading="text"] .analysis{border-top:0}
body[data-reading="text"] .transcript>summary{display:none}
body[data-reading="text"] .transcript{border-top:0}
body[data-reading="text"] .transcript dd{font-size:18px;line-height:1.95}
body[data-reading="text"] .transcript dt{font-size:18px;line-height:1.7;color:#17687c}
body[data-reading="text"] .part{border-top:2px solid #c6dce4}
@media(max-width:760px){.reading-mode{margin:0 14px 18px;gap:9px;padding:8px 10px 11px}.reading-mode label{min-width:0;flex:1;font-size:14px;padding:8px}.part-heading br{display:block}body[data-reading="text"] .part-heading{font-size:24px;padding:24px 20px 0}body[data-reading="text"] .part-intro{padding:10px 20px 4px}body[data-reading="text"] .transcript dd{font-size:17px}}
