:root{font-family:-apple-system,"PingFang SC",sans-serif;color:#393b34;background:#ede8df;--accent:#64795c}*{box-sizing:border-box}body{margin:0;background-image:radial-gradient(#78664710 .6px,transparent .6px);background-size:4px 4px}button{font:inherit;cursor:pointer;color:inherit;background:#fff5;border:1px solid #514c3b25;border-radius:7px;min-height:44px;padding:0 16px;touch-action:manipulation}button:hover{background:#fffa}button:focus-visible,#stage:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a{color:inherit;text-decoration:none}header{max-width:1200px;margin:auto;padding:25px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #50432820}header b{font-family:"Songti SC",serif;font-size:23px;letter-spacing:3px}header a span{display:block;font:8px monospace;letter-spacing:2px;margin-top:5px}.edition{font:10px monospace;letter-spacing:1px;color:#8f8270}main{max-width:1100px;margin:auto;display:grid;grid-template-columns:1.2fr 1fr;gap:70px;padding:25px 40px 40px}.viewer{min-width:0}.view-title{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;padding:0 24px;color:#837762}#stage{position:relative;width:100%;height:570px;touch-action:none;cursor:grab;outline-offset:-6px}#stage:active{cursor:grabbing}canvas{display:block}#loading{position:absolute;inset:0;display:grid;place-content:center;color:#8a7f70;font-size:12px;padding:30px;white-space:pre-wrap;text-align:center}.hint{text-align:center;font-size:11px;letter-spacing:1px;color:#958674;margin:0 0 14px}.actions{display:flex;justify-content:center;gap:8px}.actions button{font-size:12px;padding:0 13px}.actions button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.rail{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:22px 12px 0}.rail button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:8px 3px;min-width:0;background:transparent;border-color:transparent;min-height:73px}.rail button[aria-pressed=true]{background:#fff8;border-color:var(--accent)}.rail strong{font:italic bold 19px Georgia}.rail small{font-size:9px;white-space:nowrap}.extra{display:flex;justify-content:center;gap:12px;margin-top:12px}.extra button{font-size:10px;border:0;background:none;padding:0 6px;color:#958674}.notes{align-self:center;padding-bottom:40px}.eyebrow{font:9px monospace;color:#9b8b75;letter-spacing:2px;margin:0 0 38px}.type{font-size:11px;letter-spacing:2px;color:var(--accent)}h1{font-family:"Songti SC",serif;font-size:40px;letter-spacing:2px;margin:12px 0}h2{font-size:14px;font-weight:600;margin:0 0 9px}.english{font:10px monospace;letter-spacing:2px;color:#938471}blockquote{margin:30px 0;font-family:"Songti SC",serif;font-size:20px;color:var(--accent);line-height:1.7}.skill{border-block:1px solid #50432824;padding:20px 0}.skill p,.story{font-size:13px;line-height:1.9;margin:0;color:#7f7669}.story{margin:21px 0}.stats{display:flex;gap:25px}.stats>div{flex:1}.stats label{font-size:10px;color:#8c7c66}.stats b{float:right;font:12px monospace;color:var(--accent)}.stats i{display:block;height:3px;background:#463e3010;margin-top:9px}.stats i span{display:block;background:var(--accent);height:100%}.stamp{font:8px monospace;letter-spacing:2px;color:#9f917d;margin-top:18px}.caption{font-size:10px;line-height:1.8;color:#b1a18a;margin-top:45px}footer{max-width:1020px;margin:auto;padding:25px 0 30px;border-top:1px solid #50432820;display:flex;justify-content:space-between;font-size:10px;color:#a3947d}@media(max-width:700px){header{padding:16px 22px;padding-top:max(16px,env(safe-area-inset-top))}header b{font-size:20px}header a span{font-size:7px}.edition{font-size:9px}main{display:block;padding:16px 14px 25px}.view-title{padding:0 16px;font-size:10px}#stage{height:min(132vw,535px)}.hint{font-size:10px;margin-bottom:12px}.actions{gap:7px}.actions button{font-size:12px;min-height:46px;padding:0 12px}.rail{margin:15px 2px 0;gap:2px}.rail button{min-height:67px;padding:7px 1px}.rail small{font-size:9px;letter-spacing:-.3px}.extra{margin-top:5px}.extra button{font-size:11px}.notes{margin:25px 10px 0;padding-bottom:0}.eyebrow{margin:0 0 24px;font-size:8px}h1{font-size:32px}.type{font-size:10px}blockquote{font-size:19px;margin:24px 0}.skill p,.story{font-size:13px}.caption{margin-top:25px}footer{display:block;margin:0 24px;font-size:9px;line-height:2}footer span{display:block}}@media(max-height:720px) and (max-width:700px){#stage{height:440px}}
