/* Stage Mode — performance-first visual system. Reading type remains independent of controls. */
:root{--maroon:#5c1220;--gold:#9b772f;--gold2:#cba85c;--bg:#faf7f0;--card:#fffdf9;--cream:#f3eddf;--line:#e7ddcd;--muted:#796d64;--r:12px;--r2:8px;--sh:0 6px 22px #30101808;--sh2:none}
:root[data-theme=dark]{--maroon:#e7bea5;--gold:#d5b36e;--gold2:#a48347;--bg:#170f12;--card:#21171a;--cream:#302227;--line:#453138;--muted:#bcae9f;--ink:#f0e5d5}
button,a,input{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.4}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.screen{height:100dvh;min-height:0}.scroll{min-height:0}.tool,.nav,.ghost,.pill{box-shadow:none;border-radius:9px;font-size:14px;min-height:44px;padding:8px 12px}.tool,.nav,.ghost{background:var(--card)}.tool:active,.ghost:active{background:var(--cream)}.bigbtn,.nav.next{background:#651629;color:#fff4e4;box-shadow:none;border-radius:9px}.nav.next{font-size:16px;letter-spacing:.04em}.foot{padding:8px 14px calc(8px + env(safe-area-inset-bottom));gap:8px;background:var(--card);border-top:1px solid var(--line);box-shadow:none}.foot .nav{min-height:46px;padding:8px 18px}.foot .nav.next{flex:1}.foot .tool{min-width:44px}.home-control,.pill.home-control{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;height:auto;min-width:44px;min-height:44px;flex:none}.home-control svg{width:19px;height:19px}.sync{font-size:11px;padding:4px 8px;white-space:nowrap}.sync:empty{display:none}.topbar{min-height:58px;gap:9px;box-shadow:none;background:#4b0c1a;padding:8px 18px}.topbar::after{height:1px;opacity:.55}.topbar .brand{font-size:24px;color:#e3be77}.topbar .pill{background:transparent;border-color:#ffffff30;color:#f3e7d5}.topbar #goStage{background:#e4bd71;color:#301018;border-color:#e4bd71}.topbar .sync{background:transparent;padding:4px}.namebar{font-size:19px;padding:5px 14px;min-height:34px;background:var(--cream);border-bottom:1px solid var(--line);gap:10px}
/* Reading space: explicit axes prevent desktop width rules leaking into portrait panes. */
#stage .head{gap:8px;padding:8px 14px;box-shadow:none;min-height:66px}#stage .ctitle{font-size:26px;font-weight:600}#stage .upnext{font-size:11px;line-height:1.3}#stage .head .tool{padding:6px 10px}#stage .head .sync{background:none;padding:3px 5px}#stage #off{max-width:108px;white-space:normal;text-align:center;line-height:1.3}.fseg{padding:3px;border-radius:8px}.fseg button{border-radius:6px;min-height:36px;font-size:12px;padding:6px 10px;letter-spacing:0}.fseg button.on{background:#651629;color:#fff6e8;box-shadow:none}
#stage .body{display:flex;flex-direction:row;min-height:0;overflow:hidden;gap:0}
#stage.lyon .body #scriptPane{flex:0 0 70%;width:70%;max-width:70%;min-height:0}
#stage.lyon.f-both .body #scriptPane{flex:0 0 50%;width:50%;max-width:50%}
#stage.lyon.f-lyrics .body #scriptPane{flex:0 0 30%;width:30%;max-width:30%}
#stage.lyon .body #lyrPane{flex:1 1 0;width:auto;max-width:none;min-height:0;height:auto;border-left:1px solid var(--line);border-top:0;border-radius:0;box-shadow:none}
#scriptPane .wrap{max-width:920px;padding:14px 24px 48px}.say{line-height:1.65;margin:12px 0}.say .ln{margin-bottom:.5em}.lybody{padding:16px 22px 48px}.ly{font-size:1em;line-height:1.65}.lysong .lst{font-size:1.4em}.lysong.focus{border-left-width:2px}.lysong .lmeta{letter-spacing:.04em}.lyhead{display:grid;grid-template-columns:minmax(90px,1fr) auto auto;gap:4px 8px;padding:6px 12px;align-items:center;box-shadow:none;z-index:4}.lyhead .lt{font-size:20px;line-height:1.15;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.lyhead .lt small{font-size:9px;letter-spacing:.12em;line-height:1.3}.lyhead>.tool{padding:4px 10px;min-height:40px}.lyhead>.autobar{grid-column:1/-1;border-top:1px solid var(--line);padding:3px 0 0;min-height:40px}
.autobar,.autobar.sbar{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;flex:none;padding:4px 12px;min-height:44px;max-width:100%}.autobar.sbar{background:var(--bg)}.autobar .tool{padding:3px;min-width:36px;min-height:36px;width:36px;border-radius:6px;font-size:13px}.autobar .al{font-size:10px;letter-spacing:.06em;white-space:nowrap}.autobar .as{font-size:10px;min-width:20px}.autobar input[type=range],.autobar.sbar input[type=range]{flex:1 1 80px;width:80px;min-width:40px;max-width:160px;height:30px;padding:0;border:0;box-shadow:none;background:transparent}.autobar .autoBtn.on{background:#651629;color:#fff4e4}
/* Portrait tablets and phones: reset ALL focus-specific widths. */
@media(max-width:900px),(orientation:portrait){
 #stage .body{flex-direction:column}
 #stage.lyon .body #scriptPane,#stage.lyon.f-both .body #scriptPane,#stage.lyon.f-lyrics .body #scriptPane{width:100%;max-width:100%;flex:1 1 0;min-height:0}
 #stage.lyon .body #lyrPane{width:100%;max-width:100%;flex:0 0 30%;height:30%;border-left:0;border-top:1px solid var(--gold2)}
 #stage.lyon.f-both .body #lyrPane{flex-basis:50%;height:50%}
 #stage.lyon.f-lyrics .body #lyrPane{flex-basis:70%;height:70%}
 #stage .head{flex-wrap:wrap}#stage .titlebox{flex:1;min-width:150px}#stage .fseg{margin-left:auto}
}
/* A one-row lyric toolbar when there is enough actual pane width. */
#lyrPane{container-type:inline-size}
@container(min-width:650px){.lyhead{grid-template-columns:minmax(120px,1fr) minmax(210px,auto) auto auto;min-height:56px}.lyhead>.autobar{grid-column:2;grid-row:1;border:0;padding:0}.lyhead>#lyNext{grid-column:3}.lyhead>#lyClose{grid-column:4}}
/* Compact setup, clear hierarchy, consistent navigation. */
#setupScroll>.wrap{max-width:1000px;padding:28px 24px 64px}.setup-intro{margin-bottom:28px}.setup-intro h1{font:600 42px/1.1 'Cormorant Garamond',Georgia,serif;color:var(--maroon);margin:8px 0}.setup-intro p{font-size:14px;color:var(--muted);margin:0}.card{border:1px solid var(--line);box-shadow:none;border-radius:12px;padding:18px}.card input{font-size:17px;padding:10px 12px;border-radius:7px}.grid2{gap:14px 18px}.cer{border-radius:0;padding:10px 12px;font-size:16px;gap:10px}.cer .num{min-width:30px;width:30px;height:30px;font-size:12px}.cer .mv{min-width:38px;min-height:40px;padding:4px}.cer .id{min-width:28px;font-size:12px}.mlog{box-shadow:none;border:1px solid var(--line);border-radius:9px;padding:10px 14px}.ml{font-size:12px}.ml:not(.first){display:none}.mlog .ghost{min-height:36px;font-size:12px}.caps .hint{font-size:11px}.pinrow input{min-width:0}
/* Remote: status once, search on demand, no sticky title collisions. */
.remote .rstat.ok,.remote .rstat:empty{display:none}.rstat{font-size:12px;padding:6px 12px}.remote .namebar{font-size:18px;padding:3px 12px}.rtools{padding:4px 12px;background:var(--bg)}.search-toggle{display:flex;align-items:center;gap:8px;min-height:36px;font-size:13px;color:var(--muted);padding:3px 0}.search-fields{padding:3px 0 6px}.rsrch input{min-height:42px;padding:8px 12px;font-size:16px;border-radius:7px}.rsrch .ghost{padding:4px 10px;border-radius:7px}.rhead{position:static;flex:none;padding:7px 14px;font-size:12px;border-bottom:1px solid var(--line);line-height:1.4}.rhead .caps{font-size:10px}.undobar{position:fixed;bottom:calc(76px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 28px);z-index:12;gap:10px;margin:0;padding:5px 6px 5px 12px;border-radius:9px;font-size:12px;background:var(--card);box-shadow:0 4px 20px #20081225}.undobar span{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.undobar .ghost{white-space:nowrap;min-height:36px;font-size:12px;padding:5px 10px}.rc,.rc.cur{border-radius:9px;box-shadow:none;margin:6px 0}.rc.cur{border-width:1px;border-left-width:3px}.rch{padding:10px 12px;gap:8px}.rc.cur .rch .t{font-size:19px}.rch .t{font-size:16px}.nowtag{font-size:9px;padding:3px 7px}.rsongs{padding:4px 10px 12px}.rs{padding:10px 12px;min-height:56px;margin:5px 0;border:1px solid var(--line);border-radius:8px;box-shadow:none;font-size:17px}.rs .k{font-size:19px;white-space:nowrap}.rs .n{font-size:13px;min-width:22px}.rs .st{font-size:17px;line-height:1.35}.remote .foot .nav{font-size:15px}.bt{border:1px solid var(--line);box-shadow:none;border-radius:9px}.bth .btt{font-size:23px}.nextbar{padding:8px 14px;border-bottom-width:1px}.nextbar .nt{font-size:23px}.lyrfull{border-radius:0;box-shadow:none}.chhead{padding:8px 14px}#outline{box-shadow:none}#otab{width:24px;min-height:44px;border-radius:0 6px 6px 0}
/* The entrance follows the public site's editorial, photographic identity. */
.screen.lp{background:#390914!important;color:#f6e7d5}.entry-nav{height:92px;max-width:1440px;margin:auto;padding:16px 5%;display:flex;align-items:center;gap:28px;border-bottom:1px solid #d6ad5b30}.entry-nav img{width:96px;height:60px;object-fit:contain}.entry-nav>span{font-size:10px;letter-spacing:.24em;color:#dcbd8a;margin-left:12px}.entry-nav a{margin-left:auto;color:#f1d9b6;text-decoration:none;font-size:12px;border:1px solid #b88d4b65;border-radius:30px;padding:10px 18px}.entry-grid{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;min-height:calc(100dvh - 92px)}.entry-story{position:relative;min-height:620px;overflow:hidden;display:flex;align-items:flex-end}.entry-photo{position:absolute;inset:0;background:linear-gradient(0deg,#390914 0%,#39091430 80%),linear-gradient(90deg,#39091445,transparent),url('/assets/performance.jpg') center 35%/cover}.entry-copy{position:relative;padding:48px 12%;width:100%}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.22em;color:#d9b875;line-height:1.6}.entry-copy h1{font:500 clamp(54px,5.5vw,86px)/.98 'Cormorant Garamond',Georgia,serif;letter-spacing:-.03em;margin:20px 0 24px;color:#fff0d9}.entry-copy h1 em{font-weight:500;color:#e7bd72}.entry-copy p{font-size:16px;color:#e7d1bb}.entry-caption{display:block;font-size:10px;letter-spacing:.12em;margin-top:36px;color:#d5bda7}.entry-access{padding:48px clamp(24px,5vw,76px);align-self:center;min-width:0}.entry-access>h2{font:500 58px/1 'Cormorant Garamond',Georgia,serif;letter-spacing:-.02em;color:#f9ecd9;margin:10px 0 12px}.entry-intro{color:#c6aba6;font-size:14px;margin:0 0 26px}.lp-roles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lp-role{display:flex;align-items:flex-start;gap:11px;position:relative;text-align:left;min-height:108px;padding:17px 13px;background:#ffffff04;border:1px solid #caa76940;border-radius:9px;color:#f5e6d1;transition:background .15s,border-color .15s}.lp-role.sel{background:#e3bd7616;border-color:#e3bd76}.lp-role:hover{background:#e3bd7620}.ric{flex:none;display:flex;padding-top:2px;color:#ddb96e}.ric svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.rtx{min-width:0}.rtx b{font:600 21px/1.1 'Cormorant Garamond',Georgia,serif;display:block;margin-bottom:7px}.rtx small{display:block;font-size:11px;line-height:1.5;color:#c6b1a7}.lp-role .rgo{font-size:12px;color:#d7b779;position:absolute;right:9px;top:7px}.lp-panel{padding-top:22px;margin-top:22px;border-top:1px solid #caa76930}.lp-ps{font-size:12px;color:#cdb5aa;margin:0 0 10px}.lp-code{background:#250710!important;border:1px solid #caa76955;color:#fff0d9!important;border-radius:7px;font-size:18px;padding:12px 14px;letter-spacing:.12em;height:48px}.lp-code::placeholder{color:#ae8f88;font-size:14px;letter-spacing:.04em}.lp-go{width:100%;background:#e3bb71;color:#300b15;display:flex;align-items:center;justify-content:space-between;border-radius:7px;padding:12px 17px;min-height:48px;margin-top:12px;font-size:14px;font-weight:700}.lp-go:disabled{opacity:.5}.lp-msg{font-size:12px;color:#f2c68a;min-height:0;margin:8px 0}.lp-msg:empty{display:none}.lp-help{font-size:12px;color:#d7baaa;display:block;margin:10px auto 0;padding:6px}.entry-footer{font:italic 17px 'Cormorant Garamond',Georgia,serif;text-align:center;color:#ac8b83;padding-top:28px}.lp .resume{border:1px solid #caa76960;background:#ffffff08;color:#ecd9b9;margin:0 0 20px;padding:12px 16px;border-radius:8px;box-shadow:none}.lp .resume b{color:#e3bb71}.lp .resume .rl{font-size:11px}.lp .resume small{font-size:11px}
@media(min-width:901px){body.hasol .undobar{margin-left:104px}}
@media(max-width:700px){.entry-nav{height:74px;padding:10px 22px}.entry-nav img{width:76px;height:50px}.entry-nav>span{display:none}.entry-grid{display:flex;flex-direction:column;min-height:0}.entry-story{min-height:220px;height:220px;flex:none}.entry-photo{background-position:center 38%}.entry-copy{padding:22px 26px}.entry-copy h1{font-size:42px;margin:10px 0 8px}.entry-copy h1 br{display:none}.entry-copy h1 em{display:block}.entry-copy p{font-size:13px;margin:0}.entry-copy .eyebrow,.entry-caption{display:none}.entry-access{padding:24px 24px 30px;align-self:stretch}.entry-access>h2{font-size:40px}.entry-intro{margin-bottom:18px;font-size:13px}.lp-role{min-height:91px;padding:13px 10px;gap:8px}.rtx b{font-size:19px}.ric svg{width:18px;height:18px}.lp-panel{margin-top:18px;padding-top:16px}.entry-footer{padding-top:20px}.entry-nav a{font-size:11px;padding:8px 13px}}
@media(max-width:600px){#stage .head{padding:6px 10px;gap:5px}#stage .titlebox{order:0;flex:1;min-width:160px}#stage .ctitle{font-size:21px}#stage #menu{margin:0}#stage #goHome{display:none}#stage .fseg{order:2;margin:0}#stage #toSongs{order:2;min-height:40px}#stage .head .sync{order:2;margin-left:auto;font-size:10px}#stage #off{display:none}#stage .fseg button{padding:5px 10px}#stage .head .upnext{font-size:10px}.namebar{font-size:17px;min-height:28px;padding:2px 10px}.foot{padding:6px 10px calc(6px + env(safe-area-inset-bottom));gap:5px}.foot .nav{padding:6px 12px}.foot .tool{padding:6px 8px}.autobar .al{font-size:9px}.autobar{gap:6px}.lyhead{padding:4px 10px;gap:2px 6px}.lyhead .lt{font-size:18px}.lyhead>.tool{font-size:12px}.lyhead>.autobar{min-height:37px}#scriptPane .wrap{padding:10px 16px 30px}.lybody{padding:12px 16px 30px}.topbar{padding:6px 12px;gap:7px}.topbar .brand{font-size:20px}.topbar .pill{min-height:40px}.topbar #off{display:none}#setupScroll>.wrap{padding:22px 16px 40px}.setup-intro h1{font-size:34px}.setup-intro{margin-bottom:22px}.setup .topbar .home-control span{display:none}.card{padding:14px}.cer{padding:8px 4px;gap:6px;font-size:14px}.cer .id{min-width:24px}.cer .num{min-width:25px;width:25px;height:25px}.cer .mv{min-width:32px;padding:4px;font-size:13px}.undobar span{max-width:210px}.remote .topbar .brand{font-size:21px}.rs{font-size:16px}.rc.cur .rch .t{font-size:18px}.rhead{font-size:11px}.rhead .caps{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.lp .lp-role .rtx b{color:#f7e7cf}.lp .lp-role .rtx small{color:#cdb8ac}.lp .lp-role .ric{background:none;border:0;box-shadow:none;border-radius:0;width:24px;height:26px}.lp .lp-role .ric svg{stroke:#dfbb77}.topbar .tlogo img{width:74px;height:42px;object-fit:contain}.topbar .tlogo{padding:0;display:flex;align-items:center}.topbar .wmk{font-size:23px}.autobar .autoBtn{border:1px solid var(--line)}
@container(min-width:440px) and (max-width:649px){.lyhead{grid-template-columns:minmax(95px,1fr) 140px auto auto;min-height:54px}.lyhead>.autobar{grid-column:2;grid-row:1;border:0;padding:0}.lyhead .autobar .al{display:none}.lyhead>#lyNext{grid-column:3}.lyhead>#lyClose{grid-column:4}}
:root[data-theme=dark]{color-scheme:dark}.access-settings{margin:32px 0 24px;padding-top:20px;border-top:1px solid var(--line)}.access-settings>h2{font:600 30px 'Cormorant Garamond',Georgia,serif;color:var(--maroon);margin:0 0 18px}.lp .resume .rgo{color:#e3bb71}
/* Performance layout: reading content gets the space. */
@media(max-width:1180px){.entry-grid{display:block;min-height:0}.entry-story{display:none}.entry-access{max-width:720px;margin:auto;padding:30px 28px 45px}.entry-access>h2{font-size:48px}.entry-nav{height:72px}.entry-nav img{height:50px}.lp-role{min-height:80px}.lp-panel{margin-top:16px;padding-top:15px}}
@media(min-width:650px){#stage .body{flex-direction:row!important}#stage.lyon .body #scriptPane{flex:0 0 50%!important;width:50%!important;max-width:50%!important}#stage.lyon.f-script .body #scriptPane{flex-basis:70%!important;width:70%!important;max-width:70%!important}#stage.lyon.f-lyrics .body #scriptPane{flex-basis:30%!important;width:30%!important;max-width:30%!important}#stage.lyon .body #lyrPane{flex:1 1 0!important;width:auto!important;height:auto!important;max-width:none!important;border-top:0;border-left:1px solid var(--line)}}
#stage .head{padding:5px 10px;min-height:48px;gap:5px}#stage .ctitle{font-size:20px}#stage .ctitle b{font-size:14px}#stage .upnext{font-size:10px}#stage .head .tool{min-height:36px;font-size:12px}#stage .namebar{padding:2px 10px;min-height:25px;font-size:15px}.fseg button{min-height:30px;padding:4px 8px;font-size:11px}#stage .foot{padding:4px 8px calc(4px + env(safe-area-inset-bottom))}#stage .foot .tool,#stage .foot .nav{min-height:40px}
.autobar,.autobar.sbar{min-height:0;padding:0;gap:3px}.autobar .autoBtn{min-width:34px;width:34px;min-height:34px}.auto-label{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.speed-menu{position:relative}.speed-menu summary{list-style:none;cursor:pointer;display:grid;place-items:center;min-width:34px;min-height:34px;border:1px solid var(--line);border-radius:6px;font-size:14px}.speed-menu summary::-webkit-details-marker{display:none}.speed-menu label{position:absolute;top:calc(100% + 5px);right:0;z-index:60;min-width:190px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px;color:var(--ink);font-size:12px;box-shadow:0 8px 24px #0003}.speed-menu input{display:block!important;width:100%!important;max-width:none!important;margin:6px 0}.speed-menu[open]{z-index:60}#scriptAuto{flex:none}#scriptAuto .autobar{position:static;border:0;background:transparent}#scriptAuto .auto-label{display:none}
#stage #scriptPane .wrap{padding:12px 16px 48px}#stage .say{line-height:1.5;margin:8px 0}#stage .say .ln{margin-bottom:.35em}.lyhead{display:flex;flex-wrap:nowrap;gap:4px;min-height:38px;padding:3px 8px}.lyhead .lt{font:700 11px Lato, sans-serif;letter-spacing:.08em;text-transform:uppercase}.lyhead>.autobar{flex:none;grid-column:auto;border:0;padding:0}.lyhead>.tool{min-height:34px;padding:3px 8px}.lyhead .auto-label{display:none}.lybody{padding:8px 14px 48px}.lysong{padding:8px 0 12px;margin:0}.lysong .lst{font-size:1.05em;font-weight:600;line-height:1.25}.lysong .lmeta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:10px;margin:4px 0 8px}.scale-badge{display:inline-block;font:900 16px/1 Lato,sans-serif;background:#651629;color:#fff3de;padding:5px 9px;border-radius:5px;white-space:nowrap}.ly{line-height:1.5}.ly.gap{height:9px}.ly.lab,.ly.lab2{margin-top:8px}
#stageSongs[hidden]{display:none}.songs .sh{padding:5px 9px}.srow{min-height:38px!important;padding:5px 9px!important;gap:5px!important}.srow .st{font-size:14px!important;font-weight:600!important;line-height:1.25}.srow .k{font-size:17px!important;font-weight:900!important;color:var(--maroon)}.srow .nb{display:inline-block;font-size:8px}.srow .sn{font-size:11px}
/* More musician cues per screen, retaining notes and musical data. */
.band .topbar,.chorus .topbar{min-height:42px;padding:3px 10px}.band .topbar .tlogo img,.chorus .topbar .tlogo img{height:32px;width:58px}.band .topbar .pill,.chorus .topbar .pill{min-height:34px;padding:4px 9px}.band .namebar{min-height:23px;padding:1px 8px;font-size:14px}.band .nextbar{padding:4px 10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;line-height:1.2}.band .nextbar .caps{font-size:9px}.band .nextbar .nt{font-size:16px}.band .nextbar .nm{font-size:11px}.bwrap{padding:4px 8px 36px}.band .blogo{display:none}.bt,.bt.now{margin:4px 0 8px;border-radius:5px;box-shadow:none}.bth{min-height:32px;padding:4px 8px}.bth .btt{font-size:17px;line-height:1.2}.bth .bn{font-size:14px}.bref{font-size:10px}.btc,.btr{grid-template-columns:18px minmax(0,1fr) 46px 42px 65px 35px;min-height:0;padding:4px 8px;gap:4px}.btc{font-size:9px}.btr .cs b,.btr.inst .cs i{font-size:14px;line-height:1.3;font-weight:600}.btr .ck,.btr .tbl b{font-size:16px}.btr .cc,.btr .cr{font-size:11px}.btr .tbl small{font-size:10px}.band .nb,.band .itag{font-size:8px;padding:1px 5px;vertical-align:middle}.band .nb{float:none}.band-note summary{font-size:10px;color:var(--muted);cursor:pointer}.band-note small{font-size:11px;white-space:normal}.band .btr .cs b{display:inline}
@media(max-width:600px){.btc,.btr{grid-template-columns:18px minmax(0,1fr) 45px 38px 58px;padding:4px 5px;gap:3px}.btc .cr,.btr .cr{display:none}.band .nextbar .nm{width:100%}}
/* Chorus remains read-only: personal navigation never sends a show update. */
.chorus-context{display:flex;justify-content:space-between;gap:8px;align-items:center;min-height:32px;padding:4px 10px;border-bottom:1px solid var(--line);font-size:13px;color:var(--maroon)}.chorus-context span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chorus-context span:last-child{flex:none;font-size:10px;color:var(--muted)}.chorus-tools{display:flex;align-items:center;gap:4px;min-height:38px;padding:2px 8px;border-bottom:1px solid var(--line)}.chorus-tools .tool{min-height:32px;padding:3px 8px}.chorus-tools .follow-live{margin-left:auto;background:#651629;color:#fff4e4}.chorus .lyrfull{min-height:0}.chorus .lysong .lmeta>span:not(.scale-badge){display:none}.chorus-nav{display:flex;align-items:center;gap:6px;padding:5px 8px calc(5px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--card)}.chorus-nav .tool{min-height:38px;white-space:nowrap;padding:5px 8px;font-size:12px}.chorus-nav span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;color:var(--muted);font-size:10px}@media(max-width:480px){.chorus-nav span{display:none}.chorus-nav .tool{flex:1}}
/* Resizable reading split: the visual divider is thin, the touch target is larger. */
.split-handle{display:none}
@media(min-width:650px){#stage.lyon.f-both .body #scriptPane{flex-basis:var(--split,50%)!important;width:var(--split,50%)!important;max-width:var(--split,50%)!important}#stage.lyon .split-handle{display:block;position:relative;flex:0 0 6px;margin-left:-3px;margin-right:-3px;z-index:5;cursor:col-resize;touch-action:none}#stage.lyon .split-handle::after{content:"";position:absolute;left:2px;top:0;bottom:0;width:2px;background:var(--gold2);opacity:.6}#stage.lyon .split-handle::before{content:"";position:absolute;left:-8px;right:-8px;top:0;bottom:0}#stage.lyon .split-handle:focus-visible::after{width:3px;opacity:1}}
#scriptPane,#lyrPane,#chScroll,#bandScroll{scrollbar-width:thin;scrollbar-color:#b6a493 transparent}#scriptPane::-webkit-scrollbar,#lyrPane::-webkit-scrollbar,#chScroll::-webkit-scrollbar,#bandScroll::-webkit-scrollbar{width:4px}#scriptPane::-webkit-scrollbar-thumb,#lyrPane::-webkit-scrollbar-thumb,#chScroll::-webkit-scrollbar-thumb,#bandScroll::-webkit-scrollbar-thumb{background:#b6a493;border-radius:8px}
.chorus-tools .chorus-auto{flex:1;min-width:80px}.chorus-speed{display:flex;align-items:center;gap:5px;flex:1;min-width:35px;font-size:10px;color:var(--muted)}.chorus-speed .autoSpd{min-width:30px!important;width:100%!important;max-width:180px!important;margin:0}.chorus-speed .speed-value{font-size:10px;white-space:nowrap}.chorus-tools .follow-live{white-space:nowrap}@media(max-width:390px){.chorus-auto .auto-label,.chorus-speed{font-size:0}.chorus-speed .speed-value{font-size:10px}.chorus-tools{gap:2px}}
/* A calm entrance across every screen size. */
.entry-grid{display:block;min-height:calc(100dvh - 92px)}.entry-access{max-width:680px;margin:0 auto;padding:45px 32px}.screen.lp #homeScroll{background:radial-gradient(ellipse at 50% 5%,#601628 0%,#3c0a17 60%,#300711 100%)}
.script-position{position:sticky;top:0;z-index:3;display:block;margin:0 0 0 auto;padding:3px 10px;min-height:22px;border:0;background:var(--bg);color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.04em;line-height:1.4}.script-position.above{color:var(--maroon);cursor:pointer}.script-position:focus-visible{outline-offset:-2px}#stage #scriptPane .wrap{padding-top:4px}
@media(max-width:700px){.entry-grid{min-height:0}.entry-access{padding:26px 24px 35px}}

/* Event ended */
.ended-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:32px 24px;background:#350a15;color:#f5e9d7;text-align:center}.ended-content{width:min(100%,420px);display:flex;flex-direction:column;align-items:center}.ended-logo{width:120px;height:80px;object-fit:contain}.ended-rule{width:42px;height:1px;margin:27px 0 23px;background:#bb9450}.ended-eyebrow{margin:0 0 14px;color:#d9b66f;font:700 10px/1.4 Lato,system-ui,sans-serif;letter-spacing:.22em}.ended-content h1{margin:0;font:400 clamp(30px,5vw,43px)/1.15 Georgia,serif;color:#f5e9d7}.ended-message{margin:15px 0 30px;color:#cebcb7;font:400 15px/1.5 Lato,system-ui,sans-serif}.ended-home{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:0 22px;border-radius:6px;background:#e9c477;color:#350a15;font:700 13px/1 Lato,system-ui,sans-serif;text-decoration:none}.ended-home:hover{background:#f2d396}.ended-home:focus-visible{outline:2px solid #fff;outline-offset:4px}

/* Ceremony details: clear, comfortable input without adding height. */
#setupScroll .grid2 .f{font-size:12px;letter-spacing:.09em;line-height:1.4;color:#946717}
#setupScroll .grid2 input{color:#312427;font-size:17px;line-height:1.4}
#setupScroll .grid2 input[data-d="groom"],#setupScroll .grid2 input[data-d="bride"]{font-size:18px;font-weight:600}
#setupScroll .grid2 input::placeholder{color:#827671;font-weight:400;opacity:1}
#setupScroll .grid2 input:focus{border-color:#b88b3e;outline:2px solid rgba(184,139,62,.25);outline-offset:1px}
.client-songs{margin-top:24px}.client-songs textarea,.client-songs select{display:block;width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);padding:10px 12px;font:inherit}.client-songs textarea{resize:vertical}.client-songs .f{margin-top:12px}.client-songs #client-add{margin-top:10px}.client-entry{border-top:1px solid var(--line);padding:12px 0}.client-entry summary{cursor:pointer;font-weight:600}.client-entry summary span{float:right;color:var(--muted);font-size:12px;font-weight:400}.client-entry input{width:100%;box-sizing:border-box}.client-actions{display:flex;gap:8px;margin-top:12px}
.bhajan-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;border-bottom:1px solid var(--line)}.bhajan-head h1{font:600 24px/1.2 Georgia,serif;margin:6px 0}.bhajan-head select{max-width:260px;padding:8px;border:1px solid var(--line);border-radius:6px}.bhajan-body{padding:20px;overflow:auto}.bhajan-copy{white-space:pre-wrap;line-height:1.6;font-size:var(--fs);max-width:900px;margin:auto}.bhajan-screen .foot{display:flex;gap:8px}
.bhajan-picker{padding:8px 12px;background:var(--card);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}.bhajan-picker[hidden]{display:none}.bhajan-picker select{max-width:100%;padding:8px;border:1px solid var(--line);border-radius:6px}.bhajan-copy{white-space:pre-wrap;line-height:1.5;font-size:var(--fs);max-width:none;margin:0}#stage #scriptPane .bhajan-copy{padding-top:12px}#stage #lyrPane .bhajan-copy{padding-top:5px}
.bhajan-picker{display:block;max-height:32vh;overflow:auto}.bh-list-head{padding:4px 8px}.bh-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3px}.bh-song{display:flex;gap:10px;align-items:center;text-align:left;padding:8px 10px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:6px;cursor:pointer}.bh-song span{color:var(--gold);font-weight:700}.bh-song.now{border-color:var(--gold);color:var(--maroon);background:var(--cream)}
#stage .bhajan-picker{position:absolute;z-index:15;top:76px;right:12px;width:min(440px,calc(100% - 24px));max-height:min(42vh,320px);padding:8px;box-shadow:0 8px 24px #350a1526;border:1px solid var(--line);border-radius:8px}#stage .bh-list{display:block}#stage .bh-song{width:100%;min-height:36px;margin:2px 0;font-size:13px}#stage #scriptPane,#stage #lyrPane{scrollbar-width:thin}#stage #scriptPane::-webkit-scrollbar,#stage #lyrPane::-webkit-scrollbar{width:4px}
.saved-weddings{margin-top:24px}.saved-row,.wedding-item{display:flex;align-items:center;gap:8px}.saved-row input,.wedding-item span{flex:1;min-width:0}.wedding-item{padding:8px 0;border-top:1px solid var(--line)}.wedding-item button{white-space:nowrap}
.tanpura-panel{position:fixed;z-index:110;top:60px;right:12px;width:min(330px,calc(100vw - 24px));padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);box-shadow:0 8px 30px #350a1530}.tanpura-panel p{font-size:12px}.tanpura-panel select{width:100%;padding:8px;margin:6px 0 12px}.tanpura-actions{display:flex;gap:5px}.tanpura-song{font-size:10px!important;min-height:27px!important;padding:3px 6px!important}
.stage-cues{margin:10px 0;padding:6px 10px;border-left:2px solid var(--gold2);background:var(--card)}.stage-cue{padding:4px 0;font-size:13px;line-height:1.35}.stage-cue span{font-weight:700;color:var(--maroon)}.stage-cue small{color:var(--muted)}

/* Readable at every text size and pane width, without horizontal clipping. */
.lybody,.lysong,.bhajan-copy,.say,.say .ln{min-width:0;overflow-wrap:anywhere;word-break:normal}
.ly.gap{height:.5em;min-height:6px}
.bhajan-copy{white-space:pre-wrap}

.tanpura-panel input[type=range]{width:100%;min-height:36px;accent-color:#651629}.tanpura-panel output{float:right;color:var(--maroon);font-weight:700}

.wedding-editor #draftScroll>.wrap{max-width:1000px;padding:28px 24px 64px}.draft-heading{display:flex;align-items:center;gap:8px;margin:24px 0 8px}.draft-heading .caps{flex:1}.draft-order{padding:4px}.draft-order button.cer{width:100%;text-align:left}.draft-actions{display:flex;gap:10px;margin-top:24px}.draft-actions .bigbtn{flex:1}.wedding-editor .grid2{margin-top:14px}@media(max-width:600px){.wedding-editor #draftScroll>.wrap{padding:20px 14px 40px}.wedding-item{flex-wrap:wrap}.wedding-item span{flex-basis:100%}}

.active-wedding-setup{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.active-wedding{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:4px 9px;border:1px solid #d6bc91;border-radius:6px;background:#f6ecdb;color:#651629;font:600 12px/1.3 Lato,system-ui,sans-serif}.active-wedding span{font-size:10px;text-transform:uppercase;letter-spacing:.06em}.active-wedding strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-wedding-setup small{color:var(--muted);font-size:12px}.upnext .active-wedding{padding:1px 5px;font-size:10px;vertical-align:middle}.upnext .active-wedding span{font-size:9px}:root[data-theme="dark"] .active-wedding{background:#52202d;color:#f6e7d5;border-color:#a98555}

#stage .head .setup-shortcut{white-space:nowrap;flex:none}

.master-editor #master-scroll>.wrap{max-width:1000px;padding:28px 24px 64px}.master-editor select,.master-editor textarea{display:block;width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);padding:10px;font:inherit}.master-editor .card{margin-top:12px}.master-editor .f{margin-top:12px}.master-block{padding:10px 0;border-bottom:1px solid var(--line)}.master-block .ghost{margin-top:6px}.master-editor details input{width:100%;box-sizing:border-box}.master-editor .grid2{margin:10px 0}@media(max-width:600px){.master-editor #master-scroll>.wrap{padding:20px 14px 40px}}

.topbar .sync-host{white-space:nowrap;min-height:34px;padding:4px 9px;font-size:12px}@media(max-width:480px){.topbar .sync-host{font-size:11px;padding:4px 7px}}

/* Side-by-side draft and host preview, with a compact phone switch. */
.master-editor #master-scroll>.wrap{max-width:1600px}
.master-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.master-fields{min-width:0}.master-preview{position:sticky;top:12px;max-height:calc(100dvh - 105px);overflow:auto;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:16px;min-width:0}
.master-preview-title{padding-bottom:10px;border-bottom:1px solid var(--line)}.master-preview-title h2{margin:6px 0;font-family:var(--serif);font-size:22px;color:var(--maroon)}
.master-preview-pane{padding-top:14px}.master-preview .lybody{padding:0}.master-preview .songs{margin-top:14px}.master-preview .srow{cursor:default}.master-preview .srow:disabled{opacity:1}
.master-preview-switch{display:none;gap:8px;margin:10px 0}.master-preview-switch [aria-pressed=true]{background:#651629;color:#fff6e8;border-color:#651629}
@media(max-width:760px){.master-layout{display:block}.master-preview-switch{display:flex}.master-preview{display:none;position:static;max-height:none}.master-layout.show-preview .master-fields{display:none}.master-layout.show-preview .master-preview{display:block}}
/* Give the title enough room when the fixed running-order sidebar is visible. */
@media (min-width:901px) and (max-width:1250px){body.hasol #stage .head{flex-wrap:wrap}body.hasol #stage .titlebox{flex:1 1 180px;min-width:180px}}

/* Host controls: show the current ritual first, then performance actions. */
#stage .host-head{display:block;min-height:0;padding:5px 10px;overflow:visible}
.host-head-main,.host-head-controls{display:flex;align-items:center;gap:6px;min-width:0}
.host-head-main .titlebox{flex:1 1 auto;min-width:0!important}.host-head-main .ctitle{font-size:20px}.host-head-main #menu{flex:none;margin:0}
.host-head-controls{margin-top:4px;flex-wrap:wrap}.host-head-controls .tool{min-height:34px!important;padding:5px 9px!important;font-size:12px!important;white-space:nowrap}.host-head-controls .fseg{margin:0!important}.host-head-controls .fseg button{min-height:30px}.host-head-controls #scriptAuto{margin-left:auto}
.host-status{position:relative;flex:none}.host-status summary{list-style:none;cursor:pointer;display:grid;place-items:center;width:36px;height:36px;color:#ad761d;border:1px solid var(--line);border-radius:8px}.host-status summary::-webkit-details-marker{display:none}.host-status summary.ok{color:#278242}.host-status summary.off,.host-status summary.warn{color:#a2650e}.host-status-popover{position:absolute;right:0;top:42px;z-index:55;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:8px;box-shadow:0 5px 18px #0002;min-width:130px}.host-status-popover .sync{display:block!important;white-space:nowrap!important;text-align:left!important;max-width:none!important}
@media(max-width:600px){#stage .host-head-main .titlebox{order:0;min-width:0}#stage .host-head-controls .fseg,#stage .host-head-controls #toSongs,#stage .host-head-controls .sync{order:initial}.host-head-controls #scriptAuto{margin-left:0}.host-head-main .upnext{font-size:10px}}
.modal .sheet>div:first-child{flex-wrap:wrap}

/* Shared compact performance controls. Each view retains its own actions. */
#stage .compact-stage-head{display:flex;flex-wrap:nowrap;min-height:52px;padding:4px 8px;gap:4px;overflow:visible}
#stage .compact-stage-head .compact-icon,#stage .compact-stage-head #tanpuraMute,#stage .compact-stage-head #scriptAuto .tool{box-sizing:border-box;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;font-size:19px;line-height:1}
#stage .compact-stage-head .compact-icon svg{width:19px;height:19px}.compact-stage-head .titlebox{flex:1 1 130px;min-width:85px!important;overflow:hidden;order:initial!important}.compact-stage-head .ctitle,.compact-stage-head .upnext{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.compact-stage-head .ctitle{font-size:15px!important}.compact-stage-head .upnext{font-size:10px!important}.compact-stage-head .fseg{flex:none;margin:0!important;order:initial!important}.compact-stage-head .fseg button{min-height:44px;padding:3px 7px;font-size:11px}.compact-stage-head #scriptAuto{flex:none}.compact-stage-head .host-status summary{width:44px;height:44px}.compact-stage-head #toSongs{order:initial!important}
.topbar .sync-host{width:44px;min-width:44px;height:44px;font-size:20px!important;padding:0!important}.topbar .role-status summary{width:44px;height:44px}.topbar .role-status .host-status-popover .sync{background:none;color:var(--text)}
@media(max-width:850px){#stage .compact-stage-head{flex-wrap:wrap}.compact-stage-head .titlebox{flex:1 1 120px}.compact-stage-head .fseg{margin-left:auto!important}}
@media(max-width:600px){#stage .compact-stage-head #goHome{display:grid}.compact-stage-head .titlebox{flex:1 1 calc(100% - 210px)}.compact-stage-head .fseg{margin-left:0!important}.compact-stage-head .host-status{margin-left:auto}.topbar{gap:4px}.topbar .tlogo img{max-width:52px;height:auto}.topbar .spacer{min-width:0}}
#stage .compact-stage-head{padding:2px 6px;gap:3px}.compact-stage-head .fseg{padding:1px}.compact-stage-head .fseg button{padding:2px 6px}
@media(max-width:600px){.compact-stage-head #menu{order:0}.compact-stage-head #goHome{order:1}.compact-stage-head #goSetup{order:2}.compact-stage-head #editMaster{order:3}.compact-stage-head .titlebox{order:4!important;flex:1 1 75px!important}.compact-stage-head .host-status{order:5;margin-left:0}.compact-stage-head .fseg{order:6!important}.compact-stage-head #tanpuraControl{order:7}.compact-stage-head #tanpuraMute{order:8}.compact-stage-head #enterBhajans{order:9}.compact-stage-head #toSongs{order:10!important}.compact-stage-head #scriptAuto{order:11}}
.compact-stage-head .fseg button{box-sizing:border-box;min-width:44px;width:44px;padding:2px}.compact-stage-head #scriptAuto .speed-menu summary{box-sizing:border-box;display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0}

.host-status summary{display:flex;align-items:center;justify-content:center;gap:4px;min-width:44px;width:auto;padding:0 6px}.status-caption{font-size:11px;white-space:nowrap}.status-caption:empty{display:none}

.compact-stage-head .ritual-info{display:block;text-align:left;border:0;background:transparent;color:inherit;padding:0;cursor:pointer;font:inherit}
.compact-stage-head .ritual-info{min-height:44px}

/* Fine line icons use the same burgundy and gold language as the reference. */
#stage .compact-stage-head .compact-icon,#stage .compact-stage-head #tanpuraMute{color:#64172b}
#stage .compact-stage-head .toolbar-svg,#stage .compact-stage-head .ico{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#stage .compact-stage-head #tanpuraMute[aria-pressed="false"]{color:#26834a;background:#edf6ed;border-color:#dbeadb}
#stage .compact-stage-head #tanpuraMute[aria-pressed="true"]{color:#a42735;background:#fff2f1;border-color:#efd4d1}

.setup-master-picker{display:flex;gap:8px;align-items:stretch;margin:8px 0 12px}.setup-master-picker select{flex:1;min-width:0;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text);font:inherit}.setup-master-picker button{flex:none}@media(max-width:380px){.setup-master-picker{flex-wrap:wrap}.setup-master-picker select{flex-basis:100%}}

/* Portrait tablet: a readable navigator shares space with both reading panes. */
#outline-resize{display:none}
@media (orientation:portrait) and (min-width:650px) and (max-width:1100px){
 body.hasol:has(#stage){--outline-effective:min(var(--outline-width,170px),calc(100vw - 460px))}
 body.hasol:has(#stage) #outline{width:var(--outline-effective);transform:translateX(-102%);z-index:5;overflow-y:auto;overflow-x:hidden;box-shadow:none}
 body.hasol:has(#stage) #outline.open{transform:none}
 body.hasol:has(#stage) #obk{display:none!important}
 body.hasol:has(#stage) #otab,body.hasol:has(#stage) #otab.hide{display:block!important;left:0;z-index:7}
 body.hasol.outline-open:has(#stage) #otab{left:calc(var(--outline-effective) - 24px);top:8px;transform:none;width:24px;height:36px;min-height:36px}
 body.hasol:has(#stage) #stage{left:0}
 body.hasol.outline-open:has(#stage) #stage{left:var(--outline-effective)}
 body.hasol.outline-open:has(#stage) #outline-resize{display:block;position:fixed;top:0;bottom:0;left:calc(var(--outline-effective) - 6px);width:12px;z-index:6;cursor:col-resize;touch-action:none}
 body.hasol.outline-open:has(#stage) #outline-resize::after{content:'⋮';position:absolute;top:100px;left:2px;width:8px;padding:12px 0;border-radius:5px;background:var(--cream);color:var(--maroon);font-size:14px;text-align:center}
 body.hasol:has(#stage) #outline .oh{padding:8px 28px 8px 7px;font-size:10px;letter-spacing:.06em}
 body.hasol:has(#stage) #outline .och{padding:7px 6px;gap:3px;font-size:13px;line-height:1.25;overflow-wrap:anywhere;min-height:36px}
 body.hasol:has(#stage) #outline .och b{flex:0 0 20px;min-width:20px;font-size:10px;line-height:1.6}
 body.hasol:has(#stage) #outline .oc.past{opacity:1}
 body.hasol:has(#stage) #outline .oc.cur .och{margin-right:2px;border-radius:0 6px 6px 0}
 body.hasol:has(#stage) #outline .os{padding:5px 5px 5px 15px;gap:3px;font-size:12px;line-height:1.3;overflow-wrap:anywhere}
 body.hasol:has(#stage) #outline .os .on{flex:0 0 13px;min-width:13px;font-size:10px}
 body.hasol.outline-open:has(#stage) #stage.lyon.f-both .body #scriptPane{flex-basis:clamp(200px,var(--split,33%),calc(100% - 220px))!important;width:clamp(200px,var(--split,33%),calc(100% - 220px))!important;max-width:clamp(200px,var(--split,33%),calc(100% - 220px))!important}
}

/* Musical cues stay compact but are distinct from reference details. */
.tabla-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border:1px solid var(--gold2);border-radius:6px;background:var(--cream);color:var(--maroon);font-size:11px;line-height:1.15;letter-spacing:0}
.tabla-badge svg{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.tabla-badge .tabla-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.tabla-badge strong{font-size:12px;white-space:nowrap}
#stage .compact-stage-head .ctitle{ text-overflow:clip; -webkit-mask-image:linear-gradient(to right,#000 calc(100% - 14px),transparent 100%);mask-image:linear-gradient(to right,#000 calc(100% - 14px),transparent 100%) }
.mainstage-pair-dialog{width:min(420px,calc(100vw - 32px));padding:22px;border:1px solid #e6d7c4;border-radius:12px;background:#fffdf8;color:#241b1b;box-shadow:0 12px 45px #29040d44}
.mainstage-pair-dialog::backdrop{background:#20040abb}
.mainstage-pair-dialog h2{margin:0 0 10px;color:#5c1220}
.mainstage-pair-dialog p{line-height:1.5}
.mainstage-pair-code{padding:12px;border-radius:7px;background:#f4ecdf;font:600 15px/1.5 ui-monospace,monospace;overflow-wrap:anywhere;user-select:all}
.mainstage-downloads{padding:16px;margin-bottom:20px;border:1px solid var(--line);border-radius:10px;background:var(--cream)}
.mainstage-downloads .client-actions{flex-wrap:wrap}
.mainstage-downloads a.ghost{display:inline-flex;align-items:center;justify-content:center;color:var(--text);text-decoration:none;box-sizing:border-box}
#mainstage-setup details{margin:14px 0} #mainstage-setup summary{color:var(--maroon);font-weight:700;cursor:pointer}
#mainstage-setup select{width:100%;max-width:100%;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--text);font:inherit}
.mainstage-connection{min-width:38px;min-height:38px;padding:6px;color:var(--muted)}
.mainstage-connection.connected{color:#267743}
.mainstage-song.mainstage-pending{outline:2px solid var(--gold);outline-offset:1px}

/* Compact Host-only operational activity panel. */
.host-status-popover .health-open { margin-top: 6px; display: grid; place-items: center; width: 42px; height: 42px; padding: 9px; border-radius: 11px; color: #68172e; background: #f7eddf; border: 1px solid #e5d1b2; }
.health-open svg { display: block; width: 22px; height: 22px; }
.system-health { width: min(92vw, 520px); max-height: 80vh; overflow: auto; border: 1px solid #decdb6; border-radius: 14px; background: #fcf9f2; color: #30191c; padding: 20px; box-shadow: 0 14px 50px #26071155; }
.system-health::backdrop { background: #26071180; }
.health-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.health-head h2,.health-head h3 { margin: 0; color:#621127; }
.health-head h3 { font-size: 1rem; }
.health-note { color:#76665f; font-size: .9rem; }
.health-connection { padding:10px; background:#f2eadd; border-radius:8px; margin: 12px 0 18px; }
.health-list { list-style:none; padding:0; margin:10px 0 0; }
.health-list li { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid #e7d9c8; }
.health-list time { color:#76665f; font-size:.8rem; white-space:nowrap; }

/* Operational panel */
.system-health { padding:0; width:min(92vw,500px); border:0; border-radius:16px; background:#fbf7ef; color:#2f2020; overflow:auto; }
.system-health::backdrop { background:#27091499; }
.health-header { background:#581024; color:#fff8ec; padding:22px 24px; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.health-header h2 { color:#fff8ec; margin:4px 0; font-size:1.55rem; }
.health-header p { color:#e7cfca; margin:0; font-size:.86rem; }
.health-eyebrow,.health-section-title { color:#a87924; font-size:.68rem; font-weight:700; letter-spacing:.12em; }
.health-header .health-eyebrow { color:#e4bd74; }
.health-close { border:1px solid #a66570; border-radius:8px; background:transparent; color:#fff; width:36px; height:36px; font-size:1.4rem; cursor:pointer; }
.health-content { padding:16px; display:grid; gap:10px; }
.health-card { background:#fffdfa; border:1px solid #ebddc9; border-radius:10px; padding:15px; }
.health-row { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.health-connection { margin:8px 0 0; padding:0; background:none; font-weight:600; }
.health-hint { margin:8px 0 0; color:#796b61; font-size:.78rem; line-height:1.4; }
.health-total { display:flex; align-items:baseline; gap:8px; margin:8px 0; }
.health-total strong { color:#64142a; font-size:1.7rem; }
.health-role-list { display:flex; flex-wrap:wrap; gap:6px; }
.health-role-list span { background:#f5eee2; padding:5px 8px; border-radius:6px; font-size:.78rem; }
.health-refresh { border:0; background:none; color:#721a31; font-weight:700; cursor:pointer; padding:5px; }

.control-actions{display:flex;flex-wrap:wrap;gap:8px}.control-actions button[hidden]{display:none!important}

/* MainStage requests stay distinct from confirmed playback. */
#stage .mainstage-connection{width:44px;min-width:44px;height:44px;min-height:44px;display:grid;place-items:center;padding:0;font-size:18px;flex:none}
.mainstage-song{transition:box-shadow .18s ease,background-color .18s ease,color .18s ease}
.mainstage-song.mainstage-pending{color:#701b33;background:#fff4da;border-color:#c89b42;outline:none;box-shadow:0 0 0 2px #d7b36355,0 0 14px #b47a3860}
@media (prefers-reduced-motion:reduce){.mainstage-song{transition:none}}

/* Keep event codes easy to read on stage and in setup. */
.status-event-code{font:600 15px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;color:var(--maroon);white-space:nowrap;margin:2px 0 8px}.status-event-code[hidden]{display:none}.sharecode{font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;font-size:clamp(28px,5vw,42px)!important;letter-spacing:.16em!important;font-weight:600!important}

/* Keep changing connection text inside the status menu on narrow screens. */
.host-status summary .status-caption{display:none!important}

.ended-website{display:inline-flex;align-items:center;gap:9px;margin-top:24px;padding:10px 4px;color:#e4c380;font:600 14px/1.4 Lato,system-ui,sans-serif;text-decoration:none;border-bottom:1px solid #b48b4d;transition:color .2s,border-color .2s}.ended-website:hover,.ended-website:focus-visible{color:#fff2d8;border-color:#fff2d8}.ended-website span{font-size:16px}

.edit-history{width:min(560px,calc(100% - 28px));max-height:min(80vh,720px);padding:0;border:1px solid #e7d8c3;border-radius:16px;background:#fcf9f3;color:#291c1c;box-shadow:0 18px 60px #24020c55}.edit-history::backdrop{background:#25061099}.edit-history header{display:flex;justify-content:space-between;gap:20px;padding:22px 24px;background:#510e21;color:#fff7eb}.edit-history header .caps{color:#e5c17a}.edit-history h2{margin:6px 0;font:600 26px Georgia,serif}.edit-history header p{margin:0;font-size:13px;line-height:1.5;color:#e4cdd0}.edit-history .history-close{flex:none;align-self:flex-start;color:#fff7eb;border-color:#ad7e83;background:transparent;font-size:22px}.history-body{padding:14px 20px;overflow:auto}.history-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 4px;border-bottom:1px solid #eadcca}.history-entry time{display:block;color:#9a732e;font-size:12px}.history-entry strong{display:block;margin:4px 0;color:#5e1527}.history-entry p{margin:0;color:#766861;font-size:13px}.history-entry button{flex:none}.history-empty{padding:28px 4px;color:#776961;line-height:1.8}
/* Keep the actions in each client-song row aligned, even when labels differ. */
.client-songs .client-actions{align-items:stretch;flex-wrap:wrap}
.client-songs .client-actions .ghost{margin:0!important;min-height:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}

/* Visual redesign: scoped away from the Host stage's script and lyrics. */
:root{--stage-deep:#4a0f1d;--stage-gold:#a8823a;--stage-paper:#fffcf6;--stage-line:#e6d9bc;--stage-cream:#f6efe0}
#setupScroll>.wrap{max-width:1180px}
.setup-layout{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:start;gap:28px}
.setup-jump{position:sticky;top:20px;display:flex;flex-direction:column;gap:5px;padding:15px;border:1px solid var(--line);border-radius:18px;background:var(--card)}
.setup-jump a{display:block;padding:10px 12px;border-radius:10px;color:var(--ink);font-size:13px;font-weight:700;text-decoration:none;min-height:40px}
.setup-jump a:hover,.setup-jump a:focus-visible{background:var(--cream);color:var(--maroon)}
.setup-group{scroll-margin-top:20px;margin-bottom:32px}
.setup-group-title{display:flex;align-items:center;gap:12px;margin:12px 0 16px}
.setup-group-title>span{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:#5c1220;color:#fff9ee;font-weight:800}
.setup-group-title h2{margin:0;color:var(--maroon);font:700 25px/1.1 'Cormorant Garamond',Georgia,serif}
.setup-group-title p{margin:4px 0 0;color:var(--muted);font-size:13px}
.setup-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px}
.setup-group .card,.master-editor .card,.wedding-editor .card{border-radius:18px;box-shadow:0 5px 18px #4a0f1d08}
.setup-group .saved-weddings,.setup-group .client-songs{margin-top:0}
.setup-group .setup-pair+.client-songs{margin-top:20px}
.setup-group .card input,.setup-group .card select{min-height:48px}
.setup-group .card .ghost,.master-editor .ghost,.wedding-editor .ghost{min-height:44px}
.setup-group #mainstage-setup{margin-top:10px}
.setup-group .access-settings{margin-top:0}
.setup-groups>#start{margin-top:12px}
@media(max-width:900px){.setup-layout{display:block}.setup-jump{display:none}.setup-pair{grid-template-columns:1fr;gap:18px}}
.screen.band,.screen.chorus,.screen.remote{background:var(--cream)}
.band .bt{border-radius:16px;overflow:hidden;box-shadow:0 6px 20px #4a0f1d0c}
.band .bth{background:var(--card);border-color:var(--line)}
.band .btc,.band .btr{border-color:var(--line)}
.chorus .lyrfull{background:var(--cream)}
.chorus .lyrfull .lybody{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 20px #4a0f1d0c}
.remote .rrow,.remote .ritual-row{border-radius:14px;border-color:var(--line)}
.screen.lp .lp-role{border-color:#d0ad624d;transition:background .15s ease-out,border-color .15s ease-out}
.screen.lp .lp-role:hover,.screen.lp .lp-role:focus-visible{border-color:#e0c27e;background:#ffffff0a}
.system-health{border-radius:24px;max-height:min(84vh,760px);border:1px solid #e6d9bc;box-shadow:0 22px 65px #350a1540}
.health-header{position:sticky;top:0;z-index:2;background:linear-gradient(135deg,#5c1220,#4a0f1d);padding:22px 24px}
.health-header h2{font:700 32px/1 'Cormorant Garamond',Georgia,serif}
.health-close{width:44px;height:44px;border-radius:12px}
.health-content{padding:16px;background:#f6efe0;gap:12px}
.health-card{border-radius:18px;border-color:#e6d9bc;padding:16px}
.health-total strong{font:700 36px/1 'Cormorant Garamond',Georgia,serif}
.health-role-list span{border-radius:999px;padding:7px 10px}
.health-refresh{min-width:44px;min-height:44px;border:1px solid #e6d9bc;border-radius:10px}
.host-status-popover{border-radius:18px;box-shadow:0 12px 36px #4a0f1d26;padding:12px}
:where(.screen:not(#stage),.system-health,.host-status-popover) :focus-visible{outline:3px solid #c9943e;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.setup-jump a,.screen.lp .lp-role{transition:none}html{scroll-behavior:auto!important}}

@media(max-width:700px){.screen.setup>.topbar{flex-wrap:wrap;gap:5px;padding:8px 10px}.screen.setup>.topbar>*{flex-shrink:0}.screen.setup>.topbar .spacer{flex:1 1 12px}.screen.setup>.topbar .pill{min-height:44px}.screen.setup>.topbar #goStage{background:#e5bd70;color:#351018;border-color:#e5bd70}}
.host-status-popover{width:max-content;min-width:220px;max-width:min(300px,calc(100vw - 24px));display:grid;grid-template-columns:1fr 1fr;gap:8px}
.host-status-popover .status-event-code{grid-column:1/-1;padding:14px;border-radius:12px;background:#5c1220;color:#fffbef;font:700 19px/1.3 'Cormorant Garamond',Georgia,serif;letter-spacing:.08em}
.host-status-popover .sync{padding:7px 8px;border-radius:9px;white-space:normal!important}
.host-status-popover .sync.ok{background:#e8f3e7!important;color:#2e713c!important}.host-status-popover .sync.off,.host-status-popover .sync.warn{background:#f9e9e6!important;color:#9e3031!important}
.host-status-popover [data-quick-share],.host-status-popover [data-quick-stop-share]{min-width:44px;width:48px;height:48px;margin:0;padding:0;font-size:0!important;display:grid;place-items:center}
.host-status-popover [data-quick-share][hidden],.host-status-popover [data-quick-stop-share][hidden],.host-status-popover .status-event-code[hidden]{display:none!important}
.host-status-popover [data-quick-share]{color:#fff8ee;background:#5c1220;border-color:#5c1220}.host-status-popover [data-quick-share]::before{content:'↗';font:700 25px/1 sans-serif}
.host-status-popover [data-quick-stop-share]{color:#9d3031;background:#fff8f5;border-color:#dda7a4}.host-status-popover [data-quick-stop-share]::before{content:'■';font:700 18px/1 sans-serif}
.host-status-popover .health-open{margin:0;width:48px;height:48px}
.band .topbar .pill,.chorus .topbar .pill{min-height:44px;min-width:44px}
:root[data-theme="dark"] .health-content{background:#211216}
:root[data-theme="dark"] .health-card{background:#2b181d;border-color:#684a40;color:#f5e9da}
:root[data-theme="dark"] .health-hint,:root[data-theme="dark"] .health-list time{color:#d3bdb0}
:root[data-theme="dark"] .health-role-list span{background:#43302e;color:#f5e9da}
.setup-jump a[aria-current="location"]{background:#5c1220;color:#fff8eb}
.setup-jump-status{margin-top:12px;padding:12px 8px;border-top:1px solid var(--line);font-size:12px}
.setup-jump-status small{display:block;color:var(--muted);margin-top:6px}
/* Connection controls retain their existing accessible labels and actions. */
.host-status-popover{grid-template-columns:repeat(4,minmax(0,1fr));width:280px}
.host-status-popover .status-event-code{order:0;grid-column:1/-1;cursor:pointer}
.host-status-popover #shr{order:1;grid-column:1/-1;text-align:center!important}
.host-status-popover #off{order:2;grid-column:span 2}
.host-status-popover #sync{order:3;grid-column:span 2}
.host-status-popover [data-quick-share],.host-status-popover [data-quick-stop-share],.host-status-popover [data-quick-copy],.host-status-popover [data-quick-extend],.host-status-popover .health-open{width:48px;height:48px;min-width:44px;min-height:44px;padding:0;margin:0;border-radius:14px;display:grid;place-items:center;font-size:0!important}
.host-status-popover [data-quick-share]{order:4}.host-status-popover [data-quick-copy]{order:4;background:#5c1220;color:#fff8ee;border-color:#5c1220}.host-status-popover [data-quick-extend]{order:5;color:#5c1220;background:#fbf2db;border-color:#d5b871}.host-status-popover [data-quick-stop-share]{order:6}.host-status-popover .health-open{order:7}
.host-status-popover [data-quick-share]::before,.host-status-popover [data-quick-copy]::before,.host-status-popover [data-quick-extend]::before,.host-status-popover [data-quick-stop-share]::before{content:"";width:22px;height:22px;display:block;background:currentColor;mask-size:contain;mask-position:center;mask-repeat:no-repeat}
.host-status-popover [data-quick-share]::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Ccircle cx='6' cy='12' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cpath d='M8.5 10.5l7-4M8.5 13.5l7 4'/%3E%3C/svg%3E")}
.host-status-popover [data-quick-copy]::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Crect x='8' y='8' width='11' height='12' rx='2'/%3E%3Cpath d='M5 16V5a2 2 0 0 1 2-2h10'/%3E%3C/svg%3E")}
.host-status-popover [data-quick-extend]::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='13' r='8'/%3E%3Cpath d='M11 8v5l3 2M18 3v6M15 6h6'/%3E%3C/svg%3E")}
.host-status-popover [data-quick-stop-share]::before{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='5' width='14' height='14' rx='2'/%3E%3C/svg%3E")}
.host-status-popover [hidden]{display:none!important}
.host-status-popover [data-quick-share],.host-status-popover [data-quick-stop-share],.host-status-popover [data-quick-copy],.host-status-popover [data-quick-extend],.host-status-popover .health-open{justify-self:center;align-self:center}
.host-status-popover .status-event-code{text-align:center;white-space:normal}
.host-status-popover .status-event-label{display:block;font:700 11px/1.3 Lato,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#e0c27e}
.host-status-popover .status-event-value{display:block;margin-top:7px;font:600 27px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;color:#fff8ee}
/* A consistent family of touch-friendly controls on the non-stage headers. */
.screen:not(#stage) .topbar .pill{display:inline-flex;align-items:center;justify-content:center;gap:7px;box-sizing:border-box;min-height:44px;border-radius:12px;border:1px solid #ffffff40;background:#ffffff10;color:#fff7e9;font-weight:700}
.screen:not(#stage) .topbar .pill:hover{background:#ffffff20}
.screen:not(#stage) .topbar .pill.on,.screen.setup .topbar #goStage{background:#e5bd70;color:#351018;border-color:#e5bd70}
@media(max-width:700px){.screen.setup .topbar .host-status{margin-left:auto}.screen.setup .host-status-popover{width:min(280px,calc(100vw - 32px));box-sizing:border-box}}
/* Role entry: match the supplied two-column reference without changing login controls. */
.screen.lp #homeScroll{background:radial-gradient(1100px 600px at 18% 8%,#6a1828 0%,#3a0b15 55%,#22060d 100%)}
.screen.lp .entry-nav{max-width:1200px;border:0;padding-left:40px;padding-right:40px}
.screen.lp .entry-access:has(#lpCode){max-width:1200px;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,380px) minmax(0,520px);column-gap:56px;align-content:start;justify-content:center;padding:48px 40px 56px}
.screen.lp .entry-access:has(#lpCode)>.eyebrow{grid-column:1;grid-row:1}
.screen.lp .entry-access:has(#lpCode)>h2{grid-column:1;grid-row:2;font-size:clamp(64px,7vw,92px)}
.screen.lp .entry-access:has(#lpCode)>.entry-intro{grid-column:1;grid-row:3;font-size:17px;line-height:1.5}
.screen.lp .entry-access:has(#lpCode)>.resume{grid-column:1;grid-row:4;align-self:start;border-radius:20px}
.screen.lp .entry-access:has(#lpCode)>.lp-roles{grid-column:2;grid-row:1 / span 4;align-self:start}
.screen.lp .entry-access:has(#lpCode)>.lp-panel{grid-column:2;grid-row:5}
.screen.lp .entry-access:has(#lpCode)>.entry-footer{grid-column:2;grid-row:6}
.screen.lp .lp-role{border-radius:16px;min-height:88px}
.screen.lp .lp-role{background:linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.025));border-color:rgba(255,245,225,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
.screen.lp .lp-role.sel{background:linear-gradient(145deg,rgba(230,194,126,.2),rgba(255,255,255,.035));border-color:#e0c27e;box-shadow:0 0 0 3px rgba(224,194,126,.16),inset 0 1px 0 rgba(255,255,255,.1)}
.screen.lp .lp-role[data-r="tanpura"]{grid-column:1 / -1}
.screen.lp .lp-roles{grid-template-columns:repeat(2,minmax(0,1fr))}
.screen.lp .lp-role{min-width:0}
@media(min-width:801px){.screen.lp .lp-role:not([data-r="tanpura"]){display:grid;grid-template-columns:1fr;align-content:start;gap:12px;min-height:120px}.screen.lp .lp-role:not([data-r="tanpura"]) .ric{padding:0}}
.screen.lp .lp-code,.screen.lp .lp-go{border-radius:10px;box-sizing:border-box;min-height:48px}
.screen.lp .entry-access:not(:has(#lpCode)){max-width:650px}
@media(max-width:800px){.screen.lp .entry-nav{padding-left:24px;padding-right:24px}.screen.lp .entry-access:has(#lpCode){display:block;max-width:650px;padding:28px 24px 42px}.screen.lp .entry-access:has(#lpCode)>h2{font-size:clamp(48px,11vw,72px)}.screen.lp .lp-role{min-height:88px}}
