:root{font-family:Segoe UI,Malgun Gothic,Arial,sans-serif;color:#222;background:#111;font-size:14px;line-height:1.5}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select,input{font:inherit}button,select{border:1px solid #bbb;border-radius:5px;background:#fff;color:#222;padding:5px 10px;cursor:pointer}button:hover{background:#eee}button:disabled{cursor:default;opacity:.4}:focus-visible{outline:3px solid #2875a9;outline-offset:2px}[hidden]{display:none!important}a{color:#26394c}
.stage{position:fixed;inset:36px 0 54px;overflow:hidden;background:#111;display:flex;align-items:center;justify-content:center}#screen{display:block;width:100%;height:100%;object-fit:contain}
.topbar{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;gap:12px;height:36px;padding:0 12px;background:rgba(255,255,255,.94);box-shadow:0 1px 3px #0002}.topbar strong{font-size:15px;color:#145bbb}.topbar h1{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;flex:1;min-width:0}#counter,.source-label{font-size:10px;color:#666;white-space:nowrap}.topbar button{font-size:11px;padding:3px 8px}
.audience-controls{position:fixed;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:5px;align-items:center;padding:5px;background:#fffffff0;border:1px solid #ccc;border-radius:8px;box-shadow:0 2px 10px #0003;white-space:nowrap}.audience-controls button{font-size:11px;padding:4px 9px}.primary{background:#222;color:#fff;border-color:#222;min-width:68px}.primary:hover{background:#444}button[aria-pressed=true]{background:#dceafb;border-color:#377abd}
#caption{position:fixed;left:4%;right:4%;bottom:62px;max-height:25vh;overflow:auto;background:#111e;color:white;font-size:clamp(14px,1.3vw,20px);line-height:1.65;border-radius:6px;padding:10px 16px;margin:0;box-shadow:0 2px 8px #0005}.commercial{color:#b22d2d;font-size:11px}.audience-note{position:fixed;bottom:1px;right:6px;font-size:9px;padding:0 4px;background:#ffffffe8}
 dialog{width:min(1040px,94vw);max-height:90dvh;padding:20px;border:1px solid #aaa;border-radius:10px;background:#fafafa;color:#222;overflow:auto}dialog::backdrop{background:#0009}.panel-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ddd;padding-bottom:12px}.panel-heading h2{margin:0;font-size:18px}.panel-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;padding-top:16px}.panel-layout aside h2{font-size:14px;margin:0 0 8px}#scene-list{display:grid;gap:3px}#scene-list button{font-size:12px;text-align:left;background:transparent;border:0;border-left:3px solid transparent;border-radius:0;padding:7px 9px}#scene-list button[aria-current=step]{background:#e7e7e7;border-left-color:#222;font-weight:600}#role{font-size:13px;margin:0}#action{font-size:13px;color:#666}.controls{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.controls label{display:grid;gap:4px;font-size:12px}progress{width:100%;height:5px;accent-color:#333}#status{font-size:13px;color:#5b3c24}audio{width:100%;height:34px}details{margin:16px 0;padding-top:12px;border-top:1px solid #ddd}summary{cursor:pointer;font-weight:600}#script p,details p{font-size:13px}details h2{font-size:14px}.upload input{max-width:100%;font-size:12px}.documents{display:flex;gap:16px;margin-top:20px}footer{font-size:11px;color:#666;border-top:1px solid #ddd;margin-top:20px;padding-top:10px}
.landing{max-width:800px;margin:10vh auto;padding:40px;background:#fafafa;border-radius:10px}.landing h1{font-size:38px}.eyebrow{font-size:12px;letter-spacing:.12em;color:#666}.languages{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}.languages a{padding:24px;background:#fff;border:1px solid #ccc;text-decoration:none;font-size:24px}.languages small{display:block;font-size:14px;color:#666}
@media(max-width:650px){.stage{bottom:62px}.topbar{gap:6px;padding:0 7px}.source-label{display:none}.topbar h1{font-size:11px}#counter{font-size:9px}.audience-controls{gap:3px;bottom:19px;max-width:98vw}.audience-controls button{padding:5px 7px;font-size:10px}.audience-note{font-size:8px;right:0}#caption{bottom:76px;font-size:14px}.panel-layout{grid-template-columns:1fr}.panel-layout aside{max-height:160px;overflow:auto}#scene-list{grid-template-columns:repeat(2,minmax(0,1fr))}.landing{margin:4vh auto;padding:24px}.languages{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
