:root{color-scheme:dark;--bg:#202222;--panel:#292b2b;--line:#424545;--muted:#9ca1a0;--ink:#e2e5e2;--acid:#d3ed91;--orange:#ecb182;--cyan:#91c5c9;--purple:#b6aed8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:13px -apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{background:#373a39;color:var(--ink);border:1px solid #505352;padding:9px 13px;border-radius:3px;cursor:pointer;white-space:nowrap}button:hover{background:#484c49;border-color:#858c80}button:disabled{opacity:.4;cursor:default}button.active,button[aria-pressed=true]{background:var(--acid);border-color:var(--acid);color:#202520}.primary{background:var(--acid);color:#232821;border-color:var(--acid);font-weight:650}.primary:hover{background:#e4f6b9}.accent-outline{color:var(--acid);border-color:#68784e;background:transparent}input,select,textarea{background:#232625;border:1px solid #4b504d;color:var(--ink);border-radius:3px;padding:9px;min-width:0}input:focus,textarea:focus{border-color:var(--acid);outline:1px solid var(--acid)}input[type=range]{accent-color:var(--acid);padding:0}a{color:inherit;text-decoration:none}a:hover{color:var(--acid)}.topbar{height:65px;display:flex;align-items:center;border-bottom:1px solid var(--line);padding:0 25px;gap:28px;background:#282a29}.brand{font-size:16px;letter-spacing:1.2px;display:flex;align-items:center;gap:8px}.brand b{font-weight:400;color:var(--acid)}.brand-mark{font-size:30px;line-height:1;transform:rotate(90deg);color:var(--acid);margin-right:7px}.workspace-label{font-size:10px;letter-spacing:1.3px;color:var(--muted);border-left:1px solid var(--line);padding-left:28px}.dot{display:inline-block;width:6px;height:6px;background:var(--acid);border-radius:50%;margin-right:8px}.topbar>.primary{margin-left:auto}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:calc(100vh - 65px)}.sidebar{border-right:1px solid var(--line);padding:26px 14px 18px;background:#272929;display:flex;flex-direction:column;gap:7px}.side-title{font-size:10px;letter-spacing:1.7px;color:#a2a8a4;padding:0 10px 12px;display:flex;justify-content:space-between;align-items:center}.side-title span{color:#626c66;font-size:9px}.side-title button{border:none;padding:0 3px;background:none;font-size:17px;line-height:14px}.sidebar nav button{width:100%;border:0;background:none;display:flex;gap:10px;text-align:left;padding:11px 12px;font-size:12px;color:#b4bbb6}.sidebar nav button span:last-child{margin-left:auto;color:#899286;font:10px ui-monospace,monospace}.sidebar nav button.selected{background:#3d4436;color:var(--acid);border-radius:3px}.collections-label{margin-top:24px}.books-label{margin-top:26px}.book-button{background:none;border:0;white-space:normal;display:flex;gap:10px;text-align:left;width:100%;font-size:11px;color:#b7bdb8;line-height:1.6}.book-button .book-icon{font-size:20px;color:#899187}.book-button small{display:block;font-size:10px;color:#7e8980}.sidebar-bottom{margin-top:auto;padding:65px 10px 0;color:#959f96;font-size:10px;line-height:1.8}.sidebar-bottom a{display:block;margin:15px 0 0;color:#c5cfbf}.sidebar-bottom button{padding:0;background:none;border:0;font-size:10px;color:#aeb8a7;margin-top:7px}main{min-width:0}.library{padding:26px 28px 0;background:#252827}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#a1aa9e;margin-bottom:10px}h1,h2{margin:0;font-weight:500;letter-spacing:-.65px}h1{font-size:27px;display:flex;align-items:center;gap:11px}h1 span{font-size:11px;border:1px solid #525b4c;border-radius:20px;padding:3px 8px;color:#bfcab6;letter-spacing:0}.library-controls{display:flex;gap:9px;align-items:center}.search{display:flex;align-items:center;gap:6px;border:1px solid #4b504d;padding:0 9px;border-radius:3px;color:#adb4ab;background:#202422}.search input{border:0;background:none;font-size:11px;width:200px;padding:9px 0}.library-controls select{font-size:11px;width:151px}.table-wrap{max-height:244px;overflow:auto;min-height:139px}table{width:100%;border-collapse:collapse;table-layout:fixed}th{font-size:9px;letter-spacing:1.3px;color:#8c978d;font-weight:500;text-align:left;border-bottom:1px solid #485048;padding:10px 12px;position:sticky;top:0;background:#252827;z-index:1}th.number{width:36px}th:nth-child(2){width:31%}th:nth-child(3){width:21%}th:nth-child(4){width:8%}th:nth-child(5){width:14%}th:last-child{width:35px}td{padding:12px;border-bottom:1px solid #373e38;font-size:11px;color:#aeb7ad;overflow:hidden;text-overflow:ellipsis}tr.song-row{cursor:pointer}tr.song-row:hover{background:#303830}tr.selected{background:#384130}tr.selected td{border-bottom-color:#566247}td.song-name{color:#edf0e9;font-size:12px;font-weight:550}td.song-name small{display:block;font-weight:400;font-size:10px;color:#95a38f;margin-top:5px}td.number{font:10px ui-monospace,monospace;color:#a3af97}tr.selected td.number{color:var(--acid)}.status{font-size:9px;display:inline-flex;align-items:center;gap:5px}.status:before{content:'';width:4px;height:4px;background:#91b686;border-radius:50%}.status.review{color:#c6ad8d}.status.review:before{background:#c6ad8d}.rating{display:inline-flex;gap:1px;white-space:nowrap}.rating button{border:0;background:none;padding:0 1px;color:#64705c;font-size:16px;line-height:20px}.rating button.filled{color:var(--acid)}.row-more{border:0;background:none;padding:2px;color:#93a187}#empty{padding:26px;color:var(--muted)}.session{padding:25px 28px 20px;border-top:1px solid #4a5149;background:linear-gradient(180deg,#292c29 0,#202322 160px)}.session-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:21px}.session-heading .eyebrow{color:var(--acid);font-size:9px}#sessionNumber{color:#69735f;margin-left:14px}h2{font-size:25px}.song-meta{display:flex;gap:10px;color:#a7afa4;font-size:10px;margin-top:8px}.song-meta span{border-right:1px solid #51584d;padding-right:10px}.song-meta span:last-child{border:0}.session-actions{display:flex;gap:8px}.session-actions button{font-size:10px;padding:8px 11px}.transport{display:flex;align-items:center;gap:16px;background:#30352f;border:1px solid #4c5547;padding:11px 13px;margin-bottom:19px;border-radius:3px;min-height:64px}.transport-buttons{display:flex;gap:5px;align-items:center}.transport-buttons button{background:none;border:0;font-size:15px;padding:9px 7px}.transport-buttons .play-button{background:var(--acid);color:#2d3622;border-radius:3px;padding:9px 13px;min-width:39px}.position{display:flex;flex-direction:column;gap:5px;width:65px}.position strong{font:18px ui-monospace,monospace;letter-spacing:1px}.position span{font-size:7px;letter-spacing:1.2px;color:#97a18f}.separator{height:29px;width:1px;background:#59614f}.tempo{display:flex;flex-direction:column;align-items:center;gap:3px}.tempo input{width:54px;padding:0;text-align:center;background:transparent;border:0;font:18px ui-monospace,monospace;appearance:textfield}.tempo input::-webkit-inner-spin-button{appearance:none}.tempo span{font-size:7px;letter-spacing:1px;color:#99a38f}#tempoSlider{width:110px;height:3px}#loop{font-size:10px;padding:6px 9px;background:#373e31;border-color:#59654c}#loop[aria-pressed=true]{color:var(--acid);border-color:var(--acid)}.transport-right{margin-left:auto;display:flex;gap:18px;align-items:center;font:10px ui-monospace,monospace;color:#abb79d}.level-meter{display:flex;gap:2px;height:19px;align-items:end}.level-meter i{width:3px;height:5px;background:#718451}.level-meter i:nth-child(2n){height:10px}.level-meter i:nth-child(3n){height:15px}.playing .level-meter i{background:var(--acid);animation:meter .6s infinite alternate}.playing .level-meter i:nth-child(2n){animation-delay:-.2s}.playing .level-meter i:nth-child(3n){animation-delay:-.4s}@keyframes meter{to{height:18px;opacity:.6}}.arrangement{border:1px solid #454d45;border-radius:3px;overflow:hidden}.arrangement-top{display:flex;justify-content:space-between;gap:10px;padding:11px 13px;font-size:9px;letter-spacing:1px;background:#30362f;color:#b6c0af}.arrangement-top span:nth-child(2){letter-spacing:0;color:#7e8b77;font-size:9px}.arrangement-top small{font-size:9px;color:#738667;margin-left:7px}.track{display:grid;grid-template-columns:205px minmax(100px,1fr) 88px;min-height:89px;border-top:1px solid #41483f}.track-info{padding:11px 12px;background:#2d322c;border-left:3px solid var(--track-color)}.track-title{display:flex;gap:8px;align-items:center;color:#d7dfd0;font-size:11px}.track-title small{font:9px ui-monospace,monospace;color:var(--track-color)}.track-info select{font-size:10px;padding:4px 5px;width:136px;background:#222820;color:#abb6a3;border-color:#4e5846;margin-top:9px}.track-buttons{margin-left:auto;display:flex;gap:4px}.track-buttons button{padding:2px 5px;font-size:9px;line-height:13px;background:#242922;border-color:#54604a}.track-buttons button.active{color:#20291b;background:var(--track-color);border-color:var(--track-color)}.piano-roll{position:relative;min-width:0;overflow:hidden;cursor:crosshair;background:#232a22}.piano-roll canvas{display:block;width:100%;height:88px}.playhead{position:absolute;top:0;bottom:0;width:1px;background:#f1f5d6;pointer-events:none;box-shadow:0 0 5px #d3ed9133}.track-volume{display:flex;flex-direction:column;justify-content:center;gap:8px;align-items:center;border-left:1px solid #414b3c;background:#2b3228;color:#95a48a;font:9px ui-monospace,monospace}.track-volume input{width:58px;height:3px;accent-color:var(--track-color)}.bottom-panels{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:16px;margin-top:19px}.chords-panel,.details-panel{border:1px solid #414b3c;border-radius:3px;background:#252c23;padding:13px}.panel-heading{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.3px;color:#b5c2a8;margin-bottom:13px}.panel-heading span:last-child{color:#718168;font-size:8px;letter-spacing:.7px}#chordGrid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;max-height:188px;overflow:auto}.chord-cell{display:flex;flex-direction:column;gap:7px;background:#303a2c;border:1px solid #45503d;padding:8px 9px;cursor:pointer;border-radius:2px}.chord-cell small{font:8px ui-monospace,monospace;color:#80916f}.chord-cell strong{font-size:13px;font-weight:500;color:#c5d4b2}.chord-cell.current{background:#445438;border-color:var(--acid)}.no-chords{grid-column:1/-1;color:#8a9980;font-size:11px;padding:15px 0}.details-panel label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;color:#99a78e;margin-bottom:13px}.details-panel select{font-size:10px;padding:5px;width:150px}.details-panel .rating button{font-size:18px}#reviewNote{font-size:10px;color:#94a486;line-height:1.6;max-height:70px;overflow:auto}#markReviewed{font-size:9px;background:none;border-color:#5e714d;color:#c1d4ae;width:100%;margin-top:10px;padding:6px}footer{display:flex;justify-content:space-between;gap:12px;padding:0 28px 15px;color:#73816b;font-size:9px}footer b{padding:0 8px;font-weight:normal;color:#56604e}dialog{background:#292f28;border:1px solid #647457;color:#dce7d2;border-radius:6px;padding:26px;width:min(650px,calc(100vw - 32px));max-height:90vh;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#0b100ccc;backdrop-filter:blur(4px)}.dialog-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.dialog-heading .eyebrow{color:var(--acid)}.close{font-size:25px;background:transparent;border:0;padding:0 5px;color:#aab99d}.import-layout{display:flex;flex-direction:column;gap:15px}.dropzone{padding:25px 15px;border:1px dashed #748562;display:flex;flex-direction:column;gap:10px;text-align:center;background:#333e2d;cursor:pointer;border-radius:4px}.dropzone>span{font-size:28px;color:var(--acid)}.dropzone small{font-size:10px;color:#94a587}.divider-label{font-size:9px;letter-spacing:1.5px;color:#94a486;margin-top:8px}dialog label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#b7c5ab}dialog input,dialog select{width:100%;background:#20271d;border-color:#58664c}dialog small{font-size:10px;color:#91a17f;line-height:1.5}.form-row{display:flex;gap:12px;align-items:end}.form-row label{flex:1}.form-row>button{margin-bottom:1px;height:35px}.note{font-size:11px;line-height:1.6;color:#94a686;margin:0}.job{padding:12px;background:#333e2d;border:1px solid #4d5c42;margin-top:8px;border-radius:3px;display:flex;flex-direction:column;gap:8px;font-size:11px}.job progress{width:100%;accent-color:var(--acid);height:4px}.job a{font-size:10px;color:var(--acid)}.job button{align-self:flex-end;font-size:10px;padding:4px 9px}.job-error{color:#efb38c}.source-dialog{width:min(1000px,94vw)}.source-dialog img{width:100%;display:block;background:white;margin-top:15px}.page-controls{display:flex;gap:15px;align-items:center}.page-controls label{flex-direction:row;align-items:center}.page-controls input{width:75px}.page-controls span{font-size:11px;color:#94a686}.edit-dialog{width:min(850px,94vw)}.edit-dialog label{margin-bottom:15px}.edit-dialog textarea{font:12px/1.6 ui-monospace,monospace;resize:vertical;width:100%;background:#20271d}.edit-dialog .form-row{align-items:start}.edit-dialog .form-row label:last-child{max-width:280px}.dialog-actions{display:flex;justify-content:flex-end;margin-top:20px}.help-content{font-size:13px;line-height:1.8;color:#b9c7ae}.help-content a{text-decoration:underline;text-underline-offset:3px;color:var(--acid)}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--acid);color:#273321;padding:12px 20px;border-radius:4px;box-shadow:0 8px 35px #0006;font-size:12px;z-index:10;display:none;max-width:85vw}.error-toast{background:#e9a485!important} [hidden]{display:none!important}@media(min-width:1550px){.library,.session{padding-left:40px;padding-right:40px}.library{padding-top:34px}.table-wrap{max-height:300px}.session{padding-top:31px}.track{min-height:103px}.piano-roll canvas{height:102px}}@media(max-width:1100px){.app-shell{grid-template-columns:185px minmax(0,1fr)}.library,.session{padding-left:18px;padding-right:18px}.library-controls{flex-direction:column;align-items:end;gap:5px}.search input{width:150px}.session-actions button{font-size:9px;padding:7px}.transport{gap:10px}.transport-right{gap:10px}#tempoSlider{width:65px}.track{grid-template-columns:177px minmax(100px,1fr) 65px}.track-info{padding:10px 8px}.track-info select{width:128px}.bottom-panels{grid-template-columns:1fr 220px}#chordGrid{grid-template-columns:repeat(6,minmax(0,1fr))}.workspace-label{display:none}}@media(max-width:800px){.app-shell{display:block}.sidebar{display:none}.library{padding-top:18px}.section-heading{align-items:start}.session-heading{align-items:start;flex-direction:column}.session-actions{margin-top:4px}.transport{flex-wrap:wrap;gap:12px}.transport-right{margin-left:auto}.track{grid-template-columns:155px minmax(80px,1fr) 55px}.track-title{font-size:10px;gap:5px}.track-title small{display:none}.track-info select{width:130px}.track-volume input{width:38px}.arrangement-top span:nth-child(2){display:none}.bottom-panels{grid-template-columns:1fr}.details-panel{display:grid;grid-template-columns:1fr 1fr;gap:12px}.details-panel .panel-heading{grid-column:1/-1;margin-bottom:0}#reviewNote{grid-column:1/-1}.details-panel label{margin:0}#markReviewed{grid-column:1/-1;margin:0}th:nth-child(3),td:nth-child(3){display:none}th:nth-child(2){width:40%}th:nth-child(5){width:16%}th:nth-child(4){width:11%}th{letter-spacing:.3px;padding:9px 6px}td{padding:10px 6px}.topbar{padding:0 18px}.brand{font-size:13px}h1{font-size:23px}.eyebrow{font-size:8px}.search input{width:145px}.library-controls select{width:170px}.table-wrap{min-height:120px;max-height:240px}#chordGrid{grid-template-columns:repeat(6,minmax(0,1fr))}footer{font-size:8px;padding:0 18px 15px}footer span:last-child{display:none}.form-row{flex-wrap:wrap}.form-row label{min-width:110px}.edit-dialog .form-row label:last-child{max-width:none}.topbar .primary{font-size:11px;padding:8px}.transport-right .level-meter{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}
/* Vintage Jazz & Blues — warm paper, brass, ink and record sleeves. */
:root{color-scheme:dark;--bg:#191f23;--panel:#252d31;--line:#495052;--muted:#a6aaa6;--ink:#eee8dc;--acid:#e0b36a;--orange:#cb8265;--cyan:#80b8bd}
body{background:#191f23;font-family:'Helvetica Neue',Arial,sans-serif}button{background:#303a3e;border-color:#596061;border-radius:4px}button:hover{background:#455257;border-color:#bcaa87}.primary{background:#e0b36a;border-color:#e0b36a;color:#252b2b}.primary:hover{background:#efc982}.accent-outline{color:#e0b36a;border-color:#a18555}input,select,textarea{background:#20282d;border-color:#586062;color:#eee8dc}a:hover{color:#e0b36a}
.topbar{height:78px;background:#172126;border-bottom:1px solid #7c6746;padding:0 30px}.brand{font-family:Georgia,serif;font-size:20px;letter-spacing:1px}.brand b{font-style:italic;font-size:23px;color:#e0b36a}.brand-mark{transform:none;font-size:0;width:36px;height:36px;border:1px solid #d1a15b;border-radius:50%;background:repeating-radial-gradient(circle,#d8ad65 0 1px,transparent 1px 4px);position:relative}.brand-mark:after{content:'';position:absolute;inset:12px;border-radius:50%;background:#d8ad65;border:3px solid #172126}.workspace-label{font-size:9px;letter-spacing:2.5px;color:#c2b494;border-color:#665c47}.app-shell{grid-template-columns:222px minmax(0,1fr);min-height:calc(100vh - 78px)}.sidebar{background:#1b282e;border-color:#415057;padding-top:32px}.side-title{color:#b7ab91;font-size:9px;letter-spacing:1.8px}.side-title span{color:#b79b6c}.sidebar nav button{color:#bbc1bd}.sidebar nav button.selected{background:#35464c;color:#f0c781;box-shadow:inset 2px 0 #e0b36a}.sidebar nav button span:last-child{color:#aabbb9}.book-button{color:#b5c0bf}.book-button small{color:#8eaaa9}.book-button .book-icon{color:#c2a97b}.sidebar-bottom{color:#a9b6b3}.sidebar-bottom a,.sidebar-bottom button{color:#d5bd94}
.library{background:#e9e0ce;color:#2b3637;padding-top:30px;border-top:4px solid #b45b42}.eyebrow{color:#8e6946;letter-spacing:2.1px}.section-heading{margin-bottom:21px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-1px}h1{font-size:35px}h1 span{font-family:Arial,sans-serif;border-color:#b8aa91;color:#746347;font-size:11px}.search{background:#f4eddf;border-color:#b5aa96;color:#655e51}.search input{color:#2e3939}.library-controls select{color:#374344;background:#f4eddf;border-color:#b5aa96}.table-wrap{max-height:248px}th{background:#e9e0ce;color:#80725a;border-color:#c5b99f;letter-spacing:1.2px;font-size:9px}td{color:#586260;border-bottom-color:#d4c9b4}td.song-name{color:#263b40;font-weight:600;font-size:12px}td.song-name small{color:#7e8177}td.number{color:#8e7757}tr.song-row:hover{background:#ded2bc}tr.selected{background:#d7c7a8}tr.selected td{border-bottom-color:#baa077}tr.selected td.number{color:#8a482f}.status.review{color:#805b36}.status.review:before{background:#9c633a}.rating button{color:#aaa391}.rating button.filled{color:#98662c}.row-more{color:#807561}
.session{background:#212a2e;border-top:1px solid #746349;padding-top:29px}.session-heading .eyebrow{color:#dfb470;font-size:9px}.session-heading h2{font-size:34px;color:#f3e7d0}#sessionNumber{color:#829695}.song-meta{color:#aab9b7}.song-meta span{border-color:#4c6164}.transport{background:#18252b;border-color:#4c646b;border-radius:5px;box-shadow:0 5px 15px #0002}.transport-buttons .play-button{background:#e0b36a;color:#1d2b31}.position span,.tempo span{color:#a7b2aa}.position strong,.tempo input{color:#f2d8a8}.separator{background:#49616a}#loop{background:#2b3e45;border-color:#566d72}#loop[aria-pressed=true]{color:#edc280;border-color:#dfb470}.transport-right{color:#b2c4c4}.level-meter i{background:#8f714b}
.practice-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:20px;align-items:start}.practice-tools{min-width:0}.sheet-panel{background:#e9e0ce;color:#384747;border:1px solid #b8a78a;border-radius:5px;overflow:hidden}.sheet-panel>.panel-heading{padding:12px 16px;margin:0;background:#d8c9ac;color:#665130;font-size:9px}.sheet-panel .panel-heading button{background:none;border:0;padding:2px;color:#665130;font-size:10px;letter-spacing:0}.score-pages{max-height:960px;overflow:auto;padding:16px;background:linear-gradient(125deg,#e9e0ce,#f2ebde)}.score-pages figure{margin:0 0 20px}.score-pages figure:last-child{margin:0}.score-pages figcaption{display:flex;justify-content:space-between;gap:10px;color:#776c57;font-size:9px;margin-bottom:9px}.score-pages img{display:block;width:100%;background:#fff;box-shadow:0 2px 7px #32230d25}.score-empty{padding:40px 18px;font:17px/1.7 Georgia,serif;color:#84765f}
.arrangement{border-color:#4c5e61}.arrangement-top{background:#2f4147;color:#d2c8b3;font-size:8px}.arrangement-top span:nth-child(2){display:none}.arrangement-top small,.arrangement-top span:last-child{color:#a3b4b4}.track{grid-template-columns:174px minmax(75px,1fr) 62px;border-color:#435459;min-height:91px}.track-info{background:#293b42;padding:10px 9px}.track-title{color:#e7e3d8;font-size:10px}.track-title small{display:none}.track-info select{background:#1d2c32;border-color:#4a6369;color:#c9d4d0;width:128px;font-size:10px}.track-buttons button{background:#203137;border-color:#526b71}.track-volume{background:#283a40;border-color:#495e63;color:#b6bfad}.track-volume input{width:40px}.piano-roll{background:#242c30}.piano-roll canvas{height:90px}.playhead{background:#ffe0a8;box-shadow:0 0 5px #e0b36a50}.bottom-panels{grid-template-columns:1fr;gap:15px;margin-top:16px}.chords-panel,.details-panel{background:#29383d;border-color:#4c6064}.panel-heading{color:#d3c4a6}.panel-heading span:last-child{color:#a1b2af}.chord-cell{background:#31454a;border-color:#526366}.chord-cell small{color:#97afaf}.chord-cell strong{color:#e1cfaa}.chord-cell.current{background:#576063;border-color:#e0b36a}#chordGrid{grid-template-columns:repeat(6,minmax(0,1fr));max-height:204px}.details-panel{display:grid;grid-template-columns:1fr 1fr;gap:12px}.details-panel .panel-heading{grid-column:1/-1;margin:0}.details-panel label{color:#aebdb8;margin:0}.details-panel select{width:150px;background:#202e33;border-color:#526468}.details-panel .rating button.filled{color:#e0b36a}#reviewNote{grid-column:1/-1;color:#b4b9ac;max-height:none;line-height:1.7}#markReviewed{grid-column:1/-1;margin:0;color:#e4c18b;border-color:#89764f}.no-chords{color:#a9b6ad}
#recognitionPanel{margin-top:15px;border:1px solid #4b5b5c;border-radius:4px;padding:13px;color:#b7c2ba;font-size:11px;line-height:1.65}#recognitionPanel summary{color:#dabe8e;cursor:pointer}.recognition-issue{display:flex;align-items:start;gap:10px;border-top:1px solid #4b5b5c;padding:8px 0}.recognition-issue button{font-size:10px;padding:3px 6px;color:#e0b36a}.recognition-issue span{font-size:10px}footer{padding-top:13px;color:#94a6a2}
dialog{background:#24343a;border-color:#8f7a55;color:#eee5d5}dialog::backdrop{background:#0d191dde}.dialog-heading h2{font-size:30px}.close{color:#c3bfad}dialog label,.help-content{color:#c8d0c5}dialog input,dialog select,.edit-dialog textarea{background:#19292f;border-color:#556e70;color:#e8e1d2}.dropzone{background:#30454b;border-color:#a5916d}.dropzone small,dialog small,.note,.divider-label{color:#b1bdb2}.job{background:#30454b;border-color:#597174}.page-controls span{color:#adbbb2}#toast{background:#e0b36a;color:#24343a}.help-content a{color:#e0b36a}
@media(min-width:1550px){.library,.session{padding-left:34px;padding-right:34px}.table-wrap{max-height:248px}.piano-roll canvas{height:96px}.track{min-height:97px}.score-pages{max-height:1080px}}
@media(max-width:1270px){.practice-layout{grid-template-columns:1fr}.sheet-panel{order:2}.score-pages{max-height:750px}.practice-tools{order:1}.bottom-panels{grid-template-columns:minmax(0,1fr) 250px}.details-panel{display:block}.details-panel .panel-heading,.details-panel label{margin-bottom:12px}.details-panel select{width:135px}#markReviewed{margin-top:10px}.track{grid-template-columns:195px minmax(100px,1fr) 70px}}
@media(max-width:800px){.app-shell{display:block}.topbar{height:68px;padding:0 18px}.brand{font-size:15px}.brand b{font-size:18px}.brand-mark{width:29px;height:29px}.brand-mark:after{inset:9px}.sidebar{display:none}.section-heading h1{font-size:29px}.session-heading h2{font-size:29px}.bottom-panels{grid-template-columns:1fr}.track{grid-template-columns:153px minmax(65px,1fr) 50px}.track-info select{width:129px}.transport{position:sticky;top:0;z-index:3}.score-pages{padding:8px;max-height:none}.sheet-panel{order:2}.details-panel{display:grid}.details-panel .panel-heading,.details-panel label{margin-bottom:0}.practice-layout{gap:16px}.library-controls select{width:156px}.search input{width:130px}}
.sheet-controls{display:flex;align-items:center;gap:15px}.sheet-controls label{display:flex;align-items:center;gap:5px;letter-spacing:0;font-size:10px;cursor:pointer}.sheet-controls input{accent-color:#945d32;width:13px;height:13px;margin:0}.score-sheet{position:relative}.score-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.score-overlay rect{fill:transparent;stroke:transparent;pointer-events:auto;cursor:pointer}.score-overlay rect:hover{fill:#d9ab6750;stroke:#a45c39;stroke-width:1}.score-overlay rect.sounding{fill:#e5ad5290;stroke:#a3542b;stroke-width:1.1;mix-blend-mode:multiply}.source-dialog .score-sheet img{margin-top:0}.source-dialog .score-sheet{margin-top:15px}@media(max-width:800px){.score-pages{max-height:70vh}}
@media(max-width:1270px){.sheet-panel{order:1}.practice-tools{order:2}}
#scoreSyncStatus{font-size:8px;font-weight:400;letter-spacing:.5px;color:#78633f}.sheet-controls label{color:#665130}
.score-pages img{height:auto}
/* Library sorting and one card per measure. */
th button{color:inherit;font:inherit;letter-spacing:inherit;border:0;background:none;padding:0;text-align:left;white-space:nowrap;width:100%}th button:hover{background:none;color:#51381e}th[aria-sort=ascending],th[aria-sort=descending]{color:#52371d}th:nth-child(1){width:42px}th:nth-child(2){width:25%}th:nth-child(3){display:table-cell;width:21%}th:nth-child(4){width:20%}th:nth-child(5){width:70px}th:nth-child(6){width:116px}td:nth-child(3){display:table-cell}td{white-space:nowrap}td.number{overflow:visible;padding-left:9px;padding-right:4px}.sidebar nav button{overflow:hidden}.sidebar nav button span:last-child{flex-shrink:0}.arrangement-top{cursor:pointer;list-style:none;align-items:center;min-height:43px}.arrangement-top::-webkit-details-marker{display:none}.arrangement-top:before{content:'▸';color:#e0b36a;font-size:12px}.arrangement[open]>.arrangement-top:before{content:'▾'}.arrangement-top>span:first-of-type{margin-right:auto}#chordGrid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:370px}.chord-cell{min-height:66px;align-items:stretch;text-align:left;padding:7px}.bar-chords{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.bar-chords strong{font-size:13px;overflow-wrap:anywhere;flex:1;min-width:0}.chord-cell:focus-visible{outline:2px solid #f4d297;outline-offset:1px}@media(max-width:800px){table{min-width:690px}.table-wrap{overflow:auto}th:nth-child(3),td:nth-child(3){display:table-cell}th:nth-child(2){width:25%}th:nth-child(4){width:20%}th:nth-child(5){width:70px}.arrangement-top span:last-child{display:block}}

.sidebar nav button .collection-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1;font:inherit;color:inherit;text-align:left}.sidebar nav button{display:flex}.sidebar nav button>span:last-child{flex:none}

/* Score-first practice view. Secondary controls open only when needed. */
.topbar{height:62px}.app-shell{min-height:calc(100vh - 62px);grid-template-columns:195px minmax(0,1fr)}
.library,.session{padding:18px 24px}.section-heading{margin-bottom:12px}.section-heading h1{font-size:29px}.table-wrap{max-height:160px}.session-heading{margin-bottom:14px}.session-heading h2{font-size:32px}.session-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.session-actions button{padding:7px 10px;font-size:11px}
.practice-layout{display:flex;flex-direction:column;gap:14px}.practice-tools{order:0;width:100%;display:grid;grid-template-columns:1fr 2fr;gap:10px;align-items:start}.sheet-panel{order:1;width:100%;min-width:0}.bottom-panels{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.arrangement{margin:0}.arrangement-top>span:nth-of-type(2){display:none}.arrangement-top{padding:11px}.chords-panel,.details-panel{display:block;padding:0;min-width:0}.chords-panel>summary,.details-panel>summary{margin:0;padding:14px;cursor:pointer;min-height:43px;list-style:none}.chords-panel>summary:before,.details-panel>summary:before{content:'▸';color:#e0b36a;margin-right:8px}details[open]>summary:before{content:'▾'}.details-panel label{padding:10px 14px;display:block}.details-panel select{width:100%;margin-top:5px}#detailRating{display:block}.voicing-controls{display:flex;flex-wrap:wrap;gap:10px;padding:12px}.voicing-controls label{flex:1;min-width:145px;font-size:10px}.voicing-controls select{display:block;width:100%;margin-top:6px;font-size:11px}#chordGrid{padding:0 12px 12px;grid-template-columns:repeat(4,minmax(0,1fr));max-height:300px}.practice-tools:has(#tracksPanel[open]){grid-template-columns:1fr}.track{grid-template-columns:210px minmax(100px,1fr) 70px}
.score-pages{max-height:78vh;padding:10px 16px}.score-pages figure{max-width:1100px;margin:0 auto 18px}.score-pages img{width:100%}.sheet-panel>.panel-heading{padding:12px 16px}.tempo-hint{font-size:11px;color:#bbb39e;line-height:1.5;margin:8px 0 12px}.transport{position:sticky;top:0;z-index:3}.score-focus .sidebar,.score-focus .library{display:none}.score-focus .app-shell{grid-template-columns:1fr}.score-focus .session{padding:12px 24px}.score-focus .score-pages{max-height:calc(100vh - 290px)}.score-focus .topbar{height:48px}.score-focus .session-heading h2{font-size:27px}
#midiDialog{width:min(900px,95vw)}.midi-toolbar{display:flex;gap:12px}.midi-route{display:grid;grid-template-columns:120px 1fr 80px;gap:12px;padding:14px 0;border-top:1px solid #526366;align-items:center}.midi-route strong{color:#e0b36a}.midi-route label{font-size:11px}.midi-route select{width:100%;margin-top:5px}.midi-options{grid-column:2/-1;display:flex;gap:18px}.midi-options label{display:flex;align-items:center;gap:6px}.midi-route input[type=checkbox]{width:auto}.routing-badge{font-size:9px;color:#e0b36a;margin:5px 0}.tempo-hint button{padding:2px 8px;margin-left:10px;font-size:10px}
@media(max-width:1000px){.app-shell{grid-template-columns:165px minmax(0,1fr)}.practice-tools{grid-template-columns:1fr}.library,.session{padding:15px}.score-pages{padding:8px}.session-heading{align-items:flex-start}.session-actions{max-width:260px}.workspace-label{display:none}}
@media(max-width:800px){.app-shell{display:block}.topbar{height:55px}.practice-tools,.bottom-panels{grid-template-columns:1fr}.score-pages{max-height:75vh}.session-heading{flex-wrap:wrap}.session-actions{max-width:none}.tempo-hint{font-size:10px}.score-focus .score-pages{max-height:70vh}.midi-route{grid-template-columns:1fr 75px}.midi-route strong{grid-column:1/-1}.midi-options{grid-column:1/-1;flex-wrap:wrap}}
