@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--paper:#efeee7;--ink:#232820;--muted:#74776d;--line:#d2d4c6;--acid:#daef80;--green:#536637;--serif:'Instrument Serif',Georgia,serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'DM Sans',Arial,sans-serif}button,input,select{font:inherit}button,label.upload,select{cursor:pointer}button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:3px;padding:11px 17px;transition:background .15s}button:hover:not(:disabled),.upload:hover{background:#e3e5d8}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:4px}button:disabled{opacity:.38;cursor:default}header,footer{display:flex;align-items:center;justify-content:space-between;padding:27px 3.5%;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--serif);font-size:39px;text-decoration:none;color:var(--ink)}.wordmark span{font:14px 'DM Sans',sans-serif;color:var(--muted);margin-left:9px}.mast,.live-indicator,.section-top,.subtle,footer,.cue-heading>span{font-size:10px;letter-spacing:1.4px;line-height:1.5}.live-indicator{background:#e0e3d6;padding:8px 13px;border-radius:20px}.live-indicator.running{background:var(--acid)}main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(340px,1fr);max-width:1700px;margin:auto;padding:30px 3.5% 50px;gap:38px}.section-top{display:flex;justify-content:space-between;margin-bottom:12px;color:var(--muted)}.stage{aspect-ratio:16/9;background:#22271f;position:relative;overflow:hidden;border-radius:4px;color:var(--paper)}video{width:100%;height:100%;object-fit:contain}.empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(ellipse at center,#38412f 0,#22271f 73%)}.empty[hidden]{display:none}.asterisk{font-size:35px;color:var(--acid);line-height:1;margin-bottom:12px}h1{font:clamp(35px,4vw,64px)/.95 var(--serif);font-weight:400;margin:0}.empty p{color:#b6bdae;line-height:1.6;font-size:12px;margin:17px 0 28px}.stage-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:12px;padding:20px 18px 13px;background:linear-gradient(transparent,rgba(0,0,0,.72));font-size:10px;pointer-events:none}#clock{white-space:nowrap;font-variant-numeric:tabular-nums}.transport{display:flex;gap:8px;margin-top:14px;align-items:center}.primary{background:var(--acid);border-color:var(--acid);min-width:150px;font-weight:600;display:flex;justify-content:space-between;gap:20px}.primary:hover:not(:disabled){background:#cbe46b}.quality{font-size:10px;color:var(--muted);margin-left:auto}.quality select{display:block;border:0;padding:3px 0;color:var(--ink);background:transparent;font-size:11px}.footnote{font-size:11px;color:var(--muted);line-height:1.6;margin:12px 0 0}.music,.observations{border-top:1px solid var(--line);margin-top:27px;padding-top:19px}.music-head{display:flex;align-items:center;gap:10px;min-height:30px}.number{font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:50%;padding:5px}h2{font:27px var(--serif);margin:0;font-weight:400}.subtle{color:var(--muted);font-size:8px;margin-left:auto}.track{display:flex;align-items:center;gap:12px;margin:17px 0 12px}.track-icon{width:43px;height:43px;display:grid;place-items:center;background:#e1e5d6;font-size:25px}.track-copy{flex:1;min-width:0}.track-copy strong{font-size:12px;display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.track-copy span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.upload{border:1px solid var(--line);padding:10px 12px;font-size:11px;position:relative;overflow:hidden}.upload input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}audio{width:100%;height:30px}aside{border-left:1px solid var(--line);padding-left:32px}aside .music-head{margin:0 0 16px}.queue{background:#e4e7da;display:flex;gap:9px;padding:12px;font-size:11px;margin-bottom:26px;line-height:1.4}.queue-dot{width:6px;height:6px;flex-shrink:0;background:var(--green);border-radius:50%;margin-top:4px}.sliders label{display:flex;justify-content:space-between;font-size:12px}.sliders output{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}input[type=range]{width:100%;accent-color:var(--green);margin:11px 0 3px;height:14px;cursor:pointer}.endpoints{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-bottom:22px}.selects,.choices{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:21px}.selects label,legend,#cue-form>label{font-size:11px}.selects select{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);padding:9px 0;color:var(--ink);font-size:12px}fieldset{margin:0;padding:0;border:0;min-width:0}legend{margin-bottom:9px}.segmented{display:flex}.segmented button{flex:1;border-radius:0;padding:9px 6px;font-size:11px}.segmented button+button{border-left:0}.segmented button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.cue-heading{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px}.cue-heading h3{font-weight:500;font-size:12px;margin:0}.cue-heading>span{font-size:8px;color:var(--muted)}.pads{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0 21px}.pads button{display:flex;align-items:center;text-align:left;gap:10px;font-size:11px;padding:14px 10px}.pads button>span{font-size:23px;color:var(--green);line-height:1}.pads b{font-weight:400}.pads kbd{margin-left:auto;color:#989c8e;font-size:9px}.pads button.flash{background:var(--acid)}.words{display:flex;border-bottom:1px solid #aeb4a0;margin-top:9px}.words input{min-width:0;width:100%;border:0;background:transparent;padding:10px 0;font-size:12px;color:var(--ink)}.words button{border:0;font-size:19px;padding:4px 10px}.text-button{border:0;padding:0;font-size:10px;text-decoration:underline;text-underline-offset:3px}#download-log{margin-left:auto}.reading{display:flex;align-items:center;gap:18px;margin-top:8px}.reading>span{font:42px var(--serif)}.reading p{font-size:10px;line-height:1.7;color:var(--muted)}.reading small{font-size:9px}ol{list-style:none;padding:0;margin:10px 0}li{padding:9px 0;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:space-between;font-size:11px}li span{color:var(--muted);font-size:10px;text-align:right}.placeholder{color:var(--muted)}details{margin-top:18px;font-size:10px;color:var(--muted)}summary{cursor:pointer}pre{max-height:230px;overflow:auto;font-size:9px;white-space:pre-wrap;overflow-wrap:anywhere}#recordings a{display:block;color:var(--green);margin-top:10px;font-size:12px}footer{border-top:1px solid var(--line);border-bottom:0;color:var(--muted);font-size:9px}[hidden]{display:none!important}@media(min-width:1500px){main{gap:55px}aside{padding-left:45px}}@media(max-width:1000px){main{gap:24px;grid-template-columns:minmax(0,1.3fr) minmax(310px,1fr)}aside{padding-left:22px}.subtle{display:none}.transport{flex-wrap:wrap}.quality{width:100%;margin:0;display:flex;align-items:center;gap:10px}}@media(max-width:740px){header{padding:16px 5%}.mast{display:none}main{display:flex;flex-direction:column;padding:23px 5%;gap:30px}aside{border-left:0;padding:0}.performance{display:contents}.section-top,.stage,.transport,.performance>.footnote{order:0}.section-top{margin-bottom:-20px}.transport{margin-top:-18px}.performance>.footnote{margin-top:-20px}.music{order:1;margin-top:0}aside{order:2}.observations{order:3;margin-top:0}.quality{width:auto;margin-left:auto;display:block}.empty p{margin-top:10px}.asterisk{font-size:22px;margin-bottom:8px}.empty h1{font-size:38px}.stage-caption{font-size:8px;padding:15px 10px 8px}.empty p{font-size:10px}.transport button{font-size:11px;padding:10px}.primary{min-width:130px}.reading{margin-top:15px}}

.service-notice{grid-column:1/-1;background:#ede1c9;border:1px solid #d7c5a3;padding:13px 16px;font-size:12px;line-height:1.5;margin:0}.stage-caption #status{max-width:80%}

#track-note.upload-error{padding:12px;border:1px solid #bd6f4e;background:#f1dfd3;color:#743e27;font-size:12px}.upload:has(input:disabled){opacity:.5;cursor:wait}

.casting{margin:17px 0 12px;padding:15px;background:#e5e8dc}.casting-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.casting-heading>span{font-size:9px;letter-spacing:1px;color:var(--muted)}.casting-heading strong{font:23px var(--serif);font-weight:400}.casting>p{font-size:11px;line-height:1.5;color:var(--muted);margin:9px 0}.casting ol{margin:12px 0 0}.casting li{display:block;font-size:11px;line-height:1.6;padding:8px 0}.casting li b{font-weight:600}.casting .footnote{font-size:10px;margin-bottom:0}
/* Study 05 has an independent page; study 04 remains unchanged. */
:root{--acid:#d8c9ff;--green:#62577f}main{grid-template-columns:minmax(0,1.7fr) minmax(330px,1fr)}.empty{background:radial-gradient(ellipse at center,#3e3549 0,#221e28 75%)}.stage{background:#221e28}.primary:hover:not(:disabled){background:#c5b0fa}aside .music{border-top:0;margin-top:0;padding-top:0}.study-note{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.study-note>p{font-size:12px;line-height:1.7;color:var(--muted)}.study-note .queue{margin-top:22px;margin-bottom:12px;background:#e5deed}.previous-study{display:block;margin-top:28px;color:var(--green);font-size:11px;text-underline-offset:4px}.cast-details{border-top:1px solid var(--line);padding-top:18px;font-size:11px}.casting{background:#e5deed}.casting-heading{justify-content:flex-start}@media(max-width:740px){main{display:flex}.performance{display:block}.section-top{margin-bottom:12px}.transport{margin-top:14px}.performance>.footnote{margin-top:12px}aside{order:0}.performance .observations{margin-top:24px}.subtle{display:none}}

.cast-control{margin:22px 0 8px}.cast-control legend{font-size:12px}.cast-control button{padding:12px 8px}

.interactions{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.interactions h3{font:23px var(--serif);font-weight:400;margin:0 0 14px}.interaction-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.interaction-buttons button{font-size:11px;padding:12px 8px}.interaction-buttons button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}

#dancers{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}#dancers button{border:1px solid var(--line);border-radius:3px}

.mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.mode-options button+button{border-left:1px solid var(--line)}
