:root{font-family:Arial,Helvetica,sans-serif;color:#f1e2c8;background:#20141e;font-synthesis:none;font-weight:400;--gold:#edc785;--muted:#b6a2a5;--border:#59404b}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,select,.upload{min-height:44px}button,.upload,select{cursor:pointer}button{color:inherit;background:#30212c;border:1px solid var(--border);padding:11px 16px;border-radius:4px;transition:background .18s,border-color .18s}button:hover:not(:disabled),.upload:hover{background:#49313d;border-color:#b39177}button:disabled{opacity:.45;cursor:default}:focus-visible{outline:3px solid #89d7cd;outline-offset:4px}header{display:flex;justify-content:space-between;align-items:center;padding:24px 3vw;border-bottom:1px solid var(--border);gap:20px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;font-size:10px;font-weight:700;letter-spacing:2px}.brandmark{font-family:Georgia,serif;font-size:36px;color:var(--gold);letter-spacing:-4px;border:1px solid var(--border);border-radius:50%;width:52px;height:52px;text-align:center;line-height:45px}.brand small{display:block;font-weight:400;letter-spacing:1px;font-size:10px;color:var(--muted);margin-top:8px}.top-actions{display:flex;gap:8px}.upload{display:flex;align-items:center;position:relative;border:1px solid var(--border);border-radius:4px;padding:10px 16px;overflow:hidden}.upload input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.upload:focus-within{outline:3px solid #89d7cd}.layout{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:700px}.programme{padding:40px 24px 30px 3vw;border-right:1px solid var(--border)}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700;color:var(--gold);margin:0 0 14px}h1{font-family:Georgia,serif;font-size:clamp(40px,4vw,63px);font-weight:400;letter-spacing:-2px;line-height:1;margin:22px 0}h1 em{color:#dfaba3;font-weight:400}h2{font-family:Georgia,serif;font-size:28px;line-height:1.12;font-weight:400;margin:0}.intro{font-size:12px;line-height:1.8;color:var(--muted);margin:25px 0 30px}.select-label{display:block;font-size:11px;color:var(--gold);margin-bottom:10px}select{width:100%;max-width:100%;background:#31212c;color:#f1e2c8;border:1px solid var(--border);padding:8px;border-radius:3px;font-size:12px}.instruction{display:grid;grid-template-columns:24px 1fr;gap:18px 8px;margin:30px 0;font-size:12px;line-height:1.6}.instruction p{margin:0}.number{color:#bd817d;font-family:Georgia,serif;font-size:17px}details{font-size:11px;line-height:1.7;color:var(--muted)}summary{cursor:pointer;min-height:44px;color:var(--gold)}.rule-key{font-size:11px;margin:25px 0;color:var(--muted)}.text-button{padding:8px 0;border:0;background:none;font-size:11px;color:var(--gold)}.theatre{padding:36px 2.6vw 0;min-width:0;background:radial-gradient(ellipse at 50% 10%,#5d303b66,transparent 70%)}.stage-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.counter{display:flex;gap:5px;align-items:center}.counter b{font-size:42px;font-family:Georgia,serif;font-weight:400}.counter span{font-size:18px;color:var(--muted)}.counter small{display:block;white-space:nowrap;font-size:8px;letter-spacing:1px}.scene-note{color:var(--muted);font-size:12px;line-height:1.7;margin:20px 0}.stage{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;min-height:340px;align-items:end;padding:18px 0 12px;border-bottom:1px solid #755058;background:linear-gradient(transparent 90%,#70434e24);position:relative}.cast-3{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 8% 12px}.performer{padding:12px 8px;background:transparent;border-color:transparent;border-radius:70px 70px 5px 5px;display:flex;align-items:center;flex-direction:column;min-width:0;height:100%;justify-content:end}.performer:disabled{opacity:1}.performer.selected{border-color:var(--gold);background:#89664b22}.performer.finished{background:#465f4e16}.tag{font-size:8px;letter-spacing:1px;color:#bca7a7;min-height:14px}.selected .tag{color:var(--gold)}.finished .tag{color:#a1c7b0}.performer svg{width:100%;max-width:180px;min-height:145px;overflow:visible;display:block}.performer strong{font-family:Georgia,serif;font-weight:400;font-size:16px;margin:12px 0;overflow-wrap:anywhere}.line{font-size:10px;line-height:1.65;min-height:50px;color:#c4adb0;overflow-wrap:anywhere}.waiting{font-size:9px;line-height:1.6;color:var(--gold);margin-top:10px;min-height:42px;overflow-wrap:anywhere}.puppet{transform-origin:75px 140px;transition:transform .7s}.puppet.bowed{transform:rotate(15deg) translateY(8px)}.footlights{text-align:center;font-size:10px;letter-spacing:12px;color:#e9b764;text-shadow:0 0 14px #edb969;overflow:hidden;white-space:nowrap;padding:13px}.console{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:20px;padding:23px 0;border-top:1px solid var(--border);align-items:center}.console .eyebrow{margin-bottom:10px}.selection{font-family:Georgia,serif;font-size:22px;margin:0 0 10px;overflow-wrap:anywhere}.status{font-size:11px;color:var(--muted);line-height:1.7;min-height:35px;margin:0}.console-buttons{display:flex;flex-direction:column;gap:8px}.primary{background:#eac48c;color:#291a24;border-color:#eac48c;font-weight:700;font-size:12px}.primary:hover:not(:disabled){background:#f5dab0;color:#291a24}.primary span{float:right}.toolbar{display:flex;gap:7px;flex-wrap:wrap;padding:12px 0 24px}.toolbar button{background:transparent;font-size:11px}.score{border-top:1px solid var(--border);padding:32px 3vw;display:grid;grid-template-columns:270px 1fr;gap:28px}.score h2{font-size:24px}.score ol{margin:0;padding:0;list-style:none;display:flex;gap:12px;flex-wrap:wrap}.score li{border-left:1px solid #b99573;padding:4px 18px;max-width:350px;font-family:Georgia,serif;overflow-wrap:anywhere;line-height:1.4}.score li span{display:block;font:8px Arial,sans-serif;letter-spacing:2px;color:var(--gold);margin-bottom:8px}.score li small{display:block;font:10px Arial,sans-serif;color:var(--muted);margin-top:10px}.score .future{opacity:.3}footer{display:flex;align-items:center;gap:15px;padding:20px 3vw;border-top:1px solid var(--border);flex-wrap:wrap;font-size:10px;color:var(--muted)}footer>span{margin-right:auto;font-size:8px;letter-spacing:1px}footer button{font-size:10px;background:none}footer label{display:flex;align-items:center;min-height:44px}.privacy,.workshop{padding:30px 3vw;background:#30202b;border-top:1px solid var(--border)}.privacy{font-size:12px;line-height:1.8}.privacy button{margin:10px 10px 0 0}.workshop-heading{display:flex;justify-content:space-between;gap:20px}.workshop p{font-size:12px;color:var(--muted);line-height:1.7}.editor-grid{display:grid;grid-template-columns:1fr 2fr;gap:30px}.editor-grid label{display:block;font-size:10px;line-height:1.7;color:var(--gold)}input:not([type=checkbox]):not([type=file]),textarea{display:block;width:100%;background:#1f1620;color:#f1e2c8;border:1px solid var(--border);padding:10px;font-size:12px;margin:6px 0 12px;border-radius:3px}textarea{min-height:80px;resize:vertical}.cast-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}fieldset{border:1px solid var(--border);min-width:0}legend{font:14px Georgia,serif;overflow-wrap:anywhere;max-width:100%}.matrix{display:grid;grid-template-columns:repeat(7,1fr);margin-top:20px}.matrix>label{display:grid;place-content:center;min-height:44px}.matrix>b{display:grid;place-content:center;font-size:12px}.matrix input{width:20px;height:20px;accent-color:#eac48c}.reduced *{scroll-behavior:auto}.reduced .puppet,.reduced button{transition:none}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media(min-width:1550px){.layout{grid-template-columns:310px 1fr}.stage{min-height:430px}.performer svg{max-width:220px}.performer strong{font-size:20px}.line{font-size:12px}.waiting{font-size:11px}.theatre{padding-top:45px}}@media(max-width:1100px){.layout{grid-template-columns:230px 1fr}.stage:not(.cast-3){grid-template-columns:repeat(3,minmax(0,1fr))}.performer svg{max-width:140px}.line{min-height:35px}.programme{padding-left:24px}.console{grid-template-columns:1fr}.console-buttons{flex-direction:row}.console-buttons button{flex:1}.cast-3{padding-left:0;padding-right:0}}@media(max-width:700px){header{padding:15px;align-items:start}.brand small{display:none}.brand{font-size:8px;letter-spacing:1px}.brandmark{width:36px;height:36px;font-size:28px;line-height:30px}.top-actions{flex-direction:column;font-size:10px}.top-actions button,.upload{padding:8px 10px}.layout{display:block}.programme{padding:25px 20px;border-right:0;border-bottom:1px solid var(--border)}h1{font-size:46px;display:inline;margin:0}h1 br{display:none}h1 em{margin-left:8px}.programme .eyebrow{margin-bottom:18px}.intro{margin:16px 0}.instruction{display:none}.programme details{margin-top:18px}.rule-key{margin:0}.theatre{padding:25px 15px 0}.stage-heading h2{font-size:25px}.stage{gap:3px}.performer{padding:8px 4px}.performer strong{font-size:14px}.performer svg{min-height:110px}.line{font-size:9px}.waiting{font-size:8px}.console{gap:10px}.console-buttons{flex-direction:column}.score{display:block;padding:24px 20px}.score ol{margin-top:25px}.score li{font-size:14px}footer{padding:15px}.editor-grid,.cast-editor{grid-template-columns:1fr}.workshop-heading{display:block}.workshop-heading button{margin-top:15px}}h1,h2,.scene-note,.preview,.selection{overflow-wrap:anywhere}.stage-heading>div:first-child{min-width:0}
