:root{--navy:#0a2035;--gold:#b29454;--paper:#fffdf7;--font:17px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e4e0d6;color:#1b2d3d;font:var(--font)/1.62 Georgia,'Noto Serif',serif}button,select{font:600 13px/1.4 system-ui;cursor:pointer}a{color:inherit}.reader-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--navy);color:#f8edcf;padding:15px 25px;border-bottom:1px solid #b79a58}.brand{font:900 14px/1.3 system-ui;letter-spacing:.11em;text-decoration:none;white-space:nowrap}.issue-label{font:12px/1.4 system-ui;color:#d8c79d}.tools{display:flex;gap:7px;align-items:center}.tools button,.tools select,.page-nav button{border:1px solid #a68b51;border-radius:4px;background:transparent;color:inherit;padding:8px 11px;min-height:38px}.tools select{background:var(--navy);max-width:110px}.tools button:hover,.page-nav button:hover{background:#b2945420}.page-nav{display:flex;justify-content:center;gap:24px;align-items:center;position:sticky;top:69px;z-index:15;background:#ede8dcf5;color:var(--navy);padding:9px 14px;border-bottom:1px solid #c3b793;font:12px system-ui}.page-nav button:disabled{opacity:.3;cursor:default}main{padding:30px 14px 60px}.page{width:min(960px,100%);min-height:1150px;padding:35px 52px 25px;margin:0 auto 24px;background:var(--paper);box-shadow:0 8px 28px #1c2c3620;outline:none;display:flex;flex-direction:column}.reader-js .page{display:none}.reader-js .page.active{display:flex}.running{display:flex;justify-content:space-between;gap:16px;border-top:4px solid var(--navy);border-bottom:1px solid #b79a58;padding:10px 0;margin-bottom:30px;font:10px/1.5 system-ui;letter-spacing:.08em}.running b{font-size:12px;letter-spacing:.12em}.running span{text-align:end}.section-kicker{text-transform:uppercase;letter-spacing:.14em;color:#987634;font:800 11px/1.4 system-ui}h1{font:normal clamp(34px,4.7vw,52px)/1.08 Georgia,serif;letter-spacing:-.035em;color:var(--navy);margin:16px 0 18px}h2{font:750 15px/1.4 system-ui;color:#204158;letter-spacing:.025em;margin:22px 0 11px;break-after:avoid}.deck{font:18px/1.55 system-ui;color:#4e5b63;margin:0 0 22px}.copy{column-count:2;column-gap:38px;column-rule:1px solid #e0d8c5;margin-top:18px}.copy p{margin:0 0 16px;orphans:3;widows:3}.copy h2:first-child{margin-top:0}.copy p:first-child::first-letter{color:#987634}.page figure{margin:20px 0 10px}.page figure img{display:block;width:100%;max-height:390px;object-fit:contain;background:#eeeadf}.page figcaption{font:11px/1.45 system-ui;color:#56626b;margin-top:10px}.page figcaption small{display:block;margin-top:5px;font-size:10px;color:#6d746d;overflow-wrap:anywhere}.page footer{display:flex;justify-content:space-between;border-top:1px solid #b79a58;padding-top:12px;margin-top:auto;font:10px/1.5 system-ui;color:#53606b;padding-block-start:14px}.page footer b{font:700 18px Georgia,serif;color:var(--navy)}.sources{font:12px/1.5 system-ui;margin:25px 0;clear:both}.sources summary{font-weight:750;color:#7c622b;cursor:pointer}.sources li{margin:7px 0;overflow-wrap:anywhere}.contents-list{display:grid;gap:8px;column-span:all;margin:25px 0}.contents-list a{display:flex;gap:24px;align-items:center;padding:14px 0;border-bottom:1px solid #d9cfb6;text-decoration:none;font:600 16px/1.4 system-ui}.contents-list a:hover{color:#987634}.contents-list span{font:normal 23px Georgia,serif;color:#987634;min-width:70px}.cover{background:var(--navy);color:#fff2d1}.cover .running{border-color:#bc9d5a;color:#e8d7b5}.cover h1{font-size:clamp(45px,6.7vw,78px);color:#fff5d9;max-width:720px;line-height:1.02;margin:40px 0 25px}.cover .section-kicker{color:#d5b46b}.cover .deck{color:#ded3b9;font-size:23px;max-width:720px}.cover .copy{column-count:1;margin-top:30px;border-block-start:1px solid #b79a58;padding-top:25px}.cover .copy h2{color:#e0bd72}.cover .copy p{max-width:700px;font-size:20px}.cover footer,.cover footer b{color:#e8d7b5}.cover .sources{color:#e8d7b5}.cover .sources summary{color:#d5b46b}.photo-page .copy{column-count:1;max-width:680px}.photo-page figure img{max-height:610px}dialog{border:1px solid #b79a58;background:var(--paper);color:var(--navy);padding:25px;max-width:min(650px,95vw);max-height:88dvh;border-radius:7px}dialog::backdrop{background:#06192bd9}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-head h2{font:normal 30px Georgia,serif;margin:0}.dialog-head button{border:0;background:none;font-size:30px}.sr{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #d3b36b;outline-offset:3px}html[dir=rtl] .copy{font-family:Tahoma,'Noto Naskh Arabic',serif;line-height:1.9}html[lang=ja] .copy,html[lang=zh] .copy{line-height:1.95;font-family:'Noto Serif CJK JP','Noto Serif CJK SC',serif}@media(max-width:750px){.reader-bar{padding:12px;gap:8px;flex-wrap:wrap}.brand{font-size:12px}.issue-label{font-size:10px}.tools{width:100%;justify-content:space-between}.tools button,.tools select{font-size:11px;padding:7px 9px}.page-nav{top:104px;gap:15px;padding:7px}.page-nav button{font-size:11px}.page{padding:24px;min-height:900px}.running{font-size:8px;margin-bottom:24px}.running b{font-size:10px}.copy{column-count:1;column-rule:0}.deck{font-size:16px}.cover .deck{font-size:19px}.cover h1{margin-top:28px}.cover .copy p{font-size:18px}.page figure img{max-height:300px}main{padding:16px 8px}.contents-list a{font-size:14px}.contents-list span{min-width:60px;font-size:21px}}@media print{.reader-bar,.page-nav{display:none}.reader-js .page{display:flex!important}.page{box-shadow:none;break-after:page;min-height:0;margin:0;padding:10mm}body{background:white}.page figure img{max-height:55mm}main{padding:0}.copy{font-size:11pt}}

.culture-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:14px 0}.culture-images figure{min-width:0;margin:0!important}.culture-images img{display:block;width:100%;height:230px;object-fit:cover;border:1px solid #e0d8c5}.culture-images figcaption{font:10px/1.4 system-ui;color:#56626b;margin-top:7px}.culture-page .copy{margin-top:12px}@media(max-width:620px){.culture-images{grid-template-columns:1fr}.culture-images img{height:auto;max-height:280px}}

/* Issue 5 railway cover */
.cover figure{margin:24px -24px 18px}.cover figure img{display:block;width:100%;height:auto;max-height:570px;object-fit:contain;background:#071a2c}.cover figcaption{color:#e4d9bd;padding:10px 12px;font:12px/1.5 system-ui}.cover figcaption small{color:#c3b692}.cover .cover-link{display:block;align-self:flex-start;background:#d7b66b;color:#071a2c;padding:13px 20px;margin:0 0 24px;text-decoration:none;font:700 16px/1.3 system-ui;border-radius:4px}.cover h1{font-size:clamp(38px,5vw,64px)}@media(max-width:600px){.cover figure{margin:18px -10px}.cover h1{font-size:38px}}

/* A single compact reading bar, with no second sticky row. */
.reader-bar{height:48px;padding:5px 12px;gap:10px;flex-wrap:nowrap;justify-content:space-between;box-sizing:border-box}
.reader-bar .issue-label{display:none}.reader-bar .brand{font-size:12px;flex-shrink:0}.reader-bar .tools{width:auto;display:flex;justify-content:initial;gap:5px;flex-shrink:0;margin-inline-start:auto}
.reader-bar .tools button,.reader-bar .tools select,.reader-bar .page-nav button{min-height:34px;height:34px;padding:5px 8px;font-size:12px}
.reader-bar .tools select{max-width:100px}.reader-bar .page-nav{position:static;top:auto;display:flex;background:none;color:inherit;border:0;padding:0;gap:6px;flex-shrink:0;font:12px system-ui}
.reader-bar .page-nav button{width:32px;padding:0;font-size:24px;line-height:1}.reader-bar #pageCounter{white-space:nowrap;min-width:46px;text-align:center;font-variant-numeric:tabular-nums}
main{padding-top:12px}.page{scroll-margin-top:54px}
@media(max-width:600px){.reader-bar{height:44px;padding:4px 6px;gap:5px}.reader-bar .brand{font-size:0;letter-spacing:0}.reader-bar .brand:after{content:'OPINA';font:900 10px/1 system-ui;letter-spacing:.03em}.reader-bar .tools{gap:4px}.reader-bar .tools button,.reader-bar .tools select{font-size:11px;min-height:34px;height:34px;padding:4px 6px}.reader-bar .tools select{width:77px}.reader-bar .page-nav{gap:3px;font-size:10px}.reader-bar .page-nav button{width:27px;min-height:34px;height:34px;padding:0}.reader-bar #pageCounter{min-width:38px}.reader-bar .tools #fullScreen{width:30px;padding:0}main{padding:9px 5px 32px}.page{padding:19px 17px}.running{margin-bottom:17px}}
@media print{.reader-bar{display:none}}

@media(max-width:359px){.reader-bar .brand{display:none}.reader-bar{gap:3px}}

.reader-bar #voiceToggle{width:32px;padding:0;font-size:15px}.reader-bar #voiceToggle[data-speaking]{background:#b2945440}#voicePanel[hidden]{display:none!important}#voicePanel{position:absolute;inset-block-start:calc(100% + 4px);inset-inline-end:8px;display:flex;gap:6px;flex-wrap:wrap;max-width:calc(100vw - 16px);padding:9px;background:#0a2035;color:#fff2d1;border:1px solid #b29454;border-radius:5px;box-shadow:0 4px 16px #0005;font:12px system-ui}#voicePanel button{padding:8px;border:1px solid #b29454;border-radius:4px;background:transparent;color:inherit;min-height:36px}#voicePanel button:disabled{opacity:.45}#voicePanel span:not(:empty){flex-basis:100%;max-width:320px;line-height:1.4}@media(max-width:600px){.reader-bar .brand{display:none}.reader-bar{gap:3px}.reader-bar .tools{gap:3px;margin-inline-start:0}.reader-bar .tools select{width:73px}.reader-bar #voiceToggle{width:29px}.reader-bar .page-nav{gap:2px}.reader-bar .page-nav button{width:25px}}@media(max-width:359px){.reader-bar .tools #fullScreen{width:25px}.reader-bar .tools button{padding-inline:4px}.reader-bar .tools select{width:67px}}
/* Expanded reading also works inside embedded app browsers. */
.reader-expanded .brand,.reader-expanded .issue-label{display:none}.reader-expanded .reader-bar{padding:6px 8px;gap:6px}.reader-expanded main{padding:6px 0 24px}.reader-expanded .page{width:100%;max-width:1200px;margin-inline:auto}.reader-expanded #fullScreen{background:#b29454;color:#0a2035}
html[data-reader-size="1"] .deck{font-size:22px}html[data-reader-size="2"] .deck{font-size:26px}html[data-reader-size="1"] .copy,html[data-reader-size="2"] .copy{column-count:1}html[data-reader-size="1"] .copy p{font-size:21px}html[data-reader-size="2"] .copy p{font-size:25px}
