@font-face{font-family:Wangchuan Serif;src:url('assets/NotoSerifSC.woff2') format('woff2');font-display:swap;font-weight:100 900}@font-face{font-family:Wangchuan Sans;src:url('assets/NotoSansSC.woff2') format('woff2');font-display:swap;font-weight:100 900}
:root{--ink:#111515;--ink-soft:#191d1c;--paper:#e9e5da;--text:#e9e5da;--muted:#9c9e95;--gold:#b8a17a;--line:rgba(218,210,188,.2);--serif:'Wangchuan Serif','Songti SC',serif;--sans:'Wangchuan Sans','PingFang SC',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ink);color:var(--text);font:14px/1.9 var(--sans);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h2{font-size:clamp(34px,4.1vw,60px);line-height:1.55;letter-spacing:.035em}p{letter-spacing:.035em}[hidden]{display:none!important}::selection{background:#9a8057;color:#fff}.skip{position:fixed;top:10px;left:16px;padding:8px 20px;background:var(--paper);color:var(--ink);z-index:100;transform:translateY(-160%)}.skip:focus{transform:translateY(0)}.section-wrap{padding:90px max(6.3vw,24px)}.section-label{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px;margin-bottom:65px;color:var(--muted);font-size:10px;letter-spacing:.16em}.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--gold);margin-bottom:22px}.gold{color:var(--gold)}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:55px}.section-intro{color:var(--muted);line-height:2.2;font-size:13px;max-width:380px}.text-link{display:inline-flex;gap:42px;padding:12px 0;border-bottom:1px solid var(--gold);font-size:12px;letter-spacing:.1em;align-items:center}.text-link span{font-size:18px;transition:transform .25s}.text-link:hover span{transform:translate(3px,-3px)}.quiet-note{font-size:10px;color:var(--muted);line-height:2;margin-top:25px}.quiet-note a{margin-left:20px;border-bottom:1px solid var(--line)}
.masthead{height:91px;position:absolute;top:0;left:0;width:100%;padding:0 4.2vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.16);z-index:20;background:linear-gradient(#10151590,transparent)}.brand{font:500 28px var(--serif);letter-spacing:.15em;display:flex;align-items:center;gap:16px;white-space:nowrap}.brand span{font:10px var(--serif);letter-spacing:.2em;padding-left:16px;border-left:1px solid var(--line)}.masthead nav{display:flex;gap:38px;align-items:center;font-size:11px;letter-spacing:.1em}.masthead nav a{transition:color .2s}.masthead nav a:hover{color:var(--gold)}.nav-letter{margin-left:30px;padding:9px 18px;border:1px solid var(--line)}.nav-letter span{margin-left:22px}.menu-toggle{display:none}.hero{height: min(930px,100svh);min-height:740px;position:relative;isolation:isolate;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-position:center 48%;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(8,16,16,.6),rgba(9,15,14,.15) 65%,rgba(9,15,14,.1)),linear-gradient(0deg,#111515 0%,transparent 32%,rgba(9,15,14,.12) 70%)}.hero-copy{position:absolute;left:11%;top:23%;}.hero-copy .eyebrow{color:#d0c8b7;font-size:10px;letter-spacing:.35em;margin-bottom:14px}.hero-title-line{display:flex;align-items:center;gap:30px}.hero h1{font-size:clamp(125px,15.2vw,230px);font-weight:400;line-height:1.3;letter-spacing:.08em;text-shadow:0 5px 45px #0003}.title-seal{font:16px/1.65 var(--serif);border:1px solid #ac9979;color:#d3bc95;padding:12px 9px;margin-top:20px}.hero-subtitle{font:500 clamp(19px,2vw,28px)/1.7 var(--serif);letter-spacing:.32em;margin-top:6px}.hero-verse{margin-top:24px;color:#c7ccc3;font:12px/2.2 var(--serif);letter-spacing:.15em}.hero-enter{margin-top:25px;border-color:#a99772;color:#e6dec9;gap:50px}.hero-side{position:absolute;right:4.3vw;top:40%;writing-mode:vertical-rl;font:11px var(--serif);letter-spacing:.5em;color:#d1c9b6}.hero-bottom{position:absolute;left:4.3vw;right:4.3vw;bottom:31px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.15em;color:#a5aba1}.hero-bottom i{display:inline-block;width:25px;height:1px;background:#777c70;vertical-align:middle;margin:0 10px}
.prologue{padding-top:60px;padding-bottom:120px}.prologue-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:12%}.prologue h2{font-size:clamp(29px,3.55vw,51px);line-height:1.7}.prologue h2 em{font-style:normal;color:var(--gold)}.prologue-copy{position:relative;padding-top:5px;max-width:355px}.prologue-copy p{font-size:12px;color:var(--muted);margin-bottom:23px}.prologue-copy p:first-of-type{font:20px/1.9 var(--serif);color:var(--text);margin-bottom:26px}.small-seal{position:absolute;right:0;top:5px;writing-mode:vertical-rl;font:11px var(--serif);padding:7px;border:1px solid #877658;color:var(--gold);letter-spacing:.2em}.world{background:#171b1a;padding-top:65px}.archive-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.archive-gate{position:relative;padding:26px 25px 23px;border-right:1px solid var(--line);transition:background .3s}.archive-gate:first-child{padding-left:0}.archive-gate:last-child{border-right:0}.gate-number{font-size:9px;letter-spacing:.16em;color:var(--muted)}.gate-character{display:block;font:500 clamp(70px,7.8vw,115px)/1.6 var(--serif);color:#b7a17d;margin:12px 0 18px;transition:transform .4s,color .4s}.archive-gate h3{font-size:16px;margin-bottom:13px}.archive-gate p{font-size:11px;line-height:2;color:var(--muted)}.gate-bottom{display:flex;justify-content:space-between;margin-top:35px;font-size:10px;letter-spacing:.1em}.gate-bottom>span{font-size:18px;color:var(--gold)}.archive-gate:hover{background:#b8a17a08}.archive-gate:hover .gate-character{transform:translateY(-5px);color:#e2caa0}
.dispatch{position:relative;isolation:isolate;overflow:hidden}.dispatch>img{position:absolute;inset:0;width:100%;height:100%;z-index:-3;object-position:center}.dispatch-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0c1514dc,#0c151449 70%),linear-gradient(0deg,#111515e0,transparent 60%);z-index:-2}.dispatch-inner{padding-top:65px;padding-bottom:60px}.dispatch .section-label{color:#c5c6b7}.dispatch-copy{max-width:520px}.dispatch-copy h2{font-size:clamp(65px,8vw,115px);letter-spacing:.17em;line-height:1.35;margin:20px 0 28px}.dispatch-copy h2 span{color:#c3b18f}.dispatch-copy>p:last-child{font-size:12px;line-height:2.4;color:#c4c8bd}.clue-list{margin-top:75px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #b4b6a752;border-bottom:1px solid #b4b6a752}.clue-list a{display:flex;align-items:center;gap:20px;padding:25px 20px;border-right:1px solid #b4b6a752;background:#0c151440;transition:background .25s}.clue-list a:first-child{padding-left:0}.clue-list a:last-child{border:0}.clue-list a>span:first-child{font-size:9px;white-space:nowrap;color:#aab0a3}.clue-list h3{font-size:17px}.clue-list a>span:last-child{margin-left:auto;color:var(--gold)}.clue-list a:hover{background:#0c1514a0}
.paper{--text:#272c29;--muted:#74756b;--gold:#87714e;--line:#252b272b;background:var(--paper);color:var(--text)}.people{padding-top:65px;padding-bottom:65px}.people-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px}.person-filters{display:flex;gap:25px;flex-wrap:wrap}.person-filters button{padding:5px 0;border:0;border-bottom:1px solid transparent;background:none;color:var(--muted);font-size:11px}.person-filters button[aria-pressed=true]{color:var(--text);border-bottom-color:var(--gold)}.person-filters small{font-size:9px;margin-left:7px}.people-toolbar>p{font-size:10px;color:var(--muted);white-space:nowrap}.people-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:7%}.person{display:flex;gap:25px;padding:30px 0;border-bottom:1px solid var(--line)}.person-no{font:italic 17px var(--serif);color:#89816d;padding-top:28px}.person>div{flex:1}.person-tag{font-size:9px;letter-spacing:.15em;color:var(--muted)}.person h3{font-size:28px;letter-spacing:.15em;margin:6px 0 8px}.person h3 a{display:flex;align-items:center;justify-content:space-between}.person h3 a>span{font:16px var(--sans);color:var(--gold);transition:transform .2s}.person h3 a:hover>span{transform:translate(3px,-3px)}.person p{font-size:11px;color:var(--muted);margin-bottom:13px}.person-song{font-size:9px;letter-spacing:.12em;color:var(--gold);border-bottom:1px solid transparent}.person-song:hover{border-color:var(--gold)}
.publications{padding-top:65px;padding-bottom:110px}.publication-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.book-art{position:relative;min-height:430px;display:flex;align-items:center;justify-content:center;perspective:1300px}.book{height:330px;width:225px;position:absolute;border:1px solid #baa87c5c;box-shadow:15px 20px 35px #0006;font-family:var(--serif);padding:25px 23px;display:flex;flex-direction:column;justify-content:space-between}.book:before{content:'';position:absolute;inset:6px;border:1px solid #b1a17a25;pointer-events:none}.book-front{background:linear-gradient(90deg,#383f34,#252d27 7%,#343b30 98%);transform:rotate(-9deg) translateX(-35px);z-index:2}.book strong{font-size:43px;line-height:1.4;font-weight:400;letter-spacing:.15em}.book-front strong{align-self:center}.book span,.book small,.book i{font-size:8px;letter-spacing:.15em;color:#bcae90;font-style:normal}.book-front small{font-size:9px;text-align:center}.book i{position:absolute;right:20px;top:95px;writing-mode:vertical-rl}.book-back{height:310px;background:linear-gradient(90deg,#554a37,#9b8861 8%,#80704f);transform:rotate(12deg) translateX(65px);color:#e0d3b5}.book-back strong{font-size:32px;line-height:1.8}.book-back span,.book-back small{color:#e0d3b5}.book-art>p{position:absolute;bottom:0;color:var(--muted);font-size:9px}.publication-copy h2{font-size:clamp(30px,3.1vw,44px);margin-bottom:27px}.publication-copy>p:not(.eyebrow):not(.quiet-note){font-size:12px;color:var(--muted);line-height:2.3}.volume-note{display:flex;gap:24px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;margin:28px 0 20px}.volume-note>strong{white-space:nowrap;font:37px var(--serif);color:var(--gold)}.volume-note>strong span{font-size:14px;margin-left:5px}.volume-note h3{font-size:14px;margin-bottom:7px}.volume-note p{font-size:10px;color:var(--muted)}
.music{background:#181c1b;padding-top:65px}.music-status{display:block;font-size:10px;margin-top:20px;color:var(--gold)}.music-status i{display:inline-block;width:5px;height:5px;background:var(--gold);border-radius:50%;margin-right:8px}.music-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:start}.record-wrap{position:sticky;top:110px;padding:35px 0}.record{aspect-ratio:1;width:100%;max-width:440px;border-radius:50%;display:grid;place-items:center;background:repeating-radial-gradient(circle at center,#121413 0,#121413 2px,#292c28 3px,#151816 4px);box-shadow:0 15px 50px #0005;position:relative}.record:after{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(transparent 0deg,#d1c6a51c 45deg,transparent 75deg,transparent 180deg,#d1c6a516 225deg,transparent 255deg);pointer-events:none}.record-label{width:35%;aspect-ratio:1;border-radius:50%;background:#b4a078;color:#242a24;display:flex;flex-direction:column;align-items:center;justify-content:center;font:30px var(--serif);line-height:1.6;border:5px double #35382b}.record-label span{font-size:12px;letter-spacing:.3em}.record-label small{font:7px var(--sans);margin-top:12px}.record-wrap>p{font:12px var(--serif);color:var(--muted);text-align:center;max-width:440px;margin-top:30px;letter-spacing:.15em}.track-row{display:flex;gap:24px;min-height:68px;align-items:center;border-bottom:1px solid var(--line);padding:13px 0;scroll-margin-top:25px;transition:background .3s}.track-row:first-child{border-top:1px solid var(--line)}.track-row>span{color:#858c80;font-size:10px;width:20px}.track-row h3{font-size:16px;flex:1;letter-spacing:.08em}.track-row h3 small{font:9px var(--sans);color:var(--muted);display:block;margin-top:5px;letter-spacing:.03em}.track-row time{font-size:10px;color:var(--muted)}.track-row:target{background:#b8a17a19;box-shadow:-12px 0 #b8a17a19}.encounter{position:relative;min-height:540px;height:45vw;max-height:750px;isolation:isolate;overflow:hidden}.encounter>img{position:absolute;inset:0;width:100%;height:100%;z-index:-3;object-position:50% 48%}.encounter:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101715b5,transparent 80%),linear-gradient(0deg,#1115158c,transparent 35%);z-index:-2}.encounter-copy{position:absolute;left:8%;top:22%}.encounter-copy h2{font-size:clamp(35px,4.8vw,65px);line-height:1.5}.encounter-copy>p:last-child{font-size:11px;line-height:2.3;color:#c9cbbf;margin-top:22px}.encounter-caption{position:absolute;bottom:25px;right:5%;font-size:9px;color:#c3c7ba}
.experience{padding-top:65px;padding-bottom:65px}.letter-link{border-bottom:1px solid var(--gold);font:25px var(--serif);padding:15px 0 19px;position:relative;min-width:275px;margin-bottom:12px;letter-spacing:.08em}.letter-link>span{margin-left:55px}.letter-link small{display:block;font:9px var(--sans);color:var(--muted);margin-top:15px;letter-spacing:.05em}.experience-steps{margin:60px 0 50px;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr)}.experience-steps li{border-left:1px solid var(--line);padding:0 30px}.experience-steps li:first-child{border:0;padding-left:0}.experience-steps span{font-size:9px;color:var(--gold);letter-spacing:.14em}.experience-steps h3{font-size:20px;margin:18px 0 15px}.experience-steps p{color:var(--muted);font-size:11px;line-height:2.2;max-width:300px}.entry-note{display:grid;grid-template-columns:1fr 2fr;gap:15px 9%;padding-top:30px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.entry-note>span{font:14px var(--serif);color:var(--text)}.entry-note details{grid-column:2}.entry-note summary{list-style:none;cursor:pointer;color:var(--text);padding:12px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between}.entry-note summary::-webkit-details-marker{display:none}.entry-note details[open] summary>span{transform:rotate(45deg)}.entry-note details p{margin:10px 0}.footer{padding-top:65px;padding-bottom:25px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:55px}.footer-brand{font:44px var(--serif);letter-spacing:.15em}.footer-brand span{font-size:12px;margin-left:20px}.footer-top>p{font:17px/2 var(--serif);color:var(--muted);letter-spacing:.15em}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:var(--muted);letter-spacing:.1em}
@media(min-width:1600px){.section-wrap{padding-left:max(6.3vw,calc((100vw - 1400px)/2));padding-right:max(6.3vw,calc((100vw - 1400px)/2))}}@media(max-width:1050px){.masthead nav{gap:22px}.nav-letter{margin-left:8px}.hero-copy{left:8%}.hero{min-height:690px}.section-wrap{padding-top:65px;padding-bottom:65px}.section-label{margin-bottom:45px}.archive-gate{padding-left:18px;padding-right:18px}.archive-gate h3{font-size:14px}.archive-gate p{font-size:10px}.clue-list a{gap:10px;padding:20px 12px}.clue-list h3{font-size:14px}.publication-layout{gap:6%}.book{width:185px;height:300px}.book-back{height:280px}.book-art{min-height:380px}.record-label{font-size:24px}.record-label small{display:none}}
@media(max-width:760px){html{scroll-padding-top:35px}.masthead{height:75px;padding:0 24px}.brand{font-size:25px}.brand span{font-size:9px}.menu-toggle{display:flex;align-items:center;gap:15px;background:none;color:var(--text);border:0;padding:12px 0;font-size:11px;letter-spacing:.1em}.menu-toggle span{font-size:19px}.masthead nav{position:absolute;top:75px;left:0;width:100%;background:#151b19fa;padding:25px 30px 30px;display:flex;align-items:stretch;flex-wrap:wrap;gap:18px 30px;border-bottom:1px solid var(--line)}.js .masthead nav{display:none}.js .masthead.menu-open nav{display:flex}.masthead nav a{padding:8px 0;min-width:calc(50% - 15px)}.masthead nav .nav-letter{margin-left:0;padding:10px 15px;min-width:100%;text-align:center}.menu-open .menu-toggle span{transform:rotate(45deg)}.hero{height:90svh;min-height:680px;max-height:860px}.hero-image{object-position:61% 50%}.hero-shade{background:linear-gradient(90deg,#0c151583,#0c151512),linear-gradient(0deg,#111515,transparent 43%,#0c151529)}.hero-copy{left:8%;top:25%}.hero-copy .eyebrow{font-size:8px;letter-spacing:.2em}.hero h1{font-size:clamp(110px,24vw,175px)}.hero-title-line{gap:14px}.title-seal{font-size:12px;padding:8px 6px}.hero-subtitle{font-size:18px;letter-spacing:.18em}.hero-verse{font-size:10px;line-height:2.1;margin-top:20px}.hero-enter{font-size:10px;margin-top:21px}.hero-side{display:none}.hero-bottom{left:24px;right:24px;bottom:24px;gap:18px;flex-direction:column;font-size:8px}.hero-bottom span:last-child{font-size:8px}.section-wrap{padding:55px 25px}.section-label{font-size:8px;letter-spacing:.08em;margin-bottom:36px}.section-heading{display:block;margin-bottom:35px}.section-intro{font-size:11px;margin-top:24px;line-height:2.1}.eyebrow{font-size:9px;margin-bottom:15px}h2{font-size:34px}.prologue-layout{display:block}.prologue h2{font-size:30px}.prologue-copy{margin-top:40px;max-width:none;padding-right:30px}.prologue-copy p{font-size:11px}.prologue-copy p:first-of-type{font-size:17px}.small-seal{right:0}.archive-grid{grid-template-columns:1fr 1fr}.archive-gate{padding:20px 18px!important}.archive-gate:nth-child(even){border-right:0}.archive-gate:nth-child(-n+2){border-bottom:1px solid var(--line)}.gate-character{font-size:77px;margin:5px 0 10px}.gate-number{font-size:8px}.archive-gate h3{font-size:14px}.archive-gate p{font-size:9px;letter-spacing:0}.gate-bottom{font-size:8px;margin-top:22px}.quiet-note{font-size:9px}.quiet-note a{margin-left:0;display:inline-block}.dispatch>img{object-position:62% center}.dispatch-copy h2{font-size:66px;margin:22px 0}.dispatch-copy>p:last-child{font-size:11px}.clue-list{grid-template-columns:1fr;margin-top:45px}.clue-list a{padding:16px 0;border-right:0;border-bottom:1px solid #b4b6a752;gap:25px}.clue-list h3{font-size:16px}.clue-list a>span:first-child{font-size:8px}.people-toolbar{display:block}.person-filters{gap:9px 20px}.person-filters button{font-size:10px}.people-toolbar>p{margin-top:15px;font-size:9px}.people-grid{column-gap:24px}.person{gap:10px;padding:25px 0}.person-no{font-size:12px;padding-top:25px}.person-tag{font-size:7px;letter-spacing:0}.person h3{font-size:23px;letter-spacing:.04em}.person h3 a>span{font-size:11px}.person p{font-size:10px;line-height:2;min-height:60px}.person-song{font-size:8px;letter-spacing:0}.publication-layout{display:flex;flex-direction:column;gap:50px}.book-art{width:100%;min-height:375px;order:2}.book{width:195px;height:300px}.book-back{height:280px}.book-art>p{bottom:0}.publication-copy h2{font-size:30px}.publication-copy>p:not(.eyebrow):not(.quiet-note){font-size:11px}.volume-note{gap:20px}.volume-note>strong{font-size:32px}.music-layout{display:block}.record-wrap{position:static;max-width:240px;margin:0 auto 32px;padding:0}.record-label{font-size:21px}.record-label span{font-size:9px}.record-wrap>p{font-size:10px;margin-top:20px}.music-status{margin-top:14px;font-size:9px}.track-row{min-height:66px;gap:18px}.track-row h3{font-size:16px}.track-row h3 small{font-size:8px}.encounter{height:130vw;max-height:640px;min-height:470px}.encounter>img{object-position:60% center}.encounter-copy{left:8%;top:17%}.encounter-copy h2{font-size:38px}.encounter-copy>p:last-child{font-size:10px}.encounter-caption{left:8%;right:auto;font-size:8px}.letter-link{display:block;width:max-content;font-size:23px;margin-top:28px;min-width:250px}.letter-link small{font-size:8px}.experience-steps{grid-template-columns:1fr;margin:40px 0;gap:25px}.experience-steps li{border:0;border-top:1px solid var(--line);padding:25px 0 0}.experience-steps li:first-child{border-top:1px solid var(--line);padding-top:25px}.experience-steps h3{font-size:19px;margin:10px 0}.experience-steps p{font-size:11px;max-width:100%}.entry-note{display:block;padding-top:25px}.entry-note>span{display:block;font-size:14px;margin-bottom:15px}.entry-note>p{margin-bottom:17px}.footer-top{display:flex;flex-wrap:wrap;align-items:flex-start;padding-bottom:35px;gap:28px}.footer-brand{font-size:35px}.footer-brand span{font-size:10px;margin-left:12px}.footer-top>p{font-size:12px}.footer-top>.text-link{font-size:10px;gap:45px}.footer-bottom{font-size:8px;flex-wrap:wrap;gap:10px 20px}.footer-bottom a{margin-left:auto}}
@media(max-width:380px){.section-wrap{padding-left:20px;padding-right:20px}.people-grid{grid-template-columns:1fr}.person p{min-height:0}.person-tag{font-size:9px}.person-song{font-size:9px}.hero h1{font-size:105px}.hero-subtitle{font-size:16px}.archive-gate{padding-left:13px!important;padding-right:13px!important}.archive-gate h3{font-size:12px}.clue-list a{gap:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* 脚本增强：仅由 app.js 启用的状态，无脚本不影响阅读 */
.will-reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.will-reveal.is-revealed{opacity:1;transform:none}
.track-row.is-highlight{background:linear-gradient(90deg,#c9a45a1c,transparent);box-shadow:inset 2px 0 0 var(--gold,#c9a45a)}
@media(prefers-reduced-motion:reduce){.will-reveal{opacity:1!important;transform:none!important}}
@media(max-width:380px){.book-art{min-height:330px;overflow:hidden}.book{width:168px;height:265px;padding:20px 18px}.book strong{font-size:34px}.book-front{transform:rotate(-8deg) translateX(-22px)}.book-back{height:245px;transform:rotate(9deg) translateX(34px)}}
/* 真实世界结构：十二卷与出版物清单 */
.world-structure{margin:26px 0 22px;border-top:1px solid #b9ac8b3d;border-bottom:1px solid #b9ac8b3d;padding:20px 0}
.volume-index{display:flex;flex-wrap:wrap;gap:6px 12px;font-family:var(--serif);font-size:12px;letter-spacing:.12em;color:#c9ab6b}
.volume-index span{min-width:26px;text-align:center;padding:5px 2px;border:1px solid #b9ac8b40}
.world-facets{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:7px 22px;font-size:11px;color:#c8c3b4}
.world-facets li:before{content:'—';color:#a5874d;margin-right:8px}
.print-list{margin-top:24px}
.print-list h3{font-size:15px;letter-spacing:.08em;margin:0 0 12px;font-weight:500}
.print-list ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#b9ac8b2b;border:1px solid #b9ac8b2b}
.print-list li{background:var(--paper,#f2ede1);padding:9px 10px;font-size:10px;letter-spacing:.02em;color:#4b463c}
@media(max-width:760px){.volume-index{font-size:11px;gap:5px 8px}.volume-index span{min-width:24px}.world-facets{grid-template-columns:1fr;font-size:10px;gap:6px}.print-list ol{grid-template-columns:repeat(3,minmax(0,1fr))}.print-list li{font-size:9px;padding:8px 7px}}
@media(max-width:380px){.print-list ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:761px){.print-list li:last-child{grid-column:span 2}}
/* 首页玩法预告：十五系统、七大计划 */
.gameplay-teaser{border-top:1px solid var(--line);background:linear-gradient(180deg,#131a18,#111515)}
.gameplay-teaser-head{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:46px}
.gameplay-teaser-head h2{font-size:clamp(32px,4vw,56px);line-height:1.5;margin-top:10px}
.gameplay-teaser-head .section-intro{max-width:30em;text-align:right}
.gameplay-teaser-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1px;background:#b9ac8b2b;border:1px solid #b9ac8b2b}
.teaser-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#b9ac8b2b}
.teaser-facts>div{background:#151a18;padding:26px 22px 28px;display:flex;flex-direction:column;gap:8px}
.teaser-facts strong{font-family:var(--serif);font-size:clamp(38px,3.6vw,54px);font-weight:400;color:var(--gold);line-height:1}
.teaser-facts span{font-size:10px;letter-spacing:.12em;color:#a9a294}
.teaser-facts p{font-size:11px;line-height:1.95;color:#b9b4a6;margin-top:6px}
.teaser-link{background:#b8a17a;color:#111515;display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:26px 22px;font-family:var(--serif);font-size:19px;letter-spacing:.04em;transition:background .3s}
.teaser-link:hover{background:#d8c49b}
.teaser-link small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.14em;margin-bottom:9px;opacity:.7}
.teaser-link>span:last-child{align-self:flex-end;font-size:22px}
@media(max-width:1050px){.gameplay-teaser-head{display:block}.gameplay-teaser-head .section-intro{text-align:left;margin-top:22px}.gameplay-teaser-body{grid-template-columns:1fr}.teaser-link{flex-direction:row;align-items:flex-end}}
@media(max-width:760px){.teaser-facts{grid-template-columns:1fr}.teaser-facts>div{padding:22px 18px}.teaser-link{font-size:17px;padding:22px 18px}}
/* 真实品牌标识、片场影像与封面 */
.hero-side{position:absolute;right:4.3vw;top:34%;writing-mode:horizontal-tb;height:auto;margin:0;z-index:2}
.hero-side img{display:block;width:auto;height:clamp(150px,17vw,240px);filter:drop-shadow(0 10px 30px #0009)}
.hero-bottom{z-index:2}

.film{border-top:1px solid var(--line)}
.film-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#b9ac8b2b;border:1px solid #b9ac8b2b;margin-top:8px}
.film-card{margin:0;background:#151a18;display:flex;flex-direction:column}
.film-card video{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:#0c1211;display:block}
.film-card figcaption{padding:22px 24px 26px}
.film-card figcaption>span{font-size:9px;letter-spacing:.14em;color:var(--gold)}
.film-card h3{font-size:23px;letter-spacing:.05em;margin:9px 0 8px}
.film-card p{font-size:11px;line-height:2;color:#b9b4a6}

.track-cover{width:44px;height:44px;object-fit:cover;border:1px solid #b9ac8b33;flex:0 0 auto}
.track-row>span{min-width:22px}

.footer-brand-logo{display:flex;flex-direction:column;gap:14px;font-size:0}
.footer-brand-logo img{display:block;width:auto;height:128px;filter:drop-shadow(0 8px 22px #0008)}
.footer-brand-logo span{font:12px var(--serif);letter-spacing:.24em;color:#b9b2a0;border:0;padding:0}

@media(max-width:1050px){.hero-side{display:none}}
@media(max-width:760px){.film-grid{grid-template-columns:1fr}.film-card figcaption{padding:18px 18px 22px}.film-card h3{font-size:20px}.footer-brand-logo img{height:84px}.track-cover{width:38px;height:38px}}
.prologue-logo{margin-top:34px;display:flex}
.prologue-logo img{height:118px;width:auto;opacity:.92;filter:drop-shadow(0 8px 20px #0008)}
@media(max-width:760px){.prologue-logo{margin-top:26px}.prologue-logo img{height:88px}}
.prologue-main{min-width:0}
.prologue-main .prologue-logo{margin-top:30px}
/* 移动端：世界出版物版式收紧 */
@media(max-width:760px){
  .publication-layout{gap:34px}
  .book-art{min-height:330px;overflow:hidden}
  .book{width:158px;height:250px;padding:18px 15px}
  .book strong{font-size:31px}
  .book-back{height:232px;width:158px}
  .book-front{transform:rotate(-8deg) translateX(-20px)}
  .book-back{transform:rotate(9deg) translateX(30px)}
  .volume-index{gap:4px;font-size:9px}
  .volume-index span{min-width:20px;padding:4px 1px}
  .print-list li:last-child{grid-column:span 2}
}
@media(max-width:380px){
  .book-art{min-height:290px}
  .book{width:142px;height:225px}
  .book-back{height:208px;width:142px}
}
@media(max-width:760px){.book-art{min-height:300px}.book{width:146px;height:228px}.book-back{height:212px;width:146px}}
/* 人物筛选状态仅对屏幕阅读器可见，避免与左侧计数重复 */
#people-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(max-width:760px){
  .person p{min-height:0;font-size:11px}
  .record-wrap{max-width:200px;margin-bottom:26px}
  .record-label{font-size:19px}
}
@media(max-width:760px){.prologue-logo{display:none}}
.prologue-logo img{height:96px}
/* 专辑卡、可播放曲目与全球发行 */
.album-card{margin:0;position:relative;border:1px solid #b9ac8b33;overflow:hidden;background:#0c1211}
.album-card img{width:100%;height:auto;display:block}
.album-card figcaption{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:14px 16px;border-top:1px solid #b9ac8b2b}
.album-card strong{font-family:var(--serif);font-size:22px;letter-spacing:.06em;color:#f0eadb}
.album-card span{font-size:9px;letter-spacing:.12em;color:#c9c0ab}

.track-row{position:relative;cursor:pointer;padding-right:6px}
.track-row:hover{background:#b8a17a0a}
.track-row:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.track-row .track-play{font-size:11px;color:var(--gold);margin-left:6px;min-width:18px;text-align:right}
.track-row[aria-pressed="true"] h3{color:var(--gold)}
.track-row[aria-pressed="true"] .track-play{color:#e9dcc0}
.track-progress{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--gold);opacity:0;transition:opacity .2s}
.track-row[aria-pressed="true"] .track-progress,.track-row.is-paused .track-progress{opacity:1}
.track-row[aria-pressed="true"]{background:#b8a17a0d}

.release{margin-top:54px;border-top:1px solid var(--line);padding-top:34px}
.release-head{display:flex;justify-content:space-between;gap:40px;align-items:flex-end}
.release h3{font-size:clamp(22px,2.4vw,30px);letter-spacing:.03em;margin:8px 0 10px}
.release-head p:not(.eyebrow){font-size:11px;line-height:1.95;color:#a8a294;max-width:46em}
.release-count{display:flex;gap:26px;flex:0 0 auto}
.release-count span{display:flex;flex-direction:column;gap:2px;font-size:9px;color:#9c9585;letter-spacing:.08em}
.release-count strong{font-family:var(--serif);font-size:32px;font-weight:400;color:var(--gold);line-height:1}
.release-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:34px;margin-top:30px}
.release-col h4{font-size:11px;letter-spacing:.12em;color:#c9c0ab;margin-bottom:12px;font-weight:500}
.release-col ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.release-col li{font-size:10px;color:#b9b4a6;border:1px solid #b9ac8b2b;padding:5px 9px;letter-spacing:.03em}
.release-col .release-links li{border:0;padding:0}
.release-links a{color:#d8c49b;border-bottom:1px solid #b8a17a55;padding:4px 0;display:inline-block}
.release-links a:hover{color:var(--gold);border-color:var(--gold)}
.release-note{font-size:9px;line-height:1.9;color:#8f8a7b;margin-top:14px}

.film-main{margin:0;border:1px solid #b9ac8b2b;background:#0c1211}
.film-main video{width:100%;height:auto;display:block;background:#0c1211}
.film-main figcaption{display:flex;justify-content:space-between;gap:20px;padding:16px 20px;font-size:10px;letter-spacing:.04em;color:#b9b4a6;border-top:1px solid #b9ac8b1f}

@media(max-width:1050px){
  .release-head{display:block}
  .release-count{margin-top:20px;gap:22px}
  .release-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .album-card strong{font-size:18px}
  .album-card figcaption{padding:14px 16px}
  .release-count strong{font-size:26px}
  .release-grid{grid-template-columns:1fr;gap:24px}
  .release{margin-top:40px;padding-top:28px}
  .track-play{font-size:12px}
  .film-main figcaption{display:block}
}
/* 望川之声：旋转唱片、歌词与试听台 */
.player-stage{position:relative;overflow:hidden;border:1px solid #b9ac8b2b;background:#0c1211;padding:30px 30px 26px;display:flex;flex-direction:column;align-items:center}
.player-art{position:absolute;inset:0;z-index:0}
.player-art img{width:100%;height:100%;object-fit:cover;opacity:.34;filter:saturate(.7) brightness(.6)}
.player-stage:before{content:'';position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 50% 42%,#0c121100,#0c1211cc 70%,#0c1211)}
.player-stage>:not(.player-art){position:relative;z-index:2}
.record{aspect-ratio:1;width:min(280px,72%);border-radius:50%;display:grid;place-items:center;background:repeating-radial-gradient(circle at center,#121413 0,#121413 2px,#292c28 3px,#151816 4px);box-shadow:0 18px 50px #0008;position:relative}
.record:after{content:'';position:absolute;inset:0;border-radius:50%;background:conic-gradient(transparent 0deg,#d1c6a51c 45deg,transparent 75deg,transparent 180deg,#d1c6a516 225deg,transparent 255deg);pointer-events:none}
.record.spinning{animation:wc-spin 18s linear infinite}
.record.spinning.paused{animation-play-state:paused}
.record-label{width:38%;aspect-ratio:1;border-radius:50%;background:#b4a078;color:#242a24;display:flex;flex-direction:column;align-items:center;justify-content:center;font:19px/1.5 var(--serif);letter-spacing:.06em;border:4px double #35382b;text-align:center;padding:6px}
.record-label span{font-size:8px;letter-spacing:.22em}
.record-label small{font:7px var(--sans);margin-top:6px;letter-spacing:.08em;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@keyframes wc-spin{to{transform:rotate(360deg)}}
.player-now{text-align:center;margin-top:20px;display:flex;flex-direction:column;gap:4px;align-items:center}
.player-now strong{font-family:var(--serif);font-size:19px;letter-spacing:.04em;color:#f0eadb}
.player-now span{font-size:10px;color:#a9a294}
.lyrics{margin-top:16px;width:100%;height:190px;overflow:hidden;position:relative;mask-image:linear-gradient(180deg,transparent,#000 18%,#000 82%,transparent)}
.lyrics-inner{position:absolute;inset:0;overflow-y:auto;scrollbar-width:none;padding:70px 0;transition:transform .45s ease}
.lyrics-inner::-webkit-scrollbar{display:none}
.lyrics p{font-size:11px;line-height:2.1;color:#8f8a7b;letter-spacing:.04em;transition:color .3s,font-size .3s;text-align:center;padding:2px 0}
.lyrics p.current{color:#f0d9a8;font-size:13px}
.lyrics-empty{color:#7d786b}
.lyrics-none{color:#8f8a7b}

/* 官方影像：缩略卡 + 文案 */
.film-layout{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:7%;align-items:center}
.film-thumb{position:relative;margin:0;border:1px solid #b9ac8b2b;background:#0c1211;overflow:hidden}
.film-thumb video{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
.film-fullscreen{position:absolute;right:14px;bottom:14px;background:#0c1211e6;color:#e9dcc0;border:1px solid #b8a17a66;padding:10px 14px;font-size:10px;letter-spacing:.08em;display:flex;gap:10px;align-items:center;cursor:pointer}
.film-fullscreen:hover{background:var(--gold);color:#111515}
.film-copy h2{font-size:clamp(30px,3.4vw,46px);margin:8px 0 10px}
.film-duration{font-size:10px;letter-spacing:.12em;color:#b8a17a;margin-bottom:18px}
.film-copy>p:not(.eyebrow):not(.film-duration):not(.quiet-note){font-size:12px;line-height:2.05;color:#b9b4a6;max-width:34em}
.film-copy .quiet-note{margin-top:16px}

@media(max-width:1050px){
  .film-layout{grid-template-columns:1fr;gap:28px}
  .record{width:min(240px,64%)}
}
@media(max-width:760px){
  .player-stage{padding:22px 18px 20px}
  .record{width:min(210px,64%)}
  .player-now strong{font-size:17px}
  .lyrics{height:150px}
  .film-fullscreen{right:10px;bottom:10px;padding:9px 12px}
}
.player-stage{padding-top:26px}
.record{width:min(260px,68%)}
.record-label span{font-size:9px}
.record-label small{font-size:10px;letter-spacing:.02em;margin-top:5px;max-width:64px}
.lyrics{margin-top:14px;height:180px}
.film-fullscreen{right:auto;left:14px;top:14px;bottom:auto;background:#0c1211d9}
@media(max-width:760px){.film-fullscreen{left:10px;top:10px;padding:8px 10px;font-size:9px}}
.record-shell{position:relative;display:grid;place-items:center;width:min(260px,68%)}
.record-shell .record{width:100%}
.record-shell .record-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2}
@media(max-width:1050px){.record-shell{width:min(240px,64%)}}
@media(max-width:760px){.record-shell{width:min(210px,64%)}}
/* 播放控制条 */
.player-controls{display:flex;align-items:center;gap:10px;width:100%;margin-top:12px}
#player-toggle{width:34px;height:34px;flex:0 0 auto;border-radius:50%;border:1px solid #b8a17a66;background:#0c1211cc;color:#e9dcc0;font-size:11px;display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s}
#player-toggle:hover{background:var(--gold);color:#111515}
#player-seek{flex:1;-webkit-appearance:none;appearance:none;height:3px;border-radius:2px;background:#b9ac8b40;outline:none;cursor:pointer}
#player-seek::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;border-radius:50%;background:var(--gold);border:0;cursor:pointer}
#player-seek::-moz-range-thumb{width:11px;height:11px;border-radius:50%;background:var(--gold);border:0;cursor:pointer}
.player-controls time{font-size:9px;color:#a9a294;min-width:30px;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.player-art img{opacity:.55;object-position:50% 36%;filter:saturate(.95) brightness(.75)}
.player-stage:before{background:linear-gradient(180deg,#0c12112e 0%,#0c1211a6 42%,#0c1211e8 66%,#0c1211 88%)}
.music-layout{align-items:start}
.player-stage{padding-bottom:26px}
.player-stage:before{background:linear-gradient(180deg,#0c12111f 0%,#0c121196 36%,#0c1211dd 60%,#0c1211 92%)}
.player-stage:before{background:linear-gradient(180deg,#0c1211a8 0%,#0c1211dc 34%,#0c1211f2 58%,#0c1211 82%),radial-gradient(ellipse at 50% 40%,#0c1211d9 0%,#0c121100 70%)}
.player-now strong,.record-label{text-shadow:0 2px 12px #0009}
.player-stage:before{background:linear-gradient(180deg,#0c12110d 0%,#0c12116e 20%,#0c1211d6 42%,#0c1211fa 60%,#0c1211 72%)}
.player-art img{opacity:.9;object-position:50% 32%}
.hero-logo-svg{height:clamp(260px,31vw,430px);width:auto;display:block;filter:drop-shadow(0 14px 36px #0007)}
@media(max-width:760px){.hero-logo-svg{height:clamp(180px,44vw,240px)}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.hero-title-line{align-items:flex-end;gap:26px}
.hero-logo-svg{height:clamp(220px,25vw,350px)}
.hero-title-line{align-items:center;margin-bottom:6px}
.hero-copy .hero-subtitle{margin-top:14px}
@media(max-width:760px){.hero-logo-svg{height:clamp(170px,38vw,215px)}}
.player-stage:before{background:linear-gradient(180deg,#0c121100 0%,#0c121166 30%,#0c1211cf 54%,#0c1211f7 70%,#0c1211 86%)}
.player-art img{opacity:.95}
.hero-copy .hero-subtitle{margin-top:22px}
@media(max-width:760px){.hero-copy .hero-subtitle{margin-top:18px}}
.release-col li{display:flex;align-items:center;gap:7px}
.pf-icon{width:15px;height:15px;flex:0 0 auto;color:#d8c49b}
.release-links li{display:block}
@media(max-width:760px){.release-col li{padding:6px 9px}.pf-icon{width:14px;height:14px}}
.pf-icon{width:14px;height:14px;fill:currentColor}
.release-col ul{gap:7px}
.release-col li{gap:8px;font-size:9.5px;padding:5px 8px}
/* 桌面端：曲目两列、试听台随滚动固定，平衡左右高度 */
@media(min-width:1051px){
  .music-layout{align-items:start;gap:6%}
  .tracklist{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}
  .player-stage{position:sticky;top:96px}
  .lyrics{height:165px}
}
/* 两列曲目：收紧行内元素，标题单行省略 */
@media(min-width:1051px){
  .track-row{gap:12px;min-height:58px;padding:10px 0}
  .track-cover{width:36px;height:36px}
  .track-row h3{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .track-row h3 small{font-size:8px}
  .track-row time{font-size:9px}
  .track-row .track-play{font-size:9px;min-width:14px}
  .track-row>span:not(.track-play):not(.track-progress){min-width:16px;font-size:9px}
  .track-row>div{min-width:0}
}
@media(min-width:1051px){
  .record-shell{width:min(232px,60%)}
  .lyrics{height:150px}
  .track-row{min-height:74px;padding:13px 0}
}
.film-thumb video{aspect-ratio:1280/545;object-fit:cover}
.film-fullscreen{left:auto;right:12px;top:12px}
@media(max-width:760px){.film-fullscreen{left:auto;right:10px;top:10px}}
.film-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-top:1px solid #b9ac8b1f}
.film-tools>span{font-size:9px;letter-spacing:.12em;color:#8f8a7b}
.film-fullscreen{position:static;display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid #b8a17a66;color:#e9dcc0;padding:8px 13px;font-size:10px;letter-spacing:.08em;cursor:pointer}
.film-fullscreen:hover{background:var(--gold);color:#111515}
.hero-shade,.dispatch-shade,.encounter-shade,.chapter-hero-shade,.player-art,.grain,.veil{pointer-events:none}
.chapter-pager{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:10px;padding:26px 0 60px;font-size:12px;letter-spacing:.04em}
.chapter-pager>span{flex:1}
.chapter-pager a{color:#c9c0ab;display:flex;flex-direction:column;gap:5px}
.chapter-pager a:hover{color:var(--gold)}
.chapter-pager a span{font-size:9px;letter-spacing:.16em;color:#7d786b}
.chapter-pager a:last-child{text-align:right;align-items:flex-end}
@media(max-width:760px){.chapter-pager{flex-direction:column;gap:16px;padding:22px 0 44px}.chapter-pager a:last-child{text-align:left;align-items:flex-start}}
/* 登记弹窗统一由 intent.css 提供。 */
button.letter-link{background:none;border:0;border-bottom:1px solid var(--gold);padding:15px 0 19px;font:25px var(--serif);color:inherit;text-align:left;cursor:pointer;display:block;min-width:275px;margin-bottom:12px;letter-spacing:.08em}
button.letter-link:hover{color:var(--gold)}
.teaser-links{display:flex;gap:16px 34px;flex-wrap:wrap;margin-top:24px}
.film-thumb #film-feedback{margin:0;padding:0 16px 14px;font-size:11px;line-height:1.9}
.film-thumb #film-feedback:empty{display:none}
/* 跳读入口只在键盘聚焦时显示，避免盖住章节正文。 */
.skip:not(:focus){visibility:hidden}
@media(max-width:760px){.gameplay-teaser-head .section-intro{font-size:12px;line-height:2}.teaser-facts p{font-size:12px}.quiet-note{font-size:11px;line-height:1.9}.track-row h3{white-space:normal;text-overflow:clip}}

/* 手机试听：曲目就在眼前，选曲后的控制不再留在页面上方。 */
.mobile-music-dock[hidden],.music-sheet:not([open]){display:none!important}
.mobile-music-dock{position:fixed;z-index:70;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));max-width:620px;margin:0 auto;padding:9px 12px 3px;border:1px solid #c7ae765c;border-radius:13px;background:#151d19;color:#ece5d5;box-shadow:0 8px 24px #0006;font-family:var(--sans);line-height:1.5}
.mobile-music-main{display:flex;align-items:center;gap:11px;min-width:0}
.mobile-music-cover{flex:0 0 40px;width:40px;height:40px;object-fit:cover;border-radius:5px;border:1px solid #c7ae7640}
.mobile-music-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.mobile-music-copy strong{font:500 15px/1.5 var(--serif);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.04em}
.mobile-music-copy>span{font-size:10px;color:#b9b6a7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mobile-music-dock button,.music-sheet button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer;font-family:var(--sans)}
.mobile-music-lyrics{flex:0 0 auto;min-width:44px;min-height:44px;padding:8px 6px;background:transparent;border:0;color:#d8c69e;font-size:12px}
.mobile-music-play{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border:1px solid #b8a17a88;border-radius:50%;background:#c4ab75;color:#19251d;font-size:14px}
.mobile-music-timeline{display:flex;align-items:center;gap:7px;width:100%;min-height:38px}
.mobile-music-timeline button,.music-sheet-transport>button:not(.mobile-music-play){flex:0 0 42px;width:42px;min-height:44px;padding:0;border:0;background:transparent;color:#dbcba7;font:27px/1 var(--sans)}
.mobile-music-timeline time{flex:0 0 31px;color:#a8ae9e;font:10px/1.4 var(--sans);font-variant-numeric:tabular-nums;text-align:center}
.mobile-music-timeline input{min-width:30px;flex:1;width:100%;height:36px;margin:0;padding:0;accent-color:#d8bd83;background:transparent;touch-action:pan-x;cursor:pointer}
.mobile-music-timeline input:disabled{opacity:.4;cursor:wait}
.mobile-music-dock button:focus-visible,.mobile-music-dock input:focus-visible,.music-sheet button:focus-visible,.music-sheet input:focus-visible{outline:2px solid #e9cf94;outline-offset:2px}
body:has(dialog[open])>.mobile-music-dock{visibility:hidden;pointer-events:none}
.music-sheet{position:fixed;inset:auto 0 0;z-index:200;width:min(100%,620px);max-width:100%;height:min(690px,88svh);height:min(690px,88dvh);max-height:calc(100dvh - 24px);margin:0 auto;padding:0;border:1px solid #cbb98955;border-bottom:0;border-radius:20px 20px 0 0;background:#141d18;color:#eee6d5;overflow:hidden;box-shadow:0 -12px 48px #0005;color-scheme:dark}
.music-sheet::backdrop{background:#06110dba}
.music-sheet-panel{display:flex;flex-direction:column;position:relative;height:100%;min-height:0;padding:21px 22px max(15px,env(safe-area-inset-bottom))}
.music-sheet-header{display:flex;flex:0 0 auto;justify-content:space-between;align-items:flex-start;gap:15px;padding-bottom:15px;border-bottom:1px solid #c5b18533}
.music-sheet-header>div{min-width:0}
.music-sheet-header p{font:10px/1.8 var(--sans);letter-spacing:.14em;color:#ac956e}
.music-sheet-header h2{margin:4px 0;font:500 25px/1.4 var(--serif);color:#eee6d5;letter-spacing:.04em}
.music-sheet-header #music-sheet-meta{display:block;font:10px/1.8 var(--sans);color:#abb3a2}
.music-sheet-close{flex:0 0 auto;min-height:44px;min-width:60px;padding:8px 10px;border:1px solid #c5b18545;border-radius:7px;background:transparent;color:#dbc9a6;font-size:11px}
.music-sheet-lyrics{position:relative;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:55px 6px 65px;text-align:center;scrollbar-width:thin;scrollbar-color:#b8a17a44 transparent}
.music-sheet-lyrics p{font:15px/2 var(--serif);color:#929d8e;letter-spacing:.04em;margin:0;padding:7px 0;transition:color .15s}
.music-sheet-lyrics p.current{color:#efd7a1;font-weight:600}
.music-sheet-follow{position:absolute;z-index:1;right:22px;bottom:125px;padding:9px 13px;min-height:40px;border:1px solid #c5b18555;border-radius:999px;background:#203128;color:#e0cda5;font:11px var(--sans)}
.music-sheet-controls{flex:0 0 auto;padding-top:10px;border-top:1px solid #c5b18533;background:#141d18}
.music-sheet-transport{display:flex;justify-content:center;align-items:center;gap:25px}
.music-sheet-controls .mobile-music-timeline{margin-top:8px}
@media(min-width:1051px){.mobile-music-dock{display:none!important}}
@media(max-width:1050px){
  body.has-mobile-player{padding-bottom:calc(120px + env(safe-area-inset-bottom))}
  html:has(body.has-mobile-player){scroll-padding-bottom:calc(132px + env(safe-area-inset-bottom))}
  .music-layout{grid-template-columns:1fr;gap:18px;align-items:start}
  .has-mobile-audio .player-stage{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:8px 16px;padding:15px 16px 7px;position:relative;top:auto;min-height:0;max-height:180px;width:100%;border-radius:8px}
  .has-mobile-audio .record-shell{width:56px;height:56px;grid-column:1;grid-row:1}
  .has-mobile-audio .record-label{width:52%;padding:2px;border-width:2px;font-size:10px}
  .has-mobile-audio .record-label span{font-size:8px;letter-spacing:.05em}
  .has-mobile-audio .record-label small{display:none}
  .has-mobile-audio .player-now{grid-column:2;grid-row:1;margin:0;align-items:flex-start;text-align:left;gap:3px}
  .has-mobile-audio .player-now .eyebrow{display:none}
  .has-mobile-audio .player-now strong{font-size:18px}
  .has-mobile-audio .player-now span{font-size:10px;line-height:1.6}
  .has-mobile-audio .player-controls{grid-column:1/-1;grid-row:2;gap:10px;margin:0;width:100%}
  .has-mobile-audio #player-toggle{width:44px;height:44px;min-height:44px;font-size:13px}
  .has-mobile-audio #player-seek{height:5px;min-height:5px;padding-block:18px;background-clip:content-box;box-sizing:content-box}
  .has-mobile-audio .lyrics{display:none}
  .has-mobile-audio .player-art img{filter:none;opacity:.2}
  .has-mobile-audio .player-stage:before{background:#101b17c9}
  .track-row{scroll-margin-bottom:140px;min-height:78px}
  .track-row:focus-visible{outline-offset:3px}
  .music-status{font-size:11px;line-height:1.8;margin-top:12px}
}
@media(max-width:360px){.mobile-music-dock{left:8px;right:8px;padding-inline:10px}.mobile-music-main{gap:8px}.mobile-music-copy strong{font-size:14px}.mobile-music-timeline{gap:4px}.mobile-music-timeline button{flex-basis:36px;width:36px}.music-sheet-panel{padding-left:17px;padding-right:17px}.music-sheet-header h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.music-sheet *{transition:none!important}.mobile-music-dock *{transition:none!important}}

