/* Locally bundled brush calligraphy, SIL OFL 1.1. */
@font-face{font-family:"Biaojv Brush";src:url("assets/fonts/biaojv-brush.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
body,button,input,textarea,select{font-family:"Biaojv Brush","KaiTi","STKaiti",serif;font-synthesis:none;font-weight:400}
h1,h2,h3,b,strong,.wordmark,.stamp,.route-tabs button[aria-pressed=true]{font-weight:400}
header nav{font-size:17px;letter-spacing:1px}.wordmark{font-size:34px}.wordmark i{font-size:36px}.wordmark small{font-size:12px;letter-spacing:3px}.seal-small{font-size:16px}
.vertical-title h1{font-size:clamp(46px,5vw,76px);letter-spacing:4px;text-shadow:none}.vertical-title>span{font-size:18px;letter-spacing:4px}.stamp{font-size:32px}
.scroll-intro{font-size:17px;line-height:1.8}.scroll-intro b{font-size:20px}.red-link{font-size:18px}.chapter-tag{font-size:14px;letter-spacing:3px}
.chapter-ribbon{font-size:15px;letter-spacing:2px}.section-heading>span,.section-kicker{font-size:17px;letter-spacing:2px}.section-heading h2,.ledger h2{font-size:38px}.section-heading p{font-size:17px;line-height:1.9}
.route-tabs button{font-size:23px}.route-tabs button small{font-size:14px;letter-spacing:2px}.map-stop text{font-size:22px}.map-stop .place{font-size:19px;letter-spacing:1px}.map-note{font-size:19px;letter-spacing:2px}.map-footer,.map-footer span:first-child{font-size:15px}
.escort-status{display:grid;grid-template-columns:1.15fr .7fr 1fr}.escort-status small{font-size:14px;letter-spacing:1px}.escort-status strong{font-size:26px;overflow-wrap:anywhere}
.bamboo-cap>span{font-size:31px}.bamboo-cap b{font-size:18px;letter-spacing:1px}.question-no{font-family:ui-monospace,monospace;font-size:13px}.bamboo-body>p{font-size:25px;line-height:1.7}.answers button{font-size:18px;line-height:1.8}.feedback{font-size:18px;line-height:1.8}.vermilion{font-size:20px}.quiet,.bamboo-body .quiet{font-size:15px}
.ledger p,.rules p{font-size:18px;line-height:1.9}.ink-button{font-size:18px}.history article h3{font-size:23px}.history article span{font-size:26px}.history article p{font-size:15px}.empty-history{font-size:19px}.rules h2{font-size:36px}.rules a{font-size:17px}footer{font-size:14px;letter-spacing:1px}
@media(max-width:1000px){.vertical-title h1{font-size:58px}.scroll-intro{left:32%;font-size:16px}.scroll-intro b{font-size:18px}.section-heading h2{font-size:34px}}
@media(max-width:700px){header{gap:10px}.wordmark{font-size:25px;gap:10px}.wordmark i{font-size:30px}.wordmark small{font-size:10px;letter-spacing:1px}header nav{gap:11px;font-size:13px;white-space:nowrap}.vertical-title h1{font-size:44px;letter-spacing:2px}.vertical-title>span{font-size:14px;letter-spacing:3px}.stamp{font-size:24px}.scroll-intro{left:7%;font-size:16px;bottom:42px;padding:14px 18px}.scroll-intro b{font-size:18px}.red-link{font-size:17px}.chapter-tag{font-size:13px;padding:9px 5px;letter-spacing:2px}.chapter-ribbon{font-size:13px;letter-spacing:0}.section-heading h2{font-size:30px}.section-heading p{font-size:16px}.route-tabs button{font-size:21px}.route-tabs button small{font-size:13px;letter-spacing:1px}.map-stop text{font-size:26px}.map-stop .place{font-size:25px;letter-spacing:0}.map-note{font-size:24px;letter-spacing:0}.map-footer{gap:10px;font-size:13px}.map-footer span:first-child{font-size:14px}.escort-status{padding:18px 12px;gap:10px}.escort-status small{font-size:13px;letter-spacing:0}.escort-status strong{font-size:22px}.bamboo-cap{padding:18px 20px}.bamboo-cap b{font-size:17px;letter-spacing:0}.bamboo-body>p{font-size:23px}.answers button,.feedback{font-size:18px}.ledger h2{font-size:33px}.ledger p,.rules p{font-size:17px}.rules h2{font-size:30px}.rules .section-kicker{font-size:15px}footer{font-size:13px}.ledger-actions{gap:18px;flex-wrap:wrap}}
@media(max-width:360px){.wordmark{font-size:22px;gap:7px}.wordmark i{width:30px;height:34px;font-size:26px}header nav{font-size:12px;gap:8px}.scroll-intro{max-width:73%;font-size:15px}.scroll-intro b{font-size:16px}.route-tabs button{font-size:19px}}
