/* Hallmark · shape: Editorial Index · genre: editorial · theme: Editorial (deal 3/3, seed japanese-crypto-news-white-0302·32d6d414·2026-10-28·r0) · job: read · draw: 8cd8b6 · hero: Banner · nav: masthead and ruled index · footer: mast with colophon · imagery: none, editorial words · signature: Japanese Mincho masthead and three-point reading index · axes: light/mincho/chromatic-green · posture: restrained · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S4 R5 V4 · weakest: S, replaced generic crypto imagery with the actual article index and source-reading map. */
/* Hallmark · waive 1 · Japanese local display fonts · Japanese Mincho faces give native glyph coverage and avoid transmitting reader data to external font hosts. */
/* Hallmark · waive 59 · dense editorial index divided by rules · This publication needs compact article browsing, and the ruled hierarchy separates its sections without marketing-page gaps. */
/* Hallmark · waive 78 · Long Document and editorial index · Smaller inline headings preserve the hierarchy of a Japanese publication and readable policy documents. */
/* Hallmark · answered F15 · Column gaps are fixed per context: 40px for desktop editorial sections, 24px on phones, and 48px between the article contents rail and reading column. */
@import url('./tokens.css');

* { box-sizing: border-box; }
html { overflow-x: clip; scroll-behavior: smooth; scroll-padding-top: var(--space-xl); scrollbar-color:var(--color-rule-2) var(--color-paper); caret-color:var(--color-accent); }
body { overflow-x: clip; margin: 0; background: var(--color-paper); color: var(--color-ink); font: 400 var(--text-md)/1.85 var(--font-body); -webkit-text-size-adjust: 100%; }
h1,h2,h3,p,figure,dl,dd { margin: 0; }
h1,h2,h3 { min-width: 0; overflow-wrap: break-word; font-family: var(--font-display); font-weight: 600; line-height: 1.6; text-wrap: balance; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .25em; text-decoration-color: var(--color-rule-2); }
a:hover { color: var(--color-accent); text-decoration-color: var(--color-accent); }
button,input,select { font: inherit; color: inherit; }
button,a,input,select,summary { -webkit-tap-highlight-color: var(--color-tap); }
:where(a,button,input,select,summary,[tabindex]):focus-visible { outline: 3px solid var(--color-focus); outline-offset: 4px; }
button { cursor: pointer; }
button:active,.button:active { transform: translateY(1px); }
button:disabled { opacity: .55; cursor: not-allowed; }
[hidden] { display: none !important; }
::selection { background: var(--color-selection); color: var(--color-ink); }
.container { width: min(100%,var(--container)); padding-inline: var(--gutter); margin-inline: auto; }
.skip { position: absolute; z-index: 20; top: var(--space-md); left: var(--space-md); padding: var(--space-sm) var(--space-md); background: var(--color-ink); color: var(--color-paper); transform: translateY(-200%); }
.skip:focus-visible { transform: none; }
.masthead { display:flex; align-items:center; justify-content:space-between; gap:var(--space-lg); padding-block:var(--space-xl); }
.wordmark { display:block; font:600 clamp(24px,3vw,42px)/1.4 var(--font-display); text-decoration:none; }
.wordmark span { display:block; margin-top:var(--space-xs); font:400 12px/1.5 var(--font-body); }
.mast-note { font-size:12px; color:var(--color-muted); line-height:1.8; text-align:right; }
.site-header nav { display:flex; align-items:center; gap:var(--space-xl); border-block:1px solid var(--color-ink); border-top-width:3px; }
.site-header nav a { padding-block:var(--space-sm); font-size:13px; text-decoration:none; white-space:nowrap; }
.site-header nav a[aria-current] { color:var(--color-accent); box-shadow:inset 0 -2px var(--color-accent); }
.publisher-link { margin-left:auto; }
.hero { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:var(--space-3xl); padding-block:var(--space-3xl) var(--space-2xl); }
.hero h1 { font-size:clamp(35px,4.7vw,66px); line-height:1.55; letter-spacing:-.035em; }
.hero-lead { max-width:32em; font-size:16px; line-height:2; margin-block:var(--space-lg) var(--space-xl); }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:var(--space-2xl); min-height:50px; padding:var(--space-sm) var(--space-lg); background:var(--color-ink); color:var(--color-paper); text-decoration:none; font-size:14px; border:1px solid var(--color-ink); }
.button:hover { background:var(--color-accent); color:var(--color-accent-ink); border-color:var(--color-accent); }
.button span { font-size:20px; }
.hero-index { align-self:center; border-top:1px solid var(--color-rule-2); }
.index-title { font-size:13px; padding-block:var(--space-md); color:var(--color-muted); }
.hero-index>a { display:grid; grid-template-columns:minmax(0,1fr) auto; padding-block:var(--space-md); border-bottom:1px solid var(--color-rule); text-decoration:none; }
.hero-index>a>span:first-child { grid-column:1; font-size:11px; color:var(--color-accent); }
.hero-index strong { grid-column:1; font-size:17px; font-weight:500; }
.index-arrow { grid-column:2; grid-row:1 / 3; align-self:center; font-size:20px; }
.index-foot { font-size:11px; color:var(--color-muted); padding-top:var(--space-md); }
.section { padding-block:var(--space-2xl) var(--space-3xl); }
.section-head { display:flex; align-items:baseline; justify-content:space-between; gap:var(--space-lg); border-top:3px solid var(--color-ink); padding-block:var(--space-lg) var(--space-xl); }
.section-head h2 { font-size:29px; }
.section-head>a,.section-head>p { font-size:13px; color:var(--color-muted); }
.feature-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:var(--gap-columns); }
.lead-story { padding-right:var(--space-xl); }
.article-meta { display:flex; flex-wrap:wrap; gap:var(--space-md); align-items:center; font-size:11px; color:var(--color-muted); margin-bottom:var(--space-md); }
.article-meta>span { color:var(--color-accent); }
.lead-story h3 { font-size:clamp(26px,3vw,38px); max-width:16em; }
.story h3 { font-size:22px; }
.story h3 a,.lead-story h3 a { text-decoration:none; }
.story p,.lead-story>p { margin-top:var(--space-md); font-size:14px; line-height:1.95; max-width:65ch; color:var(--color-ink-2); }
.read-link { display:inline-flex; align-items:center; gap:var(--space-xl); margin-top:var(--space-lg); font-size:13px; text-decoration:none; }
.read-link span { font-size:18px; }
.reading-map { display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--space-md); margin-top:var(--space-xl); padding-block:var(--space-lg); border-block:1px solid var(--color-rule); font-family:var(--font-display); font-size:22px; }
.side-stories { border-left:1px solid var(--color-rule); padding-left:var(--space-xl); }
.side-stories .story+.story { border-top:1px solid var(--color-rule); margin-top:var(--space-lg); padding-top:var(--space-lg); }
.basics { padding-top:var(--space-lg); }
.basics-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--gap-columns); }
.basics-grid>.story { border-bottom:1px solid var(--color-rule); padding-bottom:var(--space-lg); }
.editor-note { background:var(--color-paper-2); padding-block:var(--space-3xl); }
.note-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--gap-columns); align-items:center; }
.note-grid h2 { font-size:clamp(30px,3.2vw,44px); }
.note-grid p { font-size:15px; line-height:2.1; max-width:65ch; }
.note-grid a { display:inline-block; font-size:13px; margin-top:var(--space-lg); }
.glossary { padding-block:var(--space-3xl); }
.glossary dl { border-top:1px solid var(--color-rule); }
.glossary dl>div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:var(--gap-columns); padding-block:var(--space-lg); border-bottom:1px solid var(--color-rule); }
.glossary dt { font-size:19px; font-family:var(--font-display); }
.glossary dd { font-size:14px; color:var(--color-ink-2); }
.site-footer { background:var(--color-footer); padding-block:var(--space-2xl) var(--space-lg); border-top:1px solid var(--color-rule); }
.footer-top { display:flex; align-items:center; justify-content:space-between; gap:var(--space-lg); padding-bottom:var(--space-xl); border-bottom:1px solid var(--color-rule); }
.footer-name { font:600 29px/1.6 var(--font-display); text-decoration:none; }
.footer-top p { font-size:13px; }
.footer-bottom { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:var(--gap-columns); padding-block:var(--space-xl); }
address { display:flex; flex-direction:column; align-items:flex-start; gap:var(--space-xs); font-style:normal; font-size:13px; overflow-wrap:anywhere; }
address strong { font-size:15px; font-weight:500; margin-bottom:var(--space-xs); }
address span { max-width:36em; color:var(--color-muted); }
.footer-bottom nav { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:var(--space-sm) var(--space-lg); align-content:start; font-size:12px; }
.footer-bottom nav a { text-decoration:none; }
.footer-risk { max-width:72em; font-size:11px; color:var(--color-muted); line-height:1.9; }
.colophon { display:flex; justify-content:space-between; gap:var(--space-lg); font-size:11px; margin-top:var(--space-xl); padding-top:var(--space-md); border-top:1px solid var(--color-rule); }
.colophon small { font-size:inherit; }
.page-head { padding-block:var(--space-2xl); }
.page-head h1 { font-size:clamp(32px,4vw,48px); }
.page-head p { font-size:15px; color:var(--color-muted); margin-top:var(--space-md); max-width:65ch; }
.article-tools { display:flex; align-items:flex-end; flex-wrap:wrap; gap:var(--space-lg); padding:var(--space-lg); background:var(--color-paper-2); margin-bottom:var(--space-lg); }
.article-tools>div { flex:1; min-width:180px; }
.article-tools label { display:block; font-size:12px; margin-bottom:var(--space-xs); }
input,select { background:var(--color-paper); width:100%; min-height:48px; border:1px solid var(--color-rule-2); border-radius:0; padding:var(--space-xs) var(--space-sm); font-size:16px; }
input::placeholder { color:var(--color-muted); }
.quiet-button { min-height:48px; padding:var(--space-xs) var(--space-lg); border:1px solid var(--color-ink); border-radius:0; background:var(--color-paper); font-size:13px; }
.quiet-button:hover { background:var(--color-ink); color:var(--color-paper); }
.result-count { font-size:12px; color:var(--color-muted); margin-block:var(--space-md); }
.archive-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-xl) var(--gap-columns); }
.archive-grid>.story { padding-block:var(--space-lg); border-top:1px solid var(--color-rule-2); }
.archive-grid h2 { font-size:26px; }
.archive-grid h2 a { text-decoration:none; }
.archive-note { border-top:1px solid var(--color-rule); padding-block:var(--space-xl) var(--space-3xl); margin-top:var(--space-xl); font-size:13px; color:var(--color-muted); }
.empty-message { padding-block:var(--space-2xl); }
.breadcrumbs { display:flex; gap:var(--space-sm); flex-wrap:wrap; padding-top:var(--space-lg); font-size:11px; color:var(--color-muted); }
.article-header { max-width:920px; padding-block:var(--space-xl) var(--space-2xl); }
.article-header h1 { font-size:clamp(29px,3.5vw,45px); line-height:1.6; }
.article-deck { max-width:42em; color:var(--color-ink-2); font-size:17px; margin-top:var(--space-lg); }
.byline { margin-top:var(--space-lg); font-size:12px; color:var(--color-muted); }
.article-layout,.document-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,3fr); gap:var(--space-2xl); padding-bottom:var(--space-3xl); }
.article-toc,.document-side { font-size:12px; padding-top:var(--space-md); border-top:1px solid var(--color-ink); }
.article-toc summary { cursor:pointer; font-weight:500; padding-block:var(--space-xs); }
.article-toc ol { padding-left:var(--space-lg); margin-block:var(--space-md) var(--space-xl); }
.article-toc li { margin-block:var(--space-sm); }
.article-toc a { text-decoration:none; }
.document-side>a { display:block; margin-top:var(--space-md); }
.prose { max-width:65ch; width:100%; }
.prose p { font-size:16px; line-height:2.05; overflow-wrap:anywhere; }
.prose .intro { font-size:18px; line-height:2; }
.prose section { margin-top:var(--space-2xl); }
.prose>section:first-child { margin-top:0; }
.prose h2 { font-size:25px; margin-bottom:var(--space-lg); }
.prose p+p { margin-top:var(--space-lg); }
.prose ul { margin:0; padding-left:var(--space-lg); }
.prose li { margin-block:var(--space-sm); line-height:2; }
.sources { border-top:1px solid var(--color-rule); padding-top:var(--space-xl); }
.sources h2,.related h2 { font-size:22px; }
.sources p { font-size:12px; color:var(--color-muted); margin-top:var(--space-lg); }
.sources li { font-size:14px; }
.article-disclosure { background:var(--color-paper-2); padding:var(--space-lg); margin-block:var(--space-xl); }
.article-disclosure p,.article-disclosure a { font-size:12px; }
.article-disclosure a { display:inline-block; margin-top:var(--space-sm); }
.related { margin-top:var(--space-2xl); }
.related>a { display:flex; align-items:center; justify-content:space-between; gap:var(--space-lg); padding-block:var(--space-md); border-bottom:1px solid var(--color-rule); text-decoration:none; font-size:14px; }
.chain-diagram { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:var(--space-sm); margin-block:var(--space-xl); }
.chain-diagram>div { border:1px solid var(--color-rule-2); padding:var(--space-lg); }
.chain-diagram span,.chain-diagram b { display:block; font-size:12px; }
.chain-diagram b { margin-top:var(--space-sm); font-weight:500; }
.chain-diagram figcaption { grid-column:1/-1; font-size:11px; color:var(--color-muted); }
.publisher-table>div { display:grid; grid-template-columns:7em minmax(0,1fr); gap:var(--space-lg); border-top:1px solid var(--color-rule); padding-block:var(--space-md); font-size:14px; }
.publisher-table dt { color:var(--color-muted); }
.publisher-table dd { overflow-wrap:anywhere; }
.prose address { margin-block:var(--space-lg); }
.error-page { min-height:500px; padding-block:var(--space-3xl); }
.error-page h1 { font-size:clamp(32px,4vw,52px); }
.error-page p { margin-block:var(--space-lg); }
.error-page>.button { margin-right:var(--space-lg); }
@media(min-width:1600px) { .hero h1 { font-size:66px; } }
@media(max-width:960px) { :root { --gutter:32px; } .hero { gap:var(--space-xl); } .hero h1 { font-size:44px; } .basics-grid { grid-template-columns:minmax(0,1fr); } .basics-grid .story { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); column-gap:var(--gap-columns); } .basics-grid .article-meta { grid-column:1/-1; } .basics-grid .story p { margin-top:0; } .article-layout,.document-layout { grid-template-columns:minmax(0,1fr) minmax(0,2.8fr); gap:var(--space-xl); } }
@media(max-width:680px) {
 :root { --gutter:22px; --gap-columns:24px; }
 .masthead { padding-block:var(--space-lg); } .wordmark { font-size:27px; } .wordmark span { font-size:10px; } .mast-note { display:none; }
 .menu-toggle { background:none; border:1px solid var(--color-rule-2); border-radius:0; padding:var(--space-xs) var(--space-sm); font-size:12px; min-height:44px; }
 .site-header nav { flex-wrap:wrap; gap:0; justify-content:flex-start; padding-block:var(--space-xs); } .site-header nav a { padding:var(--space-xs) var(--space-md) var(--space-xs) 0; font-size:12px; } .publisher-link { margin-left:0; }
 .site-header.nav-enhanced nav:not(.is-open) { display:none; } .site-header.nav-enhanced .masthead { border-bottom:3px solid var(--color-ink); }
 .hero { grid-template-columns:minmax(0,1fr); padding-block:var(--space-xl) var(--space-lg); gap:var(--space-xl); } .hero h1 { font-size:clamp(34px,7.7vw,48px); line-height:1.6; } .hero-lead { font-size:14px; margin-block:var(--space-md) var(--space-lg); }
 .hero-index { margin-top:var(--space-sm); } .hero-index>a { padding-block:var(--space-sm); } .index-title { padding-block:var(--space-sm); }
 .section { padding-block:var(--space-xl) var(--space-2xl); } .section-head { display:block; padding-block:var(--space-md) var(--space-lg); } .section-head h2 { font-size:25px; } .section-head>p,.section-head>a { display:block; margin-top:var(--space-sm); font-size:12px; }
 .feature-grid { grid-template-columns:minmax(0,1fr); } .lead-story { padding-right:0; } .lead-story h3 { font-size:29px; } .reading-map { font-size:19px; }
 .side-stories { border-left:0; padding-left:0; border-top:1px solid var(--color-rule); padding-top:var(--space-lg); }
 .story h3 { font-size:23px; } .basics-grid .story { display:block; } .basics-grid .story p { margin-top:var(--space-md); }
 .note-grid { grid-template-columns:minmax(0,1fr); gap:var(--space-lg); } .note-grid h2 { font-size:31px; } .note-grid p { font-size:14px; } .editor-note { padding-block:var(--space-2xl); }
 .glossary dl>div { grid-template-columns:minmax(0,1fr); gap:var(--space-xs); } .glossary dt { font-size:19px; }
 .footer-top { display:block; } .footer-top p { margin-top:var(--space-md); } .footer-bottom { grid-template-columns:minmax(0,1fr); gap:var(--space-xl); } .footer-name { font-size:27px; } .colophon { flex-wrap:wrap; }
 .page-head { padding-block:var(--space-xl); } .page-head h1 { font-size:31px; } .page-head p { font-size:14px; } .archive-grid { grid-template-columns:minmax(0,1fr); gap:var(--space-md); }
 .article-tools { padding:var(--space-md); gap:var(--space-md); } .article-tools>div { min-width:100%; } .archive-grid h2 { font-size:25px; }
 .article-layout,.document-layout { grid-template-columns:minmax(0,1fr); gap:var(--space-xl); } .article-header { padding-block:var(--space-xl); } .article-header h1 { font-size:30px; } .article-deck { font-size:16px; }
 .article-toc { padding:var(--space-md); background:var(--color-paper-2); border:0; } .article-toc ol { margin-bottom:var(--space-md); } .article-toc>a { display:none; }
 .document-side { display:flex; gap:var(--space-lg); flex-wrap:wrap; align-items:center; } .document-side>a { margin-top:0; } .document-side p { font-size:11px; }
 .prose h2 { font-size:23px; } .prose .intro { font-size:17px; } .prose p { font-size:16px; } .publisher-table>div { grid-template-columns:minmax(0,1fr); gap:var(--space-xs); }
 .chain-diagram>div { padding:var(--space-sm); } .chain-diagram span,.chain-diagram b { font-size:11px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } }
