:root{--ink:#243e35;--green:#28694f;--paper:#fffdf7;--muted:#64716b;--gold:#d9a341}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;background:#f2f4e9;font-size:18px;line-height:1.55}header{max-width:1150px;margin:auto;padding:20px 28px;display:flex;justify-content:space-between;gap:15px;font-size:14px}a{color:var(--green);text-underline-offset:4px}main{max-width:1100px;margin:auto;padding:12px 28px 35px}.intro{text-align:center}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:bold;color:var(--green)}h1{font-family:Georgia,serif;font-size:clamp(30px,5vw,46px);line-height:1.15;margin:9px 0}.intro p{margin:10px 0 23px;color:var(--muted)}button{font:inherit;cursor:pointer;border:1px solid #cdd7c8;border-radius:13px;background:var(--paper);color:var(--ink);padding:11px 18px;min-height:46px}button:hover{background:#e7eddf}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #bc791c;outline-offset:4px}button:disabled{opacity:.4;cursor:default}#chapters{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}#chapters button{font-size:14px;padding:8px 14px}#chapters button[aria-current=true]{background:var(--green);color:white;border-color:var(--green)}.progressline{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;margin-bottom:8px}#audio{font-size:14px;padding:7px 13px}.track{height:5px;background:#dce4d4;border-radius:10px;margin-bottom:17px}#bar{height:100%;background:var(--gold);border-radius:10px}#card{border:1px solid #e0e3d4;border-radius:26px;background:var(--paper);overflow:hidden;box-shadow:0 14px 45px #3142300b}.card-head{padding:25px 32px 5px}.card-head h2{font-family:Georgia,serif;font-size:clamp(27px,4vw,36px);line-height:1.18;margin:7px 0 12px}.spread{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:24px;padding:10px 32px 30px}.picture{min-width:0;background:#edf3e8;border-radius:20px;padding:12px}.picture svg{display:block;width:100%;height:auto}.copy p{margin:0 0 14px;font-size:20px}.copy b{color:#28694f}.remember{border-left:4px solid var(--gold);padding:12px 16px;background:#fff3d6;border-radius:0 10px 10px 0;font-size:18px}.remember strong{display:block;font-size:11px;letter-spacing:.13em;color:#84611d;margin-bottom:5px}.controls{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:8px}#next{background:var(--green);color:white;border-color:var(--green)}#shortcount{font-size:14px;color:var(--muted)}.hint{text-align:center;font-size:13px;color:var(--muted)}.contents{border-top:1px solid #d5ddcf;margin-top:24px;padding-top:17px}.contents summary{cursor:pointer;font-weight:bold}#contents{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}#contents button{text-align:left;font-size:14px}footer{text-align:center;font-size:12px;color:var(--muted);margin-top:25px}svg text{font-family:Arial,Helvetica,sans-serif;fill:#243e35;font-size:17px}svg .small{font-size:14px}svg .label{font-weight:bold}svg .line{fill:none;stroke:#476b59;stroke-width:2;stroke-linecap:round}svg .tag{fill:#fffdf7;stroke:#d1dccb}svg .light{fill:#fffdf7}.monthrow{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #dce4d4}.monthrow:last-child{border-bottom:0}.monthrow svg{width:85px;min-width:85px}.monthrow strong{display:block;font-size:16px;color:#28694f}.monthrow span{font-size:16px;line-height:1.3;display:block}.subtitle{font-size:13px;color:var(--muted);text-align:center;margin:8px 0 0}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini{border-radius:15px;background:#fffdf7;padding:10px;text-align:center}.mini svg{max-width:105px;margin:auto}.mini span{font-size:15px;font-weight:bold} @media(max-width:650px){header{padding:14px 16px;font-size:12px}header span{max-width:105px;text-align:right}main{padding:8px 14px 25px}.intro p{font-size:15px}.spread{grid-template-columns:1fr;padding:5px 18px 22px;gap:17px}.card-head{padding:20px 20px 4px}.picture{max-width:460px;width:100%;margin:auto;padding:8px}.copy p{font-size:18px}.remember{font-size:17px}#chapters{gap:6px}#chapters button{font-size:12px;padding:7px 10px;min-height:42px}.controls button{font-size:15px;padding:10px 13px}#contents{grid-template-columns:1fr 1fr}.progressline{font-size:12px}.hint{font-size:12px}.monthrow{padding:7px 5px}.monthrow svg{width:65px;min-width:65px}.picture>svg{max-height:300px}.mini-grid{gap:8px}}@media(prefers-reduced-motion:no-preference){#card{animation:arrive .18s ease-out}@keyframes arrive{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}}
@media(max-width:650px){.controls{position:sticky;bottom:8px;background:#f2f4e9f2;border:1px solid #d5ddcf;padding:8px;border-radius:16px;box-shadow:0 4px 18px #243e3514;z-index:2}.mini-grid>.mini:last-child:nth-child(3){grid-column:1/-1}.mini-grid>.mini:last-child:nth-child(3) svg{max-width:80px}}
/* Revision: readable diagrams, discoverable definitions and persistent mobile navigation. */
.dues-people{display:flex;align-items:center;justify-content:space-around;text-align:center}.dues-people>div{width:38%;font-size:17px}.dues-people svg{height:135px}.dues-arrow{font-size:42px;color:#997131}.dues-goods{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:12px;padding:8px;background:#fff8e6;border-radius:15px}.dues-goods svg{width:80px}.dues-goods strong{text-align:center;font-size:17px}.diagram-caption,.gate-caption{font-size:15px;text-align:center;line-height:1.5;margin:12px 5px 3px}.gate-toggle{display:block;margin:12px auto 0;background:#28694f;color:white;font-size:15px}.gate-toggle:hover{background:#1d543e}.wordbank{padding:0 32px 25px}.wordbank>p:first-child{font-weight:bold;font-size:16px;margin:0 0 10px}.wordbank>div{display:flex;flex-wrap:wrap;gap:8px}.wordbank button{font-size:16px}.wordbank button[aria-pressed=true]{background:#28694f;color:white}#definition{background:#edf3e8;border-radius:12px;padding:15px;margin-bottom:0;font-size:18px;min-height:75px}.mini-grid>.mini:last-child:nth-child(3){grid-column:1/-1}.mini-grid>.mini:last-child:nth-child(3) svg{max-width:75px}.controls{gap:10px}.controls #audio{font-size:15px;background:#fff3d6;min-width:90px}.card-head h2:focus{outline:none}#contents button[aria-current=true]{border:2px solid #28694f;background:#e4eddd}#card{scroll-margin-top:12px}
@media(max-width:650px){header{padding:10px 14px}.intro .eyebrow{font-size:10px}.intro h1{font-size:28px;margin:4px 0}.intro p{font-size:14px;margin:6px 0 12px}#chapters{margin-bottom:12px;gap:5px}#chapters button{min-height:38px;padding:6px 10px}.progressline{margin-bottom:7px}.track{margin-bottom:12px}.card-head{padding:16px 18px 2px}.card-head h2{font-size:27px;margin:6px 0 12px}.controls{position:fixed;bottom:0;left:0;right:0;max-width:650px;margin:0 auto;border-radius:16px 16px 0 0;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:#f9fbf4;z-index:10;gap:6px}.controls button{padding:10px;font-size:14px;min-height:46px}.controls #audio{font-size:14px;min-width:77px}#shortcount{display:none}#prev,#next{flex:1}main{padding-bottom:100px}.wordbank{padding:0 18px 20px}.wordbank button{font-size:15px;padding:8px 12px}.picture>svg{max-height:none}.dues-goods svg{width:65px}.dues-people svg{height:110px}.dues-people strong{font-size:16px}.gate-caption{font-size:14px}.copy p{line-height:1.55}.hint{padding:0 10px}}
@media(max-width:360px){.controls button{padding:9px 7px;font-size:13px}#chapters button{font-size:11px;padding:6px 9px}.intro h1{font-size:26px}.spread{padding-left:12px;padding-right:12px}.wordbank{padding-left:12px;padding-right:12px}}

svg text{font-size:20px}svg .small{font-size:18px}

.tableau-link{display:flex;align-items:center;gap:15px;background:#fff9e9;border:1px solid #dfc78c;border-radius:16px;text-decoration:none;padding:10px;margin:0 0 20px;color:#243e35}.tableau-link img{width:120px;height:80px;object-fit:cover;border-radius:9px}.tableau-link>span:nth-child(2){flex:1}.tableau-link strong{display:block;font-size:18px}.tableau-link small{display:block;font-size:14px;margin-top:3px}.tableau-link>span:last-child{padding:0 12px;font-size:23px}@media(max-width:650px){.tableau-link{gap:10px;margin-bottom:13px}.tableau-link img{width:80px;height:65px}.tableau-link strong{font-size:15px}.tableau-link small{font-size:12px}.tableau-link>span:last-child{padding:0 4px}}
