:root{color-scheme:light;--bg:#f8f8fc;--panel:#fff;--text:#272536;--muted:#6c6b7d;--line:#e9e8f1;--accent:#6350e9;--soft:#f0ecff;--swim:#43aedc;--rest:#efa358;--repeat:#8b70e8;--section:#60b67a;--instruction:#d880b2;font:14px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;background:var(--panel);padding:8px 12px;white-space:normal}button:hover{border-color:var(--accent)}button:disabled{opacity:.55;cursor:default}.primary{background:var(--accent);color:#fff;border-color:var(--accent)}a{color:var(--accent)}input,select,textarea{width:100%;min-width:0;border:1px solid #d9d7e5;border-radius:7px;background:#fff;padding:8px 10px}input[type=checkbox]{width:17px;height:17px;flex-shrink:0;accent-color:var(--accent)}textarea{min-height:90px;resize:vertical}label{display:grid;gap:5px;font-size:12px;color:var(--muted)}h1,h2,h3,p{margin:0}h2{font-size:17px;font-weight:600}h3{font-size:14px;font-weight:600}b,strong{font-weight:600}small,.hint{font-size:12px;color:var(--muted)}.app{max-width:1440px;margin:auto}.appbar{padding:18px 26px;display:flex;align-items:center;gap:18px;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap}.brand img{display:block;width:155px;height:42px;object-fit:contain}.beta{font-size:12px;color:var(--muted)}nav{display:flex;flex-wrap:wrap;gap:7px}.appbar nav{margin-left:auto}main{max-width:1240px;margin:auto}.heading{padding:24px 26px;display:flex;justify-content:space-between;align-items:center;gap:20px}.heading>div:first-child{flex:1}.heading input{font-size:23px;font-weight:600;border-color:transparent;background:transparent;padding:0;max-width:750px}.heading input:hover{border-color:var(--line)}#saveStatus{font-size:12px;color:var(--muted);margin-top:6px}.stats{display:flex;gap:14px;align-items:center;white-space:nowrap;color:var(--muted);flex-wrap:wrap}.stats strong{color:var(--accent);font-size:18px}.workoutsettings{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:0 26px 20px;border-bottom:1px solid var(--line)}.workoutsettings label{min-width:100px}.workoutsettings>span{font-size:12px;color:var(--muted)}#timingState{margin-left:auto}.workspace{display:grid;grid-template-columns:170px minmax(0,1fr);border-bottom:1px solid var(--line)}.palette{padding:24px 17px;background:var(--panel);border-right:1px solid var(--line)}.palette h2{font-size:14px}.palette button{display:block;text-align:left;width:100%;margin-top:12px;border:1px solid var(--edge);border-left-width:4px;background:color-mix(in srgb,var(--edge) 18%,white)}.palette label{margin-top:24px}.palette p{font-size:12px;color:var(--muted);margin-top:12px}.canvas{padding:22px;min-width:0}.canvasbar,.sectionheading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.canvasbar>div{display:flex;gap:6px}.selectiontools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px 0 15px;font-size:12px}.selectiontools>span{margin-right:auto;color:var(--muted)}.selectiontools button{padding:5px 9px}.selectiontools select{width:auto;max-width:220px;font-size:12px}.block{--edge:var(--swim);border:1px solid var(--edge);border-left-width:4px;border-radius:10px;padding:8px;background:color-mix(in srgb,var(--edge) 9%,white);min-width:0}.block[data-type=rest]{--edge:var(--rest)}.block[data-type=repeat]{--edge:var(--repeat)}.block[data-type=section]{--edge:var(--section)}.block[data-type=instruction]{--edge:var(--instruction)}#blocks,.children{display:grid;gap:12px}.children{margin-top:8px;padding-left:13px;min-width:0}.blockheader{display:flex;align-items:stretch;border:1px solid transparent;border-radius:7px;background:color-mix(in srgb,var(--edge) 25%,white);min-width:0}.blockheader:hover{border-color:var(--edge)}.blockheader:focus-within{outline:2px solid var(--accent);outline-offset:2px}.details{flex:1;min-width:0;border:0;background:transparent;text-align:left;padding:12px;display:flex;gap:10px;align-items:center}.details:hover{border:0}.details .words{flex:1;min-width:0;overflow-wrap:anywhere}.details strong{display:block}.details small{display:block;margin-top:3px}.typeicon{font-size:11px;font-weight:600;color:color-mix(in srgb,var(--edge) 68%,#222);min-width:22px}.pill{font-size:11px;padding:3px 6px;border-radius:4px;background:#fff9;color:#565268;white-space:nowrap}.drag{border:0;background:transparent;padding:10px 7px;cursor:grab;color:#686475}.drag:active{cursor:grabbing}.leaf{padding:0;background:color-mix(in srgb,var(--edge) 25%,white);border-radius:7px}.leaf>.blockheader{background:transparent;border:0}.leaf>.blockheader:hover{box-shadow:inset 0 0 0 1px var(--edge)}.block.disabled,.block.disabled .block{--edge:#909399!important}.block.disabled .pill{background:#e0e1e3;color:#53565d}.block.disabled .details small::after{content:' · Disabled'}.empty{padding:24px;border:1px dashed #c9c5dc;border-radius:8px;color:var(--muted);text-align:center}.children .empty{padding:12px;font-size:12px}.hint{margin-top:14px}.exportpanel{padding:24px 26px;background:var(--panel)}.sectionheading p{font-size:12px;color:var(--muted);margin-top:4px}.sectionheading label{min-width:210px}.tracklist{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:9px}.track{padding:12px;text-align:left;display:grid;gap:5px;border-radius:9px;overflow-wrap:anywhere}.track.selected{background:var(--soft);border-color:var(--accent)}.track span{color:var(--accent);font-size:12px}.track small{display:block}.trackdetail{font-size:12px;background:var(--bg);border:1px solid var(--line);padding:12px;border-radius:7px;margin-top:12px}.exportsettings{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:20px 0}.check{display:flex;align-items:center;gap:8px;font-size:13px}.exportbuttons{display:flex;gap:9px;align-items:center;flex-wrap:wrap}#audioStatus{margin-top:14px;font-size:13px}audio{width:100%;margin-top:12px}.appfooter{padding:20px 26px;font-size:12px;color:var(--muted);display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap}.errors{padding:15px 26px;background:#fff0ed;border-block:1px solid #efc3bd}.errors button{display:block;text-align:left;background:transparent;border:0;color:#92392b;padding:5px 0;font-size:13px}dialog{--edge:var(--swim);padding:24px;width:min(620px,calc(100% - 28px));max-height:calc(100% - 32px);border:1px solid var(--edge);border-top-width:4px;border-radius:14px;background:color-mix(in srgb,var(--edge) 25%,white);box-shadow:0 25px 100px #30294d44;color:var(--text)}dialog::backdrop{background:#211b354d;backdrop-filter:blur(3px)}#musicDialog{--edge:var(--repeat);width:min(760px,calc(100% - 28px))}.dialogheading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:20px}.dialogheading h2{font-size:22px;margin-top:5px}.dialogheading small{font-size:11px;letter-spacing:.06em}.dialogheading>button{font-size:22px;padding:0;width:33px;height:33px;flex-shrink:0}.enablecontrol{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#595667;margin-bottom:18px}.enablecontrol button{padding:7px 11px;border-color:var(--edge)}.tabs{border-bottom:1px solid #0001;padding-bottom:12px;margin-bottom:18px}.tabs button{border:0;background:#fff9;padding:7px 11px;font-size:12px}.tabs button.active{background:var(--accent);color:#fff}.fieldgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.full{grid-column:1/-1}#blockFields>label,#blockFields>details,#blockFields>p{margin-top:14px}#blockFields>.fieldgrid{margin-top:14px}.help{font-size:12px;color:#5a566a;margin-top:12px}.dialogfooter{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid #0001;padding-top:18px;margin-top:22px}.formerror{color:#8f2e22;background:#fff8;padding:10px;border-radius:6px;margin-top:14px}details{border-top:1px solid #0001;padding-top:10px}summary{cursor:pointer;font-size:13px;font-weight:600;margin-bottom:12px}.segment{display:grid;grid-template-columns:95px 1fr 34px;gap:7px;margin:9px 0;align-items:end}.segment button{padding:8px}.file{display:flex;gap:8px;align-items:center;border:1px solid #0001;background:#fffb;border-radius:7px;padding:10px;margin-top:8px;flex-wrap:wrap}.file .filetext{flex:1;min-width:160px;overflow-wrap:anywhere}.file small{display:block;margin-top:3px}.file button{padding:5px 8px;font-size:12px}.file.missing{border-color:#b06930}.filetools{display:flex;gap:5px;flex-wrap:wrap}#musicStatus{font-size:12px;margin-top:13px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#29233a;color:#fff;padding:12px 18px;border-radius:8px;max-width:calc(100% - 28px);z-index:10;box-shadow:0 5px 25px #0003}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.dropover{outline:2px dashed var(--accent);outline-offset:3px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:780px){.heading{align-items:flex-start;flex-direction:column;gap:12px}.stats{font-size:12px}.workspace{grid-template-columns:140px minmax(0,1fr)}.palette{padding:20px 12px}.canvas{padding:18px 12px}.children{padding-left:8px}.appbar{padding:15px}.appbar nav{margin-left:0}.heading,.workoutsettings,.exportpanel{padding-inline:17px}.selectiontools>span{width:100%}.typeicon{display:none}.details{padding:10px 8px}.drag{padding:10px 5px}}
@media(max-width:520px){.workspace{display:block}.palette{border-right:0;border-bottom:1px solid var(--line);padding:15px}.palette #palette{display:flex;gap:6px;flex-wrap:wrap}.palette button{width:auto;margin:8px 0 0;padding:7px 9px;font-size:12px}.palette label{margin-top:12px}.palette p{display:none}.fieldgrid{grid-template-columns:1fr}.full{grid-column:auto}.children{padding-left:5px}.block{padding:6px}.leaf{padding:0}.pill{font-size:10px}.tracklist{grid-template-columns:1fr 1fr}.workoutsettings{gap:10px}.workoutsettings label{min-width:85px}#timingState{margin-left:0}.dialogheading h2{font-size:19px}dialog{padding:18px}.heading input{font-size:20px}.segment{grid-template-columns:72px 1fr 33px}}
@media(pointer:coarse){button{min-height:44px}input,select,textarea{font-size:16px}}
.examplenote{padding:12px 26px;border-bottom:1px solid var(--line);background:var(--panel);font-size:12px;color:var(--muted)}#examplesDialog{--edge:var(--repeat)}.examplenotation{margin-top:18px;font-weight:600;overflow-wrap:anywhere}@media(max-width:520px){.examplenote{padding:12px 17px}}

/* Keep selection separate from hover and preserve the settings shell across tabs. */
.block.selected > .blockheader{outline:2px solid var(--accent);outline-offset:2px}
#blockDialog{height:min(760px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);overflow:hidden}
#blockForm{height:100%;min-height:0;display:flex;flex-direction:column}
#blockForm > .dialogheading,#blockForm > .enablecontrol,#blockForm > .tabs,#blockForm > .dialogfooter,#blockError{flex-shrink:0}
#blockForm > .dialogheading h2{max-height:3em;overflow:auto;overflow-wrap:anywhere}
#blockForm > .tabs{display:flex;flex-wrap:wrap;gap:6px}
#blockFields{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;padding:3px 6px 6px 3px}
#blockForm > .dialogfooter{margin-top:12px}

.selectiontools{height:76px;overflow:auto;align-content:flex-start}
.selectiontools[hidden]{display:flex!important;visibility:hidden}
@media(max-width:780px){.selectiontools{height:120px}}
