:root{font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#30372c;background:#f7f8f2;font-synthesis:none;--green:#586e43;--green-dark:#3d522d;--muted:#7c8176;--line:#e5e8de;--paper:#fffefa}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}a{color:inherit;text-decoration:none}button{color:inherit}svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #809e65;outline-offset:4px}button{transition:background .18s,border-color .18s,transform .18s}button:active:not(:disabled){transform:translateY(1px)}.shell{max-width:1312px;margin:0 auto;padding:0 48px}.site-header{height:100px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:13px;font-size:21px;font-weight:650;letter-spacing:.5px}.brand-mark{width:39px;height:39px;background:var(--green);color:#fff;border-radius:11px;display:grid;place-items:center}.brand-mark .icon{width:23px;height:23px}.brand-divider{font-size:18px;color:#babfb1;margin:0 15px;font-weight:300}.brand-en{font-size:11px;font-weight:500;letter-spacing:2.1px;color:#777e6d;vertical-align:middle}.privacy-pill{display:flex;align-items:center;gap:8px;font-size:11px;color:#727d67}.status-dot{width:6px;height:6px;border-radius:50%;background:#7b9666;box-shadow:0 0 0 4px #edf1e6}.intro{display:flex;justify-content:space-between;align-items:center;padding:46px 0 34px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;color:#889478;margin:0 0 13px}h1{font-family:"Songti SC","Noto Serif CJK SC","SimSun",serif;font-size:38px;letter-spacing:2px;font-weight:600;margin:0 0 15px;line-height:1.4}h1>span{color:#8a9c78}.intro-description{font-size:13px;color:var(--muted);margin:0;line-height:1.8}.intro-note{display:flex;align-items:center;gap:12px;color:#829173;font-size:11px;line-height:2.1;margin-top:24px;padding-left:20px}.intro-note .icon{width:24px;height:24px;stroke-width:1.3}.intro-note strong{font-weight:400;color:#9b9f93;font-size:10px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dropzone{position:relative;width:100%;border:1px dashed #bac6a8;border-radius:12px;background:#f0f3e8;min-height:124px;display:flex;align-items:center;padding:25px 32px;gap:23px;text-align:left}.dropzone:hover,.dropzone:focus-visible{background:#e9efdf;border-color:#81966a}.upload-mark{width:53px;height:53px;display:grid;place-items:center;background:#e4ebd8;border-radius:15px;color:#71865b}.upload-mark .icon{width:24px;height:24px}.drop-copy{display:flex;flex-direction:column;gap:10px}.drop-copy strong{font-size:15px;letter-spacing:.5px;font-weight:550}.drop-copy>span{font-size:11px;color:#8b927e}.drop-separator{margin:0 9px;color:#acb59f}.drop-action{margin-left:auto;display:flex;align-items:center;gap:13px;font-size:12px;font-weight:550;color:#61754c;padding-bottom:16px}.drop-action .icon{width:17px;height:17px}.drop-limit{position:absolute;right:32px;bottom:27px;font-size:9px;color:#929b85;letter-spacing:.1px}.workspace{margin-top:28px;display:grid;grid-template-columns:258px minmax(0,1fr);min-height:488px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper)}.library{background:#f9faf5;border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0}.library-heading{display:flex;align-items:center;justify-content:space-between;padding:23px 21px 19px}.library-heading h2{margin:0;font-size:12px;letter-spacing:.4px;font-weight:550}.library-heading h2 span{font-family:ui-monospace,monospace;margin-left:7px;font-size:10px;color:#9a9f90;font-weight:400}.text-button{border:0;background:none;font-size:10px;color:#8b9381;padding:5px}.text-button:hover{color:var(--green-dark)}.file-list{max-height:540px;overflow-y:auto;scrollbar-width:thin;padding:0 10px}.file-item{display:flex;align-items:center;position:relative;border-radius:7px;margin:3px 0;border:1px solid transparent}.file-item.selected{background:#eaf0e0;border-color:#dce5cd}.file-select{background:none;border:0;min-width:0;flex:1;display:flex;align-items:flex-start;text-align:left;padding:13px 31px 13px 10px;gap:10px}.file-select>.icon{width:17px;height:17px;color:#8b9b7a;margin-top:2px}.file-item.has-error .file-select>.icon{color:#b77c65}.file-info{min-width:0}.file-name{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.8}.file-details{font-size:9px;display:block;color:#969e89;margin-top:5px;line-height:1.5}.file-remove{position:absolute;right:6px;top:13px;width:22px;height:22px;display:grid;place-items:center;border:0;background:none;color:#9ca58e;border-radius:4px}.file-remove:hover{background:#dce5cf;color:#435633}.file-remove .icon{width:12px;height:12px}.file-item.pending .file-select>.icon{animation:pulse 1s ease-in-out infinite}.library-empty{margin:auto 0;text-align:center;color:#abb39f;padding:30px 12px 54px}.library-empty>.icon{width:30px;height:30px;stroke-width:1.1;color:#bcc4b1}.library-empty p{font-size:11px;margin:15px 0 9px;color:#969f8b}.library-empty>span{font-size:10px;color:#adb4a3}.library-footnote{display:flex;gap:10px;align-items:center;color:#a1aa94;padding:19px 21px;margin-top:auto;font-size:9px;line-height:1.9;border-top:1px solid var(--line)}.library-footnote .icon{width:15px;height:15px;stroke-width:1.4}.reader{position:relative;min-width:0}.reader-empty{min-height:486px;display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;padding:40px}.record{width:115px;height:115px;border-radius:50%;background:repeating-radial-gradient(circle at center,#eef0e8 0px,#eef0e8 1px,#e5e9dd 2px,#eef0e8 3px,#eef0e8 6px);border:1px solid #e6eade;display:grid;place-items:center;box-shadow:0 10px 24px #687a4510;margin-bottom:31px;transform:rotate(-12deg)}.record-label{height:46px;width:46px;border-radius:50%;background:#dce5cf;border:5px solid #f9faf5;display:grid;place-items:center;color:#7b8e67}.record-label .icon{width:19px;height:19px}.reader-empty .eyebrow{font-size:8px;letter-spacing:2.1px;color:#9ca88e;margin-bottom:14px}.reader-empty h2{font-size:20px;font-family:"Songti SC","SimSun",serif;font-weight:500;letter-spacing:1px;margin:0 0 14px}.reader-empty>p:not(.eyebrow){font-size:11px;line-height:2.1;color:#a0a596;margin:0}.empty-format{font-family:ui-monospace,monospace;font-size:10px;letter-spacing:1px;color:#9ca88d;margin-top:24px;padding:7px 13px;border-radius:5px;background:#f3f5ee}.empty-format>span{padding:0 10px;color:#a7b59b}.song-heading{padding:28px 30px 22px;display:flex;align-items:flex-start;gap:14px}.song-info{min-width:0;flex:1}.song-heading .eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:11px}.song-heading h2{font-size:21px;font-weight:550;line-height:1.55;margin:0;overflow-wrap:anywhere}.song-artist{font-size:11px;color:#7e8972;line-height:1.9;margin:8px 0 0;overflow-wrap:anywhere}.song-album{font-size:10px;color:#a2a995;margin:4px 0 0;overflow-wrap:anywhere}.line-count{font-size:9px;white-space:nowrap;color:#8b987d;background:#f0f3e9;border:1px solid #e8edde;padding:6px 9px;border-radius:4px;margin-top:2px}.reader-toolbar{padding:0 30px 16px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line)}.view-switch{display:flex;align-items:center;background:#f3f5ee;border-radius:6px;padding:3px;gap:2px}.view-tab{font-size:10px;border:0;background:none;color:#949d86;padding:7px 13px;border-radius:4px;white-space:nowrap}.view-tab.active{background:#fffefa;box-shadow:0 1px 4px #2532160d;color:var(--green-dark)}.reader-actions{display:flex;gap:9px;align-items:center}.icon-button{height:30px;width:31px;border:1px solid var(--line);border-radius:5px;background:transparent;display:grid;place-items:center;color:#859575}.icon-button:hover{background:#f0f3e8}.icon-button .icon{width:14px;height:14px}.download-button{display:flex;align-items:center;gap:7px;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:5px;font-size:10px;height:30px;padding:0 11px}.download-button:hover{background:var(--green-dark);border-color:var(--green-dark)}.download-button .icon{height:13px;width:13px}.search-wrap{display:flex;align-items:center;gap:9px;padding:12px 30px;border-bottom:1px solid #edf0e7}.search-wrap .icon{width:14px;height:14px;color:#a5ad9a}.search-wrap input{font-size:10px;border:0;background:transparent;outline:none;min-width:0;flex:1;color:#59674a;padding:5px 0}.search-wrap input::placeholder{color:#a4ac98}.search-wrap input:focus-visible{outline-offset:3px;outline-width:1px}.search-wrap>span{font-size:9px;color:#9aa38e;white-space:nowrap}.lyrics-panel{height:386px;overflow:auto;scrollbar-width:thin;scrollbar-color:#dce2d3 transparent;padding:17px 30px 24px}.lyric-line{display:flex;gap:22px;align-items:baseline;min-height:42px;font-size:14px;line-height:1.9;padding:6px 0;overflow-wrap:anywhere}.lyric-time{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;white-space:nowrap;color:#a7b199;min-width:52px;font-variant-numeric:tabular-nums;user-select:none}.lyric-text{min-width:0}.lyric-line.instrumental .lyric-text{color:#b2baa7;font-size:11px;font-style:italic}.lyrics-source{white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,"Microsoft YaHei",monospace;font-size:11px;line-height:2.1;color:#657255;margin:0}.lyric-line mark,.lyrics-source mark{color:#445c2c;background:#e7edb6;border-radius:2px;padding:1px 0}.no-matches{margin:50px 0;text-align:center;color:#9aa58d;font-size:12px}.reader-status{display:flex;justify-content:space-between;gap:10px;font-size:9px;line-height:1.7;color:#9ca68f;border-top:1px solid var(--line);padding:12px 30px}.reader-error{padding:100px 36px;text-align:center;min-height:486px}.reader-error>.icon{width:36px;height:36px;color:#ad8b72;stroke-width:1.3}.reader-error h2{font-size:16px;font-weight:500;margin-top:18px}.reader-error p{font-size:12px;color:#929983;line-height:1.9;overflow-wrap:anywhere}.secondary-button{font-size:11px;padding:9px 15px;border:1px solid #d6dfc8;color:#738760;background:#f3f6ec;border-radius:5px;margin-top:14px}.site-footer{display:flex;justify-content:space-between;align-items:center;padding:24px 0 30px;color:#a4aa99;font-size:10px;line-height:1.8}.site-footer>span{font-family:"Songti SC","SimSun",serif;letter-spacing:1px}.site-footer>div{display:flex;align-items:center;gap:10px;font-size:9px}.site-footer a:hover{color:var(--green)}.footer-dot{color:#c0c7b6}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);z-index:20;max-width:calc(100% - 32px);padding:12px 22px;border:1px solid #d4dec7;border-radius:8px;box-shadow:0 6px 30px #34422615;background:#f1f5e9;color:#4a6037;font-size:12px;line-height:1.8}.drag-overlay{position:fixed;inset:12px;border:2px dashed #8caa6d;border-radius:18px;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:#f4f7eeed;backdrop-filter:blur(7px);pointer-events:none;color:var(--green)}.drag-overlay>.icon{width:54px;height:54px;stroke-width:1.2}.drag-overlay strong{font-family:"Songti SC","SimSun",serif;font-size:32px;letter-spacing:3px;font-weight:500}.drag-overlay>span{font-size:13px;letter-spacing:1px}@keyframes pulse{50%{opacity:.35}}
@media(min-width:1450px){.shell{padding:0 60px}.intro{padding-top:54px;padding-bottom:39px}.workspace{margin-top:32px}.reader-empty{min-height:520px}.lyrics-panel{height:425px}}
@media(max-width:950px){.shell{padding:0 28px}.site-header{height:82px}.intro-note{display:none}.intro{padding-top:34px}.workspace{grid-template-columns:215px minmax(0,1fr)}.dropzone{padding:24px;gap:17px}.drop-limit{right:24px}.song-heading{padding:24px 22px 20px}.reader-toolbar{padding-left:22px;padding-right:22px}.search-wrap{padding-left:22px;padding-right:22px}.lyrics-panel{padding-left:22px;padding-right:22px}.reader-status{padding-left:22px;padding-right:22px}.view-tab{padding:7px 10px}.reader-actions{gap:5px}.download-button{padding:0 8px}}
@media(max-width:680px){.shell{padding:0 18px}.site-header{height:75px}.brand{font-size:19px;gap:10px}.brand-mark{width:34px;height:34px;border-radius:10px}.brand-en{font-size:8px;letter-spacing:1.4px}.brand-divider{margin:0 9px;font-size:15px}.privacy-pill{font-size:0;gap:0}.status-dot{width:7px;height:7px}.intro{padding:30px 0 25px}.eyebrow{font-size:8px;letter-spacing:1.5px}h1{font-size:30px;letter-spacing:1px;margin-bottom:13px}.intro-description{font-size:11px;max-width:300px}.dropzone{min-height:145px;padding:22px 18px;gap:15px;align-items:flex-start}.upload-mark{width:42px;height:42px;border-radius:12px;flex-shrink:0;margin-top:5px}.upload-mark .icon{width:21px;height:21px}.drop-copy{gap:8px;padding-top:5px}.drop-copy strong{font-size:13px}.drop-copy>span{font-size:9px;line-height:1.9;max-width:215px}.drop-separator{display:block;font-size:0;height:1px;margin:0}.drop-action{position:absolute;left:75px;bottom:19px;padding:0;font-size:10px;gap:9px}.drop-action .icon{width:13px;height:13px}.drop-limit{font-size:8px;right:18px;bottom:22px}.workspace{display:flex;flex-direction:column;margin-top:21px}.library{border-right:0;border-bottom:1px solid var(--line)}.library-heading{padding:13px 16px 9px}.library-heading h2{font-size:11px}.library-empty{padding:6px 16px 17px;text-align:left;margin:0}.library-empty>.icon,.library-empty>p{display:none}.library-empty>span{font-size:9px}.library-footnote{display:none}.file-list{display:flex;overflow-x:auto;padding:0 10px 9px;gap:5px;max-height:none}.file-list:empty{display:none}.file-item{min-width:206px;max-width:240px;flex:0 0 206px}.file-select{padding:9px 29px 9px 8px}.file-remove{top:9px}.file-name{font-size:10px}.file-details{font-size:8px;margin-top:3px}.reader-empty{min-height:360px;padding:30px 15px}.record{width:96px;height:96px;margin-bottom:24px}.reader-empty h2{font-size:18px}.reader-empty>p:not(.eyebrow){font-size:10px}.song-heading{padding:22px 18px 18px;gap:8px}.song-heading h2{font-size:18px}.song-artist{font-size:10px}.song-album{font-size:9px}.line-count{font-size:8px;padding:5px 7px}.reader-toolbar{padding:0 15px 14px;gap:6px}.view-tab{padding:7px 9px;font-size:9px}.reader-actions{gap:5px}.download-button{font-size:9px;gap:5px;padding:0 7px}.download-button .icon{height:12px;width:12px}.icon-button{width:28px}.search-wrap{padding:10px 18px}.lyrics-panel{height:410px;padding:13px 18px 20px}.lyric-line{font-size:13px;gap:15px;min-height:42px}.lyric-time{font-size:9px;min-width:48px}.reader-status{font-size:8px;padding:11px 18px}.site-footer{padding:20px 0 25px;font-size:9px}.site-footer>div{font-size:8px;gap:6px}.reader-error{min-height:350px;padding:70px 24px}.lyrics-source{font-size:10px}.toast{font-size:11px;bottom:20px}}
.reading-option{display:flex;align-items:center;gap:4px;flex-shrink:0;border:1px solid #dce5d0;border-radius:4px;background:#edf2e5;color:#6b8056;font-size:10px;padding:4px 7px;white-space:nowrap}.reading-option .icon{width:12px;height:12px;color:inherit}.reading-option[aria-pressed="false"]{color:#9aa38e;background:transparent;border-color:var(--line)}.reading-option[aria-pressed="false"] .icon{visibility:hidden}.lyric-line.has-furigana{padding-top:15px;padding-bottom:8px;line-height:2.15}.lyric-text ruby{ruby-position:over;ruby-align:center}.lyric-text rt{font-size:.58em;font-weight:400;line-height:1.1;letter-spacing:.025em;color:#83966e;user-select:none}.ruby-base{font:inherit}.lyric-text ruby mark{padding:0}
@media(max-width:680px){.reading-option{font-size:9px;padding:4px 6px;gap:3px}.reading-option .icon{width:11px;height:11px}.lyric-line.has-furigana{padding-top:14px;padding-bottom:7px}.lyric-text rt{font-size:.62em}}
.library-import{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;width:calc(100% - 28px);margin:0 14px 15px;padding:14px 12px;flex-shrink:0;border:1px dashed #bac6a8;border-radius:8px;background:#f0f3e8;text-align:left}.library-import:hover,.library-import:focus-visible{background:#e9efdf;border-color:#81966a}.import-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#e4ebd8;color:#71865b}.import-icon .icon{width:18px;height:18px}.import-copy{display:flex;min-width:0;flex-direction:column;gap:6px}.import-copy strong{font-size:12px;font-weight:550;letter-spacing:.2px}.import-copy>span{font-size:8px;color:#8b927e;white-space:nowrap}.import-link{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:9px;color:#61754c;font-size:10px;font-weight:550;padding-top:2px}.import-link .icon{width:14px;height:14px}.import-limit{grid-column:1/-1;text-align:center;font-size:8px;color:#929b85;line-height:1.6}.file-list:empty{display:none}
@media(min-width:681px){.shell{height:100dvh;min-height:580px;display:flex;flex-direction:column}.site-header{height:80px;flex:0 0 80px}.shell>main{display:flex;flex-direction:column;flex:1;min-height:0}.workspace{flex:1;margin-top:22px;min-height:0}.library{min-height:0}.library-heading{flex-shrink:0}.file-list{flex:1;min-height:0;max-height:none}.library-empty{display:flex;flex:1;flex-direction:column;justify-content:center;align-items:center;margin:0;padding:25px 12px}.library-footnote{flex-shrink:0}.reader{display:flex;flex-direction:column;min-height:0;overflow:hidden}#reader-content{display:flex;flex-direction:column;flex:1;min-height:0}.song-heading,.reader-toolbar,.search-wrap,.reader-status{flex-shrink:0}.lyrics-panel{flex:1;min-height:0;height:auto}.reader-empty,.reader-error{flex:1;min-height:0}.site-footer{flex-shrink:0;padding:16px 0 18px}}
@media(max-width:680px){.workspace{margin-top:18px}.library-import{grid-template-columns:32px minmax(0,1fr) auto;gap:6px 10px;margin:0 14px 12px;padding:12px}.import-icon{grid-column:1;grid-row:1/3;width:32px;height:32px}.import-copy{grid-column:2;grid-row:1;gap:5px}.import-copy strong{font-size:11px}.import-copy>span{font-size:8px}.import-link{grid-column:3;grid-row:1/3;padding:0;font-size:9px;gap:5px}.import-link .icon{width:12px;height:12px}.import-limit{grid-column:2;grid-row:2;text-align:left;font-size:7px}.library-empty{padding-bottom:16px}}
.library-footnote,.reader-status{height:56px;min-height:56px;align-items:center;line-height:1.8;padding-top:10px;padding-bottom:10px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
