:root{--paper:#f5f5f5;--ink:#141414;--ink-soft:#454545;--ink-gloss:#6b6b6b;--ink-mist:#8d8d8d;--ink-faint:#c6c6c6;--ink-density:1;--grain:.055;--edge:clamp(1rem, 3vw, 2.5rem);--han:"Songti SC", "STSong", "Noto Serif SC", "Source Han Serif SC", serif;--latin:"Iowan Old Style", "Palatino", "Georgia", serif}*,:before,:after{box-sizing:border-box}body{background:var(--paper);min-height:100dvh;color:var(--ink);font-family:var(--latin);overscroll-behavior:none;margin:0;line-height:1.6}:where(button){font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}:where(a,button):focus-visible{outline:2px solid var(--ink);outline-offset:3px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.inscription{top:var(--edge);right:var(--edge);z-index:3;pointer-events:none;flex-direction:row;align-items:flex-start;gap:.5rem;margin:0;font-weight:400;display:flex;position:fixed}.inscription-han{writing-mode:vertical-rl;font-family:var(--han);letter-spacing:.24em;color:var(--ink);font-size:clamp(1.2rem,2.2vw,1.75rem)}.inscription-gloss{writing-mode:vertical-rl;text-orientation:sideways;letter-spacing:.04em;color:var(--ink-gloss);font-size:clamp(.82rem,1.15vw,.98rem);font-style:italic;line-height:1.4}.scene-nav{bottom:var(--edge);right:var(--edge);z-index:3;gap:.6rem;display:flex;position:fixed}.scene-nav button{letter-spacing:.1em;color:var(--ink-soft);border:1px solid var(--ink-faint);background:#ffffff8c;padding:.35rem .85rem;font-size:.78rem;transition:color .2s,border-color .2s}.scene-nav button:hover{color:var(--ink);border-color:var(--ink-mist)}.scene-nav button[aria-current=true]{color:var(--paper);background:var(--ink);border-color:var(--ink)}.stage{isolation:isolate;min-height:100dvh;position:relative}.help-open{bottom:var(--edge);left:var(--edge);z-index:3;border:1px solid var(--ink-faint);background:#ffffff8c;border-radius:50%;place-items:center;width:2.4rem;height:2.4rem;transition:border-color .2s;display:grid;position:fixed}.help-open:hover{border-color:var(--ink-mist)}.help-icon{width:1.1rem;height:1.1rem;stroke:var(--ink-soft);stroke-width:1.6px;fill:none;stroke-linecap:round}.help-dialog{border:1px solid var(--ink-faint);background:var(--paper);max-width:min(30rem,86vw);max-height:80dvh;color:var(--ink-soft);padding:clamp(1.4rem,4vw,2.2rem);line-height:1.55;overflow-y:auto}.help-dialog::backdrop{background:#14141452}.help-dialog h2{color:var(--ink);margin:0 0 .7rem;font-size:1.15rem}.help-dialog h3{color:var(--ink);margin:1.2rem 0 .4rem;font-size:.92rem}.help-dialog p,.help-dialog ul{margin:0 0 .6rem;font-size:.92rem}.help-dialog ul{padding-left:1.1rem}.help-dialog li{margin-bottom:.4rem}.help-dialog kbd{font-family:var(--latin);border:1px solid var(--ink-faint);padding:.02rem .32rem;font-size:.82rem}.help-close{letter-spacing:.06em;color:var(--paper);background:var(--ink);margin-top:1rem;padding:.4rem 1rem;font-size:.82rem}[data-scene=landscape] .guqin,[data-scene=guqin] .landscape{display:none}[data-phase=still]{--ink-density:.62}.landscape{min-height:100dvh;position:relative}.landscape-frame{position:absolute;inset:0;overflow:hidden}@media (orientation:portrait){.landscape-frame{aspect-ratio:160/100;height:auto;inset:50% 0 auto;translate:0 -50%}}.landscape-art{width:100%;height:100%;opacity:var(--ink-density);transition:opacity 1.4s}.region-hit{fill:#0000;pointer-events:all}.ink-region{cursor:pointer;transition:filter .26s,opacity .26s}.ink-region:hover,.ink-region:focus-visible{filter:contrast(1.28)brightness(.88)}.ink-region:focus{outline:none}.ink-region:focus-visible .region-hit{fill:#1414140d;stroke:var(--ink-soft);stroke-width:.35px;stroke-dasharray:1.6 1.2}.ink-region[data-sounding=true]{filter:contrast(1.35)brightness(.82)}.paper-grain{opacity:var(--grain);pointer-events:none;mix-blend-mode:multiply}@media (prefers-reduced-motion:reduce){.landscape-art,.ink-region{transition-duration:1ms}}.fall-water{fill:url(#fall-emerge)}.zhiyin{z-index:2;pointer-events:none;opacity:0;transition:opacity .9s;position:absolute;inset:0}.zhiyin[data-shown=true]{opacity:1}.zhiyin-han,.zhiyin-gloss{margin:0;position:absolute}.zhiyin-han{writing-mode:vertical-rl;font-family:var(--han);letter-spacing:.28em;color:var(--ink);font-size:clamp(.68rem,3.4vw,1.55rem);line-height:1.5;translate:-50%}.zhiyin-gloss{text-align:center;letter-spacing:.03em;max-width:min(26rem,46vw);color:var(--ink);font-size:clamp(.6rem,2.6vw,1.18rem);font-style:italic;line-height:1.5;translate:-50%}@media (prefers-reduced-motion:reduce){.zhiyin{transition-duration:1ms}}.stream-channel{fill:var(--paper);opacity:.92}.region-breath{fill:url(#breath);pointer-events:none;opacity:0;animation:4.6s ease-in-out infinite region-breathe}@keyframes region-breathe{0%,to{opacity:0}50%{opacity:1}}.ink-region:hover .region-breath,.ink-region:focus-visible .region-breath,.ink-region[data-sounding=true] .region-breath{opacity:0;animation:none}@media (prefers-reduced-motion:reduce){.region-breath{opacity:.55;animation:none}}.pine-art{translate:0 -8px}.fall-streaks path{stroke-dasharray:2.6 3.4;stroke-dashoffset:calc(var(--fall-flow,0) * -1px)}.stream-lines path{stroke-dasharray:3.2 2.6;stroke-dashoffset:calc(var(--stream-flow,0) * -1px)}[data-part=waterfall][data-sounding=true] .fall-spray{animation:1.9s ease-in-out infinite spray-breathe}@keyframes spray-breathe{0%,to{opacity:.75}50%{opacity:1}}.pine-needles{transform-box:fill-box;transform-origin:50% 100%;rotate:calc(var(--leaf-sway,0) * 2.2deg)}.pine-trunk{transform-box:fill-box;transform-origin:50% 100%;rotate:calc(var(--leaf-sway,0) * .7deg)}.bird-flock{translate:-26px 2px}.bird-wings{transform-box:fill-box;transform-origin:50% 100%}[data-part=bird][data-sounding=true] .bird-near{animation:.34s ease-in-out 3 wingbeat}[data-part=bird][data-sounding=true] .bird-far{animation:.42s ease-in-out 90ms 3 wingbeat}@keyframes wingbeat{0%,to{scale:1}40%{scale:1.04 .34}70%{scale:.98 1.22}}@media (prefers-reduced-motion:reduce){.fall-streaks path,.stream-lines path{stroke-dasharray:none}[data-part=waterfall][data-sounding=true] .fall-spray{animation:none}.pine-needles,.pine-trunk{rotate:0deg}[data-part=bird][data-sounding=true] .bird-near,[data-part=bird][data-sounding=true] .bird-far{animation-duration:.22s;animation-iteration-count:1}}.pads{pointer-events:none;position:absolute;inset:0}.pad{opacity:0;visibility:hidden;pointer-events:none;touch-action:none;width:clamp(3.6rem,20vw,6.5rem);height:clamp(3.6rem,20vw,6.5rem);transition:opacity .32s,visibility 0s linear .32s;position:absolute;translate:-50% -50%}.pad[data-shown=true]{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .32s}.pad-grid{cursor:crosshair;width:100%;height:100%;overflow:visible}.pad-axis,.pad-arrow,.pad-tick{stroke:var(--ink);fill:none;stroke-linecap:round;opacity:.42}.pad-axis{stroke-width:1.1px}.pad-arrow,.pad-tick{stroke-width:1px;opacity:.3}.pad-dot{fill:var(--ink);opacity:.62;transition:opacity .16s}.pad:hover .pad-dot,.pad:focus-within .pad-dot{opacity:.9}.pad-name{letter-spacing:.14em;text-transform:lowercase;color:var(--ink-gloss);pointer-events:none;font-size:clamp(.44rem,1.6vw,.58rem);position:absolute;bottom:-.15rem;right:0}.pad:focus-within .pad-grid{outline:2px solid var(--ink);outline-offset:4px}[data-part=boya] .region-breath,[data-part=ziqi] .region-breath{fill:url(#breath-light)}[data-part=qin] .region-breath{fill:url(#breath-bright)}[data-part=boya]:hover .region-breath,[data-part=boya]:focus-visible .region-breath,[data-part=ziqi]:hover .region-breath,[data-part=ziqi]:focus-visible .region-breath{opacity:.9;animation:none}[data-part=qin]:hover .region-breath,[data-part=qin]:focus-visible .region-breath{opacity:1;animation:none}.guqin{min-height:100dvh;padding:calc(var(--edge) * 2) var(--edge) var(--edge);grid-template-rows:1fr auto;display:grid}.guqin-body{background:radial-gradient(140% 100% at 50% 45%,#1414140a,#0000 72%),linear-gradient(#1a1a1a 0%,#2b2b2b 42%,#171717 100%);align-self:center;width:min(100%,66rem);margin-inline:auto;padding:clamp(1.4rem,4vh,2.8rem) clamp(1.5rem,5vw,4rem);position:relative}.guqin-body:after{content:"";pointer-events:none;background:radial-gradient(closest-side,#f5f5f512,#0000) 22%/6% 22% no-repeat,radial-gradient(closest-side,#f5f5f50f,#0000) 78%/5% 18% no-repeat;position:absolute;inset:0}.guqin-strings{gap:clamp(.3rem,1.3vh,.85rem);margin:0;padding:0;list-style:none;display:grid}.guqin-string{grid-template-columns:3.2rem 1fr;align-items:center;gap:.9rem;width:100%;min-height:max(2.75rem,6vh);display:grid}.guqin-string:focus-visible{outline-color:var(--paper);outline-offset:-3px}.guqin-string-mark{color:#f5f5f56b;flex-direction:column;align-items:flex-end;line-height:1.1;transition:color .24s;display:flex}.guqin-string-han{font-family:var(--han);letter-spacing:.08em;font-size:.82rem}.guqin-string-roman{letter-spacing:.04em;color:#f5f5f54d;font-size:.56rem;font-style:italic}.guqin-string:hover .guqin-string-mark,.guqin-string:focus-visible .guqin-string-mark{color:#f5f5f5c7}.guqin-string-line{width:100%;height:calc(1px + (6 - var(--string)) * .5px);background:linear-gradient(90deg,#f5f5f538 0%,#f5f5f5d1 10% 90%,#f5f5f538 100%);display:block;box-shadow:0 1px 2px #00000080}.guqin-string:hover .guqin-string-line{background:#fafafaf2}.guqin-string.is-ringing .guqin-string-line{animation:.62s cubic-bezier(.2,.9,.3,1) string-vibrate}@keyframes string-vibrate{0%{filter:brightness(1.6);scale:1 3.2}18%{scale:1 2.1}42%{scale:1 1.5}70%{scale:1 1.18}to{filter:brightness();scale:1}}.guqin-hint{text-align:center;letter-spacing:.08em;color:var(--ink-gloss);margin:1.4rem 0 0;font-size:.75rem}.guqin-hint kbd{font-family:var(--latin);border:1px solid var(--ink-faint);padding:.05rem .3rem;font-size:.72rem}@media (prefers-reduced-motion:reduce){.guqin-string.is-ringing .guqin-string-line{animation-duration:.24s}}
