:root{--bg:#0e1013;--panel:#171a1f;--panel2:#20242b;--line:#2c313a;--text:#eef1f5;--muted:#8b93a1;--accent:#ffb020;--ok:#3ecf7a;--bad:#ff5a5a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:15px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);background:var(--panel2);border-radius:8px;padding:8px 14px}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:#111;border-color:var(--accent);font-weight:700}button.ghost{background:0 0}input,select,textarea{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:7px 10px}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}.muted{color:var(--muted)}.small{font-size:13px}.center{place-items:center;min-height:100vh;padding:16px;display:grid}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px}.login{flex-direction:column;gap:10px;width:100%;max-width:380px;display:flex}.logo{font-size:20px;font-weight:800}.logo span{color:var(--accent)}.logo small{color:var(--muted);margin-left:4px;font-size:13px;font-weight:500}.logo.big{font-size:30px}.app{max-width:1400px;margin:0 auto;padding:0 16px 40px}.top{z-index:2;background:var(--bg);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding:12px 0;display:flex;position:sticky;top:0}.tabs{gap:6px;display:flex}.tabs button.on{background:var(--accent);color:#111;border-color:var(--accent);font-weight:700}.spacer{flex:1}.band{font-weight:700}.notice{color:#bcdcff;cursor:pointer;background:#10233a;border-radius:10px;margin:12px 0;padding:10px 14px}.notice.bad{color:#ffc9c9;background:#331416}.notice.ok{color:#b9f3cf;background:#10301d}.sources{grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;display:grid}@media (width<=800px){.sources,.work{grid-template-columns:1fr!important}}.drop{border:2px dashed var(--line);text-align:center;cursor:pointer;border-radius:14px;flex-direction:column;justify-content:center;gap:6px;min-height:180px;padding:30px 20px;display:flex}.drop:hover,.drop.over{border-color:var(--accent);background:#1e1a10}.dropBig{font-size:18px;font-weight:700}.paste{flex-direction:column;gap:8px;display:flex}.paste textarea{resize:vertical;flex:1;min-height:140px;font-family:ui-monospace,Consolas,monospace;font-size:13px}.paste button{align-self:flex-end}.work{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:16px;margin-top:16px;display:grid}.list{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--line);padding:6px;font-size:12px;font-weight:500}td{border-bottom:1px solid var(--line);vertical-align:top;padding:6px}tr{cursor:pointer}tr.sel td{background:#2a2210}tr.off td{opacity:.45}td.warn{color:var(--accent)}.cell{width:120px;padding:5px 8px}.cell.wide{width:190px}.cell.num{width:56px}.src{color:var(--muted);margin-top:2px;font-size:12px}.src.warn{color:var(--accent)}.tag{background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:12px;display:inline-block}.tag.ok{color:var(--ok);border-color:#1f5a37}.tag.bad{color:var(--bad);text-overflow:ellipsis;white-space:nowrap;border-color:#6b2227;max-width:220px;overflow:hidden}.dup{padding:4px 6px;font-size:13px}.actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.check{align-items:center;gap:8px;display:flex}.preview{background:var(--panel);border:1px solid var(--line);border-radius:14px;max-height:calc(100vh - 90px);padding:16px;position:sticky;top:70px;overflow:auto}.pvHead{align-items:baseline;gap:10px;margin-bottom:10px;font-size:18px;display:flex}.song{font-size:17px}.sec{margin-bottom:16px}.sec.chorus{border-left:3px solid var(--accent);padding-left:10px}.secLabel{color:var(--muted);letter-spacing:1px;margin-bottom:4px;font-size:11px}.line{flex-wrap:wrap;align-items:flex-end;display:flex}.seg{white-space:pre;flex-direction:column;display:inline-flex}.ch{color:var(--accent);padding-right:4px;font-size:15px;font-weight:700}.gap{height:10px}.comment{color:var(--muted);font-style:italic}details{margin-top:12px}summary{color:var(--muted);cursor:pointer}.src-edit{width:100%;min-height:300px;margin-top:8px;font-family:ui-monospace,Consolas,monospace;font-size:13px}.help{color:var(--muted);max-width:760px;margin-top:24px}.help h3{color:var(--text)}.search{width:100%;margin-bottom:10px}.pad{padding:12px}.repo{grid-template-columns:270px minmax(0,1fr);gap:16px;margin-top:14px;display:grid}.songList{flex-direction:column;align-self:start;gap:8px;max-height:calc(100vh - 90px);display:flex;position:sticky;top:70px}.songList .items{border:1px solid var(--line);border-radius:10px;overflow:auto}.songList .item{border-bottom:1px solid var(--line);cursor:pointer;padding:8px 10px}.songList .item:hover{background:var(--panel2)}.songList .item.sel{background:#2a2210}.songList .t{font-weight:600}.songList .sub{color:var(--muted);font-size:12px}.editor{flex-direction:column;gap:10px;display:flex}.edHead{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.titleIn{flex:2;min-width:220px;font-size:20px;font-weight:700}.artistIn{flex:1;min-width:160px}.meta{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.meta label{color:var(--muted);flex-direction:column;gap:3px;font-size:12px;display:flex}.meta .num,.toolbar .num{width:76px}.transpose{align-items:center;gap:6px;margin-left:6px;display:flex}.toolbar{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:6px;padding:8px;display:flex}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chips button{padding:5px 10px}.chordBtn{color:var(--accent);border-color:#6b4d12;font-weight:700}.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}@media (width<=1100px){.split,.repo{grid-template-columns:1fr}.songList{max-height:300px;position:static}}.pane{border:1px solid var(--line);background:var(--panel);border-radius:10px;flex-direction:column;min-height:560px;display:flex}.paneHead{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:6px;padding:6px 8px;font-size:13px;display:flex}button.mini{padding:3px 9px;font-size:13px}button.mini.on{background:var(--accent);color:#111;border-color:var(--accent)}button.danger{color:#ffc9c9;border-color:#6b2227}.bodyIn{background:var(--bg);resize:vertical;border:0;border-radius:0 0 10px 10px;flex:1;min-height:520px;padding:12px;font-family:ui-monospace,Consolas,monospace;line-height:1.5}.sideBody{flex:1;max-height:calc(100vh - 260px);padding:14px;overflow:auto}.warnList{color:var(--accent);border-top:1px solid var(--line);padding:6px 10px;font-size:12px}.warnTag{color:var(--accent);border-color:#6b4d12}.row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.songImg{background:#fff;border-radius:6px;max-width:100%;margin:6px 0;display:block}.help-panel h3{color:var(--accent);margin:16px 0 6px;font-size:15px}.help-panel h3:first-child{margin-top:0}.help-panel p{color:var(--text);margin:6px 0;font-size:14px}.ex{background:var(--bg);border:1px solid var(--line);white-space:pre-wrap;border-radius:8px;margin:6px 0;padding:8px 10px;font-size:13px}.history table td{font-size:13px}.revPreview{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.codeIn{letter-spacing:6px;text-align:center;font-size:24px}button.linkBtn{color:var(--accent);background:0 0;border:0;padding:4px}.modalBack{z-index:50;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{flex-direction:column;gap:14px;width:100%;max-width:640px;display:flex}.modalHead{justify-content:space-between;align-items:center;display:flex}.modalHead h2{margin:0;font-size:20px}.fld{flex-direction:column;gap:6px;display:flex}.fld span{color:var(--muted);font-size:13px}.bandCols{grid-template-columns:1fr 1fr;gap:12px;display:grid}.bandBox{background:var(--panel2);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;padding:14px;display:flex}.bandBox h3{margin:0;font-size:15px}.bandBox p{margin:0}.bandBox .codeIn{letter-spacing:6px;text-align:center;font-size:20px;font-weight:700}@media (width<=640px){.bandCols{grid-template-columns:1fr}}
