:root{--g:#2f5d46;--g2:#5f8f6f;--g3:#e8f0ea;--ink:#2b2b2b;--paper:#faf8f3}
*{box-sizing:border-box}body{margin:0;font-family:Georgia,"Times New Roman",serif;color:var(--ink);background:var(--paper);line-height:1.65}
header{background:#fff;border-bottom:3px solid var(--g)}.nav{max-width:960px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;flex-wrap:nowrap;gap:10px}
nav{display:flex;flex-wrap:nowrap;align-items:center;white-space:nowrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--g);font-size:1.4rem;font-weight:bold}.brand img{width:56px;height:56px}
nav a{color:var(--g);text-decoration:none;margin-left:18px;font-family:Helvetica,Arial,sans-serif}
main{max-width:960px;margin:auto;padding:20px}.hero{text-align:center;padding:50px 10px}.hero img{width:160px}
h1,h2,h3{color:var(--g);font-weight:normal}h1{font-size:2.2rem;margin:.3em 0}h2{border-bottom:1px solid var(--g2);padding-bottom:6px;margin-top:2em}
.btn{display:inline-block;background:var(--g);color:#fff;padding:12px 22px;border-radius:4px;text-decoration:none;font-family:Helvetica,Arial,sans-serif;margin:6px}.btn.alt{background:#fff;color:var(--g);border:2px solid var(--g)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.card{background:#fff;border:1px solid #dde6df;border-radius:6px;padding:18px 20px}
.disclosure{background:var(--g3);border-left:5px solid var(--g);padding:14px 18px;border-radius:4px;font-family:Helvetica,Arial,sans-serif}
.promo{background:var(--g);color:#fff;border-radius:8px;padding:24px;margin-top:30px}.promo h2{color:#fff;border-color:#9fc2aa;margin-top:0}.promo .btn{background:#fff;color:var(--g)}
.aff{color:var(--g);font-weight:bold}.aff::after{content:" ↗";font-size:.8em}
footer{text-align:center;padding:30px;color:#666;font-size:.9rem;border-top:1px solid #ddd;margin-top:40px}footer a{color:var(--g)}
@media(max-width:600px){h1{font-size:1.7rem}nav a{margin:0 14px 0 0}.nav{justify-content:center}}

.mission{text-align:center;font-style:italic;color:#2e7d32;max-width:720px;margin:2rem auto 1rem;padding:0 1rem}

.lead{font-size:1.15rem;max-width:640px;margin:1em auto}
.btn.sm{padding:7px 14px;font-size:.9rem;margin:3px}.btn.disabled{background:#9bb5a4;cursor:not-allowed}
.group{background:#fff;border:1px solid #dde6df;border-top:5px solid var(--g);border-radius:6px;padding:16px 20px;margin:20px 0}.group h3{margin:0}.sub{margin:0 0 8px;color:#666}
.wishes{list-style:none;margin:0;padding:0}.wishes li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #eef2ef;flex-wrap:wrap}
.desc{color:#555;font-size:.95rem}.act{flex-shrink:0}
.tag{font-family:Helvetica,Arial,sans-serif;font-size:.72rem;padding:2px 8px;border-radius:10px;margin-left:6px;white-space:nowrap}.tag.ok{background:var(--g);color:#fff}.tag.soon{background:var(--g3);color:var(--g);border:1px solid var(--g2)}
.signup{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.signup input{flex:1;min-width:200px;padding:11px;border-radius:4px;border:0}
@media(max-width:600px){.wishes li{flex-direction:column;align-items:flex-start}}
.tips{background:var(--g3);border-left:4px solid var(--g);border-radius:4px;padding:10px 16px;margin:8px 0 10px;font-size:.95rem}.tips ul{margin:4px 0 0;padding-left:20px}

@media(max-width:760px){.nav{flex-wrap:wrap;justify-content:center}nav{flex-wrap:wrap;justify-content:center;gap:6px 16px}nav a{margin:0}}

/* Japan hub */
.subnav{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 20px;font-family:Helvetica,Arial,sans-serif}.subnav a{padding:6px 14px;border:1px solid var(--g2);border-radius:20px;color:var(--g);text-decoration:none;font-size:.9rem;background:#fff}.subnav a.on{background:var(--g);color:#fff;border-color:var(--g)}
.hubcard{display:block;text-decoration:none;color:var(--ink)}.hubcard:hover{border-color:var(--g)}.hubcard h3{margin-top:0}
.feature{border:2px solid var(--g);background:var(--g3)}.kicker{font-family:Helvetica,Arial,sans-serif;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--g2)}
.placeholder{border:2px dashed var(--g2);border-radius:6px;padding:22px;text-align:center;color:#667;background:#fff;font-family:Helvetica,Arial,sans-serif}
.checklist{list-style:none;padding-left:0}.checklist li{padding:6px 0 6px 32px;position:relative;border-bottom:1px solid #eef2ef}.checklist li::before{content:"☐";position:absolute;left:4px;color:var(--g);font-size:1.2rem;line-height:1.4}
.steps{counter-reset:s;list-style:none;padding-left:0}.steps li{counter-increment:s;padding:6px 0 6px 40px;position:relative}.steps li::before{content:counter(s);position:absolute;left:0;top:6px;width:28px;height:28px;border-radius:50%;background:var(--g);color:#fff;text-align:center;font-family:Helvetica,Arial,sans-serif;font-size:.9rem;line-height:28px}
.toc{font-family:Helvetica,Arial,sans-serif;font-size:.95rem}.jp{color:#777;font-size:.9em}
@media print{header,.subnav,footer,.promo{display:none}}

.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0}.pillar{display:block;background:#fff;border:1px solid #dde6df;border-top:5px solid var(--g);border-radius:8px;padding:22px;text-decoration:none;color:var(--ink);text-align:center;transition:transform .15s,box-shadow .15s}.pillar:hover{transform:translateY(-3px);box-shadow:0 6px 18px rgba(47,93,70,.15);border-color:var(--g2)}.pillar h3{margin:.3em 0;font-size:1.4rem}.pillar p{margin:0 0 10px;color:#555}.pi{display:inline-block;width:56px;height:56px;line-height:56px;border-radius:50%;background:var(--g3);color:var(--g);font-size:1.6rem}.go{font-family:Helvetica,Arial,sans-serif;color:var(--g);font-weight:bold;font-size:.95rem}
.japanfeat{display:grid;grid-template-columns:1fr 1.4fr;gap:22px;align-items:center;background:var(--g3);border:2px solid var(--g);border-radius:8px;padding:22px;margin:26px 0}.japanfeat h2{margin-top:.2em}.jf-map img{width:100%;height:auto;border-radius:6px;border:1px solid #c9d8cd;display:block}
@media(max-width:720px){.pillars,.japanfeat{grid-template-columns:1fr}}
.japanpair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:26px 0}.japanpair .japanfeat{grid-template-columns:1fr;margin:0;align-content:start}@media(max-width:720px){.japanpair{grid-template-columns:1fr}}

.timeline{list-style:none;padding:0;border-left:3px solid currentColor;margin-left:.4rem}.timeline li{padding:.35rem 0 .35rem 1rem}.timeline li strong{display:block}.sources{font-size:.85rem}
.feature{border-left:5px solid currentColor}blockquote{margin:1rem 0;padding:.5rem 1rem;border-left:3px solid currentColor;font-style:italic}blockquote cite{display:block;font-size:.85rem;font-style:normal;margin-top:.3rem}
/* whitepaper */
details.wp{margin:1em 0;border:1px solid #c8e6c9;border-radius:12px;background:#fff}
details.wp>summary{cursor:pointer;padding:.9em 1em;font-weight:700;color:#1b5e20;background:#e8f5e9;border-radius:12px}
details.wp[open]>summary{border-radius:12px 12px 0 0}
.wpbody{padding:0 1.2em 1.2em;max-width:44em;margin:0 auto;line-height:1.65;overflow-wrap:break-word}
.wpbody h4{margin:1.6em 0 .5em;color:#1b5e20;scroll-margin-top:1em}
.wptitle{text-align:center;margin-top:1.2em}.wpabs{font-size:.95em;padding:0 1.5em}
.wptoc{columns:2;font-size:.92em;padding-left:1.4em}
.wpfig{margin:1em 0;text-align:center}.wpfig img{max-width:100%;height:auto}
.math{text-align:center;margin:1em 0;font-family:Georgia,'Times New Roman',serif;font-size:1.1em;overflow-x:auto;white-space:nowrap}
.fr{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;margin:0 .2em}.fr>span:first-child{border-bottom:1px solid currentColor;padding:0 .2em}
.wpbody pre{background:#f4f8f4;border:1px solid #dcedc8;border-radius:8px;padding:.8em;overflow-x:auto;font-size:.85em;line-height:1.4}
.wptables{display:flex;gap:1em;flex-wrap:wrap}.wptables pre{flex:1;min-width:12em}
.wprefs{font-size:.9em}
@media(max-width:600px){.wptoc{columns:1}.wpbody{padding:0 .8em 1em}.wpabs{padding:0}}
/* Reading list grid */
ul.books{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.4em 1.2em}
ul.books li.book{display:flex;flex-direction:column;align-items:center;text-align:center}
.book-cover{display:block;margin-bottom:.6em}
.book-cover img{display:block;width:150px;max-width:100%;height:auto;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.book-info{font-size:.9em;line-height:1.4}
.book-info strong{display:block;font-size:1.05em;margin-bottom:.15em}
.cover-credit{margin:1em 0 0;color:#5a6b60}
@media (max-width:900px){ul.books{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){ul.books{grid-template-columns:repeat(2,1fr);gap:1.2em .8em}.book-cover img{width:130px}.book-info{font-size:.85em}}

.card.og .og-photo{display:block;width:96px;height:96px;border-radius:50%;object-fit:cover;margin:0 auto .6em;border:3px solid var(--g3)}.card.og h3{text-align:center}.photo-credits li{font-size:.85rem}
/* centring on bitcoin.html */
.btc-logo{display:block;margin:0 auto}
.card.feature figure img{display:block;margin:0 auto}
.book-cover{display:block;margin:0 auto .6em}.book-cover img{margin:0 auto}
.card.og{text-align:center}.card.og .og-photo{display:block;margin:0 auto .6em}
