@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Mono:wght@400;500&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap');
:root{--paper:#f4f2ed;--ink:#182b2a;--muted:#687371;--line:#d8ddd7;--accent:#c5ef92;--deep:#213b35;--white:#fff;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans','Zen Kaku Gothic New',sans-serif;--mono:'DM Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #55814e;outline-offset:3px}.skip{position:absolute;top:-100px;left:20px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}.wrap{max-width:1420px;margin:auto;padding-left:clamp(24px,5vw,76px);padding-right:clamp(24px,5vw,76px)}
.topbar{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,76px);gap:28px}.brand{display:flex;align-items:center;gap:15px}.brandmark{font-family:var(--serif);font-weight:700;font-size:22px;letter-spacing:-2px;white-space:nowrap}.brandmark span{color:#9eb879}.brandname{font-size:10px;text-transform:uppercase;font-weight:700;line-height:1.18;letter-spacing:.09em}.topnav{display:flex;gap:36px;margin-left:auto;margin-right:auto;font-size:13px;font-weight:600}.topnav a:hover,.text-link:hover,.breadcrumbs a:hover{color:#6d9e5e}.edition,.eyebrow,.kicker,.option-num,.section-number,.result-kind{font:11px var(--mono);letter-spacing:.1em}.edition{white-space:nowrap;color:var(--muted)}.edition span{padding:0 9px}
.hero{min-height:640px;display:grid;grid-template-columns:1fr 1fr;position:relative;align-items:center;overflow:hidden;padding-top:52px;padding-bottom:74px}.hero-copy{position:relative;z-index:2}.kicker{display:flex;align-items:center;gap:13px;font-size:10px}.line{width:33px;height:1px;background:var(--ink)}.hero h1{font-size:clamp(52px,5.7vw,96px);line-height:1.24;letter-spacing:-.075em;margin:42px 0 28px;font-weight:500}.hero h1 em,.closing h2 em{font-family:var(--serif);font-weight:400;font-style:italic;color:#739169;letter-spacing:-.04em}.hero p{font-size:16px;line-height:2.1;color:#4e5e5b;margin:0 0 36px}.primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:64px;background:var(--ink);color:white;padding:16px 22px;font-size:13px;font-weight:600;transition:background .2s,transform .2s}.primary-link:hover{background:#36534b;transform:translateY(-2px)}
.hero-visual{width:min(100%,590px);aspect-ratio:1;justify-self:center;position:relative;border-radius:50%;background:radial-gradient(circle at 50% 50%,#edf2e6 0,#e4ebdc 40%,#edf0e8 69%,transparent 70%);overflow:visible}.hero-visual:before{content:'';position:absolute;inset:11%;border:1px solid #bdd0b9;border-radius:50%}.ring{position:absolute;border:1px solid #b5c6b5;border-radius:50%;inset:19%}.r2{inset:30%}.r3{inset:42%}.axis{position:absolute;background:#afc1b0}.axis.vertical{width:1px;height:100%;left:50%;top:0}.axis.horizontal{height:1px;width:100%;top:50%}.mapcenter{position:absolute;inset:43%;border-radius:50%;background:var(--deep);color:#e8efdc;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;font:25px var(--serif);line-height:1}.mapcenter small{font:5px var(--mono);letter-spacing:.08em;margin-top:8px}
.search-section{padding-bottom:86px;margin-top:-10px;position:relative;z-index:3}.search-box{max-width:910px;background:#fff;border:1px solid var(--line);box-shadow:0 15px 32px rgba(26,45,41,.055);display:flex;align-items:center;padding:8px 9px 8px 24px;gap:18px}.search-box>span,.results-search>span{font:36px var(--serif);line-height:1;transform:rotate(-30deg);color:#667f73}.search-box input,.results-search input{border:0;outline:0;min-width:0;flex:1;color:var(--ink);background:transparent}.search-box input{font-size:16px}.search-box input::placeholder,.results-search input::placeholder{color:#929e98}.search-box kbd{border:1px solid var(--line);border-radius:3px;color:#93a29d;padding:2px 7px;font:11px var(--mono)}.search-box button{background:var(--accent);color:var(--ink);border:0;padding:14px 22px;font-weight:700;font-size:13px;display:flex;gap:30px}.search-box button:hover{background:#b7e780}.search-hints{display:flex;gap:18px;align-items:center;margin-top:16px;color:#89938e;font-size:11px}.search-hints a{border-bottom:1px solid #c5d1c2;color:#58665e}.search-hints a:hover{color:#2b5a42}
.browse-strip{background:#e7ebe3;border-top:1px solid #d7dfd3;border-bottom:1px solid #d7dfd3}.browse-inner{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;padding-top:68px;padding-bottom:76px}.browse-inner h2,.section-heading h2{font-size:clamp(27px,2.7vw,42px);letter-spacing:-.07em;font-weight:500;line-height:1.4;margin:12px 0 0}.browse-options{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #bdc9bf}.browse-options a{display:grid;grid-template-columns:35px 1fr 20px;align-items:center;min-height:96px;border-bottom:1px solid #bdc9bf;gap:12px;padding:14px 16px}.browse-options a:nth-child(odd){border-right:1px solid #bdc9bf}.browse-options a:hover{background:#d9e4d4}.browse-options a>span:nth-child(2){font-weight:700}.browse-options small{display:block;font:10px var(--mono);color:#798b80;letter-spacing:.05em;margin-top:2px}.option-num{align-self:start;color:#789087}.section{padding-top:108px;padding-bottom:112px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:39px}.text-link{font-size:12px;font-weight:700;border-bottom:1px solid #8caa8a;padding-bottom:5px;white-space:nowrap}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.entry-card{border:1px solid var(--line);background:#fafaf7;min-height:315px;padding:25px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s}.entry-card:hover{transform:translateY(-4px);border-color:#a6bca4;box-shadow:0 15px 25px rgba(28,49,41,.08)}.card-top{display:flex;justify-content:space-between;color:#799187}.arrow{font-size:18px;color:#516f60}.entry-card h3{font-family:var(--serif);font-size:clamp(24px,2.2vw,34px);line-height:1.13;font-weight:400;letter-spacing:-.04em;margin:38px 0 2px}.jp-title{font-size:12px;color:#7b8a85;margin:0}.card-summary{font-size:13px;color:#566660;margin-top:18px;line-height:1.8}.card-bottom{margin-top:auto;display:flex;flex-wrap:wrap;gap:5px 12px;font:9px var(--mono);letter-spacing:.03em;color:#7c8982;border-top:1px solid var(--line);padding-top:16px}.fields-section{padding-top:23px}.section-note{color:#839089;font-size:12px}.field-list{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.field-list a{display:grid;grid-template-columns:28px 1fr 15px;align-items:center;gap:7px;min-height:75px;padding:12px 10px;border-bottom:1px solid var(--line);font-size:12px;font-weight:600}.field-list a:not(:nth-child(4n)){border-right:1px solid var(--line)}.field-list a:hover{background:#e6ece2}.field-list a span:first-child{font:9px var(--mono);color:#91a39a}.field-list a>span:last-child{color:#8ba194}.closing{background:var(--deep);color:#f1f4eb;padding:100px 0 110px}.closing h2{font-size:clamp(36px,4vw,64px);letter-spacing:-.07em;line-height:1.55;font-weight:500;margin:23px 0 45px}.closing h2 em{color:var(--accent)}.closing .primary-link{background:var(--accent);color:var(--deep)}.footer{border-top:1px solid var(--line);padding:30px clamp(24px,5vw,76px);display:flex;justify-content:space-between;gap:30px;font-size:11px;color:#72817b}.footer span:first-child{font-family:var(--serif);font-size:16px;color:var(--ink)}
.page-intro{padding:70px 0 52px;border-bottom:1px solid var(--line)}.page-intro h1{font-size:clamp(40px,5vw,72px);font-weight:500;letter-spacing:-.07em;line-height:1.2;margin:15px 0}.page-intro p{color:#687771;margin:0}.explore-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:7vw;padding-top:49px;padding-bottom:120px}.filters{align-self:start;position:sticky;top:26px}.filter-group{border-bottom:1px solid var(--line);padding:0 0 25px;margin-bottom:26px}.filter-group strong,.filter-group label{display:block;font-size:12px;font-weight:700;margin-bottom:16px}.filter-pills{display:flex;gap:8px;flex-wrap:wrap}.pill{background:transparent;border:1px solid var(--line);font-size:11px;padding:7px 10px;color:#55665c}.pill:hover,.pill.active{border-color:var(--deep);background:var(--deep);color:white}.filter-group select{width:100%;padding:11px 10px;border:1px solid var(--line);background:#fafaf7;color:var(--ink);font-size:12px}.clear{border:0;border-bottom:1px solid #adbdb2;background:transparent;padding:0 0 3px;font-size:12px;color:#536957}.results-search{display:flex;align-items:center;background:#fff;border:1px solid var(--line);padding:12px 18px;gap:15px}.results-search input{font-size:14px}.results-meta{display:flex;justify-content:space-between;color:#87948b;font:10px var(--mono);letter-spacing:.1em;margin:27px 0 10px}.result-row{border-top:1px solid var(--line);display:grid;grid-template-columns:95px 1fr 30px;gap:20px;padding:28px 0}.result-row:last-child{border-bottom:1px solid var(--line)}.result-row:hover h2{color:#688d62}.result-kind{color:#729079;padding-top:7px}.result-row h2{font:30px var(--serif);letter-spacing:-.035em;line-height:1.2;margin:0 0 3px}.result-row p:not(.jp-title){font-size:13px;color:#627068;margin:15px 0}.result-tags{display:flex;gap:7px;flex-wrap:wrap}.result-tags span{font:10px var(--mono);color:#789084;background:#e8ede6;padding:4px 8px}.result-arrow{text-align:right;color:#65846c}.empty{padding:80px 15px;text-align:center;border-top:1px solid var(--line)}.empty h2{font-weight:500}.empty p{color:var(--muted)}
.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:28px 0;color:#87958d;font-size:11px;border-bottom:1px solid var(--line)}.breadcrumbs span:last-child{color:var(--ink)}
.article-section,.source-section,.related-section{scroll-margin-top:24px}.article-grid{display:grid;grid-template-columns:210px minmax(0,800px);gap:clamp(40px,6vw,110px);padding-top:74px;padding-bottom:130px}.sidebar-sticky{position:sticky;top:28px}.article-sidebar nav{display:flex;flex-direction:column;align-items:start;gap:17px;margin-top:28px;font-size:12px;color:#6c7c70}.article-sidebar nav a:hover{color:#2c593d}.back{display:inline-block;margin-top:50px;font-size:11px;border-bottom:1px solid #9fb1a2;padding-bottom:3px}.article-header{padding-bottom:51px;border-bottom:1px solid var(--line)}.sep{color:#aab6ab;padding:0 10px}.article-header h1{font:clamp(46px,5vw,79px)/1.07 var(--serif);letter-spacing:-.06em;margin:26px 0 10px}.article-ja{font-size:18px;color:#769078;margin:0}.article-lead{font-size:20px;line-height:1.8;margin:42px 0 0;max-width:700px;letter-spacing:-.03em}.article-facts{display:grid;grid-template-columns:1fr 1fr;padding:25px 0 40px;border-bottom:1px solid var(--line);gap:25px}.article-facts>div{display:flex;flex-direction:column;gap:6px}.article-facts span{font:10px var(--mono);color:#84948a;text-transform:uppercase}.article-facts strong{font-size:12px;font-weight:600;line-height:1.7}.article-sections{padding-top:30px}.article-section{display:grid;grid-template-columns:55px 1fr;gap:10px;padding:44px 0;border-bottom:1px solid var(--line);scroll-margin-top:30px}.section-number{color:#90a698;padding-top:8px}.article-section h2,.source-section h2,.related-section h2{font-size:25px;letter-spacing:-.06em;font-weight:600;margin:0 0 15px}.article-section p{font-size:15px;line-height:2.1;color:#4f6055;margin:0;max-width:650px}.source-section{padding:72px 0;border-bottom:1px solid var(--line);scroll-margin-top:30px}.source-section h2{margin:13px 0 19px}.source-section ul{list-style:none;margin:0;padding:0}.source-section li{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.source-section li a:hover{color:#629358}.source-section p{font-size:11px;color:#87968a;margin-top:22px}.related-section{padding-top:73px;scroll-margin-top:30px}.related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.entry-card.compact{min-height:185px;padding:19px}.entry-card.compact h3{font-size:23px;margin-top:25px}.entry-card.compact .card-bottom{padding-top:10px}.not-found{padding-top:100px;padding-bottom:160px;min-height:70vh}.not-found h1{font-weight:500}.not-found a{border-bottom:1px solid}
@media(max-width:1000px){.edition{display:none}.hero{min-height:560px}.hero h1{font-size:clamp(48px,7vw,72px)}.field-list{grid-template-columns:repeat(2,1fr)}.field-list a:not(:nth-child(4n)){border-right:0}.field-list a:nth-child(odd){border-right:1px solid var(--line)}.browse-inner{gap:35px}.explore-layout{gap:45px}}
@media(max-width:700px){.topbar{height:72px;padding:0 22px}.brandmark{font-size:18px}.brandname{font-size:8px}.topnav{gap:14px;margin:0;font-size:11px}.hero{display:block;min-height:auto;padding-top:62px;padding-bottom:30px}.hero h1{font-size:54px;margin:30px 0 22px}.hero p{font-size:14px}.hero-visual{width:75%;max-width:310px;margin:-20px 0 0 auto;opacity:.75}.search-section{margin:0;padding-bottom:60px}.search-box{padding:5px 5px 5px 12px;gap:7px}.search-box input{font-size:13px}.search-box kbd{display:none}.search-box button{padding:13px;gap:5px}.search-hints{flex-wrap:wrap;gap:4px 12px}.browse-inner{display:block;padding-top:58px;padding-bottom:60px}.browse-options{margin-top:28px}.browse-options a{min-height:83px;grid-template-columns:23px 1fr 13px;padding:10px;font-size:12px}.section{padding-top:70px;padding-bottom:75px}.section-heading{align-items:start}.section-heading h2{font-size:29px}.card-grid{grid-template-columns:1fr}.entry-card{min-height:255px}.entry-card h3{margin-top:24px}.section-note{max-width:130px;text-align:right}.fields-section{padding-top:0}.field-list a{font-size:10px;min-height:70px;grid-template-columns:20px 1fr 10px}.closing{padding:72px 0}.closing h2{font-size:37px}.footer{display:block}.footer span{display:block;margin-bottom:12px}.page-intro{padding:52px 0 32px}.explore-layout{display:block;padding-top:22px}.filters{position:static;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:35px}.filter-group{margin:0;padding-bottom:12px}.filter-group:first-child{grid-column:span 2}.filter-group label,.filter-group strong{margin-bottom:8px}.clear{justify-self:start;grid-column:span 2}.result-row{grid-template-columns:1fr 25px;gap:10px}.result-kind{grid-column:1 / -1}.result-row h2{font-size:26px}.article-grid{display:block;padding-top:43px;padding-bottom:80px}.article-sidebar{display:none}.article-header h1{font-size:50px}.article-ja{font-size:15px}.article-lead{font-size:17px;margin-top:30px}.article-facts{grid-template-columns:1fr 1fr;gap:20px}.article-section{grid-template-columns:35px 1fr}.related-grid{grid-template-columns:1fr}}
@media(max-width:390px){.brandname{display:none}.topnav{gap:12px}.hero h1{font-size:48px}.article-facts{grid-template-columns:1fr}}
.article-sidebar nav button,.article-sidebar nav a{border:0;background:transparent;color:inherit;padding:0;text-align:left;font-size:12px}.article-sidebar nav button:hover,.article-sidebar nav a:hover{color:#2c593d}

/* --- v2: real atlas map, counts, Japanese labels --- */
.maplabel{position:absolute;font:11px var(--mono);letter-spacing:.12em;color:#4f6b5d;background:rgba(244,242,237,.85);padding:2px 7px;border:1px solid #c9d6c6;z-index:3}.maplabel span{color:#8aa08f;margin-left:3px}.maplabel:hover{background:var(--deep);color:#fff;border-color:var(--deep)}.q-tl{top:9%;left:9%}.q-tr{top:9%;right:9%}.q-bl{bottom:9%;left:9%}.q-br{bottom:9%;right:9%}
.map-dot{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;border:2px solid #eef4e6;background:#284f3b;z-index:4;transition:transform .15s}.map-dot.dot-concept{background:#739169}.map-dot.dot-paper{background:#fafaf7;border-color:#284f3b}.map-dot.dot-debate{background:#c5ef92;border-color:#284f3b}.map-dot:hover,.map-dot:focus-visible{transform:scale(1.35)}
.map-tip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);background:var(--deep);color:#f1f4eb;font-size:12px;font-weight:600;line-height:1.4;padding:7px 10px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s}.map-tip small{display:block;font:10px var(--mono);color:#b9cbb4;font-weight:400}.map-dot:hover .map-tip,.map-dot:focus-visible .map-tip{opacity:1}
.hero .map-caption{font-size:11px;line-height:1.7;color:#8a968f;margin:18px 0 0}
.field-list a{grid-template-columns:28px 1fr 15px}.field-list a span.field-count{font:11px var(--mono);color:#fff;background:#739169;border-radius:10px;text-align:center;padding:1px 0;width:24px}.field-name small{display:block;font:9px var(--mono);color:#8a998f;font-weight:400;letter-spacing:.02em;margin-top:2px}.field-list a:not(:nth-child(4n)){border-right:1px solid var(--line)}
.pending-fields{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin:26px 0 0;font-size:11px;color:#8a968f}.pending-fields strong{font-weight:700;color:#687371;margin-right:6px}.pending-fields span{border:1px dashed #c9d1c8;padding:3px 8px}
.result-cite{font:11px var(--mono);color:#56745f;margin-left:12px}.result-row p.result-question{font-size:13px;color:var(--ink);margin:-4px 0 15px;display:flex;gap:10px}.result-question span{flex:none;font:10px var(--mono);color:#fff;background:#739169;padding:2px 6px;height:fit-content;margin-top:2px}
.empty-hints{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;font-size:12px}.empty-hints a{border-bottom:1px solid #c5d1c2}
.relation-note{margin-left:8px;padding:1px 6px;background:#e8ede6;color:#4f6b5d}
.article-facts .fact-wide{grid-column:1 / -1}.article-facts strong em{font-style:italic;font-weight:400}.fact-links{display:flex;flex-wrap:wrap;gap:4px 10px}.fact-links a{border-bottom:1px solid #b9c9b7}.fact-links a:hover{color:#629358}
.related-group{font:11px var(--mono);letter-spacing:.1em;color:#72817b;font-weight:400;margin:30px 0 12px}
@media(max-width:1000px){.field-list a:not(:nth-child(4n)){border-right:0}.field-list a:nth-child(odd){border-right:1px solid var(--line)}}
@media(max-width:700px){.mapcenter{font-size:15px}.mapcenter small{display:none}.hero-visual{opacity:1;width:88%;max-width:340px;margin:10px auto 0}.maplabel{font-size:9px;padding:1px 5px}.map-dot{width:16px;height:16px;margin:-8px 0 0 -8px}.result-cite{display:block;margin:4px 0 0}.field-name small{font-size:8px}}
/* --- v3: theory pages --- */
.lead-label{display:inline-block;margin-top:38px;font:10px var(--mono);letter-spacing:.1em;color:#fff;background:#739169;padding:2px 8px}.lead-label+.article-lead{margin-top:12px}.article-section p+p{margin-top:1em}
.glossary{margin:0;display:grid;gap:0;border-top:1px solid var(--line)}.glossary div{display:grid;grid-template-columns:170px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.glossary dt{font-weight:700;font-size:13px}.glossary dd{margin:0;font-size:14px;line-height:1.9;color:#4f6055}
.extensions{list-style:none;margin:0;padding:0}.extensions li{padding:14px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.8}.extensions li:first-child{border-top:1px solid var(--line)}.ext-ref a{color:#56745f;border-bottom:1px solid #b9c9b7;white-space:nowrap}.ext-note{display:block;color:#4f6055;font-size:14px;margin-top:4px}
.src-tag{font:10px var(--mono);color:#fff;background:var(--deep);padding:1px 6px;margin-right:8px}.source-section li a{color:#56745f}
@media(max-width:700px){.glossary div{grid-template-columns:1fr;gap:4px}}

/* Policy pages and footer links */
.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a{color:#72817b;border-bottom:1px solid transparent}.footer-links a:hover{color:var(--ink);border-bottom-color:currentColor}
.doc-body{max-width:760px;padding:56px 0 120px}.doc-body h1{font-size:clamp(34px,4vw,52px);font-weight:500;letter-spacing:-.05em;line-height:1.3;margin:14px 0 8px}.doc-updated{font:11px var(--mono);color:#7c8982;margin:0 0 40px}
.doc-body section{border-top:1px solid var(--line);padding:26px 0 8px}.doc-body h2{font-size:18px;font-weight:700;margin:0 0 12px}.doc-body p,.doc-body li{font-size:14px;line-height:2;color:#34443f}.doc-body ul{padding-left:1.3em;margin:0 0 14px}.doc-body li{margin-bottom:6px}.doc-body a{border-bottom:1px solid #8caa8a}.doc-body a:hover{color:#2c593d}
@media(max-width:700px){.doc-body{padding:36px 0 80px}.footer-links{gap:14px}}

/* Entry heading: the Japanese name is part of the h1 for search engines, styled as before */
.article-header h1 .h1-main{display:block}.article-header h1 .article-ja{display:block;font-family:var(--sans);letter-spacing:normal;line-height:1.6;font-weight:400;margin-top:10px}
/* --- β版ラベルと現在の収録数（ヘッダー右上） --- */
.edition{display:flex;align-items:center;gap:14px}.edition span{padding:0}.edition .edition-badge{border:1px solid #9eb879;color:#4f6b5d;padding:3px 8px 2px;letter-spacing:.14em;line-height:1}.edition-count{display:flex;align-items:baseline;gap:6px}.edition-count strong{font:500 20px var(--serif);color:var(--ink);letter-spacing:-.02em}
@media(max-width:1000px){.edition{display:none}}
