:root{color-scheme:dark;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#09090b;color:#fafafa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{background:#27272a;color:#fafafa;border:1px solid #52525b;border-radius:12px;min-height:44px;padding:10px 16px;font-weight:650;cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:hover:enabled{background:#3f3f46}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}a{color:#f59e0b}input,select,textarea{background:#18181b;color:#fafafa;border:1px solid #71717a;border-radius:8px;padding:10px;max-width:100%}input[type=number]{width:140px}input[type=checkbox]{accent-color:#f59e0b;width:20px;height:20px;vertical-align:middle;margin-right:10px}textarea{width:100%;resize:vertical}fieldset{padding:0;border:0;min-width:0}.primary{background:#f59e0b;color:#18181b;border-color:#f59e0b}.primary:hover:enabled{background:#fbbf24}.panic{background:#991b1b;border-color:#ef4444}.panic:hover:enabled{background:#b91c1c}.setup{max-width:1100px;margin:0 auto;padding:24px}.setup-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.setup-header nav{display:flex;gap:18px;align-items:center}.card{background:#18181b;border:1px solid #3f3f46;border-radius:16px;padding:24px;margin:20px 0}.card h2{margin-top:0}.card p{line-height:1.6;color:#d4d4d8}.fields{display:flex;flex-wrap:wrap;gap:20px;margin:20px 0}.field{display:flex;flex-direction:column;gap:8px;margin:12px 0}.field>span{font-weight:650}.checks{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:16px 0}.checks>div{display:flex;gap:8px;align-items:center}.confirm{display:block;font-size:20px;margin:24px 0}.bindings{display:flex;flex-direction:column;gap:12px;margin-top:16px}.bindings>div{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.bindings strong{min-width:160px}.bindings code{padding:8px;background:#09090b;border-radius:6px}.mix{display:flex;gap:20px;flex-wrap:wrap;align-items:center;margin:16px 0}.mix>span,.mix>label:first-child{min-width:130px}.mix input[type=range]{flex:1;min-width:160px}.success{color:#86efac!important}.error-banner{background:#7f1d1d;color:#fff;position:fixed;top:0;left:0;right:0;z-index:100;padding:12px 20px;display:flex;gap:16px;align-items:center;box-shadow:0 8px 30px #000}.error-banner>span{flex:1;font-size:20px}.error-banner~.stage{padding-top:92px}.error-banner~.setup{padding-top:100px}.package-card{display:flex;align-items:center;justify-content:space-between;gap:20px}summary{font-size:20px;font-weight:750;cursor:pointer}.stage{height:100dvh;min-height:660px;padding:16px;display:flex;flex-direction:column;gap:12px;overflow:hidden;border:4px solid transparent}.stage-header{display:flex;gap:20px;justify-content:space-between;align-items:center;flex:none}.stage-header>div:first-child{min-width:0}.stage h1{font-size:clamp(48px,5vw,64px);line-height:1.08;margin:8px 0;overflow-wrap:anywhere;max-height:140px;overflow:auto}.stage-meta{font-size:22px;font-weight:700;color:#d4d4d8}.status{text-align:center;flex:none;padding:12px;border-radius:14px;background:#27272a;font-size:28px;font-weight:800}.status small{display:block;font-size:18px;margin-top:8px;font-weight:500}.status-playing{background:#14532d}.status-counting{background:#854d0e}.status-error{background:#991b1b}.queue-status{font-size:24px;background:#422006;border:2px solid #f59e0b;padding:6px 12px;border-radius:8px}.stage-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,3fr) minmax(240px,1fr);grid-template-rows:minmax(0,1fr) 104px;gap:12px}.stage-grid.modules-1{grid-template-columns:1fr;grid-template-rows:1fr}.stage-grid.modules-2{grid-template-rows:1fr}.stage-module{min-width:0;min-height:0;overflow:hidden;border:1px solid #52525b;border-radius:16px;background:#18181b;padding:12px}.ordinal-2{grid-column:1/-1}.notes-module{display:flex;flex-direction:column}.stage-notes{flex:1;min-height:0;overflow-y:hidden;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.stage-notes h3{font-size:18px;text-transform:uppercase;letter-spacing:.06em;color:#f59e0b;margin:0 0 8px}.stage-notes article{padding:8px 0 24px}.note-personal{border-left:4px solid #f59e0b;padding-left:16px!important}.note-item{border-left:4px solid #93c5fd;padding-left:16px!important}.notes-controls{display:flex;justify-content:space-between;gap:12px;flex:none;padding-top:8px}.notes-controls button{min-height:48px}.stage-setlist{height:100%;overflow:auto;display:flex;flex-direction:column;gap:8px}.stage-setlist button{display:flex;gap:12px;text-align:left;font-size:22px;flex:none;min-height:64px}.stage-setlist small{display:block;color:#f59e0b;font-size:16px}.stage-setlist .current{border:3px solid #f59e0b;background:#422006}.stage-setlist .queued{border:3px dashed #f59e0b}.click-module{position:relative;display:flex;align-items:center}.beat-band{position:relative;display:flex;gap:8px;flex:1;height:100%;min-height:60px}.beat{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;border:2px solid #71717a;border-radius:10px;font-size:clamp(24px,4vw,52px);font-weight:800;background:#27272a}.beat.downbeat{border-width:5px;border-radius:0}.beat.lit{background:#f59e0b;color:#09090b}.beat-cursor{position:absolute;bottom:0;width:6px;height:100%;background:#fafafa;pointer-events:none}.count-number{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:96px;color:#fff;background:#09090ba8;z-index:2;pointer-events:none;text-shadow:0 0 8px #000}.stage-footer{flex:none}.transport{display:flex;gap:8px}.transport button{flex:1;min-height:64px;font-size:18px;padding:10px 8px}.active-mute{background:#7c2d12;border:3px solid #fb923c}.stage-tools{display:flex;align-items:center;gap:12px;margin-top:8px}.stage-tools span{flex:1;color:#a1a1aa;font-size:14px}.stage-tools button{min-height:36px;padding:6px 12px;font-size:14px}.advanced-panel{position:fixed;right:20px;top:160px;bottom:170px;width:min(600px,90vw);background:#18181b;border:2px solid #f59e0b;border-radius:16px;padding:24px;overflow:auto;z-index:40;box-shadow:0 0 40px #000}.muted-text{color:#a1a1aa}.high-contrast .stage-meta,.high-contrast .stage-tools span{color:#fff}@media(max-width:800px){.stage{min-height:740px}.stage-grid{grid-template-columns:minmax(0,2fr) minmax(180px,1fr)}.stage h1{font-size:48px}.stage-meta{font-size:18px}.transport{flex-wrap:wrap}.transport button{flex:1 0 22%;font-size:16px}.setup-header,.package-card{flex-wrap:wrap}.stage-tools span{display:none}}.stage{gap:14px;padding:20px;min-height:640px}.stage h1{font-size:clamp(44px,4.4vw,60px);max-height:none;overflow:visible;margin:6px 0;line-height:1.05}.stage-meta{font-size:18px;color:#a1a1aa}.status{font-size:22px;border-radius:6px;background:transparent;display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:250px;justify-content:center}.status>svg{width:32px;height:32px}.status small{width:100%;font-variant-numeric:tabular-nums}.status-playing{color:#86efac}.status-counting{color:#f59e0b}.status-error{color:#fca5a5}.stage-grid{grid-template-columns:minmax(0,3fr) minmax(250px,1fr);grid-template-rows:minmax(0,1fr) 80px}.stage-module{border-color:#34343a;border-radius:8px;padding:16px}.notes-heading,.section-label{display:flex;gap:10px;align-items:center;font-size:16px;text-transform:uppercase;letter-spacing:.08em;color:#a1a1aa;flex:none;margin-bottom:14px}.page-count,.section-label>span{margin-left:auto;font-size:18px;color:#fafafa;letter-spacing:0;font-variant-numeric:tabular-nums}.stage-notes{overflow:hidden;white-space:pre;flex:1;min-height:0}.stage-notes article{padding:0 0 14px}.stage-notes h3{line-height:24px;font-size:15px;margin:0 0 14px;letter-spacing:.04em}.stage-notes p{margin:0}.note-personal,.note-item{border:0;padding-left:0!important}.note-personal h3{color:#f59e0b}.note-item h3{color:#93c5fd}.notes-controls{align-items:center;gap:20px;padding-top:12px}.notes-controls button{display:flex;align-items:center;gap:8px;min-height:52px;font-size:16px;background:transparent;border-color:#52525b;border-radius:6px}.notes-controls svg{width:24px;height:24px}.page-progress{flex:1;height:3px;background:#3f3f46}.page-progress>span{display:block;height:100%;background:#f59e0b}.setlist-module{display:flex;flex-direction:column}.stage-setlist{overflow:hidden;height:auto;flex:1;gap:8px}.stage-setlist button{font-size:20px;line-height:1.2;min-height:64px;border-radius:6px;padding:12px;align-items:center;flex:1;min-width:0}.stage-setlist button>span:last-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.stage-setlist .current{background:#332a15;border:2px solid #f59e0b}.stage-setlist .queued{border:2px dashed #f59e0b}.stage-setlist small{display:flex;align-items:center;margin-top:5px}.entry-number{width:24px;flex:none;color:#a1a1aa;font-size:16px}.current .entry-number{color:#f59e0b}.click-module{gap:28px;background:transparent;border:0;padding:0 12px;pointer-events:none}.click-caption{display:flex;gap:8px;align-items:center;min-width:145px;flex-wrap:wrap;color:#a1a1aa;font-size:16px}.click-caption strong{width:100%;font-size:24px;color:#fafafa}.click-caption small{font-size:13px;font-weight:500}.beat-band{gap:0;min-height:40px;height:66px;align-items:stretch;border:0;background:linear-gradient(#52525b,#52525b) left 47px/100% 2px no-repeat}.beat{position:relative;border:0!important;border-radius:0!important;background:transparent!important;display:block;font-size:18px;text-align:left;color:#a1a1aa;padding-left:12px}.beat span{position:absolute;top:0;left:12px;line-height:24px}.beat i{position:absolute;top:35px;left:12px;width:3px;height:26px;background:#71717a}.beat.downbeat i{width:16px;height:16px;top:40px;left:6px;transform:rotate(45deg);background:#d4d4d8}.beat.downbeat span{font-weight:900;color:#fafafa}.beat.lit{color:#f59e0b!important}.beat.lit i{background:#f59e0b;box-shadow:0 0 18px #f59e0b80}.beat-cursor{height:32px;top:32px;width:5px;background:#f59e0b}.count-number{font-size:84px;background:#09090bdd}.performance-controls{display:flex;align-items:stretch;gap:24px}.transport{display:flex;gap:10px;flex:1.5}.transport button{display:flex;align-items:center;justify-content:center;position:relative;min-height:88px;border-radius:8px;flex:1;padding:12px;min-width:64px}.transport button>svg{width:34px;height:34px;stroke-width:2.5}.transport .play-control{flex:1.25}.transport .play-control>svg{width:40px;height:40px}.performance-controls kbd{position:absolute;bottom:5px;right:9px;font:12px system-ui;opacity:.6}.bus-controls{display:flex;gap:10px;flex:1}.bus-controls button,.panic-control{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:85px;min-height:88px;border-radius:8px;flex:1}.bus-controls button>svg,.panic-control>svg{width:28px;height:28px}.bus-controls span,.panic-control span{font-size:13px;letter-spacing:.04em}.panic-control{flex:0 0 104px;margin-left:12px;border:2px solid #ef4444;background:#7f1d1d}.queue-status{display:flex;gap:12px;align-items:center;border-radius:6px;font-size:20px;padding:6px 12px}.stage-tools{margin-top:12px;gap:12px}.stage-tools button{display:grid;place-items:center;min-width:44px;min-height:40px;background:transparent;border-color:transparent}.stage-tools button>svg{width:22px;height:22px}.advanced-close{position:absolute;right:20px;top:20px}.advanced-entry{display:block;width:100%;text-align:left;margin-top:8px}.advanced-panel{top:100px;bottom:180px}.high-contrast .click-module{background:transparent}.high-contrast .notes-heading,.high-contrast .section-label,.high-contrast .stage-meta{color:#fff}@media(max-width:800px){.performance-controls{gap:10px}.transport{flex-wrap:nowrap;gap:6px}.transport button{min-width:48px}.bus-controls{gap:6px}.bus-controls button{min-width:64px}.panic-control{flex-basis:76px;margin-left:0}.click-caption{min-width:100px}.stage{padding:12px}.stage h1{font-size:44px}}.stage-grid:has(.notes-module.ordinal-2){grid-template-rows:minmax(110px,1fr) minmax(0,3fr)}.stage-grid:has(.setlist-module.ordinal-2){grid-template-rows:minmax(0,1fr) 150px}.setlist-module.ordinal-2 .stage-setlist{flex-direction:row}.setlist-module.ordinal-2 .stage-setlist button{flex:1;min-height:64px}.bus-controls{align-items:stretch}.bus-control{position:relative;flex:1;min-width:90px;--bus-color:#f59e0b}.bus-backing{--bus-color:#7dd3fc}.bus-controls .bus-button{width:100%;height:88px;position:relative;isolation:isolate;overflow:hidden;padding:12px;border:1px solid #55555e;background:#1f1f24}.bus-fill{position:absolute;left:0;bottom:0;width:100%;background:color-mix(in srgb,var(--bus-color) 24%,transparent);border-top:2px solid color-mix(in srgb,var(--bus-color) 75%,transparent);z-index:-1;pointer-events:none}.bus-content{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center}.bus-content>svg{width:28px;height:28px}.bus-content>span{font-size:14px;letter-spacing:.03em}.bus-controls .bus-level{position:absolute;right:10px;top:7px;font-size:13px;letter-spacing:0;color:#fafafa;font-variant-numeric:tabular-nums;font-weight:750}.bus-button.active-mute{border:2px solid #fb923c;background:#32211d}.mute-label{color:#fdba74;font-size:11px!important}.bus-fader{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);width:176px;padding:12px 16px 18px;z-index:60;background:#15151a;border:2px solid var(--bus-color);border-radius:12px;box-shadow:0 12px 32px #000b;cursor:default}.bus-fader:after{content:"";position:absolute;left:calc(50% - 7px);bottom:-9px;width:14px;height:14px;background:#15151a;border-right:2px solid var(--bus-color);border-bottom:2px solid var(--bus-color);transform:rotate(45deg)}.fader-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.fader-heading strong{font-size:20px}.bus-controls .fader-close{min-width:44px;min-height:44px;flex:0 0 44px;padding:8px;background:transparent;border:1px solid #52525b;border-radius:6px}.bus-controls .fader-close>svg{width:24px;height:24px}.fader-value{display:block;text-align:center;font-size:36px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2;margin:4px 0 12px;color:var(--bus-color)}.fader-value small{font-size:20px;margin-left:4px}.vertical-fader{display:flex;align-items:stretch;justify-content:center;gap:16px;height:240px}.fader-scale{display:flex;flex-direction:column;justify-content:space-between;padding:12px 0;color:#d4d4d8;font-size:16px;font-variant-numeric:tabular-nums}.bus-fader input[type=range]{writing-mode:vertical-lr;direction:rtl;appearance:none;flex:none;width:64px;min-width:64px;height:240px;background:transparent;border:0;padding:0;cursor:ns-resize;touch-action:none}.bus-fader input[type=range]::-webkit-slider-runnable-track{width:10px;height:100%;background:linear-gradient(to top,var(--bus-color) var(--fader-level),#44444d var(--fader-level));border:1px solid #71717a;border-radius:6px}.bus-fader input[type=range]::-webkit-slider-thumb{appearance:none;width:48px;height:28px;background:var(--bus-color);border:3px solid #09090b;border-radius:6px;margin-left:-20px;box-shadow:0 0 0 1px #ffffff80}.bus-fader input[type=range]::-moz-range-track{width:10px;height:100%;background:#44444d;border:1px solid #71717a;border-radius:6px}.bus-fader input[type=range]::-moz-range-thumb{width:44px;height:24px;background:var(--bus-color);border:3px solid #09090b;border-radius:6px}.high-contrast .bus-fill{background:color-mix(in srgb,var(--bus-color) 45%,transparent)}.performance-controls button:active{filter:brightness(1.18)}.transport .play-control:not(:disabled){box-shadow:0 0 0 1px #f59e0b33,0 4px 16px #0004}.transport button:disabled{opacity:.55}.bus-control:focus-within{outline-offset:3px}.stage-tools button:hover:enabled{border-color:#52525b}.page-progress{border-radius:3px;overflow:hidden}.shared-routing-hint{border-left:3px solid #f59e0b;padding:12px 16px;background:#422006;border-radius:6px}.shared-routing-status{color:#f59e0b;font-weight:650}.bus-routing-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:16px 0 24px}.bus-routing-card{padding:16px 20px;border:1px solid #52525b;border-radius:10px}.bus-routing-card legend{font-size:22px;font-weight:750;padding:0 8px}.bus-routing-card .fields{margin:8px 0;gap:20px}.bus-routing-card p{font-size:14px}.bus-routing-card select{min-height:48px;min-width:140px}@media(max-width:700px){.bus-routing-fields{grid-template-columns:1fr}}:root{--live-amber:#f59e0b;--live-orange:#ea580c;--live-highlight:#fbbf24}body{background:radial-gradient(ellipse at 50% 0%,#27201a 0,transparent 60%),#09090b}.stage{position:relative;border-color:transparent;background:radial-gradient(ellipse at 40% -30%,#f59e0b12,transparent 65%),#09090b}.stage:before{content:"";position:fixed;inset:0;z-index:55;pointer-events:none;opacity:0;box-shadow:inset 0 0 20px 4px #ffd782eb,inset 0 0 52px 18px #f59e0bb8,inset 0 0 140px 42px #ea580c70}.stage.pulse-glow:before{opacity:var(--beat-light,0)}.stage-header{padding:2px 4px 10px;border-bottom:1px solid #ffffff0c}.stage h1{letter-spacing:-.035em;text-shadow:0 2px 14px #0008}.card,.stage-module,.advanced-panel,.bus-routing-card{background:linear-gradient(145deg,#252529,#18181b 55%,#141416);border-color:#ffffff14;box-shadow:inset 0 1px #ffffff09,0 8px 24px #0004;border-radius:16px}button{background:linear-gradient(#343438,#242427);border-color:#ffffff21;box-shadow:inset 0 1px #ffffff12,0 3px #09090b,0 5px 12px #0005}button:hover:enabled{background:linear-gradient(#414146,#2e2e33)}button:active:enabled{box-shadow:inset 0 2px 6px #0008,0 1px #09090b;transform:translateY(1px)}.primary,.transport .play-control{background:linear-gradient(145deg,#fbbf24,#f59e0b 55%,#ea580c);border-color:#fbbf2480;color:#18181b;box-shadow:inset 0 1px #fff6,0 3px #803c0a,0 6px 24px #f59e0b25}.primary:hover:enabled{background:linear-gradient(145deg,#fcd34d,#fbbf24 55%,#f97316)}.transport .play-control:not(:disabled){box-shadow:inset 0 1px #fff6,0 3px #803c0a,0 6px 24px #f59e0b25}.transport button,.bus-controls .bus-button,.panic-control{border-radius:14px}.panic-control{background:linear-gradient(#9c2626,#651919);border-color:#ef444470;box-shadow:inset 0 1px #ffffff20,0 3px #340b0b,0 5px 18px #0006}.panic-control:hover:enabled{background:linear-gradient(#b93131,#7f1d1d)}.stage-setlist button{background:linear-gradient(135deg,#2a2a2e,#1d1d21);border-color:#ffffff10;border-radius:10px}.stage-setlist .current{background:linear-gradient(135deg,#f59e0b22,#ea580c0d);border:1px solid #f59e0b80;box-shadow:inset 3px 0 #f59e0b,inset 0 1px #ffffff0a,0 3px 14px #0004}.stage-setlist .queued{border:1px dashed #f59e0b}.stage-grid{grid-template-rows:minmax(0,1fr) 112px}.click-module{padding:12px 16px;border:1px solid #ffffff12;background:linear-gradient(#222225,#141416);gap:24px;box-shadow:inset 0 1px #ffffff09,0 5px 16px #0004}.beat-band{gap:12px;height:100%;min-height:60px;background:none;align-items:stretch}.beat{display:flex;align-items:center;justify-content:center;position:relative;padding:0;background:linear-gradient(#101012,#1b1b1e)!important;border:1px solid #ffffff15!important;border-radius:10px!important;box-shadow:inset 0 3px 8px #000a,0 1px #ffffff08;color:#71717a;font-size:clamp(28px,3.8vw,48px);overflow:visible}.beat span{position:static;line-height:1;font-variant-numeric:tabular-nums;z-index:1}.beat i{position:absolute;inset:0;width:auto;height:auto;border-radius:inherit;background:linear-gradient(145deg,#fbbf24,#f59e0b 60%,#ea580c);opacity:0;transform:none;box-shadow:0 0 22px #f59e0b70,inset 0 1px #fff6}.beat.downbeat{border-color:#f59e0b55!important}.beat.downbeat span{font-size:1.25em;color:#d4d4d8;font-weight:900}.beat.downbeat:after{content:"";position:absolute;top:8px;left:10px;width:7px;height:7px;transform:rotate(45deg);background:#f59e0b}.beat.downbeat i{inset:0;width:auto;height:auto;transform:none;border-radius:inherit}.beat.lit{color:#fafafa!important;border-color:#f59e0b99!important;box-shadow:inset 0 0 20px #f59e0b28,0 0 12px #f59e0b12}.beat.lit i{opacity:var(--beat-light,0)}.beat.lit span{color:#fff;text-shadow:0 2px 4px #000b}.beat.downbeat.lit i{box-shadow:0 0 32px #f59e0b90,inset 0 1px #fff8}.count-number{border-radius:12px;background:#09090bea;text-shadow:0 0 32px #f59e0b60;color:#fbbf24}.bus-click{--bus-color:#f59e0b}.bus-button{background:linear-gradient(#303034,#1d1d21)!important}.bus-fill{box-shadow:inset 0 1px color-mix(in srgb,var(--bus-color) 70%,transparent);background:linear-gradient(to top,color-mix(in srgb,var(--bus-color) 28%,transparent),color-mix(in srgb,var(--bus-color) 12%,transparent))}.bus-fader{background:linear-gradient(135deg,#303035,#17171a);border-width:1px;border-color:color-mix(in srgb,var(--bus-color) 55%,#3f3f46);box-shadow:inset 0 1px #ffffff15,0 16px 48px #000c,0 0 20px color-mix(in srgb,var(--bus-color) 12%,transparent)}.bus-fader input[type=range]::-webkit-slider-thumb{background:linear-gradient(#eeeeef,#a1a1aa 45%,#52525b 49%,#d4d4d8 56%,#a1a1aa);border:1px solid #fafafa60;box-shadow:0 3px 7px #000a,inset 0 1px #fff8;margin-left:-20px}.bus-fader input[type=range]::-moz-range-thumb{background:linear-gradient(#eeeeef,#a1a1aa 45%,#52525b 49%,#d4d4d8 56%,#a1a1aa);border:1px solid #fafafa60;box-shadow:0 3px 7px #000a}.song-setup-summary{display:list-item}.song-setup-summary>span:first-child{margin-right:16px}.song-setup-summary small{font-size:14px;color:#a1a1aa;margin-left:8px}.backing-source-badge{display:inline-block;font-size:13px;font-weight:600;padding:5px 10px;border-radius:20px;background:#f59e0b12;color:#fbbf24;border:1px solid #f59e0b30;max-width:100%;overflow-wrap:anywhere}.backing-source-card{padding:20px;margin:20px 0;background:linear-gradient(135deg,#f59e0b08,#09090b50);border:1px solid #f59e0b25;border-radius:12px}.backing-source-card h3{margin-top:0}.backing-source-card a{display:inline-block;margin-bottom:12px}.backing-save-hint,.backing-empty{font-size:14px}.high-contrast .stage-module{background:#000;border-color:#fff}.high-contrast .beat{border-color:#fff!important}.high-contrast .beat.lit{outline:2px solid #fbbf24}.high-contrast .beat.lit i{opacity:1}@media(max-width:800px){.stage-grid{grid-template-rows:minmax(0,1fr) 100px}.beat-band{gap:8px}.click-module{gap:12px}}@media(prefers-reduced-motion:reduce){.stage.pulse-glow:before{opacity:0}.beat.lit i{opacity:1}button:active:enabled{transform:none}}.click-module{overflow:visible}.tempo-control{position:relative;pointer-events:auto;width:100%;z-index:45}.tempo-toggle{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:6px 0;background:transparent!important;border:0;box-shadow:none}.tempo-toggle strong{white-space:nowrap}.tempo-toggle:disabled{opacity:1}.tempo-popover{position:fixed;bottom:140px;left:24px;max-height:calc(100dvh - 180px);overflow:auto;width:300px;max-width:calc(100vw - 48px);padding:20px;background:linear-gradient(135deg,#303035,#17171a);border:1px solid #f59e0b80;border-radius:16px;box-shadow:inset 0 1px #fff1,0 16px 48px #000c;color:#fafafa}.tempo-close{min-width:44px;padding:8px}.tempo-popover form{display:flex;gap:12px;align-items:end;margin:16px 0}.tempo-popover .field{margin:0}.tempo-popover input{width:120px;font-size:28px}.tempo-popover form button{min-height:56px}.tempo-popover .tap-tempo{display:flex;position:relative;align-items:center;justify-content:center;gap:12px;min-height:72px;width:100%;font-size:22px;background:linear-gradient(145deg,#fbbf24,#f59e0b,#ea580c);color:#18181b}.tap-tempo kbd{position:absolute;right:8px;bottom:6px;font-size:12px}.clear-tempo{margin-top:12px;width:100%}.tempo-popover p{line-height:1.45;font-size:14px;color:#a1a1aa;margin-bottom:0}.click-caption .tempo-toggle strong{font-size:24px}.song-save-status{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.unsaved-badge,.pending-song-hint{color:#fbbf24}.unsaved-badge{font-size:13px;letter-spacing:.02em}.defaults-apply{border-top:1px solid #3f3f46;margin-top:20px;padding-top:12px}.defaults-apply>label{display:flex;gap:10px;align-items:center;margin:12px 0}.first-one-import{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:12px 0 20px;color:#fbbf24}.first-one-import button{margin:0}.song-defaults-card .fields{margin:20px 0}.count-number small{display:block;font-size:20px;line-height:1.4;letter-spacing:.04em;color:#d4d4d8;text-shadow:none}.live-document{display:flex;flex-direction:column;min-height:0;height:100%;position:relative;--chord-size:32px;--lyrics-size:32px;--line-height:1.4}.live-document .notes-heading{justify-content:space-between}.live-document .notes-heading small{font-size:12px;text-transform:none;letter-spacing:0}.live-document-viewport{position:relative;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.live-document-columns{position:relative;min-height:100%;min-width:100%}.live-segment{display:inline-flex;flex-direction:column;vertical-align:top;white-space:pre;line-height:var(--line-height);width:max-content;max-width:none;break-inside:avoid}.live-chord{font-size:var(--chord-size);color:#fbbf24;font-weight:700}.live-chord:empty,.live-lyric:empty{display:none}.live-lyric,.live-comment{font-size:var(--lyrics-size)}.live-section{font-size:var(--lyrics-size);font-weight:800;color:#93c5fd}.live-comment.boxed{outline:1px solid currentColor}.live-document-probe{position:fixed;left:-100000px;top:0;width:max-content;visibility:hidden;pointer-events:none}.live-abc{width:max-content}.live-abc svg{display:block;max-width:none}.stage-grid.document-grid{display:flex;flex-wrap:wrap;align-content:stretch;overflow:auto}.document-grid>.stage-module{flex-grow:1;flex-shrink:0}.chordpro-module{min-height:250px}.document-grid>.notes-module{min-height:200px}.stage.theme-light{background:#f4f4f5;color:#18181b}.theme-light .stage-module{background:#fff;color:#18181b}.theme-light .stage-meta,.theme-light .notes-heading{color:#52525b}.theme-light .live-chord{color:#92400e}.theme-light .live-section{color:#1d4ed8}.live-document .notes-heading{height:32px;min-height:32px}.live-document .notes-heading small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transport-module{display:flex;align-items:center}.transport-module .performance-controls{width:100%}.theme-light.high-contrast .stage-module{color:#fff}.theme-light.high-contrast .live-chord{color:#fbbf24}@media(prefers-color-scheme:light){.stage.theme-system{background:#f4f4f5;color:#18181b}.theme-system .stage-module{background:#fff;color:#18181b}.theme-system .stage-meta,.theme-system .notes-heading{color:#52525b}.theme-system .live-chord{color:#92400e}.theme-system .live-section{color:#1d4ed8}.theme-system.high-contrast .stage-module{background:#000;color:#fff}.theme-system.high-contrast .live-chord{color:#fbbf24}}
