:root{font-family:Segoe UI,Arial,sans-serif;color:#263c39;background:#f3f5f2;--green:#246b58}*{box-sizing:border-box}body{margin:0;display:flex}aside{width:245px;background:#173e35;color:#fff;position:fixed;height:100vh;padding:30px 18px}.brand{font-size:27px;margin-bottom:34px}.brand span{font-weight:650}.muted{color:#74837e;font-size:14px}.eyebrow,.eyebrow+p{margin-top:0}.eyebrow{font-size:11px;letter-spacing:2px;color:#648078;font-weight:700}aside .muted{color:#abc1b8;font-size:10px;letter-spacing:2px}input,select{font:inherit;border:1px solid #d6dfd8;border-radius:7px;padding:10px;background:#fff}aside input{width:100%;margin:10px 0 20px}nav button{width:100%;text-align:left;background:transparent;color:#c9dbd3;border:0;padding:15px 12px;margin-bottom:8px;line-height:1.5}nav button.active{background:#31594c;color:white}nav small{display:block;opacity:.7;font-size:11px}.aside-bottom{position:absolute;bottom:25px;font-size:12px;line-height:1.8;color:#a9beb5}main{margin-left:245px;padding:30px 38px;width:calc(100% - 245px)}header{display:flex;justify-content:space-between;align-items:center;gap:20px}h1{font-size:28px;margin:8px 0}header select{margin-left:18px}#save{font-size:12px;color:#688176}.toolbar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-bottom:1px solid #dce3dc;padding:20px 0}button{font:inherit;font-size:12px;cursor:pointer;background:#fff;border:1px solid #d6dfd8;border-radius:6px;padding:10px 12px;color:#35584c}button:hover{background:#e8f0e9}button.active,.primary{background:var(--green);color:white;border-color:var(--green)}button:disabled{opacity:.4;cursor:default}.instruction{font-size:12px;color:#60786e;padding:18px 0;line-height:1.8}kbd{background:white;border:1px solid #d0d9d1;padding:1px 5px;border-radius:3px}#workspace{display:flex;gap:20px;align-items:stretch}.paper{background:white;border:1px solid #e1e6df;box-shadow:0 4px 18px #233c3507;padding:36px 38px;flex:1;min-width:0;overflow:auto}.paper-head{display:flex;justify-content:space-between;letter-spacing:1.7px;font-size:10px;color:#7c8d84;border-bottom:1px solid #e6ebe5;padding-bottom:16px}.paper h2{font-size:24px;margin-bottom:5px}.paper #artist{font-size:13px;color:#849087;margin-bottom:30px}.line{position:relative;font-family:Consolas,'Courier New',monospace;font-size:16px;min-height:53px;white-space:pre;width:max-content;min-width:100%;padding-top:25px}.lyric{display:inline-block;white-space:pre;cursor:crosshair}.letter:hover{background:#d8ece0}.chord{position:absolute;top:0;background:#edf5ee;border:0;color:#226548;font:700 15px Consolas,monospace;padding:2px 3px;border-radius:3px;white-space:pre;z-index:1}.chord:focus,.chord.selected{outline:2px solid #d5a34a;background:#fff5d9;z-index:3}.blank{height:20px}textarea{width:100%;height:65vh;font:15px/1.7 Consolas,monospace;border:1px solid #ccd9ce;padding:15px;white-space:pre;resize:vertical}#apply{margin-top:10px}#reference{width:45%;min-width:290px}.reference-title{font-size:12px;padding:12px;background:#e4eae2}iframe{width:100%;height:80vh;border:1px solid #d3ded4}footer{font-size:11px;color:#8a968e;margin:20px 0}dialog{border:1px solid #d2dfd5;border-radius:12px;padding:25px;width:370px;box-shadow:0 20px 70px #173e3530}dialog::backdrop{background:#163e3544}dialog input{width:100%;margin-top:8px}dialog p{font-size:12px;color:#78877c}dialog form>div{display:flex;justify-content:flex-end;gap:8px;margin-top:25px}[hidden]{display:none!important}@media(max-width:1000px){aside{width:195px}main{margin-left:195px;width:calc(100% - 195px);padding:25px 20px}header{align-items:start;flex-direction:column}#workspace{flex-direction:column}#reference{width:100%}.paper{padding:25px}}@media(max-width:650px){body{display:block}aside{position:relative;width:100%;height:auto;padding:15px}.brand{margin-bottom:10px}aside .muted,.aside-bottom{display:none}nav{display:flex;overflow:auto}nav button{min-width:170px}aside input{margin:5px 0}main{margin:0;width:100%;padding:20px 12px}.paper{padding:20px 15px}.toolbar button{margin-bottom:6px}}@media print{aside,header,.toolbar,.instruction,footer,#reference,dialog,#code,#apply{display:none!important}main{margin:0;padding:0;width:100%}.paper{border:0;box-shadow:none;overflow:visible;padding:12mm}.chord{background:none!important;outline:0!important;padding:0 3px}.line{break-inside:avoid}#workspace{display:block}.paper-head{color:#333}@page{size:A4;margin:10mm}}
.chord{font-size:16px;padding-left:0;padding-right:0;min-width:1ch}.line{padding-top:26px}
@media print{.chord{padding:0}}
.song-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.song-title-row h2{flex:1;min-width:180px}.song-key-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#60786e}.song-key-label input{width:130px;font-family:Consolas,monospace;padding:7px 9px}@media print{.song-key-label{display:none!important}}
