.instructions-editor-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:999}.instructions-editor-dialog{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;background:var(--pp-modal-bg);z-index:1000;overflow:hidden}.instructions-editor-header{flex-shrink:0;padding:1rem;border-bottom:1px solid #dee2e6;background-color:#f8f9fa;display:flex;justify-content:space-between;align-items:center}.instructions-editor-title{margin:0;font-size:1.25rem;font-weight:500}.instructions-editor-header-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.instructions-collapse-btn{line-height:1.2;padding:.2rem .5rem}.instructions-editor-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.instructions-editor-status{margin:1rem}.instructions-editor-error{color:#b00020}.instructions-editor-panes{overflow:auto;display:flex;width:100%;height:100%}.instructions-editor-separator{width:5px;background:#aaa!important;cursor:col-resize;flex-shrink:0;touch-action:none}.song-editor{flex:1;overflow:auto;padding:.5em;min-width:0}.instructions-editor{padding:.5em;flex:1;overflow:auto;min-width:0}.instructions-editor-panes.left-panel-collapsed #ies-song{display:none;width:0!important;padding:0}.instructions-editor-panes.left-panel-collapsed #ies-left{display:none}.instructions-editor-panes.right-panel-collapsed #ies-preview{display:none;width:0!important;padding:0}.instructions-editor-panes.right-panel-collapsed #ies-right{display:none}.instructions-editor-panes.middle-panel-collapsed #ies-list{display:none;width:0!important;padding:0}.instructions-editor-panes.middle-panel-collapsed #ies-left,.instructions-editor-panes.middle-panel-collapsed #ies-right{display:none}.instructions-editor-panes.left-panel-collapsed:not(.right-panel-collapsed) #ies-list,.instructions-editor-panes.left-panel-collapsed:not(.right-panel-collapsed) #ies-preview,.instructions-editor-panes.right-panel-collapsed:not(.left-panel-collapsed) #ies-song,.instructions-editor-panes.right-panel-collapsed:not(.left-panel-collapsed) #ies-list{width:50%!important}.instructions-editor-panes.left-panel-collapsed.right-panel-collapsed #ies-list{width:100%!important}.instructions-editor-panes.middle-panel-collapsed:not(.left-panel-collapsed):not(.right-panel-collapsed) #ies-song,.instructions-editor-panes.middle-panel-collapsed:not(.left-panel-collapsed):not(.right-panel-collapsed) #ies-preview{width:calc((100% - 5px)/2)!important}.instructions-editor-panes.middle-panel-collapsed:not(.left-panel-collapsed):not(.right-panel-collapsed) #ies-left{display:block}.instructions-editor-panes.middle-panel-collapsed:not(.left-panel-collapsed):not(.right-panel-collapsed) #ies-right{display:none}.instructions-editor-panes.left-panel-collapsed.middle-panel-collapsed #ies-preview,.instructions-editor-panes.right-panel-collapsed.middle-panel-collapsed #ies-song{width:100%!important}.instructions-line .button:hover{background:#ccc}.instructions-editor-footer{flex-shrink:0;padding:1rem;border-top:1px solid #dee2e6;background-color:#f8f9fa;display:flex;justify-content:space-between;align-items:center}.instructions-footer-left{display:flex;align-items:center;gap:.5rem}.instructions-footer-right{display:flex;gap:.5rem}.instructions-iconbtn{border:none;background:transparent;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.instructions-iconbtn:disabled{opacity:.45;cursor:default}.instructions-iconbtn .btnImg{width:32px;height:32px;object-fit:contain}[data-theme=dark] .instructions-editor-dialog{background:var(--pp-modal-bg);color:var(--pp-text-color)}[data-theme=dark] .instructions-editor-header{background-color:var(--pp-bg-tertiary);border-bottom-color:var(--pp-border-color)}[data-theme=dark] .instructions-editor-separator{background:var(--pp-border-color)!important}[data-theme=dark] .instructions-line{color:var(--pp-text-color)}[data-theme=dark] .instructions-editor-footer{border-top-color:var(--pp-border-color);background-color:var(--pp-bg-tertiary)}.instructions-editor-backdrop.instructions-editor--cv{background:transparent;z-index:1060}.instructions-editor-dialog.instructions-editor--cv{background:#fff;color:#111}.instructions-editor-dialog.instructions-editor--cv.dark{background:#000;color:#e9e9e9}.instructions-editor--cv .instructions-editor-header,.instructions-editor--cv .instructions-editor-footer{background:transparent;border-color:transparent;padding:.3rem .6rem}.instructions-editor--cv .instructions-editor-title{font-size:1rem}.instructions-editor--cv .instructions-collapse-btn{padding:.1rem .4rem;font-size:.9rem}.instructions-editor--cv .instructions-editor-separator{width:10px;background:#aaa!important}.instructions-editor-dialog.instructions-editor--cv.dark .instructions-editor-separator{background:#5f5f5f!important}.instructions-editor--cv .instructions-collapse-btn{border:1px solid rgba(0,0,0,.2);background:transparent;color:inherit}.instructions-editor-dialog.instructions-editor--cv.dark .instructions-collapse-btn{border-color:#ffffff40}.instructions-editor-close--glyph{width:2em;height:2em;border:1px solid rgba(0,0,0,.25);border-radius:999px;background:#ffffffd9;color:#222;font-size:1.1rem;font-weight:700;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.instructions-editor-close--glyph:disabled{opacity:.45;cursor:default}.instructions-editor-dialog.instructions-editor--cv.dark .instructions-editor-close--glyph{border-color:#ffffff40;background:#0009;color:#e9e9e9}.instructions-editor-dialog.instructions-editor--cv.dark .instructions-iconbtn .btnImg{filter:invert(1)}.instructions-editor-dialog.instructions-editor--cv.dark .instructions-editor-panes,.instructions-editor-dialog.instructions-editor--cv.dark .song-editor,.instructions-editor-dialog.instructions-editor--cv.dark .instructions-editor{scrollbar-color:#4d4d4d #1a1a1a}.instructions-editor-dialog.instructions-editor--cv.dark .instructions-editor-panes::-webkit-scrollbar,.instructions-editor-dialog.instructions-editor--cv.dark .song-editor::-webkit-scrollbar,.instructions-editor-dialog.instructions-editor--cv.dark .instructions-editor::-webkit-scrollbar{width:.7em;height:.7em}.instructions-editor-dialog.instructions-editor--cv.dark .instructions-editor-panes::-webkit-scrollbar-track,.instructions-editor-dialog.instructions-editor--cv.dark .song-editor::-webkit-scrollbar-track,.instructions-editor-dialog.instructions-editor--cv.dark .instructions-editor::-webkit-scrollbar-track{background:#1a1a1a}.instructions-editor-dialog.instructions-editor--cv.dark .instructions-editor-panes::-webkit-scrollbar-thumb,.instructions-editor-dialog.instructions-editor--cv.dark .song-editor::-webkit-scrollbar-thumb,.instructions-editor-dialog.instructions-editor--cv.dark .instructions-editor::-webkit-scrollbar-thumb{background:#4d4d4d;border-radius:4px}.pp-tutorial-host-marker{position:fixed;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none}.pp-tutorial-start-blocked{position:fixed;left:50%;bottom:24px;z-index:32000;width:min(520px,calc(100vw - 24px));padding:11px 15px;border:1px solid rgba(129,184,224,.78);border-radius:8px;color:#fff;background:#17344c;box-shadow:0 8px 28px #00000075;text-align:center;transform:translate(-50%);pointer-events:none}.pp-tutorial-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30000;overflow:hidden;font-family:Arial,Helvetica,sans-serif}.pp-tutorial-blocker{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:#050a14c2;pointer-events:auto}.pp-tutorial-layer.has-target .pp-tutorial-blocker{background:transparent}.pp-tutorial-spotlight{position:fixed;z-index:1;border:2px solid rgba(121,200,255,.98);border-radius:9px;box-shadow:0 0 0 9999px #050a14c2,0 0 0 4px #79c8ff3d,0 0 24px #79c8ffb3;pointer-events:none;transition:left .15s ease,top .15s ease,width .15s ease,height .15s ease}.pp-tutorial-wizard{position:fixed;z-index:2;width:min(370px,calc(100vw - 24px));max-height:min(520px,calc(100vh - 24px));overflow:auto;padding:18px 18px 15px;border:1px solid rgba(129,184,224,.7);border-radius:12px;color:#edf7ff;background:linear-gradient(155deg,#17344c,#0d2030 72%);box-shadow:0 16px 48px #0000007a}.pp-tutorial-resume,.pp-tutorial-waiting{left:50%;top:50%;transform:translate(-50%,-50%)}.pp-tutorial-wizard h2{margin:3px 82px 9px 0;font-size:1.24rem;line-height:1.25;color:#fff}.pp-tutorial-wizard p{margin:0;font-size:.96rem;line-height:1.48;color:#e2edf5}.pp-tutorial-layer-label{color:#8fd3ff;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.pp-tutorial-exit{position:absolute;right:9px;top:7px;display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 8px;border:0;border-radius:7px;color:#e9f6ff;background:transparent;font-size:.82rem;font-weight:600;line-height:1}.pp-tutorial-exit span:last-child{font-size:1.25rem;font-weight:400}.pp-tutorial-exit:hover,.pp-tutorial-exit:focus-visible{background:#ffffff1f;outline:2px solid #8fd3ff}.pp-tutorial-progress{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:15px 0 2px}.pp-tutorial-command-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.pp-tutorial-command{color:#eaf7ff;background:#245879;border-color:#78c9f5}.pp-tutorial-command:hover,.pp-tutorial-command:focus-visible{background:#32749d;outline:2px solid #fff;outline-offset:2px}.pp-tutorial-dot{width:7px;height:7px;border-radius:50%;background:#d2e9f854}.pp-tutorial-dot.active{background:#69c5ff;box-shadow:0 0 0 3px #69c5ff2e}.pp-tutorial-actions{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:16px}.pp-tutorial-actions-left{display:flex;flex-wrap:wrap;gap:8px}.pp-tutorial-branch-actions{display:grid;gap:8px;margin-top:9px}.pp-tutorial-branch{width:100%}.pp-tutorial-resume-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.pp-tutorial-resume-actions>.pp-tutorial-button{width:100%}.pp-tutorial-resume-from-focus{grid-column:1 / -1}.pp-tutorial-button{min-height:36px;padding:7px 13px;border:1px solid transparent;border-radius:7px;font-weight:600;line-height:1.2}.pp-tutorial-primary{color:#082035;background:#76cbff;border-color:#9bd9ff}.pp-tutorial-primary:hover,.pp-tutorial-primary:focus-visible{background:#a5ddff;outline:2px solid #fff;outline-offset:2px}.pp-tutorial-secondary{color:#edf7ff;background:#ffffff14;border-color:#d3ebfa66}.pp-tutorial-secondary:hover,.pp-tutorial-secondary:focus-visible{background:#ffffff2b;outline:2px solid #8fd3ff;outline-offset:2px}@media(max-width:560px),(max-height:520px){.pp-tutorial-wizard:not(.pp-tutorial-resume){max-height:min(46vh,330px)}.pp-tutorial-wizard{padding:15px 14px 12px}.pp-tutorial-wizard h2{font-size:1.08rem}.pp-tutorial-wizard p{font-size:.9rem}}@media(prefers-reduced-motion:reduce){.pp-tutorial-spotlight{transition:none}}.sessions-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:flex;align-items:center;justify-content:center;background-color:transparent}.sessions-modal-dialog{display:flex;flex-direction:column;min-width:360px;max-width:500px;max-height:80vh;background-color:#fff;border:1px solid #dee2e6;border-radius:.5rem;box-shadow:0 4px 16px #00000040}.sessions-topbar{display:flex;justify-content:flex-end;align-items:center;padding:.4rem .6rem 0}.sessions-close{border:none;background:transparent;font-size:1.4rem;line-height:1;color:#555;cursor:pointer;padding:0 .25rem}.sessions-close:hover{color:#000}.sessions-modal-body{padding:.5rem 1rem 1rem;overflow-y:auto;flex:1}.sessions-modal-footer{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border-top:1px solid #dee2e6;background-color:#f8f9fa;border-radius:0 0 .5rem .5rem}.sessions-modal-footer .btn{min-width:100px}.sessions-modal-footer .btn-sm{min-width:auto}.session-toggle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.session-toggle-card{position:relative;display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:174px;padding:.7rem;border:1px solid #d8dee6;border-radius:8px;background:linear-gradient(180deg,#fff,#f6f8fb);color:#212529;text-align:left;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease,background-color .12s ease}.session-toggle-card:hover:not(:disabled){border-color:#7ba7df;box-shadow:0 6px 16px #1e447029;transform:translateY(-1px)}.session-toggle-card:focus-visible{outline:2px solid #0d6efd;outline-offset:2px}.session-toggle-card.is-enabled{border-color:#2f8f6b;background:linear-gradient(180deg,#f8fffb,#edf8f3);box-shadow:inset 0 0 0 1px #2f8f6b38}.session-toggle-card:disabled{opacity:.55;cursor:default}.session-toggle-image-wrap{display:flex;align-items:center;justify-content:center;position:relative;height:74px;margin-bottom:.55rem;perspective:520px}.session-toggle-image-wrap.has-qr{cursor:zoom-in}.session-toggle-flip-inner{position:relative;display:block;width:72px;height:72px;transform-style:preserve-3d;transition:transform .42s ease}.session-toggle-image-wrap.has-qr:hover .session-toggle-flip-inner,.session-toggle-image-wrap.has-qr.is-touch-revealed .session-toggle-flip-inner{transform:rotateY(180deg)}.session-toggle-flip-face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;backface-visibility:hidden}.session-toggle-flip-back{transform:rotateY(180deg)}.session-toggle-flip-back svg{display:block;width:72px;height:72px;padding:4px;background:#fff;border-radius:6px;box-shadow:0 2px 8px #00000029}.session-toggle-image{display:block;max-width:72px;max-height:72px;object-fit:contain}.session-toggle-copy{display:flex;flex-direction:column;gap:.25rem;min-width:0;padding-right:1.15rem}.session-toggle-title{font-size:.9rem;font-weight:700;line-height:1.18}.session-toggle-description{font-size:.76rem;line-height:1.25;color:#5c6672}.session-toggle-status{font-size:.72rem;font-weight:650;line-height:1.2}.session-toggle-status.is-progress{color:#52606d}.session-toggle-status.is-success{color:#24825f}.session-toggle-status.is-error{color:#b42318}.session-toggle-status.is-compact{display:block;min-height:2.4em;text-align:center}.session-toggle-card.has-error{border-color:#d92d20;background:linear-gradient(180deg,snow,#fff1f0)}.session-toggle-state{position:absolute;top:.6rem;right:.6rem;width:.72rem;height:.72rem;border-radius:999px;border:1px solid #aeb8c4;background:#e7ebf0}.session-toggle-card.is-enabled .session-toggle-state{border-color:#24825f;background:#28a36f;box-shadow:0 0 0 3px #28a36f29}.session-toggle-card.has-error .session-toggle-state{border-color:#b42318;background:#d92d20;box-shadow:0 0 0 3px #d92d2024}.sessions-qr-popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2100;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0000006b}.sessions-qr-popup{width:min(92vw,390px);max-height:min(88vh,520px);display:flex;flex-direction:column;gap:.85rem;padding:1rem;background:#fff;color:#212529;border:1px solid #dee2e6;border-radius:8px;box-shadow:0 12px 36px #00000059}.sessions-qr-popup-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.sessions-qr-popup-title{min-width:0;font-size:1rem;font-weight:700;line-height:1.2}.sessions-qr-popup-close{flex:none;border:none;background:transparent;color:#555;font-size:1.5rem;line-height:1;padding:0 .25rem;cursor:pointer}.sessions-qr-popup-close:hover{color:#000}.sessions-qr-popup-code{display:flex;align-items:center;justify-content:center}.sessions-qr-popup-code svg{display:block;width:min(260px,74vw);height:min(260px,74vw);background:#fff;border-radius:6px}.sessions-qr-popup-link-row{display:flex;align-items:stretch;gap:.5rem}.sessions-qr-popup-link{flex:1 1 auto;min-width:0;padding:.55rem .65rem;border:1px solid #dee2e6;border-radius:6px;background:#f8f9fa;color:#0d6efd;font-size:.82rem;line-height:1.3;overflow-wrap:anywhere;text-decoration:underline}.sessions-qr-popup-link:hover{color:#0a58ca}.sessions-qr-popup-copy{flex:none;width:2.5rem;border:1px solid #dee2e6;border-radius:6px;background:#fff;color:#495057;font-size:1.15rem;line-height:1;cursor:pointer}.sessions-qr-popup-copy:hover{background:#f1f3f5;color:#212529}.sessions-list-row{display:flex;align-items:flex-start;gap:.5rem}.sessions-scan{flex:none;display:flex;justify-content:center;margin:auto;background-color:transparent}.sessions-scan img{background-color:transparent;border:none;display:inline-block;width:1.75rem;height:1.75rem}.sessions-scan img{visibility:visible}.sessions-list-row .sessions-list-container{flex:1 1 auto;min-width:0}.sessions-list-container{max-height:300px;overflow-y:auto;border:1px solid #dee2e6;border-radius:.25rem}.sessions-table{margin-bottom:0}.sessions-table .session-type-icon{width:30px;text-align:center}.sessions-table .session-kind-image{display:block;width:24px;height:24px;margin:0 auto;object-fit:contain}.sessions-table .session-connect-col{width:44px;text-align:center;white-space:nowrap}.sessions-table tbody tr:hover{background-color:#f8f9fa}.sessions-clickable-row{cursor:pointer}.sessions-clickable-row:focus-visible{outline:2px solid #0d6efd;outline-offset:-2px}.sessions-row-connect{border:none;background:transparent;padding:.1rem .3rem;font-size:1.15rem;line-height:1;cursor:pointer;border-radius:.25rem}.sessions-row-connect:hover{background-color:#0d6efd26}.details-section{margin-top:.5rem;padding:.5rem;background-color:#f8f9fa;border-radius:.25rem}.sessions-addr-row{display:flex;align-items:center;gap:.5rem}.sessions-addr-label{flex:none;margin:0;font-size:.875rem}.sessions-addr-combo{position:relative;flex:1 1 auto;min-width:0}.sessions-addr-input{width:100%;padding:.25rem 1.9rem .25rem .5rem;font-size:.875rem;border:1px solid #ced4da;border-radius:.25rem;background:#fff;color:#212529}.sessions-addr-input.is-invalid{border-color:#dc3545}.sessions-addr-drop{position:absolute;right:1px;bottom:1px;top:1px;width:1.7rem;display:flex;align-items:center;justify-content:center;border:none;border-left:1px solid #ced4da;background:transparent;color:#495057;cursor:pointer;border-radius:0 .25rem .25rem 0}.sessions-addr-drop:disabled{opacity:.4;cursor:default}.sessions-addr-list{position:fixed;z-index:2000;margin:0;padding:.25rem 0;list-style:none;max-height:12rem;overflow-y:auto;background:#fff;border:1px solid #ced4da;border-radius:.25rem;box-shadow:0 6px 18px #0000002e}.sessions-addr-item{display:block;width:100%;padding:.3rem .6rem;border:none;background:transparent;color:#212529;font-size:.85rem;text-align:left;white-space:nowrap;cursor:pointer}.sessions-addr-item:hover{background:#f0f2f4}.sessions-addr-item.is-current{font-weight:600}.sessions-reset-addr-btn{flex:none;padding:.25rem .6rem;font-size:.85rem;border:1px solid #6c757d;border-radius:.25rem;background:transparent;color:#495057;cursor:pointer}[data-theme=dark] .sessions-modal-dialog{background-color:var(--pp-modal-bg);border-color:var(--pp-border-color);color:var(--pp-text-color)}[data-theme=dark] .sessions-close{color:var(--pp-text-muted)}[data-theme=dark] .sessions-close:hover{color:var(--pp-text-color)}[data-theme=dark] .sessions-modal-footer{background-color:var(--pp-bg-secondary);border-top-color:var(--pp-border-color)}[data-theme=dark] .session-toggle-card{background:linear-gradient(180deg,var(--pp-bg-secondary) 0%,var(--pp-bg-tertiary, #252a31) 100%);border-color:var(--pp-border-color);color:var(--pp-text-color)}[data-theme=dark] .session-toggle-card:hover:not(:disabled){border-color:#6fa8dc;box-shadow:0 6px 18px #00000059}[data-theme=dark] .session-toggle-card.is-enabled{border-color:#44b883;background:linear-gradient(180deg,#44b88324,#44b88314)}[data-theme=dark] .session-toggle-card.has-error{border-color:#f97066;background:linear-gradient(180deg,#d92d2033,#d92d201a)}[data-theme=dark] .sessions-qr-popup{background:var(--pp-modal-bg);color:var(--pp-text-color);border-color:var(--pp-border-color)}[data-theme=dark] .sessions-qr-popup-close{color:var(--pp-text-muted)}[data-theme=dark] .sessions-qr-popup-close:hover{color:var(--pp-text-color)}[data-theme=dark] .sessions-qr-popup-link{background:var(--pp-bg-secondary);border-color:var(--pp-border-color);color:#8ab4ff}[data-theme=dark] .sessions-qr-popup-link:hover{color:#b7d0ff}[data-theme=dark] .sessions-qr-popup-copy{background:var(--pp-bg-secondary);border-color:var(--pp-border-color);color:var(--pp-text-color)}[data-theme=dark] .sessions-qr-popup-copy:hover{background:var(--pp-bg-tertiary, rgba(255, 255, 255, .08))}[data-theme=dark] .session-toggle-description{color:var(--pp-text-muted)}[data-theme=dark] .session-toggle-state{border-color:var(--pp-border-color);background:var(--pp-bg-tertiary, #343a40)}[data-theme=dark] .sessions-list-container{background-color:var(--pp-bg-secondary);border-color:var(--pp-border-color)}[data-theme=dark] .session-kind-image{filter:invert(1)}[data-theme=dark] .details-section{background-color:var(--pp-bg-secondary)}[data-theme=dark] .sessions-addr-input,[data-theme=dark] .sessions-addr-list{background:var(--pp-input-bg, #2a2a2a);border-color:var(--pp-border-color);color:var(--pp-text-color)}[data-theme=dark] .sessions-addr-drop{border-left-color:var(--pp-border-color);color:var(--pp-text-color)}[data-theme=dark] .sessions-addr-item{color:var(--pp-text-color)}[data-theme=dark] .sessions-addr-item:hover{background:var(--pp-bg-tertiary, rgba(255, 255, 255, .08))}[data-theme=dark] .sessions-reset-addr-btn{color:var(--pp-text-color);border-color:var(--pp-border-color)}.sessions-modal-backdrop.sessions-form--cv{background:#00000080}.sessions-form--cv .sessions-modal-dialog{min-width:0;width:min(92vw,420px);max-height:86vh;background:#fff;border:none;border-radius:10px;box-shadow:0 8px 28px #00000080}.sessions-form--cv.dark .sessions-modal-dialog{background:#1d1d1d;color:var(--cv-panel-fg, #e9e9e9)}.sessions-form--cv .sessions-modal-footer{background:transparent;border-color:transparent}.sessions-form--cv .session-toggle-grid{gap:.55rem}.sessions-form--cv .session-toggle-card{align-items:center;justify-content:center;min-height:94px;padding:.65rem;border-radius:8px}.sessions-form--cv .session-toggle-image-wrap{height:72px;margin-bottom:0}.sessions-form--cv .session-toggle-image{max-width:70px;max-height:70px}.sessions-form--cv .session-toggle-flip-inner{width:70px;height:70px}.sessions-form--cv .session-toggle-flip-back svg{width:70px;height:70px}.sessions-form--cv .session-toggle-state{top:.45rem;right:.45rem;width:.8rem;height:.8rem;border-color:#6c757db3;background:#d7dde4;box-shadow:0 0 0 2px #6c757d1f}.sessions-form--cv.dark .session-toggle-card{background:#ffffff0f;border-color:#ffffff29;color:var(--cv-panel-fg, #e9e9e9)}.sessions-form--cv.dark .session-toggle-card:hover:not(:disabled){background:#ffffff1a;border-color:#7dadff8c}.sessions-form--cv.dark .session-toggle-card.is-enabled{border-color:#43c789c2;background:#43c78921}.sessions-form--cv.dark .session-toggle-card.has-error{border-color:#f97066d9;background:#d92d2029}.sessions-form--cv.dark .session-toggle-state{border-color:#ffffff57;background:#ffffff47;box-shadow:0 0 0 2px #ffffff14}.sessions-form--cv.dark .session-toggle-card.is-enabled .session-toggle-state{border-color:#75ffbcf2;background:#43c789;box-shadow:0 0 0 3px #43c7892e,0 0 12px #43c7899e}.sessions-form--cv.dark .session-toggle-description{color:#b8bec7}.sessions-form--cv.dark .session-toggle-image{filter:invert(1)}.sessions-form--cv.dark .session-toggle-flip-back svg{filter:none}.sessions-form--cv.dark .sessions-qr-popup{background:#1d1d1d;color:var(--cv-panel-fg, #e9e9e9);border-color:#ffffff29}.sessions-form--cv.dark .sessions-qr-popup-close{color:#bbb}.sessions-form--cv.dark .sessions-qr-popup-close:hover{color:#fff}.sessions-form--cv.dark .sessions-qr-popup-link{background:#ffffff0f;border-color:#ffffff29;color:#8ab4ff}.sessions-form--cv.dark .sessions-qr-popup-link:hover{color:#b7d0ff}.sessions-form--cv.dark .sessions-qr-popup-copy{background:#ffffff0f;border-color:#ffffff29;color:var(--cv-panel-fg, #e9e9e9)}.sessions-form--cv.dark .sessions-qr-popup-copy:hover{background:#ffffff1a}.sessions-form--cv.dark .sessions-close{color:#bbb}.sessions-form--cv.dark .sessions-close:hover{color:#fff}.sessions-form--cv.dark .sessions-list-container{border-color:#ffffff1f;scrollbar-color:#4d4d4d #1a1a1a}.sessions-form--cv.dark .sessions-table{color:var(--cv-panel-fg, #e9e9e9)}.sessions-form--cv.dark .session-kind-image{filter:invert(1)}.sessions-form--cv.dark .sessions-table tbody tr:hover{background-color:#ffffff0f}.sessions-form--cv.dark .sessions-row-connect:hover{background-color:#2f7bff4d}.sessions-form--cv.dark .details-section{background:#ffffff0d}.sessions-form--cv.dark .sessions-addr-input,.sessions-form--cv.dark .sessions-addr-list{border-color:#ffffff40;background:var(--cv-field-bg, #2a2a2a);color:#eee}.sessions-form--cv.dark .sessions-addr-drop{border-left-color:#ffffff40;color:#ddd}.sessions-form--cv.dark .sessions-addr-item{color:#eee}.sessions-form--cv.dark .sessions-addr-item:hover{background:#ffffff1a}.sessions-form--cv.dark .sessions-addr-list{box-shadow:0 8px 24px #0009;scrollbar-color:#4d4d4d #1a1a1a}.sessions-form--cv.dark .sessions-reset-addr-btn{border-color:#ffffff40;background:#ffffff0f;color:var(--cv-panel-fg, #e9e9e9)}@media(max-width:560px){.session-toggle-grid{grid-template-columns:1fr}.session-toggle-card{min-height:0;flex-direction:row;align-items:center;gap:.75rem}.session-toggle-image-wrap{width:58px;height:58px;margin:0;flex:none}.session-toggle-flip-inner{width:54px;height:54px}.session-toggle-image{max-width:54px;max-height:54px}.session-toggle-flip-back svg{width:54px;height:54px;padding:3px}}.pp-flip-perspective{-webkit-perspective:500vw;perspective:500vw;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;perspective-origin:50% 50%}.pp-flip-hide-scrollbar,.pp-flip-hide-scrollbar *{scrollbar-width:none}.pp-flip-hide-scrollbar::-webkit-scrollbar,.pp-flip-hide-scrollbar *::-webkit-scrollbar{display:none}.pp-flip-unclip-page{overflow:visible!important}.pp-flip-selection-guard,.pp-flip-selection-guard *{-webkit-user-select:none!important;user-select:none!important}:root{--cv-panel-bg: rgba(0, 0, 0, .92);--cv-panel-fg: #e9e9e9;--cv-panel-border: rgba(255, 255, 255, .12);--cv-accent: #ffb14e;--cv-song-bg: #ffffff;--cv-song-fg: #1a1a1a;--cv-toolbar-bg: #efefef;--cv-field-bg: #1c1c1c;--cv-field-fg: #eee;--cv-panel-solid: #1d1d1d;--cv-panel-btn-bg: rgba(255, 255, 255, .08);--cv-panel-hover: rgba(255, 255, 255, .13);--cv-panel-stripe: rgba(255, 255, 255, .095);--cv-row-border: rgba(255, 255, 255, .07);--cv-scroll-thumb: #4d4d4d;--cv-scroll-track: #1a1a1a;--cv-select-bg: #222;--cv-select-fg: #eee;--cv-checked-fg: #fff;--cv-icon-invert: invert(1);--cv-badge-invert: invert(0);--cv-selected-fg: var(--cv-accent)}.cv-startup-scan{--cv-anim-canvas: #464646;position:fixed;left:1rem;bottom:1rem;z-index:1052;display:flex;width:6rem;max-width:calc(100vw - 2rem);min-height:5rem;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.75rem .65rem .5rem;overflow:hidden;border-radius:1rem;background:#464646;box-shadow:.45rem .45rem .55rem #0009;color:#fff;font-family:sans-serif;font-size:.55rem;line-height:1.15;pointer-events:none;text-align:center;opacity:.5}.cv-startup-scan object{width:3.75rem;height:3.75rem;max-width:100%;flex:0 0 auto;background:var(--cv-anim-canvas);opacity:0;animation:fade-in 1s ease-in forwards}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.cv-startup-scan span{display:block;max-width:100%;overflow-wrap:anywhere}@media(min-aspect-ratio:1/1)and (min-width:768px){#mainView:not(.dark) #options{--cv-panel-bg: #efefef;--cv-panel-fg: #1f1f1f;--cv-panel-border: rgba(0, 0, 0, .18);--cv-field-bg: #ffffff;--cv-field-fg: #1a1a1a;--cv-panel-solid: #f4f4f4;--cv-panel-btn-bg: rgba(0, 0, 0, .06);--cv-panel-hover: rgba(0, 0, 0, .08);--cv-panel-stripe: rgba(0, 0, 0, .05);--cv-row-border: rgba(0, 0, 0, .09);--cv-scroll-thumb: #b5b5b5;--cv-scroll-track: #e2e2e2;--cv-select-bg: #ffffff;--cv-select-fg: #1a1a1a;--cv-checked-fg: #0b5fd6;--cv-icon-invert: invert(0);--cv-badge-invert: invert(1);--cv-selected-fg: #bd5806}}#mainView.dark #options{--cv-panel-bg: #111}#mainView:not(.dark) .cv-dialog,#mainView:not(.dark) #swipe-handler .chordSelector,.cv-wheel.cv-wheel-light{--cv-panel-bg: #efefef;--cv-panel-fg: #1f1f1f;--cv-panel-border: rgba(0, 0, 0, .18);--cv-field-bg: #ffffff;--cv-field-fg: #1a1a1a;--cv-panel-solid: #f4f4f4;--cv-panel-btn-bg: rgba(0, 0, 0, .06);--cv-panel-hover: rgba(0, 0, 0, .08);--cv-panel-stripe: rgba(0, 0, 0, .05);--cv-row-border: rgba(0, 0, 0, .09);--cv-scroll-thumb: #b5b5b5;--cv-scroll-track: #e2e2e2;--cv-select-bg: #ffffff;--cv-select-fg: #1a1a1a;--cv-checked-fg: #0b5fd6;--cv-icon-invert: invert(0)}html,body,#root{margin:0;height:100%}#mainView.split{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;overflow:hidden;font-family:Segoe UI,system-ui,-apple-system,sans-serif;--cv-list-row-font-size: 17px;font-size:16px}#mainView{-webkit-user-select:none;user-select:none}#mainView input,#mainView textarea,#mainView [contenteditable=true]{-webkit-user-select:text;user-select:text}.mainTable{position:fixed;left:0;top:0;width:100%;height:100%;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;transition:width .3s;background:var(--cv-song-bg);color:var(--cv-song-fg)}.cv-loading{display:flex;align-items:center;justify-content:center;height:100vh;color:#888;font-family:Segoe UI,system-ui,sans-serif}#mainToolbar{display:flex;align-items:center;justify-content:space-between;font-size:20px;height:auto;min-height:40px;flex:none;padding:0 10px;background:var(--cv-toolbar-bg);border-bottom:1px solid rgba(0,0,0,.15);-webkit-user-select:none;user-select:none}#mainToolbar .btnDiv{cursor:pointer;display:inline-flex;align-items:center}.btnImg{width:32px;height:32px;object-fit:contain;transition:opacity .14s ease,filter .14s ease}#mainToolbar .btnImg{width:2em;height:2em}#mainView img,.cv-modal-backdrop img,.cv-dialog img{-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}#capo,#transpose{position:relative;display:inline-flex;align-items:center;gap:3px}#capo{gap:2px}#capoToggle{gap:3px}#transpose,#capoToggle{touch-action:none}#capoDropdown{min-width:16px;justify-content:center}#capoDropdown.cv-disabled{opacity:.35;cursor:default}#capo .cv-capo-caret{font-size:.55em;line-height:1}#capoValue,#shiftValue{display:inline-flex;align-items:center;justify-content:center;min-width:1ch;height:calc(1em + 4px);font-size:2em;line-height:1;font-weight:600;font-variant-numeric:tabular-nums}#shiftValue .btnImg{width:1em;height:1em}#netstatus{cursor:pointer}#netstatus .cv-net-icon{display:none}#netstatus .cv-net-icon.cv-net-active{display:inline-block}@keyframes cv-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cv-spin{animation:cv-spin 1s infinite linear}#swipe-handler{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;background:var(--cv-song-bg);touch-action:none}.cv-page{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;text-align:left;background:var(--cv-song-bg);-webkit-user-select:none;user-select:none}.cv-page-current{z-index:0}.cv-page-prev,.cv-page-next{z-index:-1;visibility:hidden}.cv-page.cv-scroll{overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}#swipe-handler .cv-empty-state{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;color:#9a9a9a;pointer-events:none;padding:24px}#swipe-handler .cv-empty-title{margin:0;font-size:22px;font-weight:600}#swipe-handler .cv-empty-hint{margin:0;font-size:15px}.cv-navigation-actions{position:absolute;top:max(8px,env(safe-area-inset-top,8px));right:max(8px,env(safe-area-inset-right,8px));z-index:30;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:1;transform:translateZ(2px);transition:opacity .25s ease}.cv-navigation-actions-hidden{opacity:0;pointer-events:none}body[data-pp-tutorial-step=song-navigation] .cv-navigation-actions,body[data-pp-tutorial-step=song-add] .cv-navigation-actions{opacity:1}.cv-navigation-mode{position:relative;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(0,0,0,.18);border-radius:50%;background:#ffffffc7;box-shadow:0 4px 14px #00000029;padding:0;cursor:pointer;transition:opacity .25s ease;right:12px}.cv-navigation-mode img{width:22px;height:22px}.cv-navigation-mode-disabled{opacity:.42;cursor:default}.cv-navigation-add-current{font-size:18px;padding-left:4px!important}.cv-navigation-mode.cv-navigation-tutorial-placeholder{display:none;pointer-events:none}body[data-pp-tutorial-step=song-add] .cv-navigation-tutorial-placeholder{display:flex}#mainView.dark .cv-navigation-mode{border-color:#ffffff38;background:#0000009e;box-shadow:0 4px 16px #00000073}#mainView.dark .cv-navigation-mode img{filter:invert(1)}.editor{display:inline-block;vertical-align:top;outline:none}#swipe-handler .chordSelector{position:absolute;top:50%;left:50%;z-index:80;width:min(92%,520px);max-height:min(86vh,520px);overflow:auto;transform:translate(-50%,-50%);padding:10px;border:1px solid var(--cv-panel-border);background:var(--cv-panel-solid);color:var(--cv-panel-fg);box-shadow:0 18px 48px #00000057;text-align:left;touch-action:manipulation}#swipe-handler .chordSelector select,#swipe-handler .chordSelector input[type=text]{background:var(--cv-panel-bg);color:var(--cv-panel-fg);border:1px solid var(--cv-panel-border)}#swipe-handler .chordSelector input[type=button]{background:var(--cv-panel-btn-bg);color:var(--cv-panel-fg);border:1px solid var(--cv-panel-border)}#swipe-handler .chordSelector #musicChordBox,#swipe-handler .chordSelector #pianoChordBox,#swipe-handler .chordSelector #guitarChordBox{background:var(--cv-panel-solid)}#options.overlay{position:fixed;top:0;left:0;width:100%;height:0;overflow:hidden;z-index:100;background:var(--cv-panel-bg);color:var(--cv-panel-fg);transition:.5s}#options.overlay.open{height:100%}@media(min-aspect-ratio:1/1)and (min-width:768px){#mainView:not(.options-open) .mainTable{flex-direction:row-reverse}#mainView:not(.options-open) #mainToolbar{flex-direction:column;width:56px;height:100%;padding:8px 0;padding-bottom:max(8px,env(safe-area-inset-bottom,8px));border-bottom:none;border-left:1px solid rgba(0,0,0,.15);overflow-y:auto;overflow-x:hidden}#mainView.options-open .mainTable{width:50%}#mainView.options-open #options.overlay{left:50%;width:50%;height:100%}#mainView.options-open #mainToolbar #btnOptions{display:none}#mainView.options-open .cv-page-current.cv-scroll{overflow-y:auto;overflow-x:hidden}}.overlay-content{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;overflow-x:hidden;position:relative}.options{display:flex;flex-direction:column;flex:none}#options .btnImg.cv-color-icon{filter:none}#options .btnImg.cv-mono-icon{filter:grayscale(1)}#options .btnImg{filter:var(--cv-icon-invert)}#options .cv-leaderbtn .btnImg{opacity:.55}#options .cv-leaderbtn.cv-toolbtn-on{border-color:#6bf}#options .cv-leaderbtn.cv-toolbtn-on .btnImg{opacity:1;filter:var(--cv-icon-invert) drop-shadow(0 0 .18em #6bf) drop-shadow(0 0 .36em rgba(255,255,255,.45))}#options .cv-zoom-btn .btnImg{opacity:.7}#options .cv-zoom-btn.cv-zoom-btn-on{border-color:#6bf}#options .cv-zoom-btn.cv-zoom-btn-on .btnImg{opacity:1;filter:var(--cv-icon-invert) drop-shadow(0 0 .18em #6bf) drop-shadow(0 0 .36em rgba(255,255,255,.45))}.cv-netdisplay-wrap{display:flex;align-items:center;justify-content:center;flex:1 1 auto;padding:28px 16px}.cv-netdisplay-btn{display:inline-flex;flex-direction:column;align-items:center;gap:10px;padding:18px 26px;border:1px solid var(--cv-panel-border);border-radius:8px;background:var(--cv-panel-btn-bg);color:inherit;font:inherit;cursor:pointer}.cv-netdisplay-btn:hover{background:var(--cv-panel-hover)}.cv-netdisplay-icon{width:72px;height:72px;filter:none}.cv-following-options{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}.cv-following-stop-wrap{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:28px 16px;pointer-events:none}.cv-stop-following-btn{pointer-events:auto}.cv-stop-following-btn .cv-netdisplay-icon{filter:var(--cv-icon-invert)}.cv-list-wrap.cv-readonly-playlist-wrap{position:absolute;top:0;right:0;bottom:0;left:0;display:block;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}#list.cv-readonly-playlist{display:table;height:auto;overflow:visible}#list.cv-readonly-playlist tr{cursor:default}#list.cv-playlist.cv-readonly-playlist tbody{display:table-row-group}.cv-readonly-playlist-empty{flex:1 1 auto}.cv-options-header{display:flex;align-items:flex-start;border-bottom:1px solid var(--cv-panel-border)}.cv-more{position:relative;display:flex;align-items:center;align-self:stretch}.cv-more-btn{padding:3px}.cv-more-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:200;display:flex;flex-direction:column;padding:4px;border:1px solid var(--cv-panel-border);border-radius:8px;background:var(--cv-panel-solid);color:var(--cv-panel-fg);box-shadow:0 8px 28px #00000080}.cv-more-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:none;border-radius:6px;background:transparent;color:var(--cv-panel-fg);font-size:16px;text-align:left;cursor:pointer}.cv-more-item:hover{background:var(--cv-panel-hover)}.cv-more-item .cv-opt-icon{flex:none}.cv-options-bar{display:flex;flex-direction:column;gap:2px;padding:2px;flex:1 1 auto;min-width:0;font-size:20px}#options .cv-options-row .cv-iconbtn{font-size:inherit}#options .cv-options-row .cv-iconbtn .btnImg,#options .cv-options-row .cv-iconbtn .cv-opt-icon{width:2em;height:2em}.cv-options-row{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}.cv-options-row:first-child>:not(.cv-secdup-opt){flex:none}.cv-secdup-opt{flex:0 1 auto;min-width:0}.cv-opt{display:inline-flex;align-items:center;gap:3px;cursor:pointer;font-size:1.5em;line-height:1.1;-webkit-user-select:none;user-select:none}.cv-secdup{display:flex;flex:1 1 auto;min-width:0;flex-wrap:wrap;flex-direction:row;column-gap:.5em;row-gap:0;line-height:1.1}.cv-secdup>span{flex:none;white-space:nowrap}.cv-secdup s{text-decoration:line-through}.cv-opt input[type=checkbox]{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.cv-opt>span,.cv-opt>.cv-opt-icon{opacity:.7;transition:opacity .1s,text-shadow .1s,filter .1s}#options .cv-opt input:checked+span{opacity:1;color:var(--cv-checked-fg);text-shadow:0 0 .1em #fff,0 0 .3em #4af,0 0 .5em #4af,0 0 .7em #4af}#options .cv-opt input:checked+img{opacity:1;filter:var(--cv-icon-invert) drop-shadow(0 0 .16em #6bf)}.cv-iconbtn{display:inline-flex;align-items:center;justify-content:center;padding:3px;border:1px solid var(--cv-panel-border);border-radius:4px;background:var(--cv-panel-btn-bg);cursor:pointer;transition:border-color .14s ease,background .14s ease}#mainView:not(.cv-bordered) #options .cv-iconbtn{border-color:transparent;background:transparent;padding:0}#options .cv-iconbtn{padding:0}#mainView.cv-bordered #options .cv-opt{padding:2px 6px;border:1px solid var(--cv-panel-border);border-radius:4px;background:var(--cv-panel-btn-bg)}#mainView.cv-bordered #mainToolbar .btnDiv:not(#netstatus){padding:1px 4px;border:1px solid rgba(0,0,0,.2);border-radius:5px}#mainView.cv-bordered.dark #mainToolbar .btnDiv:not(#netstatus){border-color:#ffffff38}.cv-select{font-size:16px;padding:2px 4px;background:var(--cv-select-bg);color:var(--cv-select-fg);border:1px solid var(--cv-panel-border);border-radius:3px}.cv-options-bar .cv-select{font-size:1.4em;padding:0 4px}.cv-chordbox-wrap{position:relative}.cv-chordbox-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:200;display:grid;grid-template-columns:44px;gap:6px;padding:8px;border:1px solid var(--cv-panel-border);border-radius:8px;background:var(--cv-panel-solid);color:var(--cv-panel-fg);box-shadow:0 8px 28px #0009}.cv-chordbox-option{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:4px;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;cursor:pointer}.cv-chordbox-option:hover{background:var(--cv-panel-hover)}.cv-chordbox-option.active{border-color:#2f7bff;box-shadow:0 0 0 2px #2f7bff66}.cv-chordbox-option .btnImg,.cv-opt-icon{width:32px;height:32px}.cv-toggle-icon{width:48px;height:36px}#filterRow{display:flex;align-items:center;gap:6px;padding:6px 8px;flex:none;border-bottom:1px solid var(--cv-panel-border);font-size:calc(var(--cv-list-row-font-size) * .88)}#filterRow #filter{flex:1 1 auto;min-width:0;font-size:inherit;padding:4px 6px;background:var(--cv-field-bg);color:var(--cv-field-fg);border:1px solid var(--cv-panel-border);border-radius:4px}.cv-search-icon-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;cursor:pointer}.cv-search-icon-btn:disabled{opacity:.4;cursor:default}.cv-list-wrap{position:relative;display:flex;flex:1 1 auto;min-height:0;width:100%}#list{flex:1 1 auto;width:100%;border-collapse:collapse;overflow-y:auto;overflow-x:hidden;display:block;color:var(--cv-panel-fg);scrollbar-color:var(--cv-scroll-thumb) var(--cv-scroll-track)}#list::-webkit-scrollbar{width:.7em}#list::-webkit-scrollbar-track{background:var(--cv-scroll-track)}#list::-webkit-scrollbar-thumb{background:var(--cv-scroll-thumb);border-radius:4px}#list tr{cursor:pointer}#list tbody tr:nth-child(2n) td{background:var(--cv-panel-stripe)}#list tr:hover td{background:var(--cv-panel-hover)}#list tr.selected td{background:#ffb14e2e}#list tr.selected td{color:var(--cv-selected-fg);font-weight:600}#list tr.cv-hotkey-row td{outline:2px solid darkorange;outline-offset:-2px}.cv-hotkey-active{box-shadow:inset 0 0 0 2px #ff8c00}#list td{padding:2px 10px;border-bottom:1px solid var(--cv-row-border);font-size:var(--cv-list-row-font-size);line-height:1;white-space:nowrap;overflow:hidden}#list mark{background:var(--cv-accent);color:#000;padding:0 1px;border-radius:2px}#list tr.cv-list-status-row{cursor:default}#list tr.cv-list-status-row td{padding:12px 10px;text-align:center;color:#9a9a9a;background:transparent}#list tr.cv-list-status-row:hover td{background:transparent}.cv-list-search-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;background:#00000057;pointer-events:auto}.cv-list-search-spinner{width:min(18vw,96px);height:min(18vw,96px);min-width:58px;min-height:58px;border:8px solid currentColor;border-right-color:transparent;border-radius:50%;color:var(--cv-accent);animation:cv-spin .75s infinite linear;opacity:.92;filter:drop-shadow(0 0 12px rgba(0,0,0,.55))}#mainView.dark .mainTable{background:#000;color:#e9e9e9}#mainView.dark #swipe-handler,#mainView.dark .cv-page,#mainView.dark .editor{background:#000}.cv-page.pp-flip-lifted-dark,.cv-page.pp-flip-lifted-dark .editor{background:#000!important;color:#e9e9e9!important}.cv-page.pp-flip-lifted-dark>.editor{min-height:100%}#mainView.dark #mainToolbar{background:#111;border-color:#ffffff26}#mainView.dark #mainToolbar .btnImg{filter:invert(1)}#mainView.dark #mainToolbar #netstatus.net-online .btnImg,#mainView.dark #mainToolbar #netstatus.net-watching .btnImg,#mainView.dark #mainToolbar #netstatus.net-offline .btnImg{filter:none}#mainView.dark #capoValue,#mainView.dark #shiftValue{color:#e9e9e9}#mainView.dark #swipe-handler,#mainView.dark .cv-page{scrollbar-color:#4d4d4d #1a1a1a}#mainView.dark #swipe-handler::-webkit-scrollbar-track,#mainView.dark .cv-page::-webkit-scrollbar-track{background:#1a1a1a}#mainView.dark #swipe-handler::-webkit-scrollbar-thumb,#mainView.dark .cv-page::-webkit-scrollbar-thumb{background:#4d4d4d}.cv-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:flex;align-items:center;justify-content:center;background:#00000080}.cv-zoom-wrap{position:relative}.cv-zoom-panel{position:absolute;top:calc(100% + 4px);right:0;z-index:200;display:flex;flex-direction:column;gap:10px;min-width:210px;padding:14px;border:1px solid var(--cv-panel-border);border-radius:8px;background:var(--cv-panel-solid);color:var(--cv-panel-fg);box-shadow:0 8px 28px #0009}.cv-zoom-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.cv-zoom-toggle input[type=checkbox]{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.cv-zoom-label{font-size:15px;opacity:.6;margin:auto;transition:opacity .1s,text-shadow .1s,color .1s}.cv-zoom-toggle input:checked~.cv-zoom-label{opacity:1;color:var(--cv-checked-fg);text-decoration:line-through;text-shadow:0 0 .1em #fff,0 0 .2em #fff,0 0 .3em #05e,0 0 .4em #05e,0 0 .5em #05e,0 0 .6em #05e,0 0 .7em #05e}.cv-zoom-row{display:flex;gap:8px;justify-content:center}.cv-zoom-btn{flex:1;display:flex;align-items:center;justify-content:center;min-height:36px;padding:6px 10px;border:1px solid var(--cv-panel-border);border-radius:6px;background:transparent;color:inherit;cursor:pointer}.cv-zoom-btn.active{border-color:#2f7bff;box-shadow:0 0 0 2px #2f7bff66}.cv-zoom-cycle-btn{gap:8px}.cv-zoom-panel .cv-zoom-btn .btnImg{width:1.7em;height:1.7em}.cv-zoom-sizing-row{gap:6px}.cv-zoom-mode-btn{min-width:40px;padding-inline:6px}.cv-zoom-font-symbol{font-size:1.45em;line-height:1;font-weight:700}.cv-zoom-mode-glyph{display:inline-flex;align-items:center;justify-content:center}.cv-zoom-mode-toast{position:fixed;left:50%;bottom:max(64px,calc(env(safe-area-inset-bottom,0px) + 48px));z-index:1200;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:112px;max-width:calc(100vw - 32px);box-sizing:border-box;padding:16px 20px 12px;transform:translate(-50%);border:1px solid var(--cv-panel-border);border-radius:12px;background:var(--cv-panel-solid);color:var(--cv-panel-fg);box-shadow:0 10px 32px #00000061;pointer-events:none;animation:cv-zoom-mode-toast-in 1s ease both}.cv-zoom-mode-toast-glyph{width:64px;height:64px}.cv-zoom-mode-toast-glyph>.btnImg{width:64px;height:64px;filter:var(--cv-icon-invert)}.cv-zoom-mode-toast-glyph>.cv-zoom-font-symbol{font-size:52px}.cv-zoom-mode-toast-label{font-size:14px;font-weight:600;white-space:nowrap}@keyframes cv-zoom-mode-toast-in{0%{opacity:0;transform:translate(-50%,8px) scale(.92)}15%,75%{opacity:.7;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) scale(1)}}.cv-zoom-font-row{display:grid;grid-template-columns:minmax(120px,1fr) 42px;align-items:center;gap:8px}.cv-zoom-font-row input[type=range]{min-width:0}.cv-zoom-font-row output{text-align:right;font-variant-numeric:tabular-nums}.cv-listmode-toggle{flex:none;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;cursor:pointer}.cv-leaderlists-controls,.cv-leaderlists-fields{display:flex;align-items:stretch;gap:6px;flex:1 1 auto;min-width:0}.cv-leader-select,.cv-date-select{font-size:inherit;padding:4px 6px;background:var(--cv-select-bg);color:var(--cv-select-fg);border:1px solid var(--cv-panel-border);border-radius:4px;min-width:0}.cv-leader-select,.cv-date-select{flex:0 1 max-content;width:max-content;max-width:calc((100% - 12px) / 3)}.cv-leader-select:disabled,.cv-date-select:disabled{opacity:.5}.cv-leader-filter{flex:1 1 0;width:0;min-width:0;font-size:inherit;padding:4px 6px;background:var(--cv-select-bg);color:var(--cv-select-fg);border:1px solid var(--cv-panel-border);border-radius:4px}.cv-leader-filter:disabled{opacity:.5}.cv-leaderlists-body{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.cv-leader-date-badge{margin-left:8px;font-size:.85em;opacity:.7;white-space:nowrap}.cv-leader-replace-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;font-size:inherit;font-weight:600;line-height:1;border:1px solid var(--cv-panel-border);border-radius:4px;background:var(--cv-panel-btn-bg);cursor:pointer;color:var(--cv-panel-fg)}.cv-leader-replace-btn:disabled{opacity:.4;cursor:default}#list td.cv-song-title{width:100%}#list.cv-database td.cv-song-title{max-width:0}#list .cv-song-label{display:block;min-width:0;overflow:visible;text-overflow:ellipsis;white-space:nowrap}#list.cv-database td.cv-add-col,#list.cv-database td.cv-found-marker{width:2.3em;min-width:2.3em}#list.cv-database td.cv-play-col{width:2.1em;min-width:2.1em}#list td.cv-song-title .cv-snippet{font-style:italic;font-size:.82em;opacity:.8}#list td.cv-add-col{width:1%;padding:1px 4px 1px 10px;text-align:center}.cv-add-btn{display:inline-flex;align-items:center;justify-content:center;width:1.65em;height:1.65em;border-radius:50%;border:1px solid var(--cv-panel-border);background:var(--cv-panel-btn-bg);color:var(--cv-panel-fg);font-size:1.12em;line-height:1;cursor:pointer}.cv-add-btn.in{background:#3aa75740;border-color:#3aa757;color:#8fe6a8}#list td.cv-found-marker{width:2.5rem;padding-top:1px;padding-bottom:1px;background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;filter:var(--cv-badge-invert)}#list td.cv-play-col{width:1%;padding:1px 8px 1px 4px;text-align:center}.cv-play-btn{padding:1px 4px;border:none;background:transparent;color:var(--cv-accent);font-size:1.18em;line-height:1;cursor:pointer}.cv-navigation-mode.cv-navigation-add-current{width:34px;height:34px;padding:0;border:1px solid rgba(0,0,0,.18);background:#ffffffc7}#mainView.dark .cv-navigation-mode.cv-navigation-add-current{border-color:#ffffff38;background:#0000009e}#list.cv-playlist td{height:1.848em;padding-top:1px;padding-bottom:1px}#list.cv-playlist tr.cv-dragging{opacity:.4}#list.cv-playlist tr.cv-drag-over td{box-shadow:inset 0 2px 0 0 var(--cv-accent)}#list.cv-playlist td.cv-song-title{width:auto;min-width:0;padding-right:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#list.cv-playlist td.cv-found-marker{width:2.3em;min-width:2.3em}#list.cv-playlist .cv-pl-title-edit{width:100%;padding:2px 4px;border:1px solid var(--cv-accent);border-radius:4px;background:var(--cv-panel-bg);color:var(--cv-panel-fg);font:inherit}#list.cv-playlist td.transposeColumn,#list.cv-playlist td.capoColumn{position:relative;width:3em;min-width:3em;padding:1px 2px;text-align:right;white-space:nowrap;overflow:hidden;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}#list.cv-playlist td.transposeColumn>span,#list.cv-playlist td.capoColumn>span{position:relative;z-index:1;color:var(--cv-panel-fg);min-width:1rem;display:inline-block;font-size:1.12em;font-weight:600}#list.cv-playlist .cv-pl-select-icon{margin-left:2px;width:1.3em;height:1.3em;opacity:.9;filter:var(--cv-icon-invert)}#list.cv-playlist{table-layout:fixed}#list.cv-playlist tbody{display:table;width:100%;table-layout:fixed}#trashCan{position:absolute;left:50%;bottom:14px;transform:translate(-50%);z-index:30;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;border:1px solid var(--cv-panel-border);background:#c0392b80;box-shadow:0 4px 16px #0006;transition:background .15s,transform .15s}#trashCan.hidden{display:none}#trashCan.droptarget{background:#c0392beb;transform:translate(-50%) scale(1.12)}#trashCan img{width:30px;height:30px;filter:var(--cv-icon-invert);opacity:.95;pointer-events:none}.cv-playlist-empty{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;color:#9a9a9a;padding:24px}.cv-playlist-empty-title{margin:0;font-size:18px;font-weight:600}.cv-playlist-empty-hint{margin:0;font-size:14px}.cv-more-item:disabled{opacity:.4;cursor:default}.cv-more-item:disabled:hover{background:transparent}.cv-dialog{z-index:1051;display:flex;flex-direction:column;gap:12px;width:min(92vw,360px);max-height:86vh;padding:18px;border-radius:10px;background:var(--cv-panel-solid);color:var(--cv-panel-fg);box-shadow:0 8px 28px #00000080}.cv-dialog .btnImg{filter:var(--cv-icon-invert)}.cv-dialog-title{margin:0;font-size:20px;font-weight:600}.cv-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.cv-dialog-x{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:-4px -4px -4px 0;padding:0;border:none;border-radius:6px;background:transparent;color:var(--cv-panel-fg);font-size:26px;line-height:1;cursor:pointer}.cv-dialog-x:hover{background:#7f7f7f40}.cv-iconbtn:disabled{opacity:.5;cursor:default}.cv-login-dialog{position:relative;width:min(92vw,360px);gap:10px}.cv-login-row{display:flex;align-items:center;gap:8px}.cv-login-row input[type=text],.cv-login-row input[type=password]{flex:1 1 auto;min-width:0;height:40px;padding:6px 10px;border:1px solid var(--cv-panel-border);border-radius:6px;background:var(--cv-field-bg);color:var(--cv-field-fg);font-size:16px}.cv-login-icon{flex:0 0 42px;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:none;background:transparent;cursor:pointer}.cv-login-icon .btnImg{width:32px;height:32px}.cv-store-session{flex-basis:42px}.cv-store-session input{display:none}.cv-store-session .btnImg{opacity:.45}.cv-store-session-on .btnImg{opacity:1;filter:var(--cv-icon-invert) drop-shadow(0 0 .18em #6bf) drop-shadow(0 0 .36em rgba(255,255,255,.45))}.cv-auth-result-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center;border-radius:inherit;background:#3333;pointer-events:none}.cv-auth-result-box{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:14px;background:#2d2d2d;box-shadow:0 8px 28px #00000080}.cv-auth-result-anim{display:block;width:min(48vmin,150px);height:min(48vmin,150px);--cv-anim-canvas: #d2d2d2;background:#d2d2d2;opacity:0;transition:opacity .2s ease;pointer-events:none;filter:invert(1)}.cv-auth-result-anim-ready{opacity:1}#mainView:not(.dark) .cv-auth-result-box{background:#f3f3f3;box-shadow:none}#mainView:not(.dark) .cv-auth-result-anim{--cv-anim-canvas: #f3f3f3;background:#f3f3f3;filter:invert(0)}.cv-auth-result-fallback{width:100%;height:100%;background:transparent;filter:none}.cv-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.cv-login-dialog .cv-dialog-actions{width:100%;justify-content:space-evenly;gap:0;padding-top:4px;margin-top:0}.cv-dialog-ok,.cv-dialog-cancel{min-height:40px;padding:0 16px;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer}.cv-dialog-ok{border:none;background:#2f7bff;color:#fff}.cv-dialog-ok:disabled{opacity:.5;cursor:default}.cv-dialog-cancel{border:1px solid var(--cv-panel-border);background:transparent;color:var(--cv-panel-fg)}.cv-login-dialog .cv-confirm-btn:disabled{opacity:.5;cursor:default}.cv-about-dialog{width:min(92vw,460px)}.cv-confirm-dialog{position:relative;width:min(86vw,320px);align-items:center}.cv-confirm-body{display:flex;justify-content:center;padding:4px 0}.cv-confirm-anim{display:block;width:min(56vmin,200px);height:min(56vmin,200px);max-height:48vh;--cv-anim-canvas: #1d1d1d;background:#1d1d1d;opacity:0;transition:opacity .2s ease;pointer-events:none}.cv-confirm-anim-ready{opacity:1}#mainView:not(.dark) .cv-confirm-anim{overflow:hidden;--cv-anim-canvas: #f3f3f3;background:#f3f3f3}.cv-confirm-anim-fallback{width:100%;height:100%;background:transparent}.cv-confirm-dialog .cv-dialog-actions{width:100%;justify-content:center;gap:0}.cv-confirm-btn{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;padding:0;border-radius:50%;border:1px solid var(--cv-panel-border);background:var(--cv-panel-btn-bg);cursor:pointer}.cv-confirm-btn .btnImg{width:100%;height:100%}.cv-confirm-ok{width:64px;height:64px}.cv-confirm-cancel{position:absolute;top:8px;right:8px;width:34px;height:34px}.cv-login-ok{border-color:#2f7bff}.cv-login-cancel{border-color:#c0392b}.cv-about-body{overflow-y:auto;font-size:14px;line-height:1.45;scrollbar-color:var(--cv-scroll-thumb) var(--cv-scroll-track)}.cv-about-body::-webkit-scrollbar{width:.7em}.cv-about-body::-webkit-scrollbar-track{background:var(--cv-scroll-track)}.cv-about-body::-webkit-scrollbar-thumb{background:var(--cv-scroll-thumb);border-radius:4px}.cv-about-body p{margin:0 0 8px}.cv-about-version{font-weight:600}.cv-about-tutorial-actions{justify-content:flex-start;margin:4px 0 12px}.cv-about-tutorial-button{min-height:38px;padding:0 14px;border:1px solid var(--cv-accent);border-radius:6px;color:inherit;background:#2f7bff24;font-weight:600;cursor:pointer}.cv-about-tutorial-button:hover,.cv-about-tutorial-button:focus-visible{background:#2f7bff3d}.cv-about-section-title{font-weight:600;margin-top:12px}.cv-about-section-name{font-weight:600;opacity:.85;margin-bottom:2px}.cv-about-list{list-style:none;margin:0 0 8px;padding:0}.cv-about-list li{padding:1px 0}.cv-about-link{border:none;background:none;padding:0;font:inherit;color:#6bb0ff;text-decoration:underline;cursor:pointer}.cv-about-thanks{font-weight:600;margin-top:12px}#mainToolbar .btnDiv.cv-toolbtn-on{background:transparent}#mainToolbar .btnDiv.cv-toolbtn-on .btnImg{opacity:1;filter:drop-shadow(0 0 .18em #6bf) drop-shadow(0 0 .36em rgba(107,187,255,.7))}#mainView.dark #mainToolbar .btnDiv.cv-toolbtn-on .btnImg{filter:var(--cv-icon-invert) drop-shadow(0 0 .18em #6bf) drop-shadow(0 0 .36em rgba(255,255,255,.45))}#mainToolbar .btnDiv.cv-toolbtn-on #capoValue,#mainToolbar .btnDiv.cv-toolbtn-on #shiftValue{color:#fff;text-shadow:0 0 .1em #fff,0 0 .3em #4af,0 0 .5em #4af,0 0 .7em #4af}.cv-lamp-wrap{position:relative}.cv-highlight-loader{animation:cv-spin 1.5s infinite linear}.cv-opacity-popup{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px;border-radius:10px;background:#1d1d1d;color:var(--cv-panel-fg);box-shadow:0 4px 16px #0009}.cv-opacity-preview{position:relative;width:48px;height:24px;border-radius:8px;background:#ffffff1a;overflow:hidden}.cv-opacity-preview-fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#ffd080}.cv-opacity-slider{-webkit-appearance:slider-vertical;-moz-appearance:slider-vertical;appearance:slider-vertical;writing-mode:vertical-lr;direction:rtl;width:28px;height:140px;cursor:pointer}.cv-opacity-label{font-size:13px;opacity:.8}.mainTable{position:relative}.cv-pull-wrap{position:absolute;top:0;left:50%;display:flex;justify-content:center;transform:translate(-50%,calc(var(--cv-pull-offset, 0px) - 2.8em));z-index:60;pointer-events:none}.cv-pull-disc{width:2em;height:2em;border-radius:50%;padding:4px;box-sizing:border-box;background:var(--cv-pull-bg, #fff);box-shadow:0 2px 2px 2px #00000026;transition:background-color .4s ease}.cv-pull-disc svg{display:block;width:100%;height:100%;transform:rotate(-90deg)}.cv-pull-arc{fill:none;stroke:var(--cv-pull-stroke, #000066);stroke-width:4;stroke-linecap:butt}.cv-pull-level-2{--cv-pull-bg: #ff0}.cv-pull-level-3{--cv-pull-bg: orangered;--cv-pull-stroke: #fff}.cv-pull-spinning{animation:cv-pull-spin 1s linear infinite}@keyframes cv-pull-spin{to{transform:rotate(360deg)}}#btnOptions,.cv-more-item{position:relative}.cv-todo-dot{position:absolute;top:4px;right:4px;width:9px;height:9px;border-radius:50%;background:#ff3b30;box-shadow:0 0 0 2px #00000059,0 0 .3em .05em #ff3b30cc,0 0 .6em .1em #ff3b3080;pointer-events:none}.cv-wheel{position:fixed;width:72px;height:252px;overflow:hidden;background:var(--cv-panel-solid);border:1px solid var(--cv-panel-border);border-radius:12px;box-shadow:0 6px 24px #00000073;z-index:1100;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;outline:none;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent)}.cv-wheel.cv-wheel-light{--cv-accent: #bd5806}.cv-wheel-horizontal{width:calc(7 * var(--cv-wheel-item-width));height:var(--cv-wheel-item-height);border:0;border-radius:0;-webkit-mask-image:linear-gradient(to right,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(to right,transparent,#000 22%,#000 78%,transparent)}.cv-wheel:active{cursor:grabbing}.cv-wheel-track{will-change:transform}.cv-wheel-track.cv-wheel-snap{transition:transform .15s ease-out}.cv-wheel-horizontal .cv-wheel-track{display:flex;height:100%}.cv-wheel-item{height:36px;line-height:36px;text-align:center;font-size:1.05rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--cv-panel-fg);opacity:.7}.cv-wheel-item.cv-wheel-current{color:var(--cv-accent);opacity:1;font-size:1.3rem}.cv-wheel-horizontal .cv-wheel-item{flex:0 0 var(--cv-wheel-item-width);width:var(--cv-wheel-item-width);height:var(--cv-wheel-item-height);line-height:var(--cv-wheel-item-height)}.cv-wheel-highlight{position:absolute;left:6px;right:6px;top:calc(50% - 18px);height:36px;border-top:1px solid var(--cv-accent);border-bottom:1px solid var(--cv-accent);opacity:.55;pointer-events:none}.cv-wheel-horizontal .cv-wheel-highlight{left:calc(50% - var(--cv-wheel-item-width) / 2);right:auto;top:0;width:var(--cv-wheel-item-width);height:var(--cv-wheel-item-height);box-sizing:border-box;border:1px solid var(--cv-accent)}html[data-pp-reduce-motion] *,html[data-pp-reduce-motion] *:before,html[data-pp-reduce-motion] *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}
