:root{--bg:#121212;--bg-raised:#1e1e1e;--bg-hover:#2a2a2a;--fg:#e8e8e8;--fg-dim:#9a9a9a;--accent:#1db954;--accent-dim:#14813b;--danger:#e05555;--chip:#333;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font-family:system-ui,-apple-system,sans-serif}button{background:var(--bg-raised);color:var(--fg);cursor:pointer;border:1px solid #3a3a3a;border-radius:6px;padding:6px 12px;font-size:14px}button:hover:not(:disabled){background:var(--bg-hover)}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#000;font-weight:600}button.primary:hover:not(:disabled){background:#22c95e}button.danger{color:var(--danger)}input,textarea{background:var(--bg-raised);color:var(--fg);border:1px solid #3a3a3a;border-radius:6px;padding:8px 10px;font-size:14px}.hint{color:var(--fg-dim);font-size:13px}.page{max-width:960px;margin:0 auto;padding:16px 16px 90px}.topbar{z-index:15;background:var(--bg);border-bottom:1px solid #242424;align-items:center;gap:10px;margin:0 -16px 16px;padding:12px 16px;display:flex;position:sticky;top:0}.user-menu{position:relative}.user-menu .menu-backdrop{z-index:24;position:fixed;inset:0}.user-menu .menu{z-index:25;background:var(--bg-raised);border:1px solid #3a3a3a;border-radius:8px;min-width:140px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #00000080}.user-menu .menu button{text-align:left;background:0 0;border:none;width:100%}.user-menu .menu button:hover{background:var(--bg-hover)}.topbar h1,.topbar h2{margin:0;font-size:20px}.topbar .artist,.tab-row .artist,.modal .artist{color:var(--fg-dim);font-weight:400}.spacer{flex:1}.banner{background:var(--bg-raised);border-radius:8px;padding:10px 14px}.login{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100vh;display:flex}.login h1{color:var(--accent);margin:0;font-size:40px}.tab-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tab-list li{align-items:stretch;gap:8px;display:flex}.tab-row{text-align:left;flex:1;align-items:baseline;gap:12px;padding:12px 14px;display:flex}.tab-row .name{font-weight:600}.tab-row .meta{color:var(--fg-dim);margin-left:auto;font-size:12px}.modal-backdrop{z-index:20;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-raised);border-radius:12px;flex-direction:column;gap:12px;width:min(560px,92vw);max-height:84vh;padding:20px;display:flex}.modal h3{margin:0}.modal input{width:100%}.search-results{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.search-results button{text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.search-results button:hover{background:var(--bg-hover)}.search-results img{border-radius:4px;width:40px;height:40px}.modal-actions{justify-content:space-between;display:flex}.tab-input{white-space:pre;width:100%;min-height:320px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.block-list{flex-direction:column;gap:10px;display:flex}.block{border:1px solid #0000;border-radius:8px;padding:8px 12px;transition:background .15s,border-color .15s,opacity .15s}.block pre{cursor:pointer;margin:0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;line-height:1.35;overflow-x:auto}.block:hover{background:var(--bg-raised)}.block.active{border-color:var(--accent-dim);background:#12351f}.block-section pre{color:var(--accent);font-weight:700}.block-chordlyric pre{color:#cfe3ff}.chip-row{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.chip{background:var(--chip);border-radius:999px;align-items:center;font-size:12px;display:inline-flex;overflow:hidden}.chip.active{background:var(--accent-dim)}.chip.selected{outline:2px solid var(--accent);outline-offset:1px}.chip-input{font-variant-numeric:tabular-nums;border-radius:999px;width:72px;padding:2px 8px;font-size:12px}.chip button{font-variant-numeric:tabular-nums;background:0 0;border:none;border-radius:0;padding:3px 8px;font-size:12px}.chip-delete{color:var(--fg-dim);padding-left:2px!important}.chip-delete:hover{color:var(--danger)}.block{position:relative}.block-handle{cursor:grab;-webkit-user-select:none;user-select:none;color:var(--fg-dim);background:#ffffff0a;border-bottom:1px solid #262626;border-radius:8px 8px 0 0;align-items:center;gap:10px;margin:-8px -12px 6px;padding:3px 12px;font-size:11px;display:flex}.block-handle:hover{background:#ffffff14}.block-handle .grip{letter-spacing:2px}.block-handle .kind{text-transform:uppercase;letter-spacing:.1em}.block-handle .handle-time{font-variant-numeric:tabular-nums}.block-handle .handle-spacer{flex:1}.block.selected{border-color:var(--accent)}.block-edit-btn{opacity:0;background:0 0;border:none;padding:1px 8px;font-size:12px}.block:hover .block-edit-btn{opacity:1}.block-sep{justify-content:center;align-items:center;min-height:14px;display:flex}.block-sep .sep-actions{opacity:0;gap:8px;transition:opacity .12s;display:flex}.block-sep:hover .sep-actions{opacity:1}.block-sep .sep-actions button{color:var(--fg-dim);border-radius:999px;padding:2px 10px;font-size:11px}.block-sep .sep-actions button:hover{color:var(--fg);border-color:var(--accent-dim)}.block-draft{flex-direction:column;gap:8px;width:100%;padding:6px 0;display:flex}.block-draft .tab-input{min-height:120px}.draft-actions{align-items:center;gap:8px;display:flex}.draft-actions .hint{margin-right:auto}.player-bar{background:var(--bg-raised);z-index:10;border-top:1px solid #2c2c2c;align-items:center;gap:12px;padding:12px 16px;display:flex;position:fixed;bottom:0;left:0;right:0}.player-bar input[type=range]{accent-color:var(--accent);flex:1;padding:0}.player-bar .time{font-variant-numeric:tabular-nums;color:var(--fg-dim);white-space:nowrap;font-size:13px}.player-bar .track-label{text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:13px;overflow:hidden}.play-btn{width:44px;font-size:16px}.player-error{color:var(--danger);max-width:300px;font-size:12px}.repeat-btn{color:var(--fg-dim);align-items:center;padding:6px 10px 8px;display:flex;position:relative}.repeat-btn.on{color:var(--accent)}.repeat-btn.on:after{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.bridge{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.bridge-card{background:var(--bg-raised);text-align:center;border:1px solid #3a3a3a;border-radius:14px;flex-direction:column;gap:16px;width:100%;max-width:520px;padding:32px;display:flex}.bridge-card h1{letter-spacing:.04em;margin:0;font-size:44px}.bridge-card h2{margin:0;font-size:22px}.bridge-progress{color:var(--fg-dim);text-transform:uppercase;letter-spacing:.14em;margin:0;font-size:12px}.bridge-options{text-align:left;flex-direction:column;gap:8px;display:flex}.bridge-options label{cursor:pointer;border:1px solid #3a3a3a;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;display:flex}.bridge-options label:hover{background:var(--bg-hover)}.bridge-options label.picked{border-color:var(--accent);background:#12351f}.bridge-options input{accent-color:var(--accent)}.bridge-countdown{color:var(--danger);font-variant-numeric:tabular-nums}.presentation{max-width:1100px;padding-bottom:140px}.presentation .block{opacity:.15;transition:opacity .25s,background .25s}.presentation .block pre{font-size:17px;line-height:1.4}.presentation .block.next{opacity:.55}.presentation .block.next:before{content:"next";color:var(--accent);text-transform:uppercase;letter-spacing:.12em;margin-bottom:2px;font-size:11px;font-weight:700;display:block}.presentation .block.active{opacity:1;border-color:var(--accent-dim);background:#12351f}.presentation .block.active pre{font-size:21px;line-height:1.45}.presentation .chip-delete{display:none}.presentation .close-btn{z-index:30;border-radius:50%;width:42px;height:42px;font-size:22px;line-height:1;position:fixed;top:14px;right:18px}.next-strip{z-index:10;text-align:left;background:#1e1e1ef2;border:none;border-top:1px solid #2c2c2c;border-radius:0;align-items:baseline;gap:12px;padding:8px 16px;display:flex;position:fixed;bottom:62px;left:0;right:0}.next-strip .label{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;font-size:11px;font-weight:700}.next-strip .preview{color:var(--fg-dim);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;overflow:hidden}
