@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap");*{box-sizing:border-box}body,html{margin:0;min-height:100%;font-family:DM Sans,Arial,sans-serif}body{background:#f6f4f0}.app{--bg:#f6f4f0;--paper:#fffefb;--text:#24262a;--muted:#74736f;--red:#782b37;--gold:#b08b47;--line:#e5e0d7;background:var(--bg);color:var(--text);min-height:100vh}.app.dark{--bg:#161719;--paper:#232426;--text:#f7f1e8;--muted:#b7afa4;--red:#e5a0a4;--gold:#d8b97e;--line:#383839}.topline{height:5px;background:linear-gradient(90deg,#632434,#a88143,#632434)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.25;cursor:not-allowed}.header{height:84px;background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;padding:0 max(24px,calc((100vw - 1120px)/2));gap:15px}.brand,.header{display:flex;align-items:center}.brand{gap:13px;cursor:pointer}.brandicon{width:45px;height:48px;border:2px solid var(--gold);border-radius:23px 23px 6px 6px;display:flex;align-items:center;justify-content:center;color:var(--red)}.brand strong{display:block;font:800 23px Manrope,Arial,sans-serif;letter-spacing:-1px;color:var(--red)}.brand small{font-size:11px;color:var(--muted);letter-spacing:.8px}.ghost,.iconbtn{border:none;background:transparent;color:var(--red);display:inline-flex;align-items:center;justify-content:center;padding:10px;border-radius:9px}.ghost:hover,.iconbtn:hover{background:var(--bg)}.nav{height:64px;background:var(--paper);border-bottom:1px solid var(--line);align-items:stretch;gap:12px}.nav,.nav button{display:flex;justify-content:center}.nav button{border:0;background:none;padding:0 22px;color:var(--muted);align-items:center;gap:8px;font-weight:700;white-space:nowrap;border-bottom:3px solid transparent}.nav button.active{color:var(--red);border-bottom-color:var(--red)}.main{max-width:1050px;margin:0 auto;padding:30px 22px 60px;min-height:75vh}.hero{background:var(--paper);border:1px solid var(--line);padding:30px 35px;border-radius:15px;margin-bottom:23px;position:relative;overflow:hidden}.hero:after{content:"♫";position:absolute;color:var(--gold);opacity:.12;font-size:150px;right:26px;top:-44px;pointer-events:none;font-family:serif}.eyebrow{color:var(--gold);letter-spacing:2px;font-size:11px;font-weight:800}h1,h2,h3{font-family:Manrope,Arial,sans-serif;letter-spacing:-1px}h1{font-size:clamp(26px,3.5vw,38px);line-height:1.16;margin:9px 0 11px}h2{font-size:19px;margin:0 0 8px}.hero p,.songheading p{color:var(--muted);margin:0 0 16px}.count{color:var(--red);gap:7px;font-size:13px;font-weight:700}.count,.searchbox{display:flex;align-items:center}.searchbox{gap:11px;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:0 16px;height:54px;color:var(--gold)}.searchbox input{background:none;border:none;outline:0;flex:1 1;min-width:0;color:var(--text)}.filters{display:flex;gap:12px;margin:12px 0 18px}.filters select,.massfields input,.momentrow select{width:100%;background:var(--paper);color:var(--text);border:1px solid var(--line);padding:13px 12px;border-radius:9px;min-width:0}.filters select{max-width:270px}.results{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);margin-bottom:10px}.songlist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.songrow{background:var(--paper);border-radius:10px;min-height:79px;display:flex;align-items:center;padding:9px 9px 9px 18px;border:1px solid var(--line);border-left:3px solid var(--gold)}.songname{border:0;background:none;text-align:left;color:var(--text);padding:5px 0}.songname strong{font-size:14px}.songname small,.songname strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.songname small{color:var(--muted);font-size:11px;padding-top:6px}.back{border:0;background:none;color:var(--red);display:flex;align-items:center;gap:3px;margin:2px 0 18px;font-weight:700}.songheading h1{margin-bottom:3px}.badges{display:flex;gap:7px;flex-wrap:wrap}.badges span{font-size:11px;border:1px solid var(--line);border-radius:99px;padding:7px 12px;background:var(--paper)}.actions,.massactions,.scrollbar,.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:20px 0}.actions a,.actions button,.buttonoutline,.massactions button,.primary,.scrollbar button,.toolbar button{border:1px solid var(--line);background:var(--paper);color:var(--text);border-radius:9px;padding:11px 14px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px;font-weight:700}.massactions .primary,.primary,.scrollbar .primary{background:#782b37;color:#fff;border-color:#782b37}.scrollbar,.toolbar{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:12px 17px}.toolbar{justify-content:space-between}.toolgroup{display:flex;align-items:center;gap:7px}.toolgroup small{font-weight:700;color:var(--muted);margin-right:8px}.toolgroup b{min-width:36px;text-align:center;color:var(--red)}.scrollbar label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}.scrollbar input{accent-color:#782b37;max-width:130px}.scrollbar span{color:var(--muted)}.warn{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid #e3c98c;color:#9b641c;background:#fff8e8;border-radius:9px;font-size:13px;margin-bottom:16px}.dark .warn{background:#383023;color:#f0ca8a}.lyrics{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:35px 32px;line-height:1.35;overflow-x:auto;white-space:pre-wrap}.lyricline{display:flex;align-items:end;flex-wrap:wrap;min-height:1.7em;margin:5px 0}.lyricline:empty{height:12px}.syllable{display:inline-flex;flex-direction:column;white-space:pre}.syllable b{font-size:.74em;color:var(--red);height:1.5em;line-height:1.4}.rawline{font-family:ui-monospace,monospace;font-size:.72em;line-height:1.45}.panel{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:20px;margin:12px 0}.panelhead{display:flex;justify-content:space-between;align-items:start}.minirow small,.panelhead small{display:block;color:var(--muted);font-size:11px}.minirow{display:flex;align-items:center;gap:8px;padding:9px 0;border-top:1px solid var(--line)}.minirow button{border:0;background:none;color:var(--text)}.minirow button:first-child{text-align:left;flex:1 1}.empty{padding:35px;background:var(--paper);border:1px dashed var(--line);border-radius:12px;text-align:center;color:var(--muted)}.massfields{display:flex;gap:12px;margin-bottom:14px}.massfields label{flex:1 1;color:var(--muted);font-size:12px;font-weight:700}.massfields input{display:block;margin-top:7px}.momentrow{gap:12px;justify-content:space-between;border:1px solid var(--line);background:var(--paper);padding:12px 16px;margin:8px 0;border-radius:10px}.momentrow,.momentrow>div{display:flex;align-items:center}.momentrow>div{min-width:190px;gap:11px}.momentrow strong{font-size:13px}.momentrow small{color:var(--gold);font-size:12px}.momentrow select{max-width:620px}.toast{background:var(--red);color:var(--paper);border-radius:8px;padding:10px 14px;justify-content:space-between;margin-bottom:12px;font-size:13px}.overlay,.toast{display:flex;align-items:center}.overlay{position:fixed;inset:0;background:#0009;justify-content:center;padding:20px;z-index:30}.dialog{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:27px;width:min(500px,100%);max-height:85vh;overflow:auto}.dialog p{font-size:13px;color:var(--muted)}.choice{display:flex;align-items:center;gap:10px;background:var(--bg);border:1px solid var(--line);padding:14px;width:100%;margin:7px 0;text-align:left;border-radius:9px;color:var(--text)}.choice svg:last-child{margin-left:auto}.dialog .buttonoutline{width:100%;margin-top:10px}.dialog textarea{width:100%;padding:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:13px/1.6 monospace}.editdialog{width:min(850px,100%)}.cancel{border:0;background:none;padding:15px;font-weight:700;display:block;margin:auto}.cancel,footer{color:var(--muted)}footer{border-top:1px solid var(--line);margin-top:55px;padding:30px;text-align:center}footer .footbrand{color:var(--red);font-weight:800}footer button,footer p{font-size:12px}footer button{background:none;border:0;color:var(--muted);display:inline-flex;align-items:center;gap:5px}@media(max-width:680px){.header{height:72px;padding:0 15px}.brand strong{font-size:19px}.brand small{font-size:9px}.brandicon{width:39px;height:42px}.nav{height:64px;gap:0;justify-content:space-around;position:-webkit-sticky;position:sticky;top:0;z-index:10}.nav button{padding:7px 2px;flex-direction:column;gap:4px;font-size:10px;flex:1 1}.main{padding:15px 12px 30px}.hero{padding:23px 19px}.songlist{grid-template-columns:1fr}.filters{gap:7px}.filters select{width:50%;font-size:12px}.results span:last-child{display:none}.lyrics{padding:22px 15px}.momentrow{display:block}.momentrow>div{margin-bottom:9px}.momentrow select{max-width:100%}.massfields{flex-direction:column}.scrollbar,.toolbar{gap:8px}.scrollbar label{flex:1 1}.scrollbar input{max-width:88px}.actions a,.actions button{padding:10px 8px;font-size:11px}}body,html{max-width:100%;overflow-x:clip}.app,.main,.momentrow,.panel,.songlist,.songrow{min-width:0;max-width:100%}.songrow{width:100%;overflow:hidden}.songname{width:0;min-width:0;flex:1 1}.songrow .iconbtn{flex:0 0 36px;min-width:36px;padding:7px}.songlist>*{min-width:0}.fixed-player{position:-webkit-sticky;position:sticky;top:64px;z-index:12;justify-content:center;gap:9px;min-height:51px;padding:6px 10px;border-bottom:1px solid var(--line);box-shadow:0 4px 14px #0000000b}.fixed-player,.fixed-player button{display:flex;align-items:center;background:var(--paper)}.fixed-player button{border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:var(--text);gap:4px;font-weight:700;font-size:12px}.fixed-player .player-btn{background:var(--red);color:var(--paper)}.fixed-player label{display:flex;gap:7px;align-items:center;font-size:11px;white-space:nowrap}.fixed-player input{width:160px;accent-color:var(--red)}.speed-controls{display:flex;align-items:center;gap:7px;flex:1 1;min-width:210px}.speed-controls button{border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--text);padding:8px}.speed-controls label{flex:1 1;display:flex;align-items:center;gap:7px}.speed-controls span{font-size:11px;font-weight:700;color:var(--muted)}.playlist-toggle{background:none;border:0;color:var(--text);text-align:left;padding:0;flex:1 1}.mass-open,.playlist-toggle h2{color:var(--red)}.mass-open{border:1px solid var(--line);background:var(--paper);border-radius:7px;padding:8px;white-space:nowrap}.rawline{font-family:DM Sans,Arial,sans-serif;font-size:.9em;line-height:1.6;white-space:pre-wrap}.app .main{width:100%}@media(max-width:680px){.songrow{padding:8px 4px 8px 10px}.nav{width:100%;overflow:hidden}.nav button{min-width:0}.songrow .songname strong{white-space:normal;overflow-wrap:anywhere;line-height:1.3}.fixed-player{top:64px}.fixed-player button{padding:8px 7px}.fixed-player input{width:62px}.momentrow select{width:100%}.momentrow .mass-open{margin-top:8px}.lyrics{overflow-x:hidden;overflow-wrap:anywhere}}.rawchords{color:var(--red);font-weight:800;letter-spacing:.02em}.raw-chord{color:var(--ac);font-weight:750}.rawchords{color:var(--ac)!important;font-weight:700;white-space:pre-wrap}.rawchords,.rawline{overflow-wrap:anywhere}.global-back{position:fixed;left:10px;bottom:12px;z-index:16;background:var(--red);color:#fff;border:1px solid var(--gold);border-radius:30px;padding:9px 14px;gap:7px;box-shadow:0 4px 14px #0002}.global-back,.pdf-small{display:flex;align-items:center;font-size:12px}.pdf-small{background:var(--paper);color:var(--red);border:1px solid var(--line);border-radius:8px;gap:5px;font-weight:700;padding:9px}.stage-start{white-space:nowrap}.stage-overlay{position:fixed;inset:0;z-index:100;background:#101114;color:#f7f5ee;overflow:auto;overscroll-behavior:contain;scrollbar-width:none}.stage-overlay::-webkit-scrollbar{display:none}.stage-reading{display:block;width:100%;min-height:100%;text-align:left;background:none;border:0;color:inherit;padding:22px 18px 110px;cursor:pointer}.stage-heading{display:flex;justify-content:space-between;gap:15px;margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid #484848;color:#eccb96;font-weight:800;font-size:18px}.stage-heading small{white-space:nowrap;color:#f7f5ee;font-size:12px}.stage-body{font-family:DM Sans,Arial,sans-serif;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.stage-body .raw-chord,.stage-body .rawchords,.stage-body .syllable b{color:#eccb96!important}.stage-controls{position:fixed;z-index:105;left:0;right:0;bottom:0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:stretch;gap:10px;background:#222328ed;border-top:1px solid #666;color:#fff}.stage-controls-row{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}.stage-controls button{background:#45464a;border:1px solid #777;color:#fff;border-radius:8px;padding:10px 12px;display:flex;align-items:center;gap:5px}.stage-speed-row{justify-content:space-between}.stage-speed{display:flex;align-items:center;gap:8px;font-size:12px;flex:1 1}.stage-speed span{white-space:nowrap}.stage-controls input{width:100%;accent-color:#eccb96}.stage-mode .global-back{display:none}@media(max-width:680px){.fixed-player{gap:5px;flex-wrap:wrap}.fixed-player label{font-size:10px}.fixed-player input{width:138px}.speed-controls{min-width:100%;order:3}.fixed-player .stage-start span{display:none}.pdf-small{padding:7px;font-size:11px}.stage-heading{font-size:15px}.stage-reading{padding:20px 12px 128px}}.stage-overlay.stage-light{background:#fffdf8;color:#27231f}.stage-light .stage-heading{color:#782b37;border-bottom-color:#d8cfc3}.stage-light .stage-heading small{color:#54463e}.stage-light .stage-body .raw-chord,.stage-light .stage-body .rawchords,.stage-light .stage-body .syllable b{color:#8b3445!important}.stage-overlay.stage-dark{background:#101114;color:#f7f5ee}.stage-dark .stage-heading{color:#eccb96;border-bottom-color:#484848}.stage-dark .stage-heading small{color:#f7f5ee}.stage-dark .stage-body .raw-chord,.stage-dark .stage-body .rawchords,.stage-dark .stage-body .syllable b{color:#eccb96!important}.stage-controls-row .stage-theme{border-color:#d5b981;color:#fff}.audit-panel{margin-top:24px}.audit-panel>p{color:var(--muted);font-size:13px}.audit-row{display:flex;gap:12px;margin:14px 0}.audit-item select,.audit-row select{background:var(--paper);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px;max-width:100%}.audit-count{font-weight:700;margin:12px 0}.audit-list{max-height:520px;overflow:auto;border-top:1px solid var(--line)}.audit-item{display:flex;align-items:center;gap:8px;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 0}.audit-item>div:first-child{flex:1 1;min-width:0}.audit-item strong{display:block;font-size:13px}.audit-item small{display:block;color:var(--muted);font-size:11px}.audit-item .buttonoutline{margin:0;padding:8px;font-size:11px}@media(max-width:680px){.audit-item{flex-wrap:wrap}.audit-item>div:first-child{min-width:100%}.audit-item select{flex:1 1}}