:root{--bg:#f4efe6;--bg-deep:#ece4d6;--ink:#1f1b16;--ink-soft:#5b5348;--line:#c9bba6;--accent:#8a5a3a;--sidebar:17.5rem;--pad:clamp(1.1rem, 3.6vw, 2rem)}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0;padding:0}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Noto Sans SC,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:16px;line-height:1.75}#root,.shell{min-height:100vh}.topbar{z-index:40;padding:.85rem var(--pad);padding-top:calc(.85rem + env(safe-area-inset-top));background:color-mix(in srgb, var(--bg) 88%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0}.brand-name{letter-spacing:.28em;margin:0;font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:1.2rem;font-weight:600}.brand-sub{color:var(--ink-soft);letter-spacing:.08em;margin:.15rem 0 0;font-size:.78rem}.nav-toggle{min-height:2.5rem;color:var(--ink);letter-spacing:.08em;background:0 0;border:1px solid #b89a7a;border-radius:999px;padding:0 .9rem;font-size:.88rem}.desktop-layout{display:none}.album-curtain{z-index:30;padding:calc(4.6rem + env(safe-area-inset-top)) var(--pad) 3rem;background:var(--bg);visibility:hidden;pointer-events:none;flex-direction:column;align-items:center;transition:transform .42s,visibility 0s linear .42s;display:flex;position:fixed;inset:0;overflow:auto;transform:translateY(-100%)}.album-curtain.is-open{visibility:visible;pointer-events:auto;transition:transform .42s,visibility;transform:none}.curtain-kicker{width:min(100%,16rem);color:var(--ink-soft);letter-spacing:.22em;margin:0 0 1.1rem;font-size:.72rem}.album-curtain .album-nav{width:min(100%,16rem)}.album-curtain .nav-album-card{width:100%}.album-curtain .nav-kicker{display:none}.mobile-main{padding:1.2rem var(--pad) 4.2rem;padding-bottom:calc(4.2rem + env(safe-area-inset-bottom))}.mobile-album-name{letter-spacing:.1em;margin:.2rem 0 .15rem;font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:1.55rem;font-weight:600}.mobile-album-time{color:var(--accent);letter-spacing:.14em;margin:0 0 1.1rem;font-family:Noto Serif SC,Songti SC,STSong,serif}.nav-kicker{color:var(--ink-soft);letter-spacing:.22em;margin:0 0 1rem;font-size:.72rem}.nav-album-card{width:min(100%,18rem);color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;padding:0;display:flex}.nav-cover{aspect-ratio:1;object-fit:cover;background:var(--bg-deep);border-radius:2px;width:100%;height:auto;display:block}.nav-album-card.is-current .nav-cover{outline:1px solid var(--accent);outline-offset:4px}.nav-album-name{letter-spacing:.1em;margin:.95rem 0 .2rem;font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:1.28rem;font-weight:600}.nav-album-time{color:var(--accent);letter-spacing:.14em;font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:.92rem}.main{padding:1.4rem var(--pad) 4rem}.album-head,.song-head{margin-bottom:1.7rem}.album-head-meta,.song-head-meta{color:var(--accent);letter-spacing:.1em;margin:0 0 .45rem;font-size:.82rem}.album-head-title,.song-head-title{letter-spacing:.08em;margin:0 0 .7rem;font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:clamp(1.7rem,6vw,2.3rem);font-weight:600;line-height:1.25}.album-head-intro,.song-related{max-width:40rem;color:var(--ink-soft);margin:0;font-size:.98rem;line-height:1.85}.song-related{border-left:1px solid var(--line);padding-left:.9rem}.col-title{letter-spacing:.22em;color:var(--ink-soft);margin:1.6rem 0 .9rem;font-size:.72rem;font-weight:500}.essay-label{margin:0 0 .45rem;font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:1.05rem;font-weight:600}.essay-label+.essay-body+.essay-label{margin-top:1.35rem}.essay-body{max-width:42rem;margin:0;font-size:.98rem;line-height:1.95}.song-nav{border-top:1px solid var(--line);margin:2.2rem 0 0;padding-top:1.6rem}.song-view .song-nav{border-top:0;margin:0 0 2rem;padding-top:0}.song-nav-kicker{color:var(--ink-soft);letter-spacing:.22em;margin:0 0 .7rem;font-size:.72rem}.song-nav-list{margin:0;padding:0;list-style:none}.song-nav-item{border:0;border-bottom:1px solid var(--line);width:100%;min-height:2.65rem;color:var(--ink);text-align:left;cursor:pointer;background:0 0;align-items:baseline;gap:.7rem;padding:.35rem 0;font-size:1.02rem;display:flex}.song-nav-item.is-current{color:var(--accent)}.song-nav-index{color:var(--ink-soft);letter-spacing:.08em;flex:0 0 1.7rem;font-size:.75rem}.song-nav-title{letter-spacing:.04em;font-family:Noto Serif SC,Songti SC,STSong,serif}.song-nav-tag{color:var(--ink-soft);letter-spacing:.14em;margin-left:auto;font-size:.72rem}.col-kicker{color:var(--ink-soft);letter-spacing:.22em;margin:0 0 .85rem;font-size:.72rem}.detail-panel{animation:none}.detail-meta{color:var(--accent);letter-spacing:.1em;margin:0 0 .4rem;font-size:.82rem}.detail-title{letter-spacing:.08em;margin:0 0 .75rem;font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:clamp(1.7rem,4.2vw,2.35rem);font-weight:600;line-height:1.25}.detail-lead,.detail-hint{max-width:40rem;color:var(--ink-soft);margin:0 0 1rem;font-size:.98rem;line-height:1.85}.detail-hint{letter-spacing:.04em;font-size:.88rem}.now-playing{flex-wrap:wrap;align-items:flex-start;gap:1.4rem;margin:1.3rem 0 2rem;display:flex}.play-disc{background:var(--bg-deep);width:8.6rem;height:8.6rem;color:var(--ink);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.play-disc-icon{width:4.4rem;height:4.4rem;display:block}.play-disc:hover,.play-disc:focus-visible{color:var(--accent);outline:1px solid var(--accent);outline-offset:3px}.lyric-side{flex:1;min-width:0;padding-top:.35rem}.lyric-label,.lyric-note{color:var(--ink-soft);letter-spacing:.18em;margin:0;font-size:.72rem}.lyric-text{letter-spacing:.06em;margin:.55rem 0 .9rem;font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:clamp(1.15rem,2.4vw,1.5rem);font-weight:600;line-height:1.55}.lyric-empty{color:var(--ink-soft);font-size:1rem;font-weight:400}.essay-below{border-top:1px solid var(--line);padding-top:.2rem}.fold{border-top:1px solid var(--line)}.mobile-stack .fold:last-child{border-bottom:1px solid var(--line)}.fold-head{margin:0}.fold-toggle{width:100%;min-height:3.15rem;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.65rem;padding:.55rem 0;display:flex}.fold-title{letter-spacing:.06em;font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:1.08rem;font-weight:600}.fold-meta{color:var(--ink-soft);letter-spacing:.14em;font-size:.72rem}.fold-mark{color:var(--accent);text-align:center;flex:0 0 1.4rem;margin-left:auto;font-family:Noto Serif SC,Songti SC,STSong,serif;font-size:1.45rem;font-weight:500;line-height:1}.fold-body{padding:0 0 1.25rem}.fold-body .play-disc{width:4.8rem;height:4.8rem}.fold-body .play-disc-icon{width:2.5rem;height:2.5rem}.fold-toggle:hover,.fold-toggle:focus-visible{color:var(--accent);outline:none}.listen-wrap{margin-top:1.25rem}.listen-btn{min-height:2.75rem;color:var(--ink);letter-spacing:.08em;cursor:pointer;background:0 0;border:1px solid #b89a7a;border-radius:999px;justify-content:center;align-items:center;padding:.55rem 1.15rem;font-family:inherit;font-size:.9rem;text-decoration:none;display:inline-flex}.listen-btn:hover,.listen-btn:focus-visible,.nav-toggle:hover,.nav-toggle:focus-visible,.nav-album-card:focus-visible,.song-nav-item:hover,.song-nav-item:focus-visible{background:var(--bg-deep);outline:none}.album-view,.song-view{animation:none}@media (width>=900px){.nav-toggle,.album-curtain,.mobile-main{display:none!important}.desktop-layout{max-width:1180px;min-height:calc(100vh - 4.2rem);padding:0 var(--pad);grid-template-columns:minmax(12.5rem,15.5rem) minmax(13rem,16.5rem) minmax(0,1fr);gap:0;margin:0 auto;display:grid}.col-album,.col-songs{height:calc(100vh - 4.2rem);padding:1.7rem 1.35rem 3rem 0;position:sticky;top:4.2rem;overflow:auto}.col-album{border-right:1px solid var(--line)}.col-songs{border-right:1px solid var(--line);padding-left:1.35rem}.col-detail{padding:1.7rem 0 4.5rem 2rem}.col-songs .song-nav{border:0;margin:0;padding:0}.nav-album-card{width:100%}.play-disc{width:9.4rem;height:9.4rem}.play-disc-icon{width:4.8rem;height:4.8rem}}@media (prefers-reduced-motion:no-preference){.js-anim .album-view,.js-anim .song-view,.js-anim .detail-panel{animation:.55s both rise}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.album-curtain{transition:none}}
