:root{--tc: #3D5C3A;--tc-l: #6B9468;--tc-p: #E8EFE7;--az: #7A4F2A;--az-l: #A87B52;--az-p: #F0E8DF;--w: #F7F3EA;--gc: #EFE9DA;--gt: #7A6E5F;--b: #D8CEBB;--n: #2A2318;--shadow: 0 2px 16px rgba(42,35,24,.08);--font-display: "Syne", sans-serif;--font-lyrics: "Literata", serif;--font-ui: "Syne", sans-serif;--font-mono: "JetBrains Mono", monospace;--font-chord: "Roboto Condensed", sans-serif}:root[data-theme=dark]{--tc: #6FA86C;--tc-l: #8EC28B;--tc-p: #182218;--az: #C49060;--az-l: #D4A87A;--az-p: #221810;--w: #1B1812;--gc: #231F16;--gt: #9A8E7E;--b: #38302A;--n: #EDE7D8;--shadow: 0 2px 16px rgba(0,0,0,.5)}:root[data-theme=dark] body{background:#0f0d09}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-ui);background:#e8e2d6;color:var(--n);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}#root{max-width:480px;margin:0 auto;background:var(--w);min-height:100vh;position:relative;box-shadow:0 0 60px #2a231826}@media (min-width: 600px){#root,.bottom-nav{max-width:660px}}@media (min-width: 900px){#root{max-width:860px;box-shadow:0 0 80px #2a23182e}.bottom-nav{max-width:860px}.lyrics-wrap{max-width:680px}}body[data-layout=narrow] #root,body[data-layout=narrow] .bottom-nav{max-width:480px!important}body[data-layout=wide] #root,body[data-layout=wide] .bottom-nav{max-width:960px!important}body[data-layout=wide] #root{box-shadow:0 0 80px #2a23182e}body[data-layout=wide] .lyrics-wrap{max-width:780px!important}button{cursor:pointer;font-family:var(--font-ui)}input,textarea,select{font-family:var(--font-ui)}a{color:inherit;text-decoration:none}.fab{position:fixed;bottom:72px;right:max(16px,calc(50vw - 224px));width:52px;height:52px;border-radius:50%;background:var(--tc);color:#fff;border:none;font-size:26px;line-height:1;cursor:pointer;box-shadow:0 4px 14px #00000040;display:flex;align-items:center;justify-content:center;z-index:90;transition:transform .15s,box-shadow .15s}.fab:active{transform:scale(.93);box-shadow:0 2px 6px #0003}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;background:var(--w);border-top:1px solid var(--b);display:flex;z-index:100;padding-bottom:env(safe-area-inset-bottom);transition:transform .25s ease}.bottom-nav.nav-hidden{transform:translate(-50%) translateY(100%)}.nav-layout-btn{position:absolute;top:-22px;right:48px;background:var(--w);border:1.5px solid var(--b);border-bottom:none;border-radius:8px 8px 0 0;padding:1px 10px 3px;font-size:11px;color:var(--tc);cursor:pointer;line-height:1.6;z-index:101}.nav-toggle{position:absolute;top:-22px;right:12px;background:var(--w);border:1.5px solid var(--b);border-bottom:none;border-radius:8px 8px 0 0;padding:1px 12px 3px;font-size:10px;color:var(--gt);cursor:pointer;line-height:1.6;z-index:101}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 0 8px;font-size:10px;color:var(--gt);font-weight:700;letter-spacing:.5px;text-transform:uppercase;transition:color .15s;font-family:var(--font-ui)}.bottom-nav a.active{color:var(--tc)}.bottom-nav a svg{width:22px;height:22px}.top-nav{padding:12px 20px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--b);background:var(--w);position:sticky;top:0;z-index:50}.logo{font-family:var(--font-display);font-size:18px;font-weight:400;line-height:1.2;color:var(--n);letter-spacing:-.2px}.logo em{display:block;font-style:normal;font-size:9px;letter-spacing:2.5px;text-transform:uppercase;color:var(--tc);font-family:var(--font-ui);font-weight:700;margin-top:2px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--tc-p);border:1.5px solid var(--tc-l);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--tc);font-weight:700;cursor:pointer;font-family:var(--font-ui)}.icon-btn{width:36px;height:36px;border-radius:50%;background:var(--gc);display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;border:1px solid var(--b);color:var(--n);transition:border-color .15s}.back-row{display:flex;align-items:center;gap:10px}.back-btn{background:none;border:none;font-size:22px;color:var(--gt);cursor:pointer;padding:0;line-height:1;display:flex;align-items:center}.screen-title{font-family:var(--font-display);font-size:18px;font-weight:400;color:var(--n)}.search-wrap{padding:14px 20px 10px}.search-box{background:var(--gc);border-radius:10px;padding:10px 14px;display:flex;align-items:center;gap:8px;border:1.5px solid transparent;transition:border-color .2s}.search-box:focus-within{border-color:var(--tc-l)}.search-box input{background:none;border:none;outline:none;flex:1;font-size:14px;color:var(--n);font-family:var(--font-ui)}.search-box input::placeholder{color:var(--gt)}.search-icon{font-size:16px;color:var(--gt)}.chips{display:flex;gap:6px;padding:4px 20px 14px;overflow-x:auto;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{padding:5px 13px;border-radius:20px;background:var(--gc);font-size:12px;font-weight:700;color:var(--gt);cursor:pointer;white-space:nowrap;border:1.5px solid transparent;transition:all .15s;font-family:var(--font-ui)}.chip.on{background:var(--tc-p);color:var(--tc);border-color:var(--tc-l)}.section-title{font-size:10px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--gt);padding:0 20px 10px;font-family:var(--font-ui)}.song-list{padding:0 20px 80px}.song-card{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--b);cursor:pointer;transition:background .1s;gap:8px}.song-card:last-child{border-bottom:none}.song-info{flex:1;min-width:0}.song-title{font-family:var(--font-display);font-size:16px;font-weight:400;color:var(--n);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.song-artist{font-size:12px;color:var(--gt);margin-top:3px}.song-badges{display:flex;gap:4px;margin-top:5px;flex-wrap:wrap}.badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;letter-spacing:.2px;font-family:var(--font-ui)}.badge-genre{background:var(--tc-p);color:var(--tc)}.badge-acordes{background:var(--az-p);color:var(--az)}.badge-letra{background:var(--gc);color:var(--gt)}.badge-partitura{background:#ebe4f5;color:#6b4e9b}.badge-cifrado{background:#e4f5eb;color:#2e7d4e}.badge-tag{background:transparent;color:var(--gt);border:1px solid var(--b)}.song-arrow{color:var(--b);font-size:18px;margin-left:8px}.empty-list{text-align:center;padding:48px 20px;color:var(--gt)}.empty-list .empty-icon{font-size:48px;margin-bottom:12px}.empty-list p{font-size:14px}.song-header{background:var(--gc);padding:12px 20px 18px;border-bottom:1px solid var(--b);position:relative}.song-header:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--tc);border-radius:0 2px 2px 0}.song-header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.sv-title{font-family:var(--font-display);font-size:20px;font-weight:400;color:var(--n);line-height:1.15;letter-spacing:-.3px}.sv-artist{font-size:12px;color:var(--gt);margin-top:4px}.sv-tags{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.fav-btn{background:none;border:none;font-size:22px;cursor:pointer;padding:4px;line-height:1;color:var(--gt);transition:color .2s,transform .15s}.fav-btn.active{color:var(--tc)}.fav-btn:active{transform:scale(1.2)}.format-tabs{display:flex;border-bottom:1px solid var(--b);background:var(--w);position:sticky;top:0;z-index:40}.ftab{flex:1;padding:11px 4px;background:none;border:none;font-size:12px;font-weight:700;color:var(--gt);border-bottom:2px solid transparent;transition:all .15s;letter-spacing:.3px;cursor:pointer;font-family:var(--font-ui)}.ftab.on{color:var(--tc);border-bottom-color:var(--tc)}.toolbar{display:flex;flex-direction:column;gap:6px;padding:8px 20px;background:var(--w);border-bottom:1px solid var(--b);position:sticky;top:41px;z-index:39}.toolbar-row{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.toolbar-group{display:flex;align-items:center;gap:4px;background:var(--gc);border-radius:8px;padding:4px 8px}.toolbar-label{font-size:10px;font-weight:700;color:var(--gt);letter-spacing:.8px;text-transform:uppercase;font-family:var(--font-ui)}.toolbar-value{font-size:14px;font-weight:700;color:var(--n);min-width:24px;text-align:center;font-family:var(--font-ui)}.toolbar-key{display:flex;flex-direction:column;align-items:center;min-width:40px;gap:1px;position:relative}.toolbar-key-btn{cursor:pointer;border-radius:6px;padding:2px 4px;transition:background .12s;-webkit-user-select:none;user-select:none}.toolbar-key-btn:hover,.toolbar-key-btn.open{background:var(--tc-p)}.toolbar-key-arrow{font-size:9px;color:var(--gt);line-height:1;margin-top:-1px}.t-enharmonic{background:none;border:1px dashed var(--b);border-radius:4px;font-size:9px;color:var(--gt);padding:0 5px;cursor:pointer;font-family:var(--font-mono);white-space:nowrap;line-height:1.5;transition:all .15s;letter-spacing:.3px}.t-enharmonic:hover,.t-enharmonic:active{border-color:var(--tc-l);color:var(--tc);background:var(--tc-p)}.t-btn{width:26px;height:26px;border-radius:6px;background:var(--w);border:none;font-size:16px;font-weight:700;color:var(--tc);display:flex;align-items:center;justify-content:center;transition:background .1s}.t-btn:active{background:var(--tc-p)}.t-save-prefs{background:var(--tc-p);border:1.5px solid var(--tc);border-radius:6px;padding:2px 8px;font-size:14px;color:var(--tc);cursor:pointer;line-height:1;height:26px;display:flex;align-items:center;transition:background .1s}.t-save-prefs:hover{background:var(--tc-l);color:#fff}.t-save-prefs:disabled{opacity:.5;cursor:wait}.lyrics-wrap{padding:24px 24px 100px;font-size:15px;line-height:1.75;overflow-x:hidden;overflow-y:auto}.stanza{margin-bottom:22px;word-break:break-word;overflow-wrap:anywhere}.stanza-label{font-size:.6em;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--tc);margin-bottom:8px;font-family:var(--font-ui);opacity:.8}.chord-line{display:block;font-family:var(--font-mono);color:var(--az);text-decoration:none;font-size:1em;white-space:pre-wrap;line-height:1.5;letter-spacing:.3px}.lyric-line{display:block;font-family:var(--font-lyrics);font-size:1.2em;white-space:pre-wrap;line-height:1.8;color:var(--n)}.melody-line{display:block;font-family:var(--font-mono);font-size:.82em;color:var(--gt);font-style:italic;white-space:pre-wrap;line-height:1.4}.section-note{margin-top:8px;padding:8px 12px;background:var(--gc);border-radius:6px;font-size:.8em;color:var(--gt);border-left:3px solid var(--tc-l)}.filters-section{padding:0 20px 12px}.filter-label{font-size:10px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--gt);margin-bottom:4px;font-family:var(--font-ui)}.filter-dropdowns{display:flex;gap:10px;flex-wrap:wrap}.filter-drop-item{display:flex;flex-direction:column;flex:1;min-width:90px}.filter-select{-webkit-appearance:auto;appearance:auto;background:var(--gc);border:1.5px solid var(--b);border-radius:8px;padding:8px 10px;font-size:13px;color:var(--n);cursor:pointer;width:100%;font-family:inherit}.lib-filters{display:flex;gap:8px;padding:14px 20px 4px;overflow-x:auto;scrollbar-width:none}.lib-filters::-webkit-scrollbar{display:none}.screen-content{padding:20px 20px 100px}.form-group{margin-bottom:18px}.form-label{display:block;font-size:10px;font-weight:700;color:var(--gt);letter-spacing:.8px;margin-bottom:6px;text-transform:uppercase;font-family:var(--font-ui)}.form-input{width:100%;padding:10px 12px;border:1.5px solid var(--b);border-radius:8px;background:var(--w);font-size:14px;color:var(--n);outline:none;transition:border-color .2s;font-family:var(--font-ui)}.form-input:focus{border-color:var(--tc-l)}.form-select{width:100%;padding:10px 12px;border:1.5px solid var(--b);border-radius:8px;background:var(--w);font-size:14px;color:var(--n);outline:none;-webkit-appearance:none;appearance:none;cursor:pointer;font-family:var(--font-ui)}.form-textarea{width:100%;padding:11px 14px;border:1.5px solid var(--b);border-radius:8px;background:var(--w);font-size:13px;color:var(--n);outline:none;resize:vertical;min-height:200px;font-family:var(--font-mono);line-height:1.6;transition:border-color .2s}.form-textarea:focus{border-color:var(--tc-l)}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-top:1px solid var(--b);border-bottom:1px solid var(--b);margin-bottom:18px}.toggle-info h3{font-size:14px;font-weight:700}.toggle-info p{font-size:12px;color:var(--gt);margin-top:2px}.toggle{position:relative;width:46px;height:26px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--b);border-radius:26px;cursor:pointer;transition:background .2s}.toggle-slider:before{content:"";position:absolute;height:20px;width:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s}.toggle input:checked+.toggle-slider{background:var(--tc)}.toggle input:checked+.toggle-slider:before{transform:translate(20px)}.btn-primary{width:100%;padding:13px;background:var(--tc);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:opacity .15s;letter-spacing:.3px;font-family:var(--font-ui)}.btn-primary:hover{opacity:.9}.btn-primary:active{opacity:.8}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{width:100%;padding:12px;background:none;color:var(--tc);border:1.5px solid var(--tc-l);border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s;margin-top:10px;font-family:var(--font-ui)}.btn-secondary:hover{background:var(--tc-p)}.preview-wrap{background:var(--gc);border-radius:10px;padding:14px;margin-top:8px;max-height:240px;overflow-y:auto;font-size:13px}.preview-chord{font-family:var(--font-mono);color:var(--az);display:block;white-space:pre;line-height:1.4;font-size:12px}.preview-lyric{display:block;line-height:1.7;font-family:var(--font-lyrics);font-size:16px}.preview-label{font-size:10px;color:var(--tc);font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;font-family:var(--font-ui)}.auth-wrap{padding:40px 24px;display:flex;flex-direction:column;min-height:100vh}.auth-logo{font-family:var(--font-display);font-size:26px;font-weight:400;color:var(--n);margin-bottom:6px}.auth-logo em{font-style:normal;color:var(--tc);display:block;font-size:9px;letter-spacing:3px;text-transform:uppercase;font-family:var(--font-ui);font-weight:700;margin-top:3px}.auth-sub{font-size:14px;color:var(--gt);margin-bottom:28px;margin-top:8px}.auth-tabs{display:flex;border-bottom:2px solid var(--b);margin-bottom:20px}.auth-tab{flex:1;padding:10px;background:none;border:none;font-size:14px;font-weight:700;color:var(--gt);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;cursor:pointer;font-family:var(--font-ui)}.auth-tab.on{color:var(--tc);border-bottom-color:var(--tc)}.auth-divider{display:flex;align-items:center;gap:10px;margin:16px 0;color:var(--gt);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--b)}.btn-google{width:100%;padding:12px;background:var(--w);border:1.5px solid var(--b);border-radius:8px;font-size:14px;font-weight:600;color:var(--n);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:border-color .15s;font-family:var(--font-ui)}.btn-google:hover{border-color:var(--tc-l)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2a231873;z-index:200;display:flex;align-items:flex-end;justify-content:center}.modal{background:var(--w);border-radius:16px 16px 0 0;padding:20px 20px 32px;width:100%;max-width:480px;max-height:85vh;overflow-y:auto}.modal-handle{width:36px;height:4px;background:var(--b);border-radius:2px;margin:0 auto 16px}.modal-title{font-family:var(--font-display);font-size:20px;font-weight:400;margin-bottom:16px}.modal-action{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--b);font-size:15px;cursor:pointer;color:var(--n)}.modal-action:last-child{border-bottom:none}.modal-action .icon{font-size:20px;width:28px;text-align:center}.modal-action.danger{color:#b84040}.toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%);background:var(--n);color:#fff;padding:10px 20px;border-radius:20px;font-size:12px;font-weight:700;z-index:300;animation:fadeInUp .25s ease,fadeOut .3s ease 1.7s forwards;pointer-events:none;white-space:nowrap;font-family:var(--font-ui)}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes fadeOut{to{opacity:0}}.admin-card{border:1.5px solid var(--b);border-radius:10px;padding:14px;margin-bottom:12px}.admin-card-title{font-family:var(--font-display);font-size:16px;font-weight:400}.admin-card-artist{font-size:12px;color:var(--gt);margin-top:2px}.admin-card-actions{display:flex;gap:8px;margin-top:12px}.btn-approve{flex:1;padding:9px;background:#3a7d44;color:#fff;border:none;border-radius:6px;font-weight:700;font-size:13px;cursor:pointer;font-family:var(--font-ui)}.btn-reject{flex:1;padding:9px;background:var(--gc);color:#b84040;border:none;border-radius:6px;font-weight:700;font-size:13px;cursor:pointer;font-family:var(--font-ui)}.profile-avatar{width:72px;height:72px;border-radius:50%;background:var(--tc-p);border:2px solid var(--tc-l);display:flex;align-items:center;justify-content:center;font-size:28px;color:var(--tc);font-weight:700;margin:0 auto 12px;font-family:var(--font-ui)}.profile-name{font-family:var(--font-display);font-size:22px;font-weight:400;text-align:center;color:var(--n)}.profile-email{font-size:13px;color:var(--gt);text-align:center;margin-top:4px}.profile-stats{display:flex;gap:1px;margin:20px 0;background:var(--b);border-radius:10px;overflow:hidden}.stat{flex:1;padding:14px 8px;text-align:center;background:var(--w)}.stat-value{font-family:var(--font-display);font-size:24px;font-weight:400;color:var(--tc)}.stat-label{font-size:10px;color:var(--gt);margin-top:2px;font-weight:700;letter-spacing:.5px;font-family:var(--font-ui)}.profile-menu{margin-top:8px}.profile-menu-item{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--b);font-size:14px;cursor:pointer;color:var(--n);background:none;border-left:none;border-right:none;border-top:none;width:100%;text-align:left;font-family:var(--font-ui)}.profile-menu-item .icon{font-size:18px;width:24px;text-align:center}.profile-menu-item.danger{color:#b84040}.profile-menu-item:last-child{border-bottom:none}.loading-wrap{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--gt);gap:10px;font-size:14px}.spinner{width:20px;height:20px;border:2px solid var(--b);border-top-color:var(--tc);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.offline-banner{background:var(--tc);color:#fff;text-align:center;padding:8px;font-size:12px;font-weight:700;font-family:var(--font-ui)}.lyric-line.clickable,.chord-line.clickable,.cp-line.clickable,.melody-line.clickable,.section-note.clickable,.stanza-label.clickable{cursor:pointer;border-radius:4px;padding:0 3px;margin:0 -3px;transition:background .12s}.lyric-line.clickable:hover,.chord-line.clickable:hover,.cp-line.clickable:hover,.melody-line.clickable:hover,.section-note.clickable:hover,.stanza-label.clickable:hover{background:var(--tc-p)}.edit-hint{text-align:center;font-size:11px;color:var(--gt);padding:8px 20px 16px;font-style:italic;opacity:.7;font-family:var(--font-ui)}.badge-edited{background:var(--az-p);color:var(--az);border:1px dashed var(--az-l)}.correction-modal .canonical-preview{background:var(--gc);border-radius:8px;padding:10px 12px;font-size:13px;color:var(--n);white-space:pre-wrap;word-break:break-word;border-left:3px solid var(--b)}.correction-modal .canonical-preview.mono,.correction-modal .form-textarea.mono,.diff-text.mono{font-family:var(--font-mono);font-size:12.5px;white-space:pre}.correction-modal .form-textarea.mono{background:var(--w)}.correction-modal .form-textarea{min-height:90px}.correction-cp-box{background:var(--gc);border-radius:8px;padding:10px 14px 6px;border-left:3px solid var(--b);overflow-x:auto}.correction-cp-box .cp-line{margin-bottom:0;font-size:14px}.correction-cp-box .cp-chord,.correction-cp-box .cp-text{font-size:1em}.correction-edit-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.correction-edit-header .btn-link{font-size:11px;padding:2px 0}.correction-actions{display:flex;flex-direction:column;gap:8px;margin-top:8px}.correction-actions .btn-link-danger{align-self:flex-start}.correction-actions .btn-secondary,.correction-actions .btn-primary{margin-top:0}.correction-hint{font-size:11px;color:var(--gt);margin-top:12px;line-height:1.5;text-align:center;font-family:var(--font-ui)}.btn-link{background:none;border:none;color:var(--tc);font-size:12px;font-weight:700;cursor:pointer;padding:4px;font-family:var(--font-ui)}.btn-link-danger{background:none;border:none;color:#b84040;font-size:12px;font-weight:700;cursor:pointer;padding:4px;font-family:var(--font-ui)}.pending-block{margin-top:16px;border-top:1px solid var(--b);padding-top:14px}.pending-toggle{width:100%;background:none;border:none;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;color:var(--gt);letter-spacing:.5px;text-transform:uppercase;padding:6px 0;cursor:pointer;font-family:var(--font-ui)}.pending-count{background:var(--tc-p);color:var(--tc);font-size:11px;padding:2px 8px;border-radius:10px;font-weight:700}.pending-list{margin-top:10px;display:flex;flex-direction:column;gap:10px}.correction-item{background:var(--w);border:1px solid var(--b);border-radius:8px;padding:12px}.correction-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:11px;color:var(--gt)}.correction-author{font-weight:700}.correction-type{background:var(--gc);padding:2px 8px;border-radius:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.diff-row{display:flex;gap:8px;padding:4px 0;font-size:13px;line-height:1.45}.diff-tag{flex:0 0 16px;text-align:center;font-weight:700;font-family:var(--font-mono)}.diff-tag.minus{color:#b84040}.diff-tag.plus{color:#3a7d44}.diff-text{flex:1;word-break:break-word;white-space:pre-wrap}.diff-row:has(.minus) .diff-text{background:#b8404012;padding:2px 6px;border-radius:4px}.diff-row:has(.plus) .diff-text{background:#3a7d4414;padding:2px 6px;border-radius:4px}.correction-comment{font-size:12px;color:var(--gt);font-style:italic;padding:6px 0;border-top:1px dashed var(--b);margin-top:6px}.correction-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.vote-group{display:flex;gap:6px}.vote-btn{background:var(--gc);border:none;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:700;color:var(--gt);cursor:pointer;transition:all .12s;font-family:var(--font-ui)}.vote-btn:hover{background:var(--tc-p);color:var(--tc)}.vote-btn.on{background:var(--az-p);color:var(--az)}.vote-btn.on.neg{background:#b840401a;color:#b84040}.admin-tabs{display:flex;border-bottom:1px solid var(--b);background:var(--w)}.admin-tab{flex:1;padding:12px 4px;background:none;border:none;font-size:12px;font-weight:700;color:var(--gt);border-bottom:2px solid transparent;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-ui)}.admin-tab.on{color:var(--tc);border-bottom-color:var(--tc)}.tab-count{background:var(--gc);color:var(--gt);font-size:10px;padding:1px 7px;border-radius:10px;font-weight:700}.admin-tab.on .tab-count{background:var(--tc-p);color:var(--tc)}.lists-section{padding:14px 20px 8px}.lists-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.section-title-inline{font-size:10px;font-weight:700;color:var(--gt);letter-spacing:1.5px;text-transform:uppercase;font-family:var(--font-ui)}.lists-empty{background:var(--gc);border-radius:10px;padding:14px;font-size:13px;color:var(--gt);text-align:center}.lists-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media (min-width: 600px){.lists-grid{grid-template-columns:repeat(3,1fr)}}.list-card{background:var(--w);border:1.5px solid var(--b);border-radius:10px;padding:12px 14px;text-align:left;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;gap:4px;min-height:66px}.list-card:hover,.list-card:active{border-color:var(--tc-l);background:var(--tc-p)}.list-card-name{font-size:13px;font-weight:700;color:var(--n);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-ui)}.list-card-count{font-size:11px;color:var(--gt);font-weight:600}.list-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:13px;color:var(--gt)}.list-songs{display:flex;flex-direction:column;gap:4px}.list-song-row{display:flex;align-items:center;gap:8px;padding:8px 6px;border-radius:8px;background:var(--w);border:1px solid transparent;transition:all .12s}.list-song-row:hover{border-color:var(--b);background:var(--gc)}.list-song-row.missing{opacity:.55}.list-song-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0;cursor:pointer}.list-song-num{flex:0 0 24px;text-align:center;font-size:13px;font-weight:700;color:var(--gt);font-family:var(--font-mono)}.drag-handle{flex:0 0 28px;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--gt);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;opacity:.6}.drag-handle:active{cursor:grabbing}.list-song-row[draggable=true]{cursor:default}.list-song-row.dragging{opacity:.4}.list-song-row.drag-over{box-shadow:inset 0 2px 0 var(--tc)}.reorder-btn{background:var(--gc);border:none;border-radius:4px;width:28px;height:22px;font-size:11px;color:var(--gt);cursor:pointer;font-weight:700;display:flex;align-items:center;justify-content:center;transition:background .12s}.reorder-btn:hover:not(:disabled){background:var(--tc-p);color:var(--tc)}.reorder-btn:disabled{opacity:.35;cursor:not-allowed}.reorder-btn.danger{width:32px;height:32px;font-size:16px;color:#b84040;background:#b8404014}.reorder-btn.danger:hover{background:#b840402e}.list-card-badge{display:inline-block;margin-left:6px;padding:1px 5px;border-radius:4px;font-size:10px;background:var(--tc-p);color:var(--tc);font-weight:700;text-transform:uppercase;letter-spacing:.02em}.list-share-panel{padding:12px 16px 14px;background:var(--gc);border-bottom:1px solid var(--b)}.list-share-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.list-share-label{font-size:13px;font-weight:600;color:var(--n);margin-bottom:4px;display:block}.list-share-divider{height:1px;background:var(--b);margin:10px 0}.toggle-switch{position:relative;display:inline-flex;align-items:center;cursor:pointer}.toggle-switch input{position:absolute;opacity:0;width:0;height:0}.toggle-thumb{display:inline-block;width:40px;height:22px;background:var(--b);border-radius:11px;transition:background .18s;position:relative}.toggle-thumb:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .18s}.toggle-switch input:checked+.toggle-thumb{background:var(--tc)}.toggle-switch input:checked+.toggle-thumb:after{transform:translate(18px)}.list-collab-list{list-style:none;margin:4px 0 8px;padding:0;display:flex;flex-direction:column;gap:4px}.list-collab-item{display:flex;align-items:center;justify-content:space-between;background:var(--w);border-radius:6px;padding:5px 8px;font-size:12px}.list-collab-uid{font-family:var(--font-mono);color:var(--gt)}.list-picker{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto;margin-bottom:12px}.list-picker-item{display:flex;align-items:center;gap:10px;background:var(--gc);border:1px solid transparent;border-radius:8px;padding:10px 12px;cursor:pointer;text-align:left;transition:all .12s;font-family:var(--font-ui)}.list-picker-item:hover:not(:disabled){background:var(--tc-p);border-color:var(--tc-l)}.list-picker-item.on{background:var(--az-p);border-color:var(--az-l)}.list-picker-item:disabled{opacity:.5;cursor:not-allowed}.list-picker-check{flex:0 0 18px;font-size:16px;font-weight:700;color:var(--az);text-align:center}.list-picker-item:not(.on) .list-picker-check{color:var(--gt)}.list-picker-name{flex:1;font-size:14px;font-weight:600;color:var(--n);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-picker-count{flex:0 0 auto;font-size:11px;color:var(--gt);font-weight:700;background:var(--w);padding:2px 8px;border-radius:10px}.list-create-row{display:flex;gap:8px;align-items:stretch;margin-top:8px;padding-top:12px;border-top:1px solid var(--b)}.list-create-row .form-input{flex:1}.key-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:149}.key-picker-popup{position:absolute;top:calc(100% + 6px);left:0;z-index:150;background:var(--w);border:1.5px solid var(--b);border-radius:12px;padding:10px;box-shadow:0 6px 24px #2a23182e;min-width:210px}.key-picker-halfs{display:flex;gap:6px;margin-bottom:10px}.key-picker-half-btn{flex:1;padding:7px 4px;border-radius:7px;border:1.5px solid var(--b);background:var(--gc);font-size:11px;font-weight:700;color:var(--n);cursor:pointer;font-family:var(--font-ui);transition:all .12s}.key-picker-half-btn:hover{border-color:var(--tc-l);background:var(--tc-p);color:var(--tc)}.key-picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:10px}.key-picker-btn{padding:9px 2px;border-radius:7px;border:1.5px solid var(--b);background:var(--w);font-size:13px;font-weight:700;font-family:var(--font-mono);color:var(--n);cursor:pointer;text-align:center;transition:all .12s}.key-picker-btn:hover{border-color:var(--tc-l);background:var(--tc-p)}.key-picker-btn.on{background:var(--tc);color:#fff;border-color:var(--tc)}.key-picker-reset{width:100%;padding:8px;border-radius:7px;border:1.5px solid var(--b);background:var(--gc);font-size:11px;font-weight:700;color:var(--gt);cursor:pointer;font-family:var(--font-ui);transition:all .12s}.key-picker-reset:hover{border-color:var(--az-l);color:var(--az);background:var(--az-p)}.landing{display:flex;flex-direction:column;padding:0 24px 120px;min-height:100vh}.landing-hero{text-align:center;padding:60px 0 36px}.landing-title{font-family:var(--font-display);font-size:30px;color:var(--tc);line-height:1.15;margin-bottom:4px}.landing-subtitle{font-family:var(--font-display);font-style:italic;font-size:17px;color:var(--az);margin-bottom:18px}.landing-desc{font-size:13px;color:var(--gt);line-height:1.7;max-width:320px;margin:0 auto}.landing-features{display:flex;flex-direction:column;gap:12px;margin-bottom:36px}.landing-feature{display:flex;align-items:flex-start;gap:14px;background:var(--gc);border-radius:12px;padding:14px 16px}.lf-icon{font-size:22px;flex:0 0 auto;margin-top:1px}.landing-feature strong{display:block;font-size:13px;font-weight:600;color:var(--n);margin-bottom:2px}.landing-feature span{font-size:12px;color:var(--gt);line-height:1.5}.landing-actions{display:flex;flex-direction:column;align-items:center;gap:14px}.landing-cta{font-size:15px;padding:14px 36px;width:100%}.tutorial-modal{text-align:center}.tutorial-icon{font-size:46px;line-height:1;margin:8px 0 16px}.tutorial-step-title{font-family:var(--font-display);font-size:19px;color:var(--tc);margin-bottom:12px}.tutorial-step-body{font-size:13px;color:var(--gt);line-height:1.7;margin-bottom:28px;min-height:80px}.tutorial-dots{display:flex;justify-content:center;gap:8px;margin-bottom:24px}.tutorial-dot{width:8px;height:8px;border-radius:50%;background:var(--b);cursor:pointer;transition:background .2s;flex-shrink:0}.tutorial-dot.on{background:var(--tc)}.tutorial-nav{display:flex;gap:10px}.tutorial-nav .btn-secondary,.tutorial-nav .btn-primary{flex:1}.cp-line{display:flex;flex-wrap:wrap;align-items:flex-end;gap:0 .45em;line-height:1;margin-bottom:.55em}.cp-line.chord-only{gap:0 .9em;align-items:center}.cp-line.chord-only .cp-text{display:none}.cp-pair{display:flex;flex-direction:column;min-width:max-content}.cp-group{display:inline-flex;align-items:flex-end}.cp-chord{font-family:var(--font-mono);font-size:calc(1.2em * var(--chord-scale, 1));color:var(--az);font-weight:500;line-height:1.5;white-space:pre;min-height:1.2em;text-decoration:none}.cp-text{font-family:var(--font-lyrics);font-size:1.2em;color:var(--n);white-space:pre-wrap;line-height:1.5;min-height:1.5em}.cp-chord-inline{font-family:var(--font-mono);font-size:calc(1em * var(--chord-scale, 1));color:var(--tc);font-weight:700;font-style:normal;background:var(--tc-p);border-radius:4px;padding:0 4px;margin:0 3px 0 2px;vertical-align:baseline;display:inline-block;line-height:1.3}.fork-banner{font-size:12px;color:var(--gt);background:var(--gc);padding:7px 16px;border-bottom:1px solid var(--b);cursor:pointer;-webkit-user-select:none;user-select:none}.fork-banner-link{color:var(--tc);font-weight:700}.fork-banner-action{cursor:default}.fork-btn{background:none;border:none;color:var(--tc);font-size:12px;font-weight:700;cursor:pointer;padding:0}.fork-btn:disabled{opacity:.5;cursor:default}.roman-disclaimer{font-size:10px;color:var(--gt);font-style:italic;align-self:center}.chord-tok{cursor:pointer;border-radius:3px;transition:background .12s}.chord-tok:hover{background:var(--tc-p);color:var(--tc)}.inline-chords-toggle{cursor:pointer}.inline-chords-pill{display:inline-block;font-size:11px;padding:3px 10px;border-radius:20px;border:1.5px solid var(--b);color:var(--gt);background:var(--gc);transition:background .15s,color .15s;-webkit-user-select:none;user-select:none;cursor:pointer}.inline-chords-pill.on{background:var(--tc);color:#fff;border-color:var(--tc)}.cartelera-screen{display:flex;flex-direction:column;min-height:100vh}.cork-board{flex:1;background-color:#c19a6b;background-image:radial-gradient(ellipse 3px 3px at 20% 40%,rgba(0,0,0,.18) 0%,transparent 100%),radial-gradient(ellipse 2px 4px at 55% 15%,rgba(0,0,0,.12) 0%,transparent 100%),radial-gradient(ellipse 4px 2px at 80% 65%,rgba(0,0,0,.15) 0%,transparent 100%),radial-gradient(ellipse 3px 3px at 35% 80%,rgba(255,255,255,.06) 0%,transparent 100%),radial-gradient(ellipse 2px 3px at 70% 35%,rgba(0,0,0,.1) 0%,transparent 100%);background-size:9px 9px,13px 11px,7px 15px,11px 8px,5px 12px;padding:24px 14px 100px;min-height:400px}.cork-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:#ffffffbf;font-family:var(--font-ui);font-size:15px;text-align:center}.cork-grid{columns:2;column-gap:14px}@media (max-width: 340px){.cork-grid{columns:1}}@media (min-width: 600px){.cork-grid{columns:3;column-gap:18px}}.post-card{position:relative;display:inline-block;width:100%;break-inside:avoid;margin-bottom:18px;padding:20px 13px 12px;border-radius:2px;box-shadow:2px 3px 8px #0000004d,0 1px 2px #00000026;transition:transform .15s ease,box-shadow .15s ease;cursor:default}.post-card:hover{box-shadow:3px 6px 18px #00000059,0 2px 4px #0000002e;z-index:2}.post-card--featured{transform:rotate(0)!important;box-shadow:0 6px 24px #0006,0 0 0 2px #ffffff80}.post-card--yellow{background:#fffde7}.post-card--green{background:#e8f5e9}.post-card--blue{background:#e3f2fd}.post-card--pink{background:#fce4ec}.post-pin{position:absolute;top:-9px;left:50%;transform:translate(-50%);width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 38% 35%,#ff8a80,#c62828);box-shadow:0 2px 5px #00000073,inset 0 1px 1px #ffffff4d;z-index:3}.post-pin:after{content:"";position:absolute;top:12px;left:50%;transform:translate(-50%);width:6px;height:6px;border-radius:50%;background:#0000001f;filter:blur(2px)}.post-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.post-type-badge{font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5a4a3a;opacity:.7}.post-feature-btn{background:none;border:none;font-size:13px;padding:0;opacity:.4;transition:opacity .15s;line-height:1}.post-feature-btn:hover,.post-feature-btn.active{opacity:1}.post-content{font-family:var(--font-lyrics);font-size:14px;line-height:1.55;color:#2a1f10;margin-bottom:8px;word-break:break-word;white-space:pre-wrap}.post-song-link{display:block;width:100%;text-align:left;background:#0000000f;border:none;border-radius:4px;padding:5px 8px;font-size:11px;font-family:var(--font-ui);color:#3d5c3a;font-weight:600;margin-bottom:6px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.post-song-link:hover{background:#0000001a}.post-version-link{display:inline-block;font-family:var(--font-ui);font-size:11px;font-weight:700;color:#1a6b3c;margin-bottom:6px;padding:3px 7px;background:#1a6b3c1a;border-radius:4px}.post-version-link:hover{background:#1a6b3c2e}.post-gig-info{display:flex;flex-direction:column;gap:2px;font-size:11px;font-family:var(--font-ui);color:#5a3050;margin-bottom:6px;font-weight:500}.post-footer{display:flex;align-items:flex-end;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,0,0,.08);gap:6px}.post-meta{display:flex;flex-direction:column;gap:1px;min-width:0}.post-author{font-family:var(--font-ui);font-size:10px;font-weight:700;color:#5a4a3a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.post-time{font-family:var(--font-ui);font-size:10px;color:#5a4a3aa6}.post-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.post-like-btn{background:none;border:none;font-size:13px;padding:2px 4px;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:2px;font-family:var(--font-ui);color:#5a4a3a;line-height:1;transition:background .12s}.post-like-btn:hover:not(:disabled){background:#00000012}.post-like-btn:disabled{cursor:default;opacity:.5}.post-like-btn.liked{color:#c62828}.post-delete-btn{background:none;border:none;font-size:13px;padding:2px 4px;border-radius:4px;cursor:pointer;opacity:.35;transition:opacity .15s;line-height:1}.post-delete-btn:hover{opacity:.8}.cork-fab{position:fixed;bottom:80px;right:calc(50% - 230px);width:52px;height:52px;border-radius:50%;background:var(--tc);color:#fff;font-size:28px;font-weight:300;border:none;box-shadow:0 4px 16px #0000004d;display:flex;align-items:center;justify-content:center;z-index:50;transition:transform .15s,box-shadow .15s;line-height:1}.cork-fab:hover{transform:scale(1.07);box-shadow:0 6px 22px #00000059}@media (max-width: 480px){.cork-fab{right:18px}}.new-post-modal{max-height:90vh;overflow-y:auto}.post-type-selector{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.post-type-btn{flex:1;min-width:0;padding:7px 6px;border:2px solid transparent;border-radius:8px;font-family:var(--font-ui);font-size:11px;font-weight:600;cursor:pointer;transition:border-color .12s,background .12s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.post-type-btn--yellow{background:#fffde7;color:#5a4a00}.post-type-btn--green{background:#e8f5e9;color:#1b5e20}.post-type-btn--blue{background:#e3f2fd;color:#0d47a1}.post-type-btn--pink{background:#fce4ec;color:#880e4f}.post-type-btn.active{border-color:currentColor}.song-search-wrap{position:relative}.song-search-results{position:absolute;top:calc(100% + 2px);left:0;right:0;background:var(--w);border:1px solid var(--b);border-radius:8px;box-shadow:var(--shadow);z-index:100;max-height:200px;overflow-y:auto}.song-search-item{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;background:none;border:none;padding:9px 12px;cursor:pointer;border-bottom:1px solid var(--b);font-family:var(--font-ui)}.song-search-item:last-child{border-bottom:none}.song-search-item:hover{background:var(--gc)}.song-search-title{font-size:13px;font-weight:600;color:var(--n)}.song-search-artist{font-size:11px;color:var(--gt)}.song-selected{display:flex;align-items:center;justify-content:space-between;background:var(--gc);border-radius:8px;padding:8px 12px;font-size:13px;font-family:var(--font-ui);color:var(--n);gap:8px}.btn-sm{padding:6px 14px;font-size:12px}.score-view{padding:12px 12px 24px}.score-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:var(--gc);border:1px solid var(--b);border-radius:12px;padding:10px 14px;margin-bottom:12px;font-family:var(--font-ui)}.score-toolbar label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--gt)}.score-toolbar select{font-family:var(--font-ui);font-size:13px;padding:6px 8px;border-radius:8px;border:1.5px solid var(--b);background:var(--w);color:var(--n);cursor:pointer}.score-reset{font-family:var(--font-ui);font-size:12px;font-weight:600;padding:6px 12px;border-radius:8px;border:1.5px solid var(--b);background:var(--w);color:var(--tc);cursor:pointer}.score-reset:disabled{opacity:.35;cursor:default}.score-scale-group{display:flex;align-items:center;gap:4px;margin-left:auto}.score-scale-label{font-family:var(--font-ui);font-size:12px;font-weight:600;min-width:34px;text-align:center;color:var(--gt)}.score-panel{background:#fff;border:1px solid var(--b);border-radius:12px;padding:6px;min-height:200px}.score-panel svg{max-width:100%;height:auto;display:block;margin:0 auto}.score-status{display:flex;align-items:center;justify-content:center;gap:10px;padding:48px 0;color:var(--gt);font-size:14px}.score-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}.cifrado-staff{font-family:var(--font-display);border:2px solid var(--n);border-radius:6px;overflow:hidden;margin:4px 0 24px;max-width:660px}.cifrado-row{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--b);min-height:72px}.cifrado-row.last-row{border-bottom:none}.cifrado-section-label{font-family:var(--font-mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--tc);padding:6px 8px 3px;border-left:3px solid var(--tc);margin-left:1px}.cifrado-bar{position:relative;display:flex;align-items:flex-end;flex-wrap:wrap;gap:0 6px;padding:8px 0 10px;border-right:1.5px solid var(--n);overflow:hidden}.cifrado-bar:last-child{border-right:none}.cifrado-bar.bar-empty{background:transparent;border-right:none}.cifrado-bar.bar-rep-start{box-shadow:inset 5px 0 0 var(--n)}.cifrado-bar.bar-rep-start:after{content:"";position:absolute;left:6px;top:calc(50% - 6px);width:4px;height:4px;border-radius:50%;background:var(--n);box-shadow:0 10px 0 var(--n);pointer-events:none}.cifrado-bar.bar-rep-start .cifrado-chord:first-child{padding-left:22px}.cifrado-bar.bar-timesig .cifrado-chord:first-child{padding-left:26px}.cifrado-bar.bar-timesig.bar-rep-start .cifrado-chord:first-child{padding-left:46px}.bar-timesig-nums{position:absolute;left:2px;top:6px;display:flex;flex-direction:column;align-items:center;pointer-events:none;line-height:1;min-width:18px}.cifrado-bar.bar-timesig.bar-rep-start .bar-timesig-nums{left:16px}.bar-timesig-nums span{font-family:var(--font-display);font-size:13px;font-weight:800;color:var(--n);display:block;text-align:center}.bar-timesig-nums span:first-child{border-bottom:1px solid var(--n);padding-bottom:1px;margin-bottom:1px}.cifrado-bar.bar-rep-end{box-shadow:inset -5px 0 0 var(--n)}.cifrado-bar.bar-rep-end:after{content:"";position:absolute;right:8px;top:calc(50% - 6px);width:4px;height:4px;border-radius:50%;background:var(--n);box-shadow:0 10px 0 var(--n);pointer-events:none}.cifrado-bar.bar-volta{border-top:2px solid var(--n)}.cifrado-bar.bar-volta-first{box-shadow:inset 2px 0 0 var(--n)}.cifrado-bar.bar-volta-first.bar-rep-start{box-shadow:inset 5px 0 0 var(--n)}.cifrado-bar.bar-volta-first:before{content:attr(data-volta-label);position:absolute;top:1px;left:5px;font-size:10px;font-weight:800;color:var(--n)}.cifrado-bar.bar-volta-1.bar-volta-first:before{content:"1."}.cifrado-bar.bar-volta-2.bar-volta-first:before{content:"2."}.cifrado-row.last-row .cifrado-bar:last-child{border-right:4px double var(--n)}.cifrado-chord{flex:1;display:inline-flex;align-items:flex-end;line-height:1;white-space:nowrap;padding-left:6px;min-width:0}.chord-root{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--n);line-height:1}.chord-suffix{font-family:var(--font-display);font-size:12px;font-weight:700;color:var(--n);line-height:1;margin-bottom:3px}@media (max-width: 480px){.chord-root{font-size:15px}.chord-suffix{font-size:9px;margin-bottom:2px}.cifrado-chord{padding-left:3px;gap:0}.cifrado-bar{gap:0 2px;padding:5px 0 7px}.cifrado-row{min-height:50px}}.cifrado-staff .cifrado-chord{align-items:flex-end;gap:0;padding-left:3px}.cifrado-staff .cifrado-chord--beat{flex:none;padding-left:2px}.cifrado-staff .chord-root{font-family:var(--font-chord);font-size:26px;font-weight:500;line-height:1}.cifrado-staff .chord-acc{font-family:var(--font-chord);font-size:.48em;font-weight:700;vertical-align:super;line-height:0}.cifrado-staff .chord-suffix{font-family:var(--font-chord);font-size:13px;font-weight:400;margin-bottom:2px}.cifrado-staff .chord-bass{font-size:.85em}.cifrado-staff .chord-beat{font-family:var(--font-chord);font-size:10px;font-weight:400;color:var(--gt);margin-bottom:3px}@media (max-width: 480px){.cifrado-staff .chord-root{font-size:18px}.cifrado-staff .chord-suffix{font-size:10px;margin-bottom:1px}}.ces-sheet{padding-top:4px}.ces-sheet.ce-panel-open,.ces-sheet.ce-panel-compact{padding-bottom:80px}.ces-topbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 0 10px;border-bottom:1px solid var(--b);margin-bottom:10px}.ces-topbar-left{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ces-topbar-right{display:flex;gap:8px;flex-shrink:0;align-items:center}.ces-key-btn{background:var(--gc);border:1.5px solid var(--b);border-radius:7px;padding:4px 10px;font-size:13px;font-weight:700;color:var(--n);cursor:pointer;white-space:nowrap;min-width:42px;transition:border-color .12s,background .12s}.ces-key-btn:hover,.ces-key-btn.open{border-color:var(--tc);background:var(--tc-p);color:var(--tc)}.ces-key-picker{position:absolute;right:0;top:calc(100% + 6px);background:var(--w);border:1.5px solid var(--b);border-radius:12px;padding:12px;z-index:500;box-shadow:0 8px 24px #0000002e;min-width:240px;text-align:center}.ces-key-group-label{font-size:11px;font-weight:700;color:var(--gt);text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px}.ces-key-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-bottom:10px}.ces-key-opt{background:var(--gc);border:1.5px solid transparent;border-radius:6px;padding:5px 2px;font-size:12px;font-weight:700;color:var(--n);cursor:pointer;transition:background .1s,border-color .1s}.ces-key-opt:hover{background:var(--tc-p);border-color:var(--tc);color:var(--tc)}.ces-key-opt.selected{background:var(--tc);color:#fff;border-color:var(--tc)}.ce-undoredo-btn{background:none;border:1.5px solid var(--b);border-radius:6px;padding:3px 9px;font-size:16px;line-height:1;cursor:pointer;color:var(--n);transition:opacity .15s}.ce-undoredo-btn:disabled{opacity:.3;cursor:default}.ce-undoredo-btn:not(:disabled):hover{background:var(--gc)}.sv-text-edit-wrap{padding:0 12px 120px}.sv-text-editor{width:100%;min-height:60vh;font-family:Courier New,Courier,monospace;font-size:13px;line-height:1.6;border:1.5px solid var(--b);border-radius:8px;padding:12px;background:var(--w);color:var(--n);resize:vertical;box-sizing:border-box;outline:none}.sv-text-editor:focus{border-color:var(--tc)}.btn-link.sv-tab-on{font-weight:700;color:var(--n);text-decoration:none}.ces-section{margin-bottom:18px}.ces-section-header{display:flex;align-items:center;gap:4px;margin-bottom:3px}.ces-label-input{font-family:var(--font-ui);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--n);background:var(--gc);border:1.5px solid var(--n);border-radius:3px;outline:none;padding:2px 6px;min-width:32px;width:auto;max-width:180px;cursor:text}.ces-label-input::placeholder{color:var(--gt);font-weight:400;text-transform:none;letter-spacing:0}.ces-label-input:focus{border-color:var(--tc)}.ces-del-section{flex-shrink:0;background:none;border:none;font-size:16px;color:var(--gt);cursor:pointer;padding:2px 4px;opacity:.4;line-height:1}.ces-del-section:hover{opacity:1;color:var(--danger, #c33)}.ces-row{display:flex;align-items:stretch;border:1.5px solid var(--n);border-top:none;min-height:64px}.ces-section>.ces-row:first-of-type{border-top:1.5px solid var(--n)}.ces-bar{flex:1;display:flex;align-items:center;flex-wrap:wrap;align-content:center;gap:2px;padding:8px;border-right:1.5px solid var(--n);cursor:pointer;position:relative;transition:background .1s;min-width:0}.ces-bar:last-of-type{border-right:none}.ces-bar:hover{background:color-mix(in srgb,var(--tc) 6%,transparent)}.ces-bar.active{background:color-mix(in srgb,var(--tc) 12%,transparent);box-shadow:inset 0 0 0 2px var(--tc)}.ces-chord{font-size:20px;font-weight:700;color:var(--n);line-height:1.1;white-space:nowrap;padding-right:5px;border-right:1px dashed var(--b)}.ces-chord:last-child{border-right:none}.ces-chord.ces-chord-clickable{cursor:pointer}.ces-chord.ces-chord-clickable:hover{background:var(--gc);border-radius:3px}.ces-chord.ces-chord-editing{background:var(--tc);color:#fff;border-radius:3px;padding:0 4px;border-right:none}.ces-bar.active .ces-chord{cursor:pointer}.ces-bar.active .ces-chord:hover:not(.ces-chord-editing){background:var(--gc);border-radius:3px}.ces-placeholder{font-size:26px;color:var(--b);line-height:1;font-weight:300}.ces-del-bar{position:absolute;top:2px;right:2px;background:none;border:none;font-size:11px;color:var(--gt);cursor:pointer;padding:1px 3px;opacity:0;transition:opacity .1s;line-height:1}.ces-bar:hover .ces-del-bar,.ces-bar.active .ces-del-bar{opacity:.5}.ces-del-bar:hover{opacity:1!important;color:var(--danger, #c33)}.ces-bar.ces-marker{min-width:28px;width:28px;flex:0 0 28px;padding:4px 2px;background:var(--gc);border:1px solid var(--b);border-radius:4px;justify-content:center;align-items:center;cursor:pointer;position:relative}.ces-bar.ces-marker.active{border-color:var(--tc);background:var(--tc-p)}.ces-marker-label{font-size:15px;font-weight:700;color:var(--n);-webkit-user-select:none;user-select:none;line-height:1}.ces-bar.ces-marker-repstart,.ces-bar.ces-marker-repend{width:32px;flex:0 0 32px}.ces-bar.ces-marker-repstart .ces-marker-label,.ces-bar.ces-marker-repend .ces-marker-label{font-size:18px}.ces-bar.ces-marker-v1,.ces-bar.ces-marker-v2{background:color-mix(in srgb,var(--tc) 6%,var(--gc))}.ces-bar.ces-marker-v1 .ces-marker-label,.ces-bar.ces-marker-v2 .ces-marker-label{font-size:12px;font-weight:800}.ces-bar.ces-marker-timesig{width:30px;flex:0 0 30px;background:color-mix(in srgb,var(--az) 8%,var(--gc))}.ces-bar.ces-marker-timesig.active{border-color:var(--az);background:var(--az-p)}.ces-timesig-label{display:flex;flex-direction:column;align-items:center;line-height:1}.ces-timesig-label span{font-size:11px;font-weight:800;display:block;text-align:center}.ces-timesig-label span:first-child{border-bottom:1px solid currentColor;padding-bottom:1px;margin-bottom:1px}.ces-bar.ces-volta{border-top:2px solid var(--n);margin-top:14px}.ces-bar.ces-volta-first{border-left:2px solid var(--n);position:relative}.ces-bar.ces-volta-first:before{position:absolute;top:-13px;left:2px;font-size:10px;font-weight:700;color:var(--n);line-height:1}.ces-bar.ces-volta-1.ces-volta-first:before{content:"1."}.ces-bar.ces-volta-2.ces-volta-first:before{content:"2."}.ce-markers-row{display:flex;gap:6px;padding:6px 12px 8px;border-top:1px solid var(--b);flex-wrap:wrap}.ce-marker-btn{background:var(--gc);border:1px solid var(--b);border-radius:6px;padding:4px 10px;font-size:14px;font-weight:700;cursor:pointer;color:var(--n);transition:background .12s,border-color .12s}.ce-marker-btn:hover{background:var(--tc-p);border-color:var(--tc);color:var(--tc)}.ce-timesig-pick{display:flex;align-items:center;gap:4px;margin-left:auto}.ce-timesig-select{background:var(--gc);border:1px solid var(--b);border-radius:6px;color:var(--n);font-size:13px;font-family:var(--font-ui);padding:3px 4px;height:28px;cursor:pointer}.ce-timesig-select:focus{outline:none;border-color:var(--az)}.ce-timesig-add-btn{background:var(--gc);border:1px solid var(--b);border-radius:6px;color:var(--az);font-size:13px;font-weight:700;cursor:pointer;padding:3px 8px;height:28px;transition:background .12s,border-color .12s}.ce-timesig-add-btn:hover{background:var(--az-p);border-color:var(--az)}.ces-row-group{display:block}.ces-row-footer{display:flex;gap:6px;padding:3px 0 4px}.ces-add-bar{font-size:11px;color:var(--gt);background:none;border:1px dashed var(--b);border-radius:4px;padding:3px 10px;cursor:pointer;transition:border-color .1s,color .1s}.ces-add-bar:hover{color:var(--tc);border-color:var(--tc)}.ces-add-row{font-size:11px;color:var(--gt);background:none;border:1px dashed var(--b);border-radius:4px;padding:3px 10px;cursor:pointer;transition:border-color .1s,color .1s}.ces-add-row:hover{border-color:var(--tc);color:var(--tc)}.ces-add-section{display:block;width:100%;background:none;border:1px dashed var(--b);border-radius:6px;font-size:12px;color:var(--gt);cursor:pointer;padding:9px;text-align:center;margin-top:8px;transition:border-color .1s,color .1s}.ces-add-section:hover{border-color:var(--tc);color:var(--tc)}.ce-panel-controls{display:flex;gap:6px;align-items:center;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.cifrado-editor.ce-panel-open{padding-bottom:320px}.ces-bar.bar-dragging{opacity:.35;pointer-events:none}.ces-bar.bar-selected{background:color-mix(in srgb,var(--tc) 14%,var(--w));outline:2px solid var(--tc);outline-offset:-2px}.ces-ghost-count{background:var(--tc);color:#fff;border-radius:10px;font-size:11px;font-weight:800;padding:1px 6px;margin-right:4px;flex-shrink:0}.ces-bar.drop-before{box-shadow:-3px 0 0 var(--tc)}.ces-bar.drop-after{box-shadow:3px 0 0 var(--tc)}.ces-bar-ghost{position:fixed;transform:translate(-50%,-50%);z-index:9999;background:var(--w);border:2px solid var(--tc);border-radius:6px;padding:6px 10px;box-shadow:0 8px 24px #00000040;display:flex;gap:6px;pointer-events:none;opacity:.9}.ces-drop-popup{position:fixed;transform:translate(-50%,-110%);z-index:9999;background:var(--w);border:1.5px solid var(--b);border-radius:12px;padding:12px 16px;box-shadow:0 8px 32px #0003;min-width:180px;text-align:center}.ces-drop-popup-chords{font-size:15px;font-weight:700;color:var(--tc);margin-bottom:10px;letter-spacing:.03em}.ces-drop-popup-btns{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}.ces-bar-input{width:6ch;min-width:5ch;font-size:18px;font-weight:700;border:none;border-bottom:2px solid var(--tc);background:transparent;color:var(--n);outline:none;font-family:inherit;padding:0 2px;flex-shrink:0}.ce-panel-drag{display:flex;justify-content:center;align-items:center;height:20px;cursor:grab;-webkit-user-select:none;user-select:none;color:var(--b);font-size:16px;border-bottom:1px solid var(--b);touch-action:none}.ce-panel-drag:active{cursor:grabbing}.ce-panel-drag-dots{letter-spacing:2px;opacity:.5}.ce-panel-corner-btns{position:absolute;top:6px;right:8px;display:flex;gap:2px;z-index:1}.ce-panel-toggle-btn,.ce-panel-close-btn{background:none;border:none;font-size:18px;line-height:1;color:var(--gt);cursor:pointer;padding:2px 5px;border-radius:4px}.ce-panel-toggle-btn:hover,.ce-panel-close-btn:hover{background:var(--gc);color:var(--n)}.ce-panel{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;border-radius:12px 12px 0 0;border:1px solid var(--b);border-bottom:none;background:var(--w);box-shadow:0 -4px 24px #2a23182e;z-index:200;overflow:hidden}@media (max-width: 768px){.ce-panel{top:env(safe-area-inset-top,0px);bottom:auto;border-radius:0 0 12px 12px;border:1px solid var(--b);border-top:none;box-shadow:0 4px 24px #2a23182e}.ces-sheet.ce-panel-open,.ces-sheet.ce-panel-compact{padding-top:calc(80px + env(safe-area-inset-top,0px));padding-bottom:0}}.ce-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px 8px;background:color-mix(in srgb,var(--tc) 8%,var(--w));border-bottom:1px solid var(--b);flex-wrap:wrap}.ce-panel-chords{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.ce-chip{display:inline-flex;align-items:center;gap:4px;background:var(--tc);color:#fff;border-radius:4px;padding:2px 6px 2px 8px;font-family:Georgia,serif;font-size:14px;font-weight:700}.ce-chip-move,.ce-chip-remove{border:none;background:transparent;color:#ffffffb3;cursor:pointer;font-size:13px;line-height:1;padding:0 1px}.ce-chip-move:hover{color:#fff}.ce-chip-move:disabled{opacity:.25;cursor:default}.ce-chip-remove{font-size:14px;padding-left:3px}.ce-chip-remove:hover{color:#ffd0d0}.cb-wrap{padding:10px 12px 12px;display:flex;flex-direction:column;gap:8px}.cb-row{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.cb-row-wrap{flex-wrap:wrap}.cb-btn{border:1px solid var(--b);background:var(--w);color:var(--n);border-radius:5px;padding:5px 11px;font-size:15px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s;line-height:1.2}.cb-btn.sm{font-size:13px;padding:4px 9px}.cb-btn:hover{border-color:var(--tc);color:var(--tc)}.cb-btn.on{background:var(--tc);border-color:var(--tc);color:#fff}.cb-btn.mod{border-style:dashed}.cb-btn.mod.on{border-style:solid}.cb-btn-symbol{border-style:dashed;color:var(--gt);margin-left:6px}.cb-section-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--gt);margin-bottom:-4px}.cb-slash{font-size:18px;font-weight:700;color:var(--gt);padding:0 2px}.cb-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:4px;border-top:1px solid var(--b);margin-top:2px}.cb-preview{font-family:Georgia,serif;font-size:22px;font-weight:700;color:var(--n);min-width:60px;letter-spacing:-.5px}.pe-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;flex-direction:column;background:#d0ccc4}.pe-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--gc);border-bottom:1px solid var(--b);flex-shrink:0;flex-wrap:wrap}.pe-bar-group{display:flex;align-items:center;gap:4px}.pe-bar-right{margin-left:auto;gap:8px}.pe-btn{height:32px;min-width:32px;padding:0 8px;border:1px solid var(--b);border-radius:6px;background:var(--w);color:var(--n);font-family:var(--font-ui);font-size:13px;cursor:pointer;transition:background .12s}.pe-btn:hover{background:var(--tc-p);border-color:var(--tc-l)}.pe-btn-bold{font-weight:700}.pe-btn-italic{font-style:italic}.pe-btn-underline{text-decoration:underline}.pe-btn-highlight{background:#fff176;border-color:#d4c000;color:#333}.pe-btn-highlight:hover{background:#fe0}.pe-btn-clear{font-size:11px;color:var(--gt)}.pe-print-btn{height:32px;padding:0 14px;border:none;border-radius:6px;background:var(--tc);color:#fff;font-family:var(--font-ui);font-size:13px;font-weight:600;cursor:pointer;transition:background .12s}.pe-print-btn:hover{background:var(--tc-l)}.pe-close-btn{width:32px;height:32px;border:1px solid var(--b);border-radius:6px;background:var(--w);color:var(--gt);font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.pe-close-btn:hover{background:var(--gc);color:var(--n)}.pe-canvas{flex:1;overflow-y:auto;padding:24px 16px}.pe-bar-sep{width:1px;height:22px;background:var(--b);margin:0 2px;flex-shrink:0}.pe-align-left,.pe-align-center{letter-spacing:-1px}.pe-align-right{letter-spacing:-1px;transform:scaleX(-1)}.pe-col-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 8px;min-width:38px;height:36px;font-size:11px;color:var(--gt)}.pe-col-btn-on{background:var(--tc-p);border-color:var(--tc);color:var(--tc)}.pe-col-icon{display:flex;gap:2px;align-items:flex-end;height:14px}.pe-col-stripe{display:block;width:6px;height:12px;background:currentColor;border-radius:1px;opacity:.6}
