/* Integration shell for joint-governance redesign */
.rxjg-light-shell {
  color-scheme: light;
  background: #11141b !important;
  color: #11141b;
  isolation: isolate;
}
.rxjg-host {
  min-width: 0;
  background: transparent;
}
[data-rxjg-root] {
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  line-height: 1.9;
  letter-spacing: .015em;
  -webkit-font-smoothing: antialiased;
}
[data-rxjg-root] *,
[data-rxjg-root] *::before,
[data-rxjg-root] *::after {
  box-sizing: border-box;
}
[data-rxjg-root] a { color: inherit; }
[data-rxjg-root] img,
[data-rxjg-root] svg { max-width: 100%; }
html:has([data-rxjg-root]) body {
  background: #11141b;
}
[data-rxjg-root] .site-footer { display: none; }

[data-rxjg-root] {
  --ink: #11141b;
  --ink-2: #1a1f29;
  --ink-3: #262d38;
  --paper: #f5f1e8;
  --paper-2: #ebe4d6;
  --paper-3: #ddd3c1;
  --white: #fffdf8;
  --red: #c94f3e;
  --red-deep: #8c3028;
  --gold: #c79a54;
  --gold-light: #e6c687;
  --teal: #2f7875;
  --teal-light: #9cc3be;
  --blue: #60799a;
  --muted: #6c6f72;
  --line: rgba(17,20,27,.16);
  --line-light: rgba(255,255,255,.16);
  --reading: 780px;
  --wide: 1180px;
  --shadow: 0 24px 70px rgba(17,20,27,.14);
  --sans: "Noto Sans CJK JP", "Noto Sans JP", "Hiragino Sans", "Yu Gothic", system-ui, -apple-system, sans-serif;
  --serif: "Noto Serif CJK JP", "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
}
[data-rxjg-root] section[id] { scroll-margin-top: 88px; }
[data-rxjg-root] ::selection { background: var(--gold-light); color: var(--ink); }
.skip-link { position: fixed; z-index: 1000; top: -100px; left: 16px; padding: 10px 16px; background: var(--white); color: var(--ink); border-radius: 6px; }
.skip-link:focus { top: 12px; }
.reading-progress { position: fixed; z-index: 999; inset: 0 0 auto; height: 3px; background: transparent; }
.reading-progress span { display:block; width:0; height:100%; background: var(--red); }

.site-header { position: fixed; z-index: 900; top: 3px; left: 0; right: 0; height: 68px; display:flex; align-items:center; justify-content:space-between; padding: 0 32px; color: rgba(255,255,255,.86); background: rgba(17,20,27,.84); border-bottom: 1px solid rgba(255,255,255,.08); backdrop-filter: blur(18px); }
.brand { display:flex; align-items:center; gap: 10px; text-decoration:none; line-height:1; }
.brand-mark { display:grid; place-items:center; width:32px; height:32px; border:1px solid var(--gold); color:var(--gold-light); font-family:var(--serif); font-size:18px; transform:rotate(45deg); }
.brand-mark::first-letter { transform:rotate(-45deg); }
.brand > span:last-child { display:flex; align-items:baseline; gap:5px; }
.brand b { font-size:14px; letter-spacing:.18em; }
.brand small { font-size:10px; letter-spacing:.12em; opacity:.7; }
.site-header nav { display:flex; gap: 25px; font-size:11px; letter-spacing:.08em; }
.site-header nav a { text-decoration:none; opacity:.7; transition:.2s ease; }
.site-header nav a:hover, .site-header nav a:focus-visible { opacity:1; color:var(--gold-light); }
.nav-toggle { display:none; border:1px solid rgba(255,255,255,.18); color:white; background:transparent; padding:7px 12px; border-radius:99px; font:inherit; font-size:11px; }
.mobile-nav { display:none; }

.hero { position:relative; overflow:hidden; min-height: 930px; color:var(--white); background:
  radial-gradient(circle at 82% 18%, rgba(201,79,62,.18), transparent 28%),
  radial-gradient(circle at 20% 45%, rgba(47,120,117,.12), transparent 32%),
  linear-gradient(145deg, #0b0d12 0%, #141821 56%, #0d1016 100%); padding: 150px 24px 100px; }
.hero::before { content:"権"; position:absolute; right:-2vw; top:30px; font-family:var(--serif); font-size:min(38vw, 560px); line-height:1; color:rgba(255,255,255,.023); font-weight:700; pointer-events:none; }
.hero::after { content:""; position:absolute; inset:70px 7vw 40px; border:1px solid rgba(255,255,255,.055); pointer-events:none; }
.hero-grain { position:absolute; inset:0; opacity:.12; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E"); }
.hero-inner { position:relative; z-index:1; max-width: var(--wide); margin:0 auto; }
.hero-meta { display:flex; flex-wrap:wrap; gap:0; margin-bottom: 55px; color:rgba(255,255,255,.54); font-size:10px; letter-spacing:.13em; text-transform:uppercase; }
.hero-meta span, .hero-meta time { padding:0 13px; border-left:1px solid rgba(255,255,255,.2); }
.hero-meta span:first-child { padding-left:0; border-left:0; color:var(--gold-light); }
.eyebrow { margin:0 0 16px; color:var(--red); font-size:11px; font-weight:800; letter-spacing:.18em; }
.hero h1 { max-width:1020px; margin:0; font-family:var(--serif); font-size:clamp(42px, 6.2vw, 88px); font-weight:700; line-height:1.17; letter-spacing:-.045em; }
.hero h1 em { color:var(--gold-light); font-style:normal; }
.hero-lead { max-width:830px; margin:34px 0 48px; color:rgba(255,255,255,.78); font-size:clamp(17px, 1.8vw, 23px); line-height:1.8; }
.hero-lead strong { color:white; }
.answer-slab { position:relative; max-width:1000px; margin:0; padding:34px 38px 34px 43px; border:1px solid rgba(230,198,135,.35); border-left:5px solid var(--gold); background:rgba(255,255,255,.055); box-shadow:0 30px 80px rgba(0,0,0,.2); backdrop-filter: blur(8px); }
.slab-kicker { margin-bottom:10px; color:var(--gold-light); font-size:10px; letter-spacing:.16em; font-weight:800; }
.answer-slab h2 { margin:0 0 14px; font-family:var(--serif); font-size:clamp(23px,3.2vw,40px); line-height:1.45; }
.answer-slab p { margin:0; color:rgba(255,255,255,.74); font-size:15px; }
.answer-slab strong { color:white; }
.hero-facts { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:35px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.14); }
.hero-facts > div { min-height:160px; padding:22px; background:rgba(14,17,23,.78); }
.hero-facts p { margin:13px 0 0; color:rgba(255,255,255,.62); font-size:12px; line-height:1.75; }
.evidence { display:inline-flex; align-items:center; min-height:23px; padding:2px 8px; border-radius:99px; font-size:10px; font-weight:800; letter-spacing:.07em; white-space:nowrap; }
.evidence.confirmed { color:#d8f0ed; background:rgba(47,120,117,.45); border:1px solid rgba(156,195,190,.35); }
.evidence.inference { color:#f6e6bd; background:rgba(199,154,84,.28); border:1px solid rgba(230,198,135,.32); }
.evidence.hypothesis { color:#ffd9d2; background:rgba(201,79,62,.32); border:1px solid rgba(233,137,120,.35); }
.evidence.unknown { color:#e1e3e7; background:rgba(108,111,114,.35); border:1px solid rgba(255,255,255,.18); }
.hero-route { margin:25px 0 0; color:rgba(255,255,255,.5); font-size:12px; }
.hero-route b { color:rgba(255,255,255,.76); }

.section-shell { margin:0 auto; padding-left:24px; padding-right:24px; }
.section-shell.reading { max-width:calc(var(--reading) + 48px); }
.section-shell.wide { max-width:calc(var(--wide) + 48px); }
.figure-section { padding:100px 0; background:var(--paper-2); }
.figure-primary { position:relative; }
.figure-primary::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg, transparent 0 49.9%, rgba(17,20,27,.04) 50%, transparent 50.1%); background-size:72px 100%; opacity:.5; pointer-events:none; }
.figure-heading { position:relative; z-index:1; margin-bottom:35px; }
.figure-heading p { margin:0 0 6px; color:var(--red); font-size:10px; font-weight:800; letter-spacing:.18em; }
.figure-heading h2, .figure-heading h3 { margin:0; font-family:var(--serif); line-height:1.45; letter-spacing:-.025em; }
.figure-heading h2 { font-size:clamp(28px,4vw,52px); }
.figure-heading h3 { font-size:clamp(22px,3vw,34px); }
.figure-heading.compact { margin-bottom:25px; }

.handover-map { position:relative; margin:0; padding:32px; background:var(--ink); color:var(--white); box-shadow:var(--shadow); }
.actor-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-bottom:30px; background:rgba(255,255,255,.13); }
.actor { min-height:95px; padding:17px 18px; background:var(--ink-2); border-top:3px solid transparent; }
.actor b { display:block; font-family:var(--serif); font-size:16px; }
.actor span { display:block; margin-top:6px; color:rgba(255,255,255,.5); font-size:11px; line-height:1.5; }
.actor.ripple { border-color:var(--red); }.actor.members { border-color:var(--gold); }.actor.independent { border-color:var(--blue); }.actor.oversight { border-color:var(--teal); }
.transfer-title { display:grid; grid-template-columns:1fr 2.2fr 1fr; align-items:end; gap:12px; margin:0 0 8px; color:rgba(255,255,255,.4); font-size:9px; letter-spacing:.12em; text-align:center; }
.transfer-title b { color:var(--gold-light); font-size:10px; }
.transfer-row { display:grid; grid-template-columns:1fr 2.2fr 1fr; gap:12px; align-items:stretch; margin-top:8px; }
.from, .to { display:grid; place-items:center; min-height:102px; padding:12px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.025); text-align:center; font-size:13px; line-height:1.5; }
.from { color:rgba(255,255,255,.58); }
.to { color:white; border-color:rgba(230,198,135,.28); background:rgba(199,154,84,.065); font-weight:700; }
.to small { color:rgba(255,255,255,.48); font-weight:400; }
.key { display:flex; align-items:center; gap:18px; min-height:102px; padding:15px 22px; background:linear-gradient(90deg, rgba(201,79,62,.15), rgba(199,154,84,.1)); border:1px solid rgba(230,198,135,.2); }
.key-icon { display:grid; place-items:center; flex:0 0 42px; width:42px; height:42px; border:1px solid var(--gold); color:var(--gold-light); transform:rotate(45deg); }
.key > div { min-width:0; }
.key small { display:block; color:var(--red); font-size:8px; letter-spacing:.16em; }
.key b { display:block; font-family:var(--serif); font-size:19px; line-height:1.45; }
.key p { margin:2px 0 0; color:rgba(255,255,255,.48); font-size:11px; line-height:1.45; }
.protocol-rail { display:grid; grid-template-columns:1.1fr 2.4fr .8fr; gap:20px; align-items:center; margin-top:24px; padding:22px; border:1px solid rgba(156,195,190,.42); background:rgba(47,120,117,.12); }
.protocol-rail > div:first-child span { display:block; color:var(--teal-light); font-size:9px; letter-spacing:.12em; }
.protocol-rail b { font-family:var(--serif); font-size:17px; }
.protocol-rail p { margin:0; color:rgba(255,255,255,.62); font-size:11px; line-height:1.65; }
.rail-end { color:var(--teal-light); font-size:10px; font-weight:800; letter-spacing:.12em; text-align:right; }
.handover-map figcaption, .three-lanes figcaption, .org-blueprint figcaption, .decision-flow figcaption { margin-top:25px; padding-top:18px; border-top:1px solid var(--line-light); color:rgba(255,255,255,.56); font-size:12px; line-height:1.75; }
.handover-map figcaption b { color:white; }

.chapter { padding:120px 0; background:var(--paper); }
.chapter.alt { background:var(--white); }
.chapter.dark { color:var(--white); background:var(--ink); }
.chapter.architecture { background:#ded5c6; }
.chapter.transition { background:var(--white); }
.chapter.evidence-section { background:#eae3d7; }
.chapter-head { display:grid; grid-template-columns:90px 1fr; align-items:start; gap:25px; margin-bottom:40px; }
.chapter-head > span { color:var(--red); font-family:var(--serif); font-size:72px; line-height:.8; opacity:.8; }
.chapter-head p { margin:0 0 6px; color:var(--red); font-size:10px; font-weight:800; letter-spacing:.18em; }
.chapter-head h2 { margin:0; font-family:var(--serif); font-size:clamp(30px,4vw,50px); line-height:1.35; letter-spacing:-.035em; }
.section-intro { max-width:850px; margin:0 0 45px; font-size:17px; }
.chapter p { font-size:16px; }
.thesis-line { margin:0 0 35px; padding:28px 0 28px 28px; border-left:5px solid var(--red); font-family:var(--serif); font-size:clamp(21px,2.6vw,31px)!important; line-height:1.75; }
.thesis-line.small { margin-top:45px; font-size:23px!important; }
.core-correction { margin:50px 0 0; padding:34px; background:var(--ink); color:var(--white); box-shadow:var(--shadow); }
.core-correction > span { color:var(--gold-light); font-size:10px; font-weight:800; letter-spacing:.13em; }
.core-correction h3 { margin:7px 0 10px; font-family:var(--serif); font-size:25px; }
.core-correction p { margin:0; color:rgba(255,255,255,.7); font-size:14px; }
sup a { margin-left:3px; color:var(--red); text-decoration:none; font-size:10px; font-weight:800; }
.dark sup a { color:var(--gold-light); }

.three-lanes { margin:0; padding:32px; color:var(--white); background:var(--ink); box-shadow:var(--shadow); }
.lane { display:grid; grid-template-columns:70px 1.1fr 2fr .9fr; align-items:center; gap:20px; min-height:132px; margin-top:1px; padding:22px; background:var(--ink-2); border-left:4px solid; }
.lane.company { border-color:var(--red); }.lane.scheme { border-color:var(--gold); }.lane.protocol { border-color:var(--teal); }
.lane-no { font-family:var(--serif); font-size:48px; opacity:.25; }
.lane-title small { display:block; color:rgba(255,255,255,.38); font-size:8px; letter-spacing:.14em; }
.lane-title b { display:block; margin-top:4px; font-family:var(--serif); font-size:19px; }
.lane-body p { margin:0 0 7px; color:rgba(255,255,255,.55); font-size:12px; line-height:1.55; }
.lane-body strong { font-size:12px; }
.lane-verdict { padding:8px 10px; border:1px solid rgba(255,255,255,.16); text-align:center; font-size:10px; font-weight:800; }
.three-lanes figcaption { border-color:rgba(255,255,255,.12); }
.explain-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:45px; }
.explain-grid > div { padding-top:18px; border-top:2px solid var(--ink); }
.explain-grid span { color:var(--red); font-size:10px; font-weight:800; letter-spacing:.08em; }
.explain-grid p { margin:7px 0 0; font-size:13px; }

.evidence-ledger { margin-top:45px; border-top:1px solid var(--line); }
.ledger-row { display:grid; grid-template-columns:220px 1fr; gap:35px; padding:28px 0; border-bottom:1px solid var(--line); }
.ledger-row h3 { margin:10px 0 0; font-family:var(--serif); font-size:20px; }
.ledger-row p { margin:0; font-size:14px; }
.pull-quote { margin:55px calc((var(--reading) - 100vw)/4) 0; padding:38px; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); font-family:var(--serif); font-size:clamp(21px,3vw,31px)!important; line-height:1.7; text-align:center; }

.rights-list { border-top:1px solid var(--line-light); }
.right-item { display:grid; grid-template-columns:90px 1fr 210px; gap:30px; padding:45px 0; border-bottom:1px solid var(--line-light); }
.right-number { color:var(--gold-light); font-family:var(--serif); font-size:52px; opacity:.55; }
.right-label { margin:0!important; color:var(--red)!important; font-size:9px!important; font-weight:800; letter-spacing:.16em; }
.right-main h3 { margin:4px 0 20px; font-family:var(--serif); font-size:27px; }
.explain-flow p { margin:7px 0; color:rgba(255,255,255,.65); font-size:13px; line-height:1.8; }
.explain-flow b { color:white; }
.right-target { align-self:center; padding:20px; border:1px solid rgba(230,198,135,.3); background:rgba(199,154,84,.07); }
.right-target small { display:block; color:var(--gold-light); font-size:9px; letter-spacing:.12em; }
.right-target b { display:block; margin:5px 0; font-family:var(--serif); font-size:16px; line-height:1.45; }
.right-target span { color:rgba(255,255,255,.48); font-size:11px; }

.actor-roles { margin:40px 0 0; }
.actor-roles > div { display:grid; grid-template-columns:210px 1fr; gap:35px; padding:28px 0; border-top:1px solid var(--line); }
.actor-roles > div:last-child { border-bottom:1px solid var(--line); }
.actor-roles dt { font-family:var(--serif); font-size:18px; font-weight:700; }
.actor-roles dt span { display:inline-grid; place-items:center; width:30px; height:30px; margin-right:10px; border:1px solid var(--red); color:var(--red); font-family:var(--sans); font-size:9px; }
.actor-roles dd { margin:0; font-size:14px; }
.actor-roles em { color:var(--red-deep); font-style:normal; font-weight:700; }

.org-blueprint { margin:0; padding:32px; background:var(--ink); color:var(--white); box-shadow:var(--shadow); }
.oversight-band { display:grid; grid-template-columns:120px 1fr 2fr; align-items:center; gap:18px; padding:17px 20px; border:1px solid rgba(156,195,190,.35); background:rgba(47,120,117,.13); }
.oversight-band span { color:var(--teal-light); font-size:9px; font-weight:800; letter-spacing:.1em; }
.oversight-band b { font-family:var(--serif); font-size:17px; }
.oversight-band p { margin:0; color:rgba(255,255,255,.46); font-size:10px; }
.org-grid { display:grid; grid-template-columns:1fr 50px 1.5fr 50px 1.7fr; grid-template-rows:auto auto; gap:12px; margin-top:20px; align-items:stretch; }
.org-grid > div:not(.org-arrow) { padding:22px; border:1px solid rgba(255,255,255,.13); background:var(--ink-2); }
.org-grid small { display:block; color:var(--red); font-size:8px; font-weight:800; letter-spacing:.14em; }
.org-grid h4 { margin:7px 0 9px; font-family:var(--serif); font-size:20px; }
.org-grid p { margin:0; color:rgba(255,255,255,.54); font-size:11px; line-height:1.65; }
.org-arrow { display:grid; place-items:center; color:var(--gold-light); font-size:26px; transform:rotate(-90deg); }
.org-members { grid-column:1; grid-row:1; border-top:3px solid var(--gold)!important; }
.org-holding { grid-column:3; grid-row:1; border-top:3px solid var(--gold)!important; }
.org-operator { grid-column:5; grid-row:1; border-top:3px solid var(--red)!important; }
.org-grid > .org-arrow:nth-of-type(2) { grid-column:2; grid-row:1; }
.org-grid > .org-arrow:nth-of-type(4) { grid-column:4; grid-row:1; }
.board-strip, .committees { display:flex; flex-wrap:wrap; gap:5px; margin-top:14px; }
.board-strip span, .board-strip b, .committees span { padding:4px 7px; border:1px solid rgba(255,255,255,.13); color:rgba(255,255,255,.6); font-size:8px; }
.board-strip b { color:var(--gold-light); }
.org-vendor { grid-column:1 / 3; grid-row:2; border-top:3px solid var(--blue)!important; }
.org-protocol { grid-column:3 / 6; grid-row:2; border-top:3px solid var(--teal)!important; }
.org-blueprint figcaption { border-color:rgba(255,255,255,.13); }
.org-blueprint figcaption .evidence { margin-right:8px; }
.why-cls { display:grid; grid-template-columns:1fr 1.5fr; gap:60px; margin-top:55px; padding-top:35px; border-top:1px solid var(--ink); }
.why-cls h3 { margin:0; font-family:var(--serif); font-size:27px; line-height:1.55; }
.why-cls p { margin:0; font-size:14px; }

.decision-flow { margin:0; padding:32px; background:var(--ink); color:var(--white); box-shadow:var(--shadow); }
.normal-path, .emergency-path { position:relative; padding-left:115px; }
.path-label { position:absolute; left:0; top:0; width:88px; padding:7px; border:1px solid rgba(255,255,255,.2); color:var(--gold-light); font-size:9px; font-weight:800; letter-spacing:.08em; text-align:center; }
.normal-path ol { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin:0; padding:0; list-style:none; background:rgba(255,255,255,.12); }
.normal-path li { position:relative; min-height:118px; padding:17px; background:var(--ink-2); }
.normal-path li span { display:block; color:var(--red); font-family:var(--serif); font-size:22px; }
.normal-path li b { display:block; font-family:var(--serif); font-size:15px; }
.normal-path li small { display:block; margin-top:8px; color:rgba(255,255,255,.43); font-size:9px; line-height:1.5; }
.emergency-path { margin-top:22px; padding-top:0; }
.emergency-core { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 22px; border:1px solid rgba(201,79,62,.45); background:rgba(201,79,62,.12); }
.emergency-core b { font-family:var(--serif); font-size:17px; }
.emergency-core span { color:rgba(255,255,255,.5); font-size:10px; }
.emergency-guard { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:1px; background:rgba(255,255,255,.12); }
.emergency-guard span { padding:10px; background:var(--ink-2); color:rgba(255,255,255,.6); font-size:9px; text-align:center; }
.decision-flow figcaption { border-color:rgba(255,255,255,.13); }
.decision-rules { display:grid; grid-template-columns:1.2fr repeat(4,1fr); gap:22px; margin-top:55px; padding-top:30px; border-top:1px solid var(--ink); }
.decision-rules h3 { margin:0; font-family:var(--serif); font-size:24px; line-height:1.5; }
.decision-rules b { display:block; color:var(--red-deep); font-size:12px; }
.decision-rules p { margin:8px 0 0; font-size:12px; line-height:1.7; }

.transition-stages { margin:45px 0; border-top:1px solid var(--line); }
.stage { display:grid; grid-template-columns:100px 1.1fr 2fr 180px; gap:25px; align-items:center; padding:26px 0; border-bottom:1px solid var(--line); }
.stage > span { color:var(--red); font-size:9px; font-weight:800; letter-spacing:.12em; }
.stage h3 { margin:0; font-family:var(--serif); font-size:20px; }
.stage p { margin:0; font-size:12px; }
.stage > b { padding:6px 10px; border:1px solid var(--line); font-size:10px; text-align:center; }
.stage.done > b { color:var(--teal); border-color:rgba(47,120,117,.4); }.stage.next > b { color:var(--gold); border-color:rgba(199,154,84,.4); }.stage.future > b { color:var(--red-deep); border-color:rgba(201,79,62,.35); }

.proof-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.proof { padding:32px; background:var(--ink); color:var(--white); }
.proof h3 { margin:0 0 20px; padding-bottom:18px; border-bottom:1px solid var(--line-light); font-family:var(--serif); font-size:23px; }
.proof.positive h3 { color:var(--gold-light); }.proof.negative h3 { color:#e69b8e; }
.proof ol { margin:0; padding:0; list-style:none; counter-reset:proof; }
.proof li { counter-increment:proof; display:grid; grid-template-columns:1.1fr 1.4fr; gap:18px; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.09); }
.proof li b { font-size:12px; }.proof li span { color:rgba(255,255,255,.5); font-size:10px; line-height:1.6; }
.status-conclusion { margin-top:55px; padding:40px; border:1px solid var(--ink); background:var(--white); }
.status-conclusion h3 { margin:15px 0; font-family:var(--serif); font-size:clamp(25px,3.5vw,39px); line-height:1.55; }
.status-conclusion p { margin:0; font-size:14px; }

.final-answer { position:relative; overflow:hidden; padding:130px 0; color:var(--white); background:linear-gradient(145deg,#10131a,#1a1d23); }
.final-answer::before { content:"決"; position:absolute; left:-20px; bottom:-100px; color:rgba(255,255,255,.025); font-family:var(--serif); font-size:420px; line-height:1; }
.final-answer .section-shell { position:relative; }
.final-answer h2 { margin:0 0 40px; font-family:var(--serif); font-size:clamp(34px,5vw,61px); line-height:1.45; letter-spacing:-.04em; }
.final-answer h2 em { color:var(--gold-light); font-style:normal; }
.final-answer p { color:rgba(255,255,255,.68); font-size:16px; }
.final-formula { display:grid; grid-template-columns:1fr auto auto 1fr auto; align-items:center; gap:14px; margin-top:50px; padding:25px 0; border-top:1px solid var(--line-light); border-bottom:1px solid var(--line-light); }
.final-formula span { color:rgba(255,255,255,.46); font-size:9px; letter-spacing:.1em; }.final-formula b { color:var(--gold-light); font-family:var(--serif); font-size:22px; }.final-formula i { color:var(--red); font-style:normal; }

.faq-section { padding:110px 0; background:var(--paper); }
.faq-section h2 { margin:0 0 35px; font-family:var(--serif); font-size:38px; }
details { border-top:1px solid var(--line); }
details:last-of-type { border-bottom:1px solid var(--line); }
summary { cursor:pointer; padding:22px 45px 22px 0; list-style:none; position:relative; font-family:var(--serif); font-size:18px; font-weight:700; }
summary::-webkit-details-marker { display:none; }
summary::after { content:"＋"; position:absolute; right:5px; top:20px; color:var(--red); font-family:var(--sans); font-size:18px; }
details[open] summary::after { content:"−"; }
details p { margin:0; padding:0 25px 24px 0; font-size:14px; }

.related-section { padding:100px 0; background:#ded5c6; }
.related-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:30px; }
.related-head p { margin:0; color:var(--red); font-size:10px; font-weight:800; letter-spacing:.15em; }.related-head h2 { margin:0; font-family:var(--serif); font-size:35px; }
.related-links { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(17,20,27,.16); border:1px solid rgba(17,20,27,.16); }
.related-links a { min-height:220px; padding:28px; background:var(--paper); text-decoration:none; transition:.25s ease; }
.related-links a:hover { background:var(--white); transform:translateY(-4px); }
.related-links span { color:var(--red); font-size:9px; font-weight:800; letter-spacing:.1em; }.related-links b { display:block; margin:12px 0; font-family:var(--serif); font-size:20px; line-height:1.5; }.related-links small { color:var(--muted); font-size:11px; line-height:1.6; }

.sources { padding:110px 0; background:var(--white); }
.sources h2 { margin:0 0 35px; font-family:var(--serif); font-size:34px; }
.sources ol { margin:0; padding:0; list-style:none; counter-reset:sources; border-top:1px solid var(--line); }
.sources li { counter-increment:sources; display:grid; grid-template-columns:1.15fr 1fr; gap:25px; padding:17px 0 17px 38px; position:relative; border-bottom:1px solid var(--line); }
.sources li::before { content:"[" counter(sources) "]"; position:absolute; left:0; top:18px; color:var(--red); font-size:10px; font-weight:800; }
.sources li a { font-size:12px; font-weight:700; text-underline-offset:3px; }.sources li span { color:var(--muted); font-size:10px; }
.method-note { margin:35px 0 0; padding:22px; background:var(--paper); font-size:12px!important; }

.site-footer { padding:70px 32px 35px; color:rgba(255,255,255,.64); background:#090b0f; }
.footer-inner { max-width:var(--wide); margin:0 auto; display:flex; justify-content:space-between; gap:40px; align-items:flex-start; }
.footer-brand { color:white; }.footer-inner p { margin:20px 0 0; font-family:var(--serif); font-size:14px; }
.footer-links { display:flex; gap:25px; font-size:11px; }.footer-links a { text-decoration:none; }
.disclaimer { max-width:var(--wide); margin:60px auto 0; padding-top:25px; border-top:1px solid rgba(255,255,255,.1); font-size:9px; line-height:1.8; }

@media (max-width: 980px) {
  .site-header { padding:0 18px; }.site-header nav { display:none; }.nav-toggle { display:block; }
  .mobile-nav { position:fixed; z-index:850; top:71px; right:12px; width:min(300px,calc(100vw - 24px)); padding:12px; background:rgba(17,20,27,.97); border:1px solid rgba(255,255,255,.14); box-shadow:0 24px 60px rgba(0,0,0,.35); }
  .mobile-nav.open { display:grid; grid-template-columns:1fr 1fr; }
  .mobile-nav a { padding:10px; color:rgba(255,255,255,.75); text-decoration:none; font-size:11px; }
  .hero { min-height:auto; padding-top:120px; }.hero::after { inset:70px 18px 25px; }.hero-facts { grid-template-columns:1fr 1fr; }
  .actor-strip { grid-template-columns:1fr 1fr; }
  .lane { grid-template-columns:60px 1fr 1.5fr; }.lane-verdict { grid-column:2 / 4; }
  .rights-list .right-item { grid-template-columns:70px 1fr; }.right-target { grid-column:2; }
  .org-grid { grid-template-columns:1fr; grid-template-rows:auto; }.org-members,.org-holding,.org-operator,.org-vendor,.org-protocol,.org-grid > .org-arrow:nth-of-type(2),.org-grid > .org-arrow:nth-of-type(4) { grid-column:1; grid-row:auto; }
  .org-arrow { transform:none; }
  .oversight-band { grid-template-columns:100px 1fr; }.oversight-band p { grid-column:2; }
  .normal-path ol { grid-template-columns:repeat(2,1fr); }
  .decision-rules { grid-template-columns:1fr 1fr; }.decision-rules h3 { grid-column:1 / 3; }
  .stage { grid-template-columns:90px 1fr 150px; }.stage p { grid-column:2 / 4; }
}

@media (max-width: 700px) {
  .site-header { height:58px; }.mobile-nav { top:61px; }
  .brand-mark { width:27px; height:27px; }.brand b { font-size:12px; }
  .hero { padding:105px 18px 75px; }.hero::after { display:none; }.hero-meta { margin-bottom:35px; }.hero-meta span,.hero-meta time { padding:0 7px; }
  .hero h1 { font-size:clamp(36px,10vw,56px); }.hero h1 br { display:none; }
  .hero-lead { margin:25px 0 35px; font-size:16px; }
  .answer-slab { padding:25px 22px; }.answer-slab h2 { font-size:23px; }
  .hero-facts { grid-template-columns:1fr; }.hero-facts > div { min-height:0; }
  .hero-route { font-size:11px; }
  .figure-section,.chapter,.faq-section,.related-section,.sources { padding:80px 0; }
  .section-shell { padding-left:18px; padding-right:18px; }
  .chapter-head { grid-template-columns:55px 1fr; gap:12px; }.chapter-head > span { font-size:48px; }.chapter-head h2 { font-size:29px; }
  .handover-map,.three-lanes,.org-blueprint,.decision-flow { margin-left:-18px; margin-right:-18px; padding:20px 16px; }
  .actor-strip { grid-template-columns:1fr; }.actor { min-height:0; }
  .transfer-title { display:none; }
  .transfer-row { grid-template-columns:1fr; gap:0; margin-top:18px; border:1px solid rgba(255,255,255,.13); }
  .from,.to { min-height:0; padding:10px; border:0; }.from { background:rgba(255,255,255,.04); }.from::before { content:"初期："; color:var(--red); }.to::before { content:"成熟："; color:var(--gold-light); }
  .key { border-left:0; border-right:0; }.key b { font-size:17px; }
  .protocol-rail { grid-template-columns:1fr; gap:10px; }.rail-end { text-align:left; }
  .lane { grid-template-columns:45px 1fr; gap:12px; padding:18px 14px; }.lane-body,.lane-verdict { grid-column:2; }.lane-no { font-size:35px; }.lane-verdict { text-align:left; }
  .explain-grid { grid-template-columns:1fr; gap:20px; }
  .ledger-row { grid-template-columns:1fr; gap:14px; }.pull-quote { margin:45px 0 0; padding:25px 8px; }
  .rights-list .right-item { grid-template-columns:48px 1fr; gap:15px; }.right-number { font-size:38px; }.right-main h3 { font-size:22px; }.right-target { grid-column:1 / 3; }
  .actor-roles > div { grid-template-columns:1fr; gap:14px; }
  .oversight-band { grid-template-columns:1fr; }.oversight-band p { grid-column:1; }
  .why-cls { grid-template-columns:1fr; gap:20px; }
  .normal-path,.emergency-path { padding-left:0; padding-top:45px; }.path-label { top:0; }
  .normal-path ol { grid-template-columns:1fr 1fr; }.emergency-core { align-items:flex-start; flex-direction:column; }.emergency-guard { grid-template-columns:1fr 1fr; }
  .decision-rules { grid-template-columns:1fr; }.decision-rules h3 { grid-column:1; }
  .stage { grid-template-columns:80px 1fr; gap:12px; }.stage p,.stage > b { grid-column:2; }.stage > b { justify-self:start; }
  .proof-grid { grid-template-columns:1fr; }.proof { padding:24px 20px; }.proof li { grid-template-columns:1fr; gap:4px; }
  .status-conclusion { padding:28px 22px; }
  .final-answer { padding:90px 0; }.final-answer h2 { font-size:34px; }.final-formula { grid-template-columns:1fr auto; }.final-formula i { display:none; }
  .related-head { display:block; }.related-head h2 { margin-top:8px; font-size:29px; }.related-links { grid-template-columns:1fr; }.related-links a { min-height:0; }
  .sources li { grid-template-columns:1fr; gap:4px; }.footer-inner { display:block; }.footer-links { margin-top:35px; }
}

@media print {
  .site-header,.mobile-nav,.reading-progress,.nav-toggle,.related-section,.site-footer { display:none!important; }
  .hero { min-height:auto; padding:40px 0; color:#000; background:#fff; }.hero::before,.hero::after,.hero-grain { display:none; }
  .answer-slab,.core-correction,.handover-map,.three-lanes,.org-blueprint,.decision-flow,.proof,.final-answer { color:#000; background:#fff; box-shadow:none; border:1px solid #999; }
  .chapter,.figure-section,.faq-section,.sources { padding:45px 0; background:#fff; }
  a { text-decoration:none; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
