@font-face{font-family:MuseumBrush;src:url("../assets/fonts/MaShanZheng-Regular.ttf") format("truetype");font-display:swap}
:root{--jade:#193b32;--jade2:#254c3d;--ink:#233c32;--paper:#f3e9d2;--paper2:#e8d8b7;--brass:#bc9954;--brass2:#8e703b;--red:#8d4938;--muted:#796c51;--line:#c3ad7c;--serif:"Songti SC","STSong","Noto Serif CJK SC",serif;--sans:"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#142f29;color:var(--ink);font-family:var(--serif)}
body{overflow-x:hidden}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit}
[hidden]{display:none!important}
.app{min-height:100vh;padding:clamp(8px,.5vw,20px);background:radial-gradient(ellipse at 50% 0%,#345548 0,#142f29 70%);position:relative}
.app:before{content:"";pointer-events:none;position:fixed;inset:10px;border:1px solid #bb9b5f80;z-index:9}
.topbar{height:clamp(62px,5.2vw,112px);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:0 clamp(20px,3vw,110px);color:#e9dcc0;border-bottom:1px solid #a58d5e73;position:relative;z-index:3}
.museum-mark{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;width:max-content}
.seal{display:grid;place-items:center;width:42px;height:42px;border:1px solid #c4a765;color:#dfc88e;font-family:MuseumBrush,serif;font-size:24px;outline:1px solid #c4a76566;outline-offset:3px}
.museum-mark b{display:block;font-size:clamp(14px,.7vw,27px);font-weight:500;letter-spacing:.18em}
.museum-mark small{display:block;margin-top:4px;font:9px var(--sans);letter-spacing:.2em;color:#b8a97e}
.top-center{display:flex;align-items:center;justify-content:center;gap:17px;font-size:clamp(14px,.66vw,25px);letter-spacing:.12em;color:#c6b68e;white-space:nowrap}
.top-center i{width:1px;height:22px;background:var(--brass)}
.top-center strong{font-weight:500;color:#f1e7d2}
.top-actions{display:flex;justify-content:flex-end;align-items:center;gap:24px}
.room-mark{font:12px var(--sans);letter-spacing:.12em;color:#d2c29e}
.plain-action,.back-home,.article-home{background:transparent;color:inherit;border:0;cursor:pointer}
.plain-action{color:#dbc99e;font-size:14px}
.plain-action b{font-size:20px;margin-left:9px;color:#eed59a}
.home-screen{position:relative;min-height:calc(100vh - clamp(78px,5.8vw,130px));isolation:isolate;overflow:hidden;padding:clamp(26px,2.5vw,84px) clamp(22px,4vw,150px) clamp(20px,1.4vw,50px);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.62fr);grid-template-rows:minmax(440px,.92fr) minmax(620px,1.08fr) auto;column-gap:4vw;row-gap:clamp(12px,1.2vw,40px);background:#b69d70 url("../assets/backgrounds/2-10.png?v=20261004i") center/cover no-repeat;color:#f3e8cb}
.hero-wash{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#17372feF 0%,#1d3c32df 38%,#213b32a1 67%,#1d362d8c 100%),linear-gradient(0deg,#142e29e8 0%,transparent 47%,#142e294a 100%)}
.hero-copy{align-self:center;max-width:1180px;position:relative;padding-bottom:2vw}
.eyebrow{font:clamp(12px,.52vw,20px) var(--sans);letter-spacing:.22em;color:#c6a968;text-transform:uppercase}
.hero-copy .eyebrow span{display:inline-grid;place-items:center;width:2em;height:2em;border:1px solid var(--brass);margin-right:12px;letter-spacing:0;color:#f1d995}
.hero-copy h1{font:clamp(54px,5.1vw,170px)/1.04 MuseumBrush,var(--serif);font-weight:400;letter-spacing:.08em;color:#f2dfb3;margin:clamp(16px,1.1vw,42px) 0 clamp(15px,1.3vw,48px);text-shadow:0 5px 26px #10281f9c}
.hero-copy h1 span{display:block;font:500 clamp(20px,1.3vw,48px)/1.4 var(--serif);letter-spacing:.24em;color:#e8d9bb;margin-top:clamp(14px,1.4vw,46px)}
.hero-lead{max-width:990px;font-size:clamp(17px,.88vw,32px);line-height:1.9;letter-spacing:.06em;color:#ede1c5;margin:0}
.hero-note{display:flex;align-items:center;gap:18px;margin-top:clamp(20px,1.6vw,58px);padding:14px 20px 14px 0;border-top:1px solid #cfb4747d;max-width:670px}
.note-mark{width:46px;height:46px;display:grid;place-items:center;border:1px solid #d1b477;color:#e9d394;font:25px MuseumBrush,serif}
.hero-note b{display:block;letter-spacing:.12em;font-size:clamp(15px,.68vw,25px);font-weight:500}
.hero-note small{display:block;color:#d3c29d;margin-top:5px;font:clamp(12px,.48vw,18px) var(--sans);letter-spacing:.04em}
.hero-caption{position:absolute;right:clamp(22px,4vw,150px);top:clamp(24px,1.4vw,50px);display:flex;gap:12px;align-items:center;font:12px var(--sans);color:#ead7ac;letter-spacing:.08em}
.hero-caption i{width:24px;height:1px;background:#c6a968}
.commerce-ledger{align-self:center;justify-self:stretch;max-width:760px;margin-left:auto;display:grid;grid-template-columns:1fr 1fr;position:relative;padding:clamp(18px,1.3vw,44px);background:#f0e5c8e8;color:var(--jade);border:1px solid #c6a763;outline:1px solid #e8d39a80;outline-offset:7px;box-shadow:12px 18px 45px #102c2480}
.commerce-ledger:before,.commerce-ledger:after{content:"";position:absolute;width:36px;height:36px;border-color:var(--brass);border-style:solid}
.commerce-ledger:before{top:8px;left:8px;border-width:1px 0 0 1px}.commerce-ledger:after{right:8px;bottom:8px;border-width:0 1px 1px 0}
.commerce-ledger>div{padding:clamp(15px,1.4vw,48px) clamp(10px,.8vw,28px);border-bottom:1px solid #bca574}
.commerce-ledger>div:nth-child(odd){border-right:1px solid #bca574}
.commerce-ledger>div:nth-child(n+3){border-bottom:0}
.commerce-ledger b{display:block;font:clamp(38px,2.65vw,96px)/1 MuseumBrush,var(--serif);color:#315541}
.commerce-ledger b span{font-size:.47em;margin-left:.08em}
.commerce-ledger small{display:block;margin-top:11px;font:clamp(11px,.44vw,17px) var(--sans);color:#78633a;letter-spacing:.08em;line-height:1.5}
.topic-deck{grid-column:1/-1;position:relative;min-width:0}
.deck-heading{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid #c3a967;margin-bottom:clamp(12px,.7vw,24px);padding-bottom:10px}
.deck-heading span{font-size:clamp(17px,.82vw,31px);letter-spacing:.2em;color:#f1dfb5}
.deck-heading small{font:clamp(11px,.46vw,17px) var(--sans);letter-spacing:.06em;color:#d2c19b}
.radial-stage{height:clamp(560px,39vh,900px);min-height:0;position:relative;isolation:isolate;overflow:visible}
.trade-links{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:-1}
.trade-lines path,.trade-flow path{fill:none;stroke:#dbbf7a;stroke-width:1.45;vector-effect:non-scaling-stroke}
.trade-lines path{opacity:.56;filter:url(#goldGlow)}
.trade-flow path{stroke:#f4dfa3;stroke-width:2;stroke-dasharray:2 25;stroke-linecap:round;opacity:.95;animation:trade-current 5s linear infinite}
.trade-flow path:nth-child(2){animation-delay:-1.1s}.trade-flow path:nth-child(3){animation-delay:-2.2s}.trade-flow path:nth-child(4){animation-delay:-3.3s}.trade-flow path:nth-child(5){animation-delay:-4.4s}
.trade-nodes circle{fill:#f4dfa3;filter:url(#goldGlow);animation:node-pulse 2.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.trade-nodes circle:nth-child(even){animation-delay:-1.3s}
@keyframes trade-current{to{stroke-dashoffset:-108}}
@keyframes node-pulse{50%{opacity:.45;transform:scale(.58)}}
.topic-cards{position:absolute;inset:0;display:block}
.topic-card{--tilt:0deg;position:absolute;width:clamp(285px,14vw,530px);min-height:clamp(145px,6.4vw,245px);text-align:left;padding:clamp(16px,.82vw,30px) clamp(17px,1.2vw,44px);border:1px solid #ba9d61;outline:1px solid #eedcaf55;outline-offset:-7px;background:linear-gradient(145deg,#f5eddb,#e3d0a9);color:#274637;box-shadow:6px 10px 0 #10292077,0 18px 30px #10292045;cursor:pointer;transform:translate(-50%,-50%) rotate(var(--tilt));transition:transform .32s,box-shadow .32s,filter .32s;isolation:isolate}
.topic-card:nth-child(1){left:13%;top:18%;--tilt:-1deg}.topic-card:nth-child(2){left:84%;top:18%;--tilt:.7deg}.topic-card:nth-child(3){left:89%;top:51%;--tilt:-.6deg}.topic-card:nth-child(4){left:81%;top:84%;--tilt:.7deg}.topic-card:nth-child(5){left:12%;top:84%;--tilt:-.8deg}
.topic-card:nth-child(2){--tilt:.45deg;transform-origin:bottom center}
.topic-card:nth-child(3){--tilt:-.35deg}
.topic-card:nth-child(4){--tilt:.25deg}
.topic-card:nth-child(5){--tilt:-.5deg}
.topic-card:before{content:"";position:absolute;top:11px;left:50%;width:13px;height:13px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#ead79d 0,#9f7939 52%,#4e4129 100%);box-shadow:0 2px 2px #20352966;z-index:1}
.topic-card:after{content:"";position:absolute;inset:10px;border:1px solid #a88b5266;pointer-events:none}
.topic-card:hover,.topic-card:focus-visible{transform:translate(-50%,calc(-50% - 10px)) rotate(0);box-shadow:7px 20px 0 #10292077,0 26px 35px #10292062;filter:brightness(1.04);outline:2px solid #f0d28e;outline-offset:1px;z-index:4}
.topic-card .topic-no{font:clamp(12px,.48vw,18px) var(--sans);letter-spacing:.16em;color:#9a793e}
.topic-card strong{display:block;margin:clamp(12px,.65vw,24px) 0 7px;font:clamp(24px,1.2vw,44px) MuseumBrush,var(--serif);letter-spacing:.12em}
.topic-card small{display:block;font:clamp(13px,.56vw,21px)/1.65 var(--sans);color:#56644c;max-width:23em}
.topic-card .topic-open{display:flex;justify-content:space-between;align-items:center;margin-top:clamp(10px,.65vw,22px);padding-top:9px;border-top:1px solid #b79b64;color:#725932;font:clamp(12px,.47vw,17px) var(--sans)}
.hub-center{position:absolute;left:50%;top:50%;width:clamp(280px,19vw,650px);height:clamp(300px,24vw,760px);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#f2dda1;filter:drop-shadow(0 10px 25px #071d17a6);z-index:1}
.hub-center:before,.hub-center:after{content:"";position:absolute;left:50%;top:48%;border:1px solid #e4ca85;transform:translate(-50%,-50%) rotate(-28deg);border-radius:50%;pointer-events:none}
.hub-center:before{width:96%;height:58%;opacity:.57;animation:orbit-turn 32s linear infinite}
.hub-center:after{width:82%;height:76%;opacity:.32;transform:translate(-50%,-50%) rotate(32deg);animation:orbit-turn 42s linear infinite reverse}
@keyframes orbit-turn{to{transform:translate(-50%,-50%) rotate(332deg)}}
.hub-engraving{width:74%;height:auto;max-height:53%;overflow:visible;filter:drop-shadow(0 2px 8px #061c16)}
.engrave-sky{fill:#274b3c;stroke:#d6bd7b;stroke-width:1.4}.engrave-roof{fill:#d7bc78;stroke:#f0d995;stroke-width:1.6}.engrave-water{fill:#183a31;stroke:#d9bf7e;stroke-width:1.3}.engrave-wave{fill:none;stroke:#d7c18b;stroke-width:2;stroke-dasharray:8 7;animation:water-flow 7s linear infinite}.engrave-boat,.engrave-mast{fill:none;stroke:#f0d99b;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.engrave-sun{fill:#c39b52;stroke:#f0d99b;stroke-width:1.5}
@keyframes water-flow{to{stroke-dashoffset:-60}}
.hub-overline{font:clamp(10px,.42vw,16px) var(--sans);letter-spacing:.26em;color:#d4bf8b;margin:0 0 9px}
.hub-center>b{font:clamp(28px,1.9vw,68px)/1.1 MuseumBrush,var(--serif);font-weight:400;letter-spacing:.18em;text-shadow:0 2px 12px #061b15}
.hub-center>small{font:clamp(12px,.55vw,20px) var(--sans);letter-spacing:.24em;margin-top:12px;color:#e8d49d}
.hub-seal{position:absolute;right:12%;bottom:12%;width:36px;height:36px;display:grid;place-items:center;border:1px solid #cfad60;color:#e8cb82;font:22px MuseumBrush,serif;transform:rotate(8deg)}
.trade-current{position:absolute;height:1px;width:clamp(30px,5vw,180px);background:linear-gradient(90deg,transparent,#f1d790aa,transparent);z-index:-1;animation:current-sweep 3.6s ease-in-out infinite}
.trade-current-a{left:33%;top:40%;transform:rotate(23deg)}.trade-current-b{left:61%;top:62%;transform:rotate(-22deg);animation-delay:-1.8s}
@keyframes current-sweep{50%{opacity:.25;transform:translateX(20px) rotate(23deg)}}
.home-footer{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;color:#d7c8a4;font:clamp(11px,.45vw,17px) var(--sans);letter-spacing:.13em}
.home-footer span:first-child{font-family:MuseumBrush,var(--serif);font-size:clamp(18px,.78vw,29px);color:#e4cd94}
.app.is-home{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.app.is-home .topbar{flex:0 0 clamp(62px,5.2vw,112px)}
.app.is-home .home-screen{flex:1 1 auto;height:auto;min-height:0;grid-template-rows:minmax(0,1.03fr) minmax(0,1fr) auto;row-gap:clamp(8px,.65vw,22px);padding:clamp(18px,1.25vw,46px) clamp(22px,4vw,150px) clamp(10px,.75vw,27px)}
.app.is-home .hero-copy{padding-bottom:0}
.app.is-home .topic-deck{display:flex;flex-direction:column;min-height:0}
.app.is-home .deck-heading{flex:0 0 auto;margin-bottom:clamp(8px,.45vw,17px)}
.app.is-home .radial-stage{height:auto;min-height:0;flex:1 1 auto;overflow:hidden}
.app.is-home .home-footer{min-height:24px}
.detail-screen{min-height:calc(100vh - clamp(78px,5.8vw,130px));background:var(--paper);border:1px solid #a68952;box-shadow:inset 0 0 0 8px #f3e9d277;position:relative;padding:clamp(18px,1.4vw,52px) clamp(20px,2.4vw,88px) clamp(16px,1.2vw,40px);animation:page-in .42s ease both}
.detail-screen:before{content:"";position:absolute;inset:13px;border:1px solid #bda57170;pointer-events:none}
.detail-heading{position:relative;display:grid;grid-template-columns:1fr 2.8fr 1fr;align-items:center;min-height:clamp(145px,12vw,380px);border-bottom:3px double var(--line);padding:0 clamp(14px,1.6vw,58px) clamp(16px,1.2vw,42px)}
.back-home{justify-self:start;color:#6e5834;border:1px solid #ad925d;padding:13px 19px;font:clamp(12px,.48vw,18px) var(--sans);letter-spacing:.07em;transition:background .2s,color .2s}
.back-home:hover{background:var(--jade);color:var(--paper)}
.back-home span{font-size:20px;margin-right:9px}
.detail-title{text-align:center}
.detail-title small{font:clamp(12px,.48vw,18px) var(--sans);letter-spacing:.25em;color:#977540}
.detail-title h1{font:clamp(48px,3.3vw,120px)/1.1 MuseumBrush,var(--serif);font-weight:400;color:#274c39;letter-spacing:.14em;margin:8px 0}
.detail-title p{font-size:clamp(14px,.62vw,23px);line-height:1.6;color:#6a5d43;margin:0 auto;max-width:1000px}
.chapter-stamp{justify-self:end;display:grid;place-items:center;width:clamp(78px,5vw,180px);height:clamp(78px,5vw,180px);border:3px double #b49458;border-radius:50%;color:#947442;transform:rotate(9deg)}
.chapter-stamp small{font:clamp(10px,.42vw,16px) var(--sans);letter-spacing:.16em}
.chapter-stamp b{font:clamp(31px,1.5vw,56px) MuseumBrush,var(--serif);font-weight:400;margin-top:-6px}
.reading-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,3fr);min-height:calc(100vh - clamp(360px,27vw,850px));position:relative;padding:clamp(18px,1.3vw,48px) 0 clamp(10px,.5vw,18px)}
.reading-index{position:relative;display:flex;flex-direction:column;min-height:100%;padding:clamp(20px,1.6vw,58px) clamp(18px,1.25vw,45px);color:#eadcbc;background:linear-gradient(155deg,#23483a,#15362f 78%);border:1px solid #af9154;box-shadow:7px 9px 0 #94764133}
.index-cap{display:flex;align-items:center;gap:15px;padding-bottom:clamp(20px,1.3vw,48px);border-bottom:1px solid #b8985b8a}
.cap-seal{width:42px;height:42px;display:grid;place-items:center;border:1px solid #c7aa6c;color:#dec589;font:25px MuseumBrush,serif}
.index-cap small{font:11px var(--sans);letter-spacing:.13em;color:#d0bd8e}
.index-cap h2{font:clamp(20px,1vw,37px) MuseumBrush,var(--serif);font-weight:400;letter-spacing:.1em;margin:6px 0 0;color:#f1e3c2}
.item-list{display:grid;gap:8px;padding-top:clamp(14px,1vw,35px)}
.index-item{position:relative;text-align:left;display:grid;grid-template-columns:2.7em 1fr;align-items:center;gap:8px;width:100%;min-height:clamp(54px,4.15vw,132px);padding:12px 12px;border:1px solid transparent;background:transparent;color:#d5c59f;cursor:pointer;transition:background .22s,border-color .22s,transform .22s}
.index-item:hover,.index-item:focus-visible{border-color:#b8985b8a;background:#ffffff0b;transform:translateX(3px);outline:none}
.index-item[aria-current=true]{border-color:#c3a365;background:linear-gradient(90deg,#b8995c31,transparent);color:#f1e3c2}
.index-item .num{font:clamp(12px,.45vw,17px) var(--sans);color:#c7a968;letter-spacing:.08em}
.index-item strong{font-size:clamp(15px,.68vw,25px);font-weight:500;line-height:1.45}
.index-bottom{margin-top:auto;padding-top:22px;display:flex;align-items:center;gap:12px;color:#c1ae81;font:11px var(--sans);letter-spacing:.1em}
.index-rule{display:block;width:24px;height:1px;background:#bd9a58}
.reading-article{position:relative;margin-left:clamp(14px,.9vw,34px);padding:0 clamp(20px,2vw,72px);background:linear-gradient(180deg,#f7f0e1,#ede2c8);border:1px solid #c2ab78;box-shadow:inset 0 0 0 6px #fff7e64d;display:flex;flex-direction:column;min-width:0}
.article-toolbar{height:clamp(46px,3.4vw,106px);display:flex;align-items:center;gap:14px;border-bottom:1px solid #cfbd96;color:#9a7940;font:clamp(11px,.45vw,17px) var(--sans);letter-spacing:.13em}
.article-toolbar>span:first-child{font-variant-numeric:tabular-nums;color:#aa8a4c}
.article-toolbar>span:nth-child(2){color:#746649}
.article-home{margin-left:auto;color:#79643b;font:clamp(11px,.44vw,16px) var(--sans);cursor:pointer;border-bottom:1px solid #b49a63;padding:5px 0}
.article-content{flex:1;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(300px,.94fr);gap:clamp(20px,2.5vw,90px);padding:clamp(20px,1.7vw,62px) 0 clamp(16px,1vw,36px);align-items:center}
.article-copy{max-width:1300px}
.article-kicker{font:clamp(11px,.46vw,17px) var(--sans);letter-spacing:.18em;color:#a18044;margin:0 0 15px}
.article-copy h2{font:clamp(31px,2.15vw,78px)/1.3 MuseumBrush,var(--serif);font-weight:400;letter-spacing:.08em;color:#264b39;margin:0 0 clamp(12px,1.2vw,42px)}
.article-intro{font-size:clamp(17px,.82vw,31px);line-height:1.85;letter-spacing:.045em;color:#3b4e3d;margin:0 0 clamp(15px,1vw,36px);font-weight:600}
.article-text{font-size:clamp(15px,.66vw,24px);line-height:2;letter-spacing:.025em;color:#564f3d}
.article-text p{margin:.65em 0}
.article-text strong{font-weight:600;color:#3d5b43}
.fact-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(15px,1.2vw,42px)}
.fact-card{min-width:110px;padding:10px 15px;border-top:1px solid #b69a63;border-bottom:1px solid #b69a63;color:#77613a}
.fact-card b{display:block;font:clamp(22px,1.25vw,45px) MuseumBrush,var(--serif);color:#315743}
.fact-card small{font:clamp(10px,.4vw,15px)/1.5 var(--sans);color:#73664b}
.related-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:clamp(14px,.9vw,34px)}
.related-links:empty{display:none}
.related-link{display:inline-flex;align-items:center;gap:12px;border:1px solid #9f8450;padding:10px 15px;text-decoration:none;color:#395743;background:#f7efd9;font:clamp(11px,.43vw,16px) var(--sans);transition:background .2s,color .2s}
.related-link:hover,.related-link:focus-visible{background:#244b3b;color:#f4e6c4}
.article-visual{min-width:0}
.main-figure{margin:0;background:#ded0ad;border:1px solid #a98a50;padding:8px;box-shadow:0 12px 28px #33271120}
.image-button{display:block;width:100%;height:clamp(260px,26vh,720px);padding:0;border:0;background:#d2c2a0;overflow:hidden;cursor:zoom-in;position:relative}
.image-button img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.image-button:hover img{transform:scale(1.035)}
.image-zoom{position:absolute;bottom:12px;right:12px;padding:8px 12px;background:#183b32e8;color:#f1e1bc;font:12px var(--sans);letter-spacing:.05em}
.main-figure figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 6px 3px;color:#716142;font:clamp(11px,.45vw,17px) var(--sans)}
.main-figure figcaption small{white-space:nowrap;color:#a08349}
.thumb-rail{display:flex;gap:11px;margin-top:12px;overflow-x:auto;padding-bottom:4px}
.thumb{flex:0 0 clamp(90px,8vw,250px);height:clamp(54px,4.2vw,138px);padding:3px;background:#e7dcc3;border:1px solid #b7a071;cursor:pointer;opacity:.76;transition:opacity .2s,outline .2s}
.thumb[aria-current=true]{opacity:1;outline:2px solid #91733e;outline-offset:2px}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.image-note{display:flex;align-items:center;gap:10px;margin-top:11px;color:#857858;font:clamp(10px,.38vw,14px)/1.5 var(--sans)}
.note-rule{width:22px;height:1px;background:#b09257;flex:none}
.article-footer{min-height:clamp(46px,3.2vw,100px);display:flex;justify-content:space-between;align-items:center;border-top:1px solid #c7b48a;color:#8a7347;font:clamp(10px,.42vw,16px) var(--sans);letter-spacing:.08em}
.article-footer>div{display:flex;align-items:center;gap:clamp(10px,1vw,36px)}
.article-footer button{border:0;background:transparent;color:#385740;cursor:pointer;font:inherit;padding:10px 4px}
.article-footer button:hover,.article-footer button:focus-visible{color:#9e7338;text-decoration:underline}
#pageCount{color:#a1854b;font-variant-numeric:tabular-nums}
.image-viewer,.help-dialog{padding:0;border:1px solid #bd9d5e;background:#183b32;color:#f0e1bd;box-shadow:0 28px 90px #081811bd}
.image-viewer{width:min(92vw,2800px);height:min(92vh,1650px);max-width:none;max-height:none}
.image-viewer::backdrop,.help-dialog::backdrop{background:#07140fe0;backdrop-filter:blur(8px)}
.viewer-bar{height:70px;display:flex;justify-content:space-between;align-items:center;padding:0 20px;border-bottom:1px solid #b69c62}
.viewer-bar>div{display:flex;gap:7px}
.viewer-bar button,.viewer-stage>button{min-width:44px;min-height:42px;border:1px solid #9f8752;background:transparent;color:inherit;cursor:pointer}
.viewer-stage{height:calc(100% - 124px);display:grid;grid-template-columns:60px 1fr 60px;align-items:center;justify-items:center;gap:12px;padding:12px}
.viewer-stage>img{max-width:100%;max-height:100%;object-fit:contain;transform-origin:center;transition:transform .15s;cursor:grab;user-select:none}
.viewer-foot{height:54px;display:flex;justify-content:space-between;align-items:center;padding:0 22px;border-top:1px solid #b69c62;color:#d6c49a;font:12px var(--sans)}
.help-dialog{width:min(90vw,720px);padding:clamp(24px,2vw,60px);font-size:18px;line-height:1.9}
.help-dialog h2{font:40px MuseumBrush,var(--serif);font-weight:400}
.dialog-close{position:absolute;right:15px;top:12px;color:inherit;background:transparent;border:0;font-size:28px;cursor:pointer}
@keyframes page-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1400px){.home-screen{grid-template-columns:1fr .7fr;column-gap:3vw}.topic-cards{gap:10px}.topic-card{padding:18px 14px}.reading-layout{grid-template-columns:minmax(230px,1fr) minmax(0,3fr)}.article-content{gap:22px}.article-text{line-height:1.8}}
@media(max-width:850px){.topbar{grid-template-columns:1fr auto}.top-center{display:none}.room-mark{display:none}.home-screen{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:18px;padding:28px 18px}.hero-copy{padding:54px 4px 0}.hero-copy h1{font-size:clamp(54px,12vw,90px)}.hero-copy h1 span{font-size:22px}.commerce-ledger{max-width:none;margin:10px 8px}.commerce-ledger>div{padding:14px}.topic-cards{grid-template-columns:1fr 1fr}.topic-card{min-height:155px}.topic-card:last-child{grid-column:1/-1}.deck-heading{display:block}.deck-heading small{display:block;margin-top:6px}.hero-caption{right:18px;top:15px}.home-footer{gap:15px;align-items:flex-start}.detail-heading{grid-template-columns:auto 1fr auto;gap:10px;min-height:145px;padding:8px 4px 18px}.detail-title h1{font-size:clamp(35px,8vw,60px)}.detail-title p{font-size:14px}.chapter-stamp{width:56px;height:56px}.chapter-stamp small{display:none}.chapter-stamp b{font-size:27px}.back-home{font-size:0;padding:10px}.back-home span{font-size:22px;margin:0}.reading-layout{grid-template-columns:1fr;gap:12px;min-height:0;padding-top:14px}.reading-index{min-height:auto;padding:16px}.index-cap{padding-bottom:12px}.item-list{display:flex;overflow:auto;padding:12px 2px}.index-item{flex:0 0 175px;min-height:66px}.index-bottom{display:none}.reading-article{margin-left:0;padding:0 14px}.article-content{grid-template-columns:1fr;gap:15px;padding:18px 0}.article-copy h2{font-size:34px}.article-intro{font-size:17px}.article-text{font-size:15px}.article-visual{display:grid;grid-template-columns:1fr}.image-button{height:44vw;min-height:210px}.article-footer{gap:8px}.article-footer>div{gap:6px}.image-note{font-size:11px}}
@media(max-width:480px){.topic-cards{grid-template-columns:1fr}.topic-card:last-child{grid-column:auto}.topic-card{min-height:132px}.commerce-ledger{padding:10px}.commerce-ledger b{font-size:35px}.commerce-ledger small{font-size:10px}.home-footer span:last-child{max-width:44%;text-align:right}.detail-screen{padding:18px 14px}.top-actions .plain-action{font-size:12px}.viewer-stage{grid-template-columns:38px 1fr 38px;padding:4px}.viewer-stage>button{min-width:34px;min-height:40px}.viewer-bar{height:58px;padding:0 10px}.viewer-foot{height:56px;padding:0 10px;gap:8px}.viewer-foot small{font-size:10px}}
@media(max-width:1100px){.app.is-home{height:auto;min-height:100dvh;display:block;overflow:visible}.app.is-home .topbar{height:clamp(62px,5.2vw,112px)}.app.is-home .home-screen{height:auto;min-height:0;display:grid;grid-template-rows:auto auto auto;overflow:hidden;padding:28px 18px 20px}.home-screen{grid-template-rows:auto auto auto}.radial-stage{height:auto;min-height:0;display:flex;flex-direction:column;gap:16px;padding:8px 0}.trade-links,.trade-current{display:none}.hub-center{position:relative;inset:auto;transform:none;width:100%;height:260px;min-height:260px;flex:0 0 260px}.hub-center:before{width:270px;height:190px}.hub-center:after{width:230px;height:235px}.hub-engraving{width:190px;max-height:135px}.hub-center>b{font-size:34px}.hub-center>small{font-size:12px}.topic-cards{position:relative;inset:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.topic-card,.topic-card:nth-child(n){position:relative;inset:auto;width:auto;min-height:155px;transform:none;padding:20px 18px}.topic-card:last-child{grid-column:1/-1}.topic-card:hover,.topic-card:focus-visible{transform:translateY(-5px)}.topic-card strong{font-size:26px;margin:17px 0 8px}.topic-card .topic-open{margin-top:12px}.commerce-ledger{margin-bottom:10px}}
@media(max-width:480px){.topic-cards{grid-template-columns:1fr}.topic-card:last-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* 98-inch 3840×2160 installation composition: the radial merchant-port scene is the main visual. */
.app.is-home .home-screen{display:block;padding:0;min-height:0;height:auto;overflow:hidden}
.app.is-home .hero-copy{position:absolute;left:50%;top:clamp(10px,.48vw,18px);width:min(86%,1800px);max-width:none;padding:0;transform:translateX(-50%);text-align:center;z-index:2}
.app.is-home .hero-copy .eyebrow{font-size:clamp(11px,.42vw,16px);letter-spacing:.2em}
.app.is-home .hero-copy h1{margin:4px 0 0;font-size:clamp(42px,2.1vw,80px);line-height:1.05;letter-spacing:.1em}
.app.is-home .hero-copy h1 span{display:inline;margin:0 0 0 20px;font-size:clamp(18px,.86vw,33px);letter-spacing:.14em;vertical-align:middle}
.app.is-home .hero-caption{top:clamp(14px,.52vw,20px);right:clamp(20px,4vw,150px);font-size:clamp(10px,.34vw,13px);z-index:2}
.app.is-home .topic-deck{position:absolute;inset:clamp(132px,7.2vh,158px) clamp(24px,4vw,150px) clamp(52px,3.6vh,78px);display:flex;flex-direction:column;min-height:0;grid-column:auto;}
.app.is-home .deck-heading{flex:0 0 auto;margin:0 0 clamp(7px,.42vw,16px);padding:0 0 8px}
.app.is-home .deck-heading span{font-size:clamp(16px,.68vw,26px);letter-spacing:.18em}
.app.is-home .deck-heading small{font-size:clamp(10px,.38vw,15px)}
.app.is-home .radial-stage{position:relative;inset:auto;height:auto;min-height:0;flex:1 1 auto;overflow:hidden}
.app.is-home .hub-center{width:clamp(680px,25vw,960px);height:clamp(820px,45vh,1000px);max-width:42vw;z-index:1;background:radial-gradient(ellipse at center,#193b32fa 0%,#193b32f0 55%,#193b32c9 73%,#193b3260 88%,transparent 100%)}
.app.is-home .hub-center:before{width:116%;height:75%}
.app.is-home .hub-center:after{width:98%;height:96%}
.app.is-home .hub-engraving{width:clamp(420px,15vw,580px);max-height:37%;margin-bottom:4px}
.app.is-home .hub-overline{font-size:clamp(12px,.4vw,16px);margin:0 0 8px}
.app.is-home .hub-center>b{font-size:clamp(54px,2.2vw,84px);letter-spacing:.18em}
.app.is-home .hub-center>small{font-size:clamp(15px,.58vw,22px);margin-top:9px}
.app.is-home .hub-summary{max-width:800px;margin:clamp(13px,.55vw,21px) auto 0;font:clamp(18px,.65vw,25px)/1.65 var(--serif);letter-spacing:.035em;color:#eee2c5;text-shadow:0 2px 8px #12271d}
.app.is-home .hub-motto{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:clamp(10px,.48vw,18px);color:#f1dfb5}
.app.is-home .hub-motto .note-mark{width:34px;height:34px;flex:0 0 34px;font-size:20px}
.app.is-home .hub-motto b{font-size:clamp(15px,.52vw,20px);font-weight:500;letter-spacing:.12em}
.app.is-home .hub-motto small{display:block;margin-top:3px;color:#d3c29d;font:clamp(11px,.36vw,14px) var(--sans);letter-spacing:.04em}
.app.is-home .hub-center .commerce-ledger{width:94%;max-width:none;margin:clamp(12px,.48vw,18px) 0 0;padding:8px 0;grid-template-columns:repeat(4,minmax(0,1fr));background:#f0e5c81c;color:#f3e8cb;border:1px solid #c6a76380;outline:0;outline-offset:0;box-shadow:0 8px 22px #102c2440}
.app.is-home .hub-center .commerce-ledger>div{padding:5px 8px;border:0;border-right:1px solid #c6a76375}
.app.is-home .hub-center .commerce-ledger>div:last-child{border-right:0}
.app.is-home .hub-center .commerce-ledger b{font-size:clamp(28px,1.25vw,48px);color:#f0d695}
.app.is-home .hub-center .commerce-ledger small{margin-top:5px;font:clamp(10px,.36vw,14px)/1.4 var(--sans);color:#e0d1ae;letter-spacing:.025em}
.app.is-home .topic-card,.app.is-home .topic-card:nth-child(n){width:clamp(330px,13.5vw,520px);min-height:clamp(190px,11vh,250px);padding:clamp(21px,.9vw,34px) clamp(22px,1vw,38px)}
.app.is-home .topic-card strong{font-size:clamp(31px,1.34vw,51px);margin:clamp(16px,.68vw,26px) 0 9px}
.app.is-home .topic-card small{font-size:clamp(15px,.52vw,20px)}
.app.is-home .topic-card .topic-open{margin-top:clamp(16px,.65vw,25px);font-size:clamp(14px,.44vw,17px)}
.app.is-home .home-footer{position:absolute;left:clamp(24px,4vw,150px);right:clamp(24px,4vw,150px);bottom:8px;min-height:25px;z-index:2}
@media(max-width:1100px){.app.is-home .home-screen{position:relative;display:grid;grid-template-rows:auto auto auto;gap:18px;padding:28px 18px 20px;overflow:hidden}.app.is-home .hero-copy{position:relative;inset:auto;width:auto;transform:none;text-align:left;padding:54px 4px 0}.app.is-home .hero-copy h1{font-size:clamp(54px,12vw,90px)}.app.is-home .hero-copy h1 span{display:block;margin:14px 0 0;font-size:22px}.app.is-home .hero-caption{right:18px;top:15px}.app.is-home .topic-deck{position:relative;inset:auto;display:flex;min-height:0}.app.is-home .radial-stage{display:flex;flex-direction:column;gap:16px;padding:8px 0;overflow:visible}.app.is-home .hub-center{position:relative;inset:auto;transform:none;width:100%;max-width:none;height:auto;min-height:440px;flex:0 0 auto}.app.is-home .hub-center:before{width:270px;height:190px}.app.is-home .hub-center:after{width:230px;height:235px}.app.is-home .hub-engraving{width:190px;max-height:135px}.app.is-home .hub-center>b{font-size:34px}.app.is-home .hub-center>small{font-size:12px}.app.is-home .hub-summary{max-width:620px;padding:0 20px;font-size:14px}.app.is-home .hub-motto{margin-top:10px}.app.is-home .hub-center .commerce-ledger{width:min(100%,520px);margin:12px 0 0;padding:8px 0;grid-template-columns:repeat(2,minmax(0,1fr))}.app.is-home .hub-center .commerce-ledger>div:nth-child(2){border-right:0}.app.is-home .hub-center .commerce-ledger>div:nth-child(-n+2){border-bottom:1px solid #c6a76375}.app.is-home .hub-center .commerce-ledger b{font-size:28px}.app.is-home .hub-center .commerce-ledger small{font-size:10px}.app.is-home .topic-card,.app.is-home .topic-card:nth-child(n){width:auto;min-height:155px;padding:20px 18px}.app.is-home .topic-card strong{font-size:26px;margin:17px 0 8px}.app.is-home .topic-card small{font-size:13px}.app.is-home .topic-card .topic-open{margin-top:12px;font-size:12px}.app.is-home .home-footer{position:relative;inset:auto;min-height:auto}}

.visual-tabs{display:flex;gap:8px;margin:0 0 14px}.visual-tabs[hidden]{display:none}.visual-tabs button{border:1px solid #c3ad7c;padding:9px 15px;background:transparent;color:#756442;font:12px var(--sans);cursor:pointer}.visual-tabs button[aria-pressed=true]{background:#23483a;border-color:#23483a;color:#f1e3c2}.film-frame{width:100%;aspect-ratio:16/9;min-height:220px;display:grid;place-items:center;overflow:hidden;border:1px solid #b79b64;background:radial-gradient(ellipse at center,#2b5142,#142f29 78%);box-shadow:inset 0 0 0 8px #ffffff0c}.film-frame video{display:block;width:100%;height:100%;background:#142f29}.film-frame video[hidden]{display:none}.film-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;color:#eadcbc;text-align:center;padding:20px}.film-reel{width:52px;height:52px;display:grid;place-items:center;border:1px solid #c5a566;color:#e3ca8c;font:26px MuseumBrush,serif}.film-placeholder b{font-size:clamp(18px,1vw,32px);font-weight:500;letter-spacing:.12em}.film-placeholder small{font:13px var(--sans);color:#d4c29a}.film-status{font:11px/1.7 var(--sans);color:#adbea9;max-width:30em}.film-caption{font:12px/1.7 var(--sans);color:#796c51;margin:12px 2px}.film-panel[hidden],#galleryPanel[hidden]{display:none}
