*{box-sizing:border-box}body{margin:0;background:#11101c;color:#f5f2ff;font:16px/1.6 system-ui,sans-serif}header{padding:40px max(5vw,20px);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(110deg,#3d173d,#20192d)}h1{font-size:clamp(28px,4vw,42px);margin:4px 0}h2{font-size:21px;margin:0 0 14px}p{margin:6px 0 18px;color:#cbc5d9}.eyebrow{letter-spacing:.25em;color:#ff8bbe;font-weight:700}.badge{border:1px solid #76506c;border-radius:24px;padding:8px 18px;white-space:nowrap}main{max-width:1200px;margin:auto;padding:24px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.card{background:#1d1b2b;border:1px solid #353045;border-radius:20px;padding:24px;margin-bottom:24px}label{display:block;font-size:14px;color:#d7d0e7;margin:14px 0}input:not([type=file]),textarea{display:block;width:100%;padding:12px;margin-top:6px;border:1px solid #51485f;border-radius:10px;background:#12111e;color:white;font:inherit}textarea{resize:vertical}button,.file{display:inline-block;background:#ec4c96;color:#fff;border:0;border-radius:10px;padding:11px 18px;font:600 15px system-ui;cursor:pointer;text-align:center}button:disabled{opacity:.45;cursor:wait}.secondary{background:#363044;border:1px solid #5d526b}.file input{display:none}.hint{font-size:13px;color:#aaa0bb}audio{width:100%;margin:16px 0}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.lines{max-height:530px;overflow:auto;padding:8px 0}.line{display:grid;grid-template-columns:90px 1fr;gap:14px;align-items:center;padding:12px 8px;border-bottom:1px solid #343040}.line.active{background:#47223c;color:#ff8abd;border-radius:10px}.line input{margin:0!important;padding:8px!important}.sticky{display:flex;gap:10px;align-items:center;margin-bottom:14px;position:sticky;top:0;background:#1d1b2b;padding:8px 0}#clock{margin-left:auto;font-variant-numeric:tabular-nums;color:#ff8abd}.publish{display:flex;gap:24px;justify-content:space-between;align-items:center}.publish p{margin-bottom:0}#notice:not(:empty){padding:12px 18px;border:1px solid #c14f7d;background:#422039;border-radius:12px;color:#ffe3ef}progress{width:150px}.track{padding:12px 0;border-bottom:1px solid #3d3549}.track small{display:block;color:#b8afc8}@media(max-width:760px){header{padding:28px 20px}.badge{display:none}.grid{grid-template-columns:1fr}.publish{align-items:flex-start;flex-direction:column}main{padding:16px}.card{padding:18px}.sticky{flex-wrap:wrap}}

[hidden]{display:none!important} #login{max-width:28rem;margin:2rem auto} #login label{display:block;margin:1rem 0}

#steps {display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
#steps button,.lyric {background:transparent;color:inherit;border:1px solid currentColor}
#steps [aria-current=step]{background:#4032a8;color:white}
.step label{display:block;margin:1rem 0}.step input:not([type=file]),.step textarea{display:block;width:100%}
#workspace>audio{width:100%;margin:1rem 0}.lyric{text-align:left;border:none}

#assignments fieldset{margin:1rem 0;border:1px solid #7776;padding:.65rem;border-radius:.5rem}#assignments label{display:inline-flex;align-items:center;gap:.4rem;margin:.35rem .9rem .35rem 0}#assignments input[type=checkbox]{width:auto}

.space-help { padding:.8rem 1rem; color:#172d4b; background:#eaf4ff; border-left:4px solid #326ea4; border-radius:.35rem; }
.space-help kbd { display:inline-block; padding:.1rem .5rem; font:inherit; background:#fff; border:1px solid #6a829a; border-bottom-width:3px; border-radius:.3rem; }
.lines .line.next-cue { background:#eaf4ff; color:#172d4b; box-shadow:0 2px 8px #203d5d29; }
.next-cue .lyric small { display:block; margin-top:.25rem; font-size:.85rem; font-weight:600; color:#214f77; }
