/* Shared visual system: ink, ocean blue and adventure gold. No remote fonts. */
:root{--navy:#101f39;--ink:#172c42;--gold:#ffcb58;--paper:#f7fafc;--blue:#e8f2f8;--muted:#526879;--line:#c8d7e1;--space:clamp(22px,6vw,96px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.85;overflow-wrap:anywhere}button,input{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default}a,button,input,summary{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #b16e00;outline-offset:5px}h1,h2,h3,p{margin:0}h2{font-size:clamp(25px,2.8vw,36px);line-height:1.5;letter-spacing:.01em}h3{line-height:1.55}p+p{margin-top:16px}small{font-size:13px}button{color:inherit}section[id]{scroll-margin-top:24px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em;color:#866017;margin-bottom:12px}.skip{position:fixed;top:-100px;left:12px;z-index:100;background:#fff;padding:12px}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}
header{min-height:88px;padding:14px var(--space);display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px;font-weight:850;font-size:20px;line-height:1.45}.brand small{display:block;font-size:12px;font-weight:500;letter-spacing:.06em;margin-top:3px}.brand-emblem{display:grid;place-items:center;flex-shrink:0;width:36px;height:42px;background:var(--gold);color:var(--navy);border:2px solid var(--navy);box-shadow:3px 3px 0 var(--navy);font:700 30px Georgia,serif;transform:rotate(-5deg)}header nav{display:flex;gap:26px;font-size:14px;font-weight:700}header nav a{padding:8px 0;border-bottom:2px solid transparent}header nav a:hover{border-color:#b88324}.head-right{display:flex;align-items:center;gap:16px}.motion-button{border:0;background:none;font-size:14px;padding:10px 0;color:var(--muted)}.xp{font-size:12px;white-space:nowrap}.xp b{font-size:20px}.back-map{font-size:14px}
.hero{position:relative;isolation:isolate;overflow:hidden;background:#153e50;color:white;display:grid;grid-template-columns:1.15fr 1fr;gap:36px;padding:76px var(--space) 32px;min-height:660px}.world-art,.hero-shade,.sparkles{position:absolute;inset:0;z-index:-1;pointer-events:none}.world-art{background:url('/assets/world.webp') center 55%/cover}.hero-shade{background:linear-gradient(90deg,#09273bee 0%,#09273bb8 48%,#09273b22 100%),linear-gradient(0deg,#0c283bdb,transparent 55%)}.hero-content{align-self:center;padding:0;min-width:0}.hero-eyebrow{color:#ffdf89;letter-spacing:.08em;font-size:14px}.title-pre{font-size:19px;font-weight:700;margin:22px 0 12px;color:#eaf4f8}.hero h1{font-size:clamp(34px,3.8vw,62px);line-height:1.5;letter-spacing:-.025em;font-weight:850;text-shadow:0 3px 18px #061e35}.hero h1 span{display:block;color:#ffda78}.hero-sub{font-size:17px;line-height:2;margin:24px 0;color:#eef6fb}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px}.gold-button{display:inline-flex;justify-content:center;align-items:center;gap:20px;background:var(--gold);border:1px solid #b58931;border-radius:6px;box-shadow:0 4px 0 #a57124;color:#241d0b;padding:15px 25px;font-weight:800;font-size:16px;min-height:54px;line-height:1.5;transition:transform .18s,background .18s}.gold-button:hover{background:#ffdc87;transform:translateY(-2px)}.hero-read{font-size:15px;padding:10px 0;border-bottom:1px solid #a4bac6}.hero-caption{font-size:13px;margin-top:20px;color:#e1ebf2}.party-hero{align-self:center;min-width:0;padding-top:35px}.speech{display:table;margin:0 auto 32px;padding:10px 18px;border-radius:6px;background:#fff7df;color:var(--ink);box-shadow:4px 4px 0 #142b3b;font-size:14px;font-weight:700;transform:rotate(-3deg)}.speech i{display:none}.portrait{display:block;aspect-ratio:1;width:100%;border-radius:50%;background-image:url('/assets/party.webp');background-size:440% auto;border:4px solid #f9d77b;box-shadow:0 0 0 2px #604d2b,0 12px 22px #071b3740;background-repeat:no-repeat;background-color:#dbb87c}.portrait-leva{background-position:10% 49%}.portrait-hakase{background-position:54% 42%}.portrait-joshu{background-position:98% 44%}.hero-portraits{display:flex;gap:18px;align-items:center}.hero-portraits .portrait{width:calc((100% - 36px)/3);animation:breathe 5s ease-in-out infinite}.hero-portraits .portrait:nth-child(2){margin-top:-25px;animation-delay:-1.5s}.hero-portraits .portrait:nth-child(3){animation-delay:-3s}.party-names{display:flex;justify-content:space-around;gap:10px;margin-top:24px;font-size:14px}.party-names span{background:#112c3cdd;padding:2px 12px;border:1px solid #a89769;border-radius:3px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:18px;border-top:1px solid #ffffff40;padding-top:22px;margin-top:30px;font-size:12px;color:#e6eff2}.hero-bottom b{margin-left:20px;font-size:14px}.hero-bottom a{font-size:14px}
.journey,.tools-section,.library{padding:76px var(--space)}.journey{background:var(--blue);border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px}.chapter-label{font-size:14px;color:var(--muted)}.progress-line{margin:28px 0;display:flex;gap:20px;align-items:center;font-size:14px}.progress-line progress{flex:1;min-width:40px;height:8px;border:none;background:#c7dce3;border-radius:8px;overflow:hidden}.progress-line progress::-webkit-progress-bar{background:#c7dce3}.progress-line progress::-webkit-progress-value{background:#92641d}.progress-line progress::-moz-progress-bar{background:#92641d}.stages,.articles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.stage{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid #b5c9d6;border-top:4px solid #487e6a;border-radius:8px;padding:24px;min-height:300px;box-shadow:0 5px 0 #d5e3ec;transition:transform .2s,box-shadow .2s}.stage:hover{transform:translateY(-5px);box-shadow:0 10px 0 #d5e3ec}.stage-two{border-top-color:#42769b}.stage-three{border-top-color:#77618f}.stage-four{border-top-color:#a17b32}.stage-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12px;font-weight:700}.state{font-size:12px;color:var(--muted)}.stage-number{font:700 58px/1.3 Georgia,serif;color:#487e6a;margin:15px 0 8px}.stage-two .stage-number{color:#42769b}.stage-three .stage-number{color:#77618f}.stage-four .stage-number{color:#a17b32}.stage-title{font-size:23px;font-weight:800;line-height:1.5}.stage-description{font-size:14px;color:var(--muted);margin:8px 0 24px}.stage-footer{margin-top:auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line);padding-top:15px;font-size:14px}.stage-footer b{color:#815714}.quest-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:32px;font-size:16px}.outline-button{border:1px solid #758b9c;background:transparent;padding:12px 20px;font-size:14px;font-weight:700;border-radius:5px;min-height:46px}.outline-button:hover{background:#fff}.progress-note,.source-note{font-size:13px;color:var(--muted);margin-top:20px}.purpose{padding:64px var(--space) 0}.purpose-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:25px;border-block:1px solid var(--line)}.purpose-links a{padding:24px 20px;font-weight:700;display:flex;justify-content:space-between;gap:12px;font-size:16px}.purpose-links a+a{border-left:1px solid var(--line)}.purpose-links a:hover{background:#e8f2f8}
.tool-box{margin-top:30px;display:grid;grid-template-columns:1fr 1.65fr;background:white;border:1px solid #a8becd;border-radius:10px;overflow:hidden;box-shadow:0 8px 0 #e2eaf0}.tool-intro{background:#edf3f7;padding:36px;border-right:1px solid var(--line)}.tool-symbol{display:grid;place-items:center;float:right;font:700 44px Georgia,serif;color:#6e4b12;border:1px solid #bd9142;width:62px;height:62px;border-radius:50%;background:#ffe0a0}.tool-intro h3{font-size:24px;margin:20px 0 15px;clear:both}.tool-intro p:not(.eyebrow){font-size:16px;line-height:1.9;color:var(--muted)}.tool-intro small{display:block;font-size:13px;color:var(--muted);margin-top:18px}.calculator{padding:36px;min-width:0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:22px}.fields label{font-size:14px;font-weight:700;min-width:0}input{display:block;min-width:0;width:100%;border:1px solid #92a8b9;border-radius:5px;background:#f7fafc;padding:12px;margin-top:8px;font-size:22px;font-weight:700;color:var(--ink)}input[aria-invalid=true]{border:2px solid #a83c34}.calc-results{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.calc-results>div{padding:16px 0;min-width:0}.calc-results span{font-size:14px;color:var(--muted)}.calc-results strong{display:block;font-size:clamp(22px,2.5vw,34px);color:#22644f;line-height:1.6;overflow-wrap:anywhere}.calc-results>div+div strong{color:#a43c35}.calc-results small{font-size:14px;margin-left:5px}.calculator>p{font-size:14px;border-top:1px solid var(--line);padding-top:17px;margin-top:4px}.calculator>small{display:block;font-size:13px;color:var(--muted);margin-top:12px}.library{padding-top:12px}.text-link{font-size:14px;text-decoration:underline;text-underline-offset:5px}.library-intro{font-size:16px;color:var(--muted);margin:18px 0 30px;max-width:760px}.articles>a{display:flex;flex-direction:column;border-top:3px solid var(--ink);background:#fff;padding:25px 22px;border-bottom:1px solid var(--line);transition:background .2s}.articles>a:hover{background:#fff3d5}.article-tag{font-size:12px;color:#79591e}.articles h3{font-size:21px;margin:16px 0}.articles p{font-size:16px;color:var(--muted);margin-bottom:22px}.article-bottom{display:flex;justify-content:space-between;align-items:center;font-size:14px;border-top:1px solid var(--line);margin-top:auto;padding-top:14px}
.companions{padding:76px var(--space);display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;background:var(--navy);color:#f3f6fd}.companions .eyebrow{color:#ecc575}.party-cards{display:flex;gap:18px;align-items:center;width:100%}.party-cards>div{width:calc((100% - 36px)/3);text-align:center}.party-cards>div:nth-child(2){margin-top:-35px}.party-cards small{display:block;font-size:12px;letter-spacing:.06em;color:#e2c384;margin-top:20px}.party-cards b{font-size:16px}.crew-tabs{display:flex;margin:25px 0 20px;border-bottom:1px solid #456073}.crew-tabs button{flex:1;color:#c4d2dd;border:0;background:transparent;padding:12px 8px;font-size:14px;font-weight:700;border-bottom:3px solid transparent}.crew-tabs button[aria-selected=true]{color:#ffd778;border-color:#ffd778}.crew-role{font-size:14px;color:#e5c686;margin-bottom:8px}#crew-text{font-size:16px;color:#d0dce7;min-height:96px}blockquote{margin:20px 0 0;color:#fff2cf;font-size:16px;font-weight:700}.trust-strip{padding:65px var(--space);text-align:center;background:#fff}.trust-strip>p:not(.eyebrow){max-width:720px;margin:20px auto;color:var(--muted)}.trust-strip .text-link{display:inline-block;margin-top:12px}.closing{text-align:center;background:#e0eef7;padding:64px 22px;border-top:1px solid var(--line)}.closing h2{margin-bottom:28px}.closing h2 span{color:#815714}footer{background:var(--navy);padding:44px var(--space);color:#e0e8ef;display:grid;grid-template-columns:1fr 1.5fr;gap:28px 60px}footer>p{font-size:14px;line-height:1.9;color:#c3d0de}.footer-links{grid-column:1/-1;display:flex;gap:14px 25px;flex-wrap:wrap;font-size:14px;border-top:1px solid #46546a;padding-top:22px}.footer-links a,.footer-links button{padding:8px 0}.footer-links a:hover{text-decoration:underline}.footer-links button{border:0;background:none;color:inherit;font-size:14px}footer>small{font-size:12px;color:#b7c7d6}
/* Reading pages retain a useful table of contents on every screen. */
.reading-layout{max-width:1320px;padding:60px var(--space) 90px;margin:auto;display:grid;grid-template-columns:220px minmax(0,760px);gap:56px}.reading-aside{align-self:start;position:sticky;top:24px;font-size:14px;border-left:2px solid var(--line);padding-left:22px}.area-label{font-size:20px;font-weight:800}.reading-aside ol{padding-left:20px;line-height:1.8;margin:20px 0}.reading-aside li{padding:7px 0}.reading-aside a:hover{text-decoration:underline}.reading{min-width:0}.reading h1{font-size:clamp(29px,3.2vw,44px);line-height:1.5;letter-spacing:0}.breadcrumb{font-size:14px;color:var(--muted);margin-bottom:26px}.breadcrumb a{text-decoration:underline}.reading-meta{font-size:13px;color:var(--muted);margin:18px 0 28px}.reading-meta a{text-decoration:underline}.takeaway{background:#fff0c6;border-left:4px solid #ad7d24;padding:26px 30px;margin:26px 0;border-radius:0 6px 6px 0}.takeaway b{font-size:19px}.takeaway p{margin-top:12px}.character-question{display:flex;align-items:center;gap:24px;margin:35px 0}.character-question .portrait{width:75px;flex-shrink:0}.character-question p{background:white;border:1px solid var(--line);padding:16px 23px;border-radius:6px;flex:1;font-weight:700}.character-question small{display:block;font-size:13px;font-weight:500;color:#795719;margin-bottom:4px}.reading section{margin:42px 0}.reading section h2{font-size:25px;margin-bottom:18px}.reading section p{font-size:16px;line-height:2}.reading .source-box{padding:26px;background:#e8f0f6;border-radius:6px}.reading .source-box h2{font-size:20px}.source-box a{display:block;font-size:14px;text-decoration:underline;margin:12px 0}.reading .source-box p{font-size:14px;margin-top:18px}.next-guides>a{display:flex;justify-content:space-between;gap:20px;padding:19px 0;border-bottom:1px solid var(--line);font-weight:700}.next-guides>a:hover{color:#815714}.tool-cta{margin:15px 0}.inline-calculator{border:1px solid #91a9bb;padding:26px;background:#fff;border-radius:6px}.reading .leverage-result{font-size:25px;font-weight:800;color:#22644f;margin:24px 0}.comparison-check{padding:26px;background:#fff;border:1px solid var(--line);border-radius:6px}.comparison-check label{display:flex;align-items:center;gap:12px;margin:18px 0;font-size:16px;font-weight:500;min-height:44px}.comparison-check input{width:22px;height:22px;flex-shrink:0;margin:0;accent-color:#815714}.policy{max-width:850px;margin:auto;padding:65px 30px 90px}.policy a:not(.gold-button){text-decoration:underline}.no-script{padding:22px;background:#fff0c6;text-align:center}
/* Quiz */
dialog{border:2px solid var(--ink);border-radius:10px;background:#fffdf6;color:var(--ink);width:min(610px,calc(100% - 32px));padding:34px;max-height:90dvh;overflow:auto;box-shadow:0 16px 80px #0006}dialog::backdrop{background:#061429c9}dialog h2{font-size:28px;margin-right:20px}.close{position:absolute;right:8px;top:8px;border:0;background:none;font-size:30px;min-width:44px;min-height:44px}.lesson-speaker{display:flex;gap:16px;margin:25px 0 20px;align-items:center}.mini-portrait{width:72px;height:72px;flex-shrink:0;border-width:3px}.lesson-speaker b{font-size:14px;color:#795719}.lesson-speaker p{font-size:16px;margin-top:5px}.example{padding:16px 18px;border-left:4px solid #b8892b;background:#fff0c6;font-size:16px;margin-bottom:25px}#question{font-size:18px;margin:10px 0}#answers{display:grid;gap:10px}#answers button{border:1px solid #9bb0bf;background:white;text-align:left;padding:14px 16px;border-radius:5px;font-size:16px}#answers button:hover:not(:disabled){background:#fff0c8;border-color:#aa842b}#answers button.correct{background:#e1efde;border:2px solid #57835a}#answers button.wrong{background:#f9e6dd;border-color:#bd7161}#feedback{font-size:16px;margin:18px 0;color:#275e3d}#next{width:100%}.lesson-source{font-size:13px;color:var(--muted);margin-top:23px}.lesson-source a{text-decoration:underline}.confetti{position:fixed;top:25%;width:9px;height:9px;background:var(--gold);pointer-events:none;z-index:100;animation:confetti 1.5s ease-out forwards}.spark{position:absolute;width:3px;height:3px;background:#fff8b2;animation:spark 6s ease-in-out infinite}#toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);max-width:90vw;background:#172c42;color:white;padding:12px 22px;border:1px solid #cfb376;border-radius:6px;font-size:14px;z-index:20;opacity:0;transition:.25s;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes spark{0%,100%{opacity:0}50%{opacity:.7}}@keyframes confetti{to{transform:translate(var(--dx),350px) rotate(400deg);opacity:0}}.motion-off *,.motion-off *::before,.motion-off *::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
@media(min-width:1600px){:root{--space:max(80px,calc((100vw - 1400px)/2))}.reading-layout{padding-inline:40px}}
@media(max-width:1100px){header{flex-wrap:wrap;gap:12px 20px}header nav{gap:18px}.motion-button span{display:none}.stages,.articles{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{gap:24px;padding-top:56px;min-height:600px}.hero h1{font-size:clamp(32px,4vw,46px)}.hero-sub br{display:none}.hero-read{font-size:14px}.stage{min-height:280px}.reading-layout{grid-template-columns:190px minmax(0,1fr);gap:32px}.tool-box{grid-template-columns:1fr 1.5fr}.tool-intro,.calculator{padding:26px}.purpose-links a{font-size:14px;padding:20px 14px}.section-heading{align-items:start;flex-wrap:wrap}}
@media(max-width:700px){header{padding:15px 22px;gap:14px}.brand{font-size:17px}.brand small{font-size:12px}.brand-emblem{width:30px;height:36px;font-size:25px}header nav{display:flex;order:3;width:100%;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:6px;font-size:14px}.head-right{gap:12px}.back-map{font-size:13px}.hero{display:flex;flex-direction:column;gap:0;padding:36px 22px 24px;min-height:0}.hero-shade{background:linear-gradient(180deg,#08263ee8,#08263eb5 60%,#08263eaa)}.hero-content{align-self:stretch}.hero h1{font-size:clamp(29px,7.2vw,49px);line-height:1.55}.hero-eyebrow{font-size:13px}.title-pre{margin:18px 0 12px;font-size:17px}.hero-sub{font-size:16px;margin:22px 0}.hero-actions{gap:16px}.hero-read{font-size:14px}.hero-caption{font-size:12px}.party-hero{align-self:center;width:min(100%,410px);padding-top:36px}.speech{margin-bottom:28px;font-size:13px}.hero-portraits{gap:18px}.party-names{font-size:13px;margin-top:18px}.hero-bottom{align-items:center;margin-top:32px;font-size:12px;gap:14px}.hero-bottom b{display:block;margin:4px 0 0;font-size:13px}.hero-bottom a{font-size:13px}.journey,.tools-section,.library{padding:48px 22px}.section-heading{gap:12px}.section-heading h2{font-size:26px}.chapter-label{font-size:13px}.progress-line{gap:12px;flex-wrap:wrap;font-size:13px}.progress-line progress{min-width:25%}#rank{width:100%;font-size:12px}.stages,.articles{grid-template-columns:1fr}.stage{min-height:0;padding:22px;display:grid;grid-template-columns:1fr auto;gap:0 16px}.stage-top{grid-column:1/-1}.stage-number{grid-column:2;grid-row:2/4;font-size:48px;margin:14px 0}.stage-title{grid-column:1;grid-row:2;margin-top:18px;font-size:23px}.stage-description{grid-column:1;grid-row:3;margin-bottom:18px}.stage-footer{grid-column:1/-1}.quest-bar{flex-direction:column;align-items:stretch;gap:14px}.purpose{padding:42px 22px 0}.purpose-links{grid-template-columns:1fr}.purpose-links a{padding:20px 0;font-size:16px}.purpose-links a+a{border-left:0;border-top:1px solid var(--line)}.tool-box{grid-template-columns:1fr;margin-top:24px}.tool-intro{padding:24px;border-right:0;border-bottom:1px solid var(--line)}.tool-intro h3{clear:none;font-size:23px;margin-top:12px}.tool-intro p br{display:none}.tool-symbol{width:48px;height:48px;font-size:32px;margin-left:8px}.calculator{padding:22px}.fields{gap:14px}.fields label{font-size:14px}input{font-size:20px;padding:10px}.calc-results{gap:14px}.calc-results span{font-size:13px}.calc-results strong{font-size:clamp(20px,5.5vw,30px)}.library{padding-top:0}.articles h3{font-size:22px}.articles p{margin-bottom:20px}.companions{padding:48px 22px;grid-template-columns:1fr;gap:38px}.companions-art{order:2;padding-top:12px;max-width:430px;width:100%;margin:auto}.companions-copy{order:1}.companions h2 br{display:none}#crew-text{min-height:0}.party-cards small{font-size:12px;letter-spacing:0}.trust-strip{padding:48px 22px}.closing{padding:48px 22px}.closing h2 span{display:block}footer{grid-template-columns:1fr;padding:36px 22px;gap:24px}.reading-layout{display:flex;flex-direction:column;padding:30px 22px 60px;gap:30px}.reading-aside{position:static;align-self:stretch;padding:20px;background:#e8f0f6;border:1px solid var(--line);border-radius:6px}.reading-aside ol{margin:14px 0}.reading h1{font-size:29px}.reading section h2{font-size:23px}.reading section{margin:34px 0}.takeaway{padding:22px}.character-question{gap:14px}.character-question .portrait{width:58px}.character-question p{padding:14px;font-size:15px}.inline-calculator,.comparison-check{padding:20px}.inline-calculator .fields{grid-template-columns:1fr}.policy{padding:35px 22px 60px}dialog{padding:28px 20px}dialog h2{font-size:24px}.lesson-speaker{gap:12px;align-items:start}.mini-portrait{width:52px;height:52px}.gold-button{padding:15px 20px}}
@media(max-width:370px){.head-right{gap:8px}.xp{display:none}.fields,.calc-results{grid-template-columns:1fr}.calc-results>div{padding:6px 0}.hero-actions{align-items:stretch;flex-direction:column}.hero-read{align-self:start}.party-names{gap:4px}.party-names span{padding:2px 8px}.brand{font-size:16px}.back-map{font-size:12px}}

.mobile-toc{display:none}.mobile-toc summary{cursor:pointer;font-weight:700;min-height:44px;padding:8px 0}.mobile-toc li{padding:8px 0}.mobile-toc a{text-decoration:underline}.mobile-toc ol{padding-left:22px}.policy dl{display:grid;grid-template-columns:max-content 1fr;gap:12px 20px}.policy dd{margin:0}
@media(max-width:700px){.reading-aside{display:none}.mobile-toc{display:block;background:#e8f0f6;border:1px solid var(--line);padding:12px 20px;border-radius:6px;margin:24px 0}.policy dl{grid-template-columns:1fr}}

/* Character-led explanations. Diagram labels remain selectable, searchable text. */
.lesson-diagram{margin:32px 0 46px;padding:28px;border:1px solid #b4c9d9;border-top:5px solid #c79535;border-radius:10px;background:#fff;box-shadow:0 6px 0 #e4edf3}
.lesson-diagram figcaption{margin-bottom:26px}.lesson-diagram figcaption .eyebrow{display:block;margin-bottom:8px}.lesson-diagram figcaption>strong{display:block;font-size:23px;line-height:1.6}
.diagram-voice{display:flex;align-items:center;gap:18px;min-width:0}.diagram-voice .portrait{width:64px;flex:0 0 64px;border-width:3px;box-shadow:0 0 0 1px #826d41}.diagram-voice>div{min-width:0}.voice-label{display:block;font-size:15px;font-weight:800;color:#263e50;margin-bottom:6px}.voice-label small{font-size:13px;font-weight:500;color:#526879}.diagram-voice p{font-size:16px;line-height:1.9;margin:0}.voice-joshu{background:#edf4f9;border-radius:7px;padding:20px;margin-top:24px}.voice-hakase{margin-bottom:24px}.diagram-note,.reading .diagram-note{font-size:13px;line-height:1.85;color:#526879;margin-top:18px}.diagram-kicker{display:block;font-size:14px;font-weight:700}.trade-origin{text-align:center;padding:20px;background:#edf3f8;border:1px solid #b9cedc;border-radius:7px}.trade-origin strong{display:block;font-size:26px;margin:6px 0}.trade-origin>span:last-child{font-size:14px}.branch-outcomes{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-top:30px;position:relative}.branch-outcomes:before{content:"";position:absolute;top:0;left:25%;right:25%;height:18px;border-bottom:2px solid #92a9ba;border-left:2px solid #92a9ba;border-right:2px solid #92a9ba}.outcome{position:relative;padding:20px 16px;border-radius:7px;border:1px solid;text-align:center;min-width:0}.outcome-gain{background:#eef7f2;border-color:#a0c7b2;color:#205c44}.outcome-loss{background:#fff1ee;border-color:#d8aaa3;color:#923e32}.branch-arrow{display:block;font-size:26px;line-height:1;margin-bottom:12px}.outcome strong{display:block;font-size:23px;line-height:1.6;margin:8px 0}.outcome>span:last-child{font-size:14px}.common-funds{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;background:#fff1c9;border-radius:6px;margin-bottom:20px;font-size:15px}.common-funds strong{font-size:26px;white-space:nowrap}.exposure-case+.exposure-case{border-top:1px solid #c8d7e1;margin-top:24px;padding-top:24px}.exposure-label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:15px}.exposure-label>span{font-size:14px}.exposure-track{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;border-radius:4px;background:#eaf0f5;padding:6px;margin-top:12px}.exposure-unit{height:28px;border-radius:2px;background:#416f91}.exposure-ten .exposure-unit{background:#755a8c}.exposure-case p,.reading .exposure-case p{font-size:15px;margin-top:12px}.exposure-case p>b{display:block;font-size:21px}.exposure-case small{display:block;font-size:14px;color:#526879}.unit-key,.reading .unit-key{font-size:13px;color:#526879;margin-top:18px}.risk-lanes{display:grid;grid-template-columns:1fr 1fr;gap:18px}.risk-lane{border:1px solid #b9cedc;border-radius:7px;overflow:hidden}.risk-lane h3{font-size:17px;background:#e9f1f7;padding:16px;text-align:center}.risk-lane:nth-child(2) h3{background:#efedf5}.risk-lane ol{list-style:none;margin:0;padding:20px 16px}.risk-lane li{position:relative;padding:14px;border:1px solid #c8d7e1;border-radius:5px;background:#fafcfe}.risk-lane li+li{margin-top:28px}.risk-lane li+li:before{content:"↓";position:absolute;top:-29px;left:calc(50% - 7px);color:#526879;font-size:19px}.risk-lane small{display:block;font-size:13px;color:#526879;margin-bottom:4px}.risk-lane b{font-size:15px}.diagram-caution{margin-top:20px;padding:18px 20px;border-left:4px solid #c48b2a;background:#fff4d9;border-radius:0 5px 5px 0}.diagram-caution>b{font-size:15px}.diagram-caution p,.reading .diagram-caution p{font-size:15px;line-height:1.9;margin-top:8px}.account-route{list-style:none;padding:0;margin:0;display:grid;gap:0}.account-route li{display:flex;gap:20px;position:relative;padding:0 0 24px}.account-route li:last-child{padding-bottom:0}.account-route li:not(:last-child):before{content:"";position:absolute;top:40px;bottom:0;left:21px;border-left:2px solid #c0d1dd}.route-step{display:grid;place-items:center;flex:0 0 44px;height:44px;background:#17364f;color:#fff1c7;border-radius:50%;font-size:16px;font-weight:800;position:relative}.account-route li>div{min-width:0;flex:1;padding:12px 18px;background:#f0f5f9;border:1px solid #d0dde7;border-radius:6px}.account-route b{font-size:18px}.account-route p,.reading .account-route p{font-size:15px;margin-top:4px}.account-route a{display:inline-block;font-size:14px;text-decoration:underline;text-underline-offset:4px;padding:8px 0;color:#345d7c}.party-explainer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px;align-items:stretch}.party-explainer .diagram-voice{display:block;background:#fff;border:1px solid #c8d7e1;border-radius:8px;padding:24px;margin:0}.party-explainer .portrait{width:64px;margin-bottom:18px}.party-explainer .voice-hakase{background:#fff5dc}.party-explainer .voice-joshu{background:#eaf2f8}
@media(max-width:1000px){.party-explainer{grid-template-columns:1fr}.party-explainer .diagram-voice{display:flex;align-items:center;padding:20px}.party-explainer .portrait{margin:0}}
@media(max-width:700px){.lesson-diagram{padding:20px;margin:28px 0 36px}.lesson-diagram figcaption>strong{font-size:21px}.diagram-voice{gap:14px;align-items:start}.diagram-voice .portrait{width:52px;flex-basis:52px}.voice-label small{display:block;font-size:13px}.voice-joshu{padding:16px}.branch-outcomes,.risk-lanes{grid-template-columns:1fr}.branch-outcomes{padding-top:20px}.branch-outcomes:before{display:none}.outcome{padding:18px 14px}.outcome strong{font-size:24px}.trade-origin{padding:18px 14px}.trade-origin strong{font-size:24px}.branch-arrow{display:inline-block;margin:0 0 8px}.exposure-track{gap:3px;padding:4px}.exposure-unit{height:24px}.common-funds{flex-wrap:wrap;padding:14px}.account-route li{gap:12px}.account-route li>div{padding:14px}.account-route b{font-size:17px}.party-explainer .diagram-voice{padding:18px}.lesson-diagram .voice-joshu{display:block}.lesson-diagram .voice-joshu .portrait{margin-bottom:12px}}

/* Clear next step: external guides use a consistent gold action. */
.expert-button{display:inline-flex;justify-content:space-between;align-items:center;gap:24px;min-height:66px;padding:16px 24px;border:2px solid #ffe295;border-radius:8px;background:#ffcf60;color:#172c42;box-shadow:0 5px 0 #a97319;text-align:left;font-size:18px;font-weight:850;line-height:1.5;transition:background .18s,transform .18s,box-shadow .18s;max-width:100%}.expert-button small{display:block;font-size:12px;font-weight:500;margin-top:5px;color:#37434a}.expert-button:hover{background:#ffe197;transform:translateY(-2px);box-shadow:0 7px 0 #a97319}.expert-button:active{transform:translateY(2px);box-shadow:0 3px 0 #a97319}.cta-arrow{display:grid;place-items:center;flex:0 0 32px;height:32px;border:1px solid #b79140;border-radius:50%;font-size:22px}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.hero-actions .expert-button{width:min(100%,410px)}header nav{align-items:center}header nav .expert-button{font-size:14px;min-height:44px;padding:9px 14px;gap:12px;box-shadow:0 3px 0 #a97319;border:1px solid #d5a648}header nav .expert-button small,header nav .cta-arrow{display:none}.library .expert-button{font-size:15px;min-height:56px;padding:12px 18px}.expert-bridge{padding:30px;border-radius:10px;background:#142e46;color:#f4f8fc;border:1px solid #254762}.reading .expert-bridge{margin:40px 0}.expert-bridge .eyebrow{color:#ffdb83;margin-top:24px}.expert-bridge h2{color:#fff}.bridge-speaker{display:flex;align-items:center;gap:18px}.bridge-speaker .portrait{width:64px;flex:0 0 64px;border-width:3px}.bridge-speaker p,.reading .bridge-speaker p{font-size:16px;font-weight:700;line-height:1.8}.bridge-speaker small{display:block;color:#ffdc87;font-weight:500;font-size:13px;margin-bottom:4px}.bridge-copy{color:#d9e5ed;margin:18px 0 24px}.bridge-note,.reading .bridge-note{font-size:13px;line-height:1.9;color:#536878;margin-top:20px}.expert-bridge .bridge-note{color:#c3d3e0}.expert-bridge .expert-button{width:100%}.conversion-closing{background:#e4eff7;padding:64px var(--space)}.bridge-party{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:850px;margin:38px auto 28px}.bridge-party>div{background:#fff;border:1px solid #c6d7e4;border-radius:8px;padding:24px 16px}.bridge-party .portrait{width:76px;margin:0 auto 18px}.bridge-party b{font-size:15px}.bridge-party p{font-size:15px;margin-top:10px}.closing-intro{font-size:17px;margin:24px 0}.conversion-closing>.expert-button{min-width:min(100%,380px)}.conversion-closing .bridge-note{max-width:760px;margin:24px auto 0}.review-link{display:block;width:fit-content;margin:24px auto 0;padding:12px 0;border:0;background:none;text-decoration:underline;text-underline-offset:5px;font-size:14px;color:#435e73}.quest-guide{padding:20px 0;border-top:1px solid #c8d7e1;margin-top:20px}.quest-guide>p{font-size:16px;margin-bottom:16px}.quest-guide .expert-button{width:100%;font-size:16px}.quest-guide>small{display:block;margin-top:16px;font-size:13px;color:#526879}.quest-guide:not([hidden])+#next{background:transparent;box-shadow:none;border:1px solid #8ca2b3;font-weight:500;font-size:14px}.check-next-note{color:#435e73}
@media(max-width:1100px){header nav{flex-wrap:wrap;gap:12px 18px}.library .section-heading{align-items:start}}
@media(max-width:700px){header nav .expert-button{width:100%;justify-content:center;font-size:15px}header nav{row-gap:10px}.expert-button{font-size:17px;padding:15px 18px;gap:16px}.expert-bridge{padding:24px 20px}.bridge-speaker{gap:14px;align-items:start}.bridge-speaker .portrait{width:52px;flex-basis:52px}.bridge-party{grid-template-columns:1fr;gap:16px;margin:28px auto}.bridge-party>div{display:grid;grid-template-columns:64px 1fr;gap:4px 18px;text-align:left;align-items:center;padding:18px}.bridge-party .portrait{grid-row:1/3;width:60px;margin:0}.bridge-party p{margin:0}.bridge-party br,.closing-intro br{display:none}.conversion-closing{padding:48px 22px}.closing-intro{font-size:16px}.conversion-closing>.expert-button{width:100%}.hero .hero-caption{font-size:13px}}
