:root{font-family:Inter,"PingFang SC","Microsoft Yahei",sans-serif;color:#f7f4ee;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#ced6d9;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;border:0}button:focus-visible{outline:2px solid #bd9866;outline-offset:5px}#viewport,canvas{width:100%;height:100%;position:fixed;inset:0;display:block}canvas{cursor:grab}canvas:active{cursor:grabbing}header{position:fixed;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:30px 38px;pointer-events:none;background:linear-gradient(#17232b42,transparent)}.identity{display:flex;align-items:center;gap:20px;text-shadow:0 1px 14px #0003}.mark{font-family:"Songti SC",serif;font-size:28px;letter-spacing:6px}.rule{height:30px;width:1px;background:#fff6}.english{font-size:10px;letter-spacing:2px;line-height:1.8}.english small{font-size:10px;letter-spacing:3px;opacity:.75}.tools{display:flex;align-items:center;gap:12px;pointer-events:auto}.edition{font-size:11px;letter-spacing:2px;margin-right:12px}.tools button{width:34px;height:34px;border:1px solid #fff5;border-radius:50%;background:#28342f26;font-size:19px;backdrop-filter:blur(12px)}footer{position:fixed;bottom:0;left:0;right:0;padding:32px 38px;display:flex;align-items:end;justify-content:space-between;background:linear-gradient(transparent,#1f201d9c);pointer-events:none}footer>*{pointer-events:auto}.walk-note{width:240px}.walk-note span{font-size:12px;letter-spacing:3px}.walk-note p{font-size:11px;opacity:.7;margin:10px 0 0;letter-spacing:1px}nav{display:flex;padding:5px;border:1px solid #fff4;background:#252a286b;backdrop-filter:blur(22px);border-radius:40px;gap:3px}nav button{background:transparent;padding:13px 22px;border-radius:30px;font-size:12px;white-space:nowrap;transition:background .3s}nav b{font-size:9px;opacity:.45;margin-right:6px;font-weight:400}nav button.active{background:#eee9df;color:#353931}nav button:hover{background:#ffffff28}nav button.active:hover{background:#fff}#reset{width:240px;text-align:right;background:none;font-size:11px;opacity:.8;padding:14px 0}#instructions{position:fixed;top:50%;left:40px;transform:translateY(-50%);width:310px;background:#f6f3edec;color:#333c39;padding:32px;box-shadow:0 12px 60px #15201e20;backdrop-filter:blur(20px);border:1px solid #ffffff80;border-radius:3px;display:none}#instructions.visible{display:block}.eyebrow{font-size:9px;letter-spacing:2px;opacity:.6}h2{font-family:"Songti SC",serif;font-size:23px;font-weight:400;line-height:1.6;margin:18px 0}#instructions p{font-size:12px;line-height:2;color:#677069}#instructions small{font-size:11px;line-height:1.9;color:#8a8d83}kbd{font-family:inherit;font-size:10px;border-bottom:1px solid #b7bcb4;padding:3px 1px}#closeHelp{position:absolute;top:10px;right:13px;background:none;color:#858d84;font-size:22px}#start{display:block;background:#39483e;width:100%;padding:14px 16px;margin-top:25px;color:#fff;font-size:12px;text-align:left}#start span{float:right}#loading{position:fixed;inset:0;background:#e7e9e4;display:grid;place-items:center;text-align:center;color:#3c4942;transition:opacity .6s}#loading.hidden{opacity:0;pointer-events:none}#loading h1{font-family:"Songti SC",serif;font-size:42px;font-weight:400;letter-spacing:8px}#loading p{font-size:12px;color:#78837a}.loading-line{height:1px;width:150px;margin:30px auto;background:#b8c0b4;animation:pulse 1.5s infinite}@keyframes pulse{50%{opacity:.3}}#toast{position:fixed;bottom:118px;left:50%;transform:translateX(-50%);padding:10px 16px;border-radius:30px;background:#293931ba;backdrop-filter:blur(15px);font-size:12px;opacity:0;transition:opacity .3s;pointer-events:none}#toast.visible{opacity:1}@media(max-width:1000px){footer{padding:24px}.walk-note{width:180px}#reset{width:auto}nav button{padding:12px 14px}header{padding:25px}.edition{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}

.tools #soundToggle{width:auto;padding:0 13px;border-radius:22px;font-size:11px;white-space:nowrap}@media(max-width:700px){.english,.rule{display:none}.tools{gap:5px}header{padding:15px}.tools #soundToggle{padding:0 8px}#artViewing{bottom:95px;width:max-content;max-width:92vw}}

#instructions .music-credit{font-size:10px;line-height:1.65;margin:14px 0 0;color:#7d8379}.music-credit a{color:inherit;text-underline-offset:3px}#instructions{max-height:90vh;overflow:auto}

/* Unframed text follows the photograph; no filename card. */
#artViewing{position:fixed;inset:0;width:auto;max-width:none;transform:none;pointer-events:none;color:#3f4944}#artViewing[hidden],#artCaption[hidden]{display:none}#artCaption{position:absolute;transform:translateX(-50%);text-align:center;padding:0 12px}#artCaption h2{font:400 18px/1.4 "Songti SC",serif;letter-spacing:2px;margin:0 0 7px}#artCaption p{font-size:12px;line-height:1.8;margin:0;white-space:pre-line;color:#67716b}body[data-viewing="true"] footer{visibility:hidden}body[data-viewing="true"] #artCaption{opacity:1}@media(max-width:700px){#artCaption h2{font-size:16px}#artCaption p{font-size:11px}}
