:root{--red: #c8102e;--black: #000;--white: #fff;--shade: #f0f0f0;--shade-strong: #e2e2e2;--line: #d6d6d6;--gray: #595959;--controls: 400px;--gap: 6px;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.3;color:var(--black);background:var(--white);-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;background:var(--white)}button,input,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.4}:focus-visible{outline:2px solid var(--red);outline-offset:2px}input[type=range]{margin:0;accent-color:var(--black)}.message{margin:40px 24px;font-size:16px}.note{margin:8px 0;color:var(--gray);font-size:13px}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.song-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 16px;padding:16px 24px 12px}.song-header h1{margin:0;font-size:26px;font-weight:700;letter-spacing:-.01em}.song-header .sub{color:var(--gray)}.songs-link{margin-left:auto;color:var(--gray);font-size:13px}.songs-link:hover{color:var(--red)}.line{display:flex;align-items:center;gap:8px;min-height:32px}.name{width:64px;flex:none;display:flex;flex-direction:column;line-height:1.15;overflow:hidden}.name b{font-size:16px}.name small{font-size:11px;color:var(--gray);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mine .name b,.mine .name small{color:var(--red)}.icon-btn{width:32px;height:32px;flex:none;display:grid;place-items:center;padding:0;background:var(--white);border:1px solid var(--black)}.icon-btn[aria-pressed=true]{background:var(--black);color:var(--white)}.icon-btn.plain{border:0;background:transparent}.icon-space,.fold-space{width:32px;flex:none}.fold{border-color:transparent;background:transparent}.fold:hover{border-color:var(--black)}.vol{flex:1;min-width:40px}.db{width:64px;flex:none;text-align:right;font-variant-numeric:tabular-nums;font-size:13px}.is-muted .vol,.is-muted .pan input{opacity:.45}.is-muted .db{color:var(--gray)}.pan{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--gray)}.pan input{width:84px}.presets{display:inline-flex;margin-left:auto;border:1px solid var(--black);background:var(--white)}.presets button{height:30px;padding:0 9px;border:0;border-left:1px solid var(--black);background:var(--white);font-size:12px;font-weight:600;white-space:nowrap}.presets button:first-child{border-left:0}.presets button.active{background:var(--red);color:var(--white)}.presets button.modified{color:var(--red);box-shadow:inset 0 0 0 2px var(--red)}.presets button.modified:after{content:"";display:inline-block;width:6px;height:6px;margin-left:5px;border-radius:50%;background:var(--red);vertical-align:middle}.wave{position:relative;flex:1 1 auto;min-height:44px;cursor:ew-resize;touch-action:pan-y;user-select:none}.wave canvas{position:absolute;inset:0;width:100%;height:100%}.wave .status{position:absolute;left:8px;top:50%;transform:translateY(-50%);padding:1px 4px;font-size:12px;color:var(--gray);background:var(--white)}.mark-line{position:absolute;top:0;bottom:0;border-left:1px dashed rgba(0,0,0,.45);pointer-events:none}.playhead{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--red);pointer-events:none}.strip{position:relative;flex:none;overflow:hidden;cursor:pointer;user-select:none;background:var(--white)}.strip img{position:absolute;top:0;left:33.333%;max-width:none;pointer-events:none;will-change:transform}.strip.muted img{opacity:.3}.strip .cursor{position:absolute;top:0;bottom:0;left:33.333%;width:2px;margin-left:-1px;background:var(--red);pointer-events:none}.strip .label{position:absolute;top:3px;left:6px;padding:0 4px;font-size:11px;font-weight:700;background:var(--white);pointer-events:none}.strip .label.mine{color:var(--red)}.ruler{position:relative;height:64px;user-select:none}.ruler-hit{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}.ruler .tick{position:absolute;bottom:0;height:7px;border-left:1px solid var(--black);pointer-events:none}.ruler .tick.major{height:16px}.ruler .num{position:absolute;bottom:2px;left:3px;font-size:11px;font-variant-numeric:tabular-nums}.ruler .run{position:absolute;top:38px;height:6px;border:1px solid var(--black);border-bottom:0;pointer-events:none}.ruler .run span{position:absolute;bottom:7px;left:50%;transform:translate(-50%);font-size:11px;font-weight:600;white-space:nowrap}.ruler .flag{position:absolute;top:0;height:18px;min-width:18px;max-width:160px;padding:0 5px;border:1px solid var(--black);background:var(--black);color:var(--white);font-size:11px;font-weight:700;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ruler .flag.bookmark{background:var(--white);color:var(--black);font-weight:600}.ruler.compact{height:44px}.ruler.compact .flag{height:16px;min-width:16px;max-width:56px;padding:0 3px;font-size:10px;line-height:14px}.ruler.compact .run{top:22px}.desk{flex:1;display:flex;flex-direction:column;gap:var(--gap);padding:0 24px 16px}.row{display:grid;grid-template-columns:var(--controls) minmax(0,1fr);min-height:84px}.row>.controls{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:8px 12px;background:var(--shade)}.row.master>.controls{background:var(--shade-strong)}.row>.lane{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0;padding:4px 0 4px 12px}.row.open .wave{flex:0 0 48px}.row.open>.controls{justify-content:flex-start}.transport{position:sticky;bottom:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;padding:10px 24px;background:var(--black);color:var(--white)}.transport .buttons{display:flex;align-items:center;gap:8px}.transport .icon-btn{width:40px;height:40px;background:transparent;color:var(--white);border-color:var(--white)}.transport .icon-btn[aria-expanded=true]{background:var(--white);color:var(--black)}.transport .play{width:52px;height:52px;flex:none;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:var(--white);color:var(--black)}.where{display:flex;align-items:baseline;gap:10px;min-width:300px}.where .bar{font-size:22px;font-weight:700}.badge{padding:2px 6px;background:var(--red);color:var(--white);font-size:12px;font-weight:700}.where .time{color:#c4c4c4;font-variant-numeric:tabular-nums}.goto{display:flex;align-items:center;gap:6px}.goto label{color:#c4c4c4}.goto input{width:64px;height:36px;padding:0 8px;border:1px solid var(--white);border-radius:0;background:var(--black);color:var(--white)}.seg{display:inline-flex;border:1px solid currentColor}.seg button{height:34px;min-width:40px;padding:0 8px;border:0;border-left:1px solid currentColor;background:transparent}.seg button:first-child{border-left:0}.seg button[aria-pressed=true]{background:var(--white);color:var(--black)}.go{height:36px;padding:0 16px;border:0;background:var(--white);color:var(--black);font-weight:700}.transport .settings{position:relative;margin-left:auto}.panel{display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--white);color:var(--black)}.transport .panel{position:absolute;right:0;bottom:calc(100% + 14px);width:320px;border:2px solid var(--black)}.panel-head{display:flex;align-items:center;justify-content:space-between;font-size:16px}.panel label{font-size:13px;color:var(--gray)}.panel select{height:40px;padding:0 8px;border:1px solid var(--black);border-radius:0;background:var(--white)}.panel small{color:var(--gray)}.phone{height:100vh;height:100dvh;overflow:hidden}.phone .song-header{padding:12px 16px 8px}.phone .song-header{flex-wrap:nowrap}.phone .song-header h1{font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.phone .song-header .sub{display:none}.phone-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--gap)}.mixbar{display:flex;flex-direction:column;gap:8px;padding:10px 16px;background:var(--shade)}.voice{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--gray)}.voice select{height:40px;min-width:120px;padding:0 8px;border:1px solid var(--black);border-radius:0;background:var(--white);color:var(--red);font-weight:700}.mixbar .presets{margin-left:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.mixbar .presets button{height:44px}.chips{display:flex;align-items:center;gap:6px;padding:0 16px;overflow-x:auto;font-size:12px;color:var(--gray)}.chips button{height:32px;min-width:40px;padding:0 8px;border:1px solid var(--black);background:var(--white);color:var(--black);font-weight:600;font-size:12px}.chips button[aria-pressed=true]{background:var(--black);color:var(--white)}.chips button.mine[aria-pressed=true]{background:var(--red);border-color:var(--red)}.strips{flex:1;display:flex;flex-direction:column;gap:2px;padding:0 0 4px}.strips .note{padding:0 16px}.overview{padding:6px 16px 10px;background:var(--shade)}.overview .wave{flex:none;height:44px;touch-action:none}.block{display:flex;flex-direction:column;gap:6px;padding:8px 16px;background:var(--shade)}.block.master{background:var(--shade-strong)}.block .icon-btn{width:44px;height:44px}.block .presets button{height:40px}.phone .transport{position:static;flex-direction:column;align-items:stretch;gap:6px;padding:8px 16px 10px}.phone .where{min-width:0}.phone .where .bar{font-size:18px}.phone .where .time{margin-left:auto}.phone .transport .buttons{justify-content:space-between}.phone .transport .icon-btn{width:44px;height:44px}.text-btn{height:44px;padding:0 12px;border:1px solid var(--white);background:transparent;color:var(--white);font-weight:600}.text-btn[aria-expanded=true]{background:var(--white);color:var(--black)}.sheet{display:flex;flex-direction:column;gap:10px;padding:12px 16px;background:var(--white);border-top:2px solid var(--black)}.sheet .panel{padding:0}.sheet .goto label{color:var(--gray)}.sheet .goto input{height:44px;border-color:var(--black);background:var(--white);color:var(--black)}.sheet .seg button{height:42px}.sheet .seg button[aria-pressed=true]{background:var(--black);color:var(--white)}.sheet .go{height:44px;background:var(--black);color:var(--white)}.marks{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:var(--gray)}.marks button{height:44px;min-width:44px;padding:0 10px;border:1px solid var(--black);background:var(--black);color:var(--white);font-weight:700}.marks button.bookmark{background:var(--white);color:var(--black);font-weight:600}.marks button small{font-weight:400;margin-left:4px}.tabs{display:grid;grid-template-columns:1fr 1fr;padding-bottom:env(safe-area-inset-bottom);background:var(--white)}.tabs button{height:52px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-top:3px solid transparent;background:var(--white);color:var(--gray);font-weight:600}.tabs button[aria-pressed=true]{border-top-color:var(--red);color:var(--black)}.songs{max-width:640px;margin:0 auto;padding:24px}.songs h1{font-size:26px}.songs h2{font-size:16px;color:var(--gray);margin:20px 0 6px}.songs ul{list-style:none;margin:0;padding:0}.songs li a{display:block;padding:10px 0;border-bottom:1px solid var(--line);color:var(--black);text-decoration:none;font-size:16px}.songs li a:hover{color:var(--red)}
