: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: "DM Serif Display", serif;--font-lyrics: "Cormorant Garamond", serif;--font-ui: "Instrument Sans", sans-serif;--font-mono: "Fira Code", monospace}*{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: 900px){#root{max-width:860px;box-shadow:0 0 80px #2a23182e}.bottom-nav{max-width:860px}.lyrics-wrap{max-width:680px}}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-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:none;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-partitura{background:var(--gc);color:var(--gt)}.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)}.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);font-size:calc(.8em * var(--chord-scale, 1));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:8px;font-family:var(--font-ui)}.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;-moz-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{font-size:.72em}.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)}.reorder-controls{display:flex;flex-direction:column;gap:2px;flex:0 0 28px}.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-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 .55em;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-line .cp-join{margin-left:-.55em}.cp-line.chord-only .cp-join{margin-left:0}.cp-chord{font-family:var(--font-mono);font-size:calc(.72em * var(--chord-scale, 1));color:var(--az);font-weight:500;line-height:1.5;white-space:pre;min-width:.5ch}.cp-text{font-family:var(--font-lyrics);font-size:1.2em;color:var(--n);white-space:pre-wrap;line-height:1.5}.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}
