:root{--bg:#000;--ground:#08090b;--surface:#ffffff0d;--surface-hover:#ffffff16;--surface-active:#ffffff1f;--hairline:#ffffff14;--text:#eef0f3;--muted:#9aa1ab;--label:#7f8792;--accent:#4da3ff;--rec:#ff3b30;--locked:#32d74b;--uncertain:#ffd60a;--lost:#ff9f0a;--fs-label:11px;--fs-body:12px;--fs-control:13px;--r-sm:6px;--r-md:10px;--r-lg:14px;--control-h:36px;--chrome:1.35;--track:var(--accent);--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", system-ui, sans-serif;--script-font:"SF Pro Display", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:6px}::-webkit-scrollbar-track{background:0 0}.app{height:100%;position:relative}.stage{background:var(--bg);position:absolute;inset:0;overflow:hidden}.backdrop{opacity:0;pointer-events:none;transition:opacity .26s;position:absolute;top:0;left:0}.app.backdrop-on .backdrop{opacity:var(--backdrop-opacity,.3);-webkit-mask-image:radial-gradient(125% 105% at 50% 48%,#000 52%,#0000 100%);mask-image:radial-gradient(125% 105% at 50% 48%,#000 52%,#0000 100%)}.backdrop.self-mirror{transform:scaleX(-1)}.app.preview-dim .backdrop{opacity:calc(var(--backdrop-opacity,.3) * .5)}.app.preview-hidden .backdrop{opacity:0}.script-viewport{z-index:1;justify-content:center;align-items:flex-start;display:flex;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0,#000 9% 78%,#0000 88%);mask-image:linear-gradient(#0000 0,#000 9% 78%,#0000 88%)}.script-content{width:100%;max-width:var(--column-width,36ch);font-family:var(--script-font);font-size:var(--script-size,44px);line-height:var(--script-leading,1.5);letter-spacing:-.01em;color:#8a929d;will-change:transform;text-wrap:pretty;text-shadow:0 1px 14px #000000d9;padding:50vh 24px 60vh;font-weight:400}.script-paragraph{margin:0 0 .85em}.script-word{transition:color .18s}.script-word.is-read{color:#5a626d}.script-word.is-sentence:not(.is-read){color:#fff}.script-word.is-current,.script-word.is-read.is-current{color:#fff;background:linear-gradient(to top, var(--track) 0 4px, transparent 4px)}.script-word.is-em1{font-weight:500}.script-word.is-em2{font-weight:600}.script-word.is-em1:not(.is-read):not(.is-sentence){color:#b9c1cc}.script-word.is-em2:not(.is-read):not(.is-sentence){color:#d9dfe7}.script-content.no-dim .script-word.is-read{color:#8a929d}.script-content.no-sentence .script-word.is-sentence{color:inherit}.script-placeholder{color:var(--label);text-align:center;font-size:.5em}.app.has-alert .script-content{opacity:.18}.reading-line{pointer-events:none;z-index:51;height:0;font-family:var(--script-font);font-size:var(--script-size,44px);transition:opacity .2s;position:absolute;top:38%;left:0;right:0}.reading-line.hidden{opacity:0}.reading-line:before,.reading-line:after{content:"";background:var(--track);border-radius:2px;width:6px;height:40px;transition:background .26s,height .2s,top .2s;position:absolute;top:-20px}.reading-line:before{left:calc(50% - var(--column-width,36ch) / 2 - 24px)}.reading-line:after{right:calc(50% - var(--column-width,36ch) / 2 - 24px)}.app.is-lost .reading-line:before,.app.is-lost .reading-line:after{height:64px;animation:1s ease-in-out infinite lost-pulse;top:-32px}@keyframes lost-pulse{0%,to{opacity:1}50%{opacity:.35}}.app.is-lost .script-word.is-current,.app.is-lost .script-word.is-read.is-current{box-shadow:0 4px 0 var(--track);background:0 0}.lost-pill{right:calc(50% + var(--column-width,36ch) / 2 + 44px);font-family:var(--script-font);font-size:var(--script-size,44px);white-space:nowrap;z-index:52;color:#ffb340;pointer-events:none;background:#ff9f0a29;border-radius:20px;align-items:center;padding:8px 16px;line-height:1;display:flex;position:absolute;top:38%;transform:translateY(-50%);box-shadow:inset 0 0 0 1px #ff9f0a8c}.lost-pill span{font-family:var(--font);font-size:calc(13px * var(--chrome));letter-spacing:.02em;font-weight:600}.progress-edge{z-index:3;background:#ffffff0f;height:2px;position:absolute;top:0;left:0;right:0}.progress-edge-fill{background:var(--track);width:0;height:100%;transition:width .22s,background .26s}.corner{z-index:4;pointer-events:none;text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex;position:absolute;bottom:24px;right:24px}.corner-timer{font-size:calc(34px * var(--chrome));letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--text);text-shadow:0 1px 12px #000000e6;font-weight:500;line-height:1}.corner-remaining{font-size:calc(20px * var(--chrome));color:var(--muted);font-variant-numeric:tabular-nums;text-shadow:0 1px 8px #000000e6;font-weight:500}.audio-warn{font-size:calc(13px * var(--chrome));pointer-events:none;border-radius:20px;align-items:center;gap:8px;padding:8px 12px;font-weight:600;display:none}.audio-warn.is-warning{color:#ffe066;background:#ffd60a29;display:flex;box-shadow:inset 0 0 0 1px #ffd60a80}.audio-warn.is-clipping{color:#ff8a82;background:#ff3b302e;display:flex;box-shadow:inset 0 0 0 1px #ff3b308c}.hud-save{font-size:calc(11px * var(--chrome));color:var(--label);white-space:nowrap;padding:0 8px}.hud-save.is-warning{color:var(--uncertain)}.app.is-recording:after{content:"";border:6px solid var(--rec);pointer-events:none;z-index:50;animation:2.4s ease-in-out infinite rec-breathe;position:fixed;inset:0}@keyframes rec-breathe{0%,to{opacity:1}50%{opacity:.5}}.hud{z-index:5;border-radius:var(--r-lg);backdrop-filter:blur(24px)saturate(140%);box-shadow:inset 0 0 0 1px var(--hairline), 0 12px 40px #00000080;background:#101115c7;align-items:center;gap:8px;padding:8px;transition:opacity .24s,transform .24s;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.hud.is-hidden{opacity:0;pointer-events:none;transform:translate(-50%,8px)}.hud-btn{height:calc(var(--control-h) * 1.1);border-radius:var(--r-md);color:var(--muted);font-size:calc(12px * var(--chrome));white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;padding:0 16px;font-weight:500;transition:background .14s,color .14s;display:flex}.hud-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.hud-btn:disabled{opacity:.35;cursor:default}.hud-btn kbd{font-size:calc(10px * var(--chrome));color:var(--label);font-family:var(--font);background:#ffffff12;border-radius:6px;padding:4px 8px}.hud-btn.armed{color:#ff8a82;background:#ff3b3029}.hud-record{height:calc(var(--control-h) * 1.1);border-radius:var(--r-md);color:#fff;font-size:calc(13px * var(--chrome));letter-spacing:.02em;background:linear-gradient(#ff4b40,#e8271c);border:none;align-items:center;gap:8px;padding:0 24px;font-weight:700;transition:filter .14s,opacity .14s;display:flex;box-shadow:inset 0 1px #ffffff38,0 2px 14px #ff3b3052}.hud-record:hover:not(:disabled){filter:brightness(1.08)}.hud-record:disabled{opacity:.35;cursor:default}.hud-record .glyph{background:#fff;border-radius:50%;width:12px;height:12px;transition:border-radius .14s}.hud-record.is-live .glyph{border-radius:2px}.hud-record.is-live{box-shadow:inset 0 0 0 1px var(--hairline);background:#ffffff1a}.centre-alert{z-index:40;border-radius:var(--r-lg);backdrop-filter:blur(16px);text-align:center;background:#280c0a;flex-direction:column;align-items:center;gap:12px;width:min(560px,90%);padding:24px 32px;display:flex;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 1px #ff3b3073,0 24px 70px #0009}.centre-alert .headline{font-size:calc(15px * var(--chrome));color:#ff8a82;font-weight:600}.centre-alert .detail{font-size:calc(12px * var(--chrome));color:var(--text);line-height:1.5}.centre-alert .btn{min-height:44px;font-size:calc(13px * var(--chrome));background:var(--rec);color:#fff;font-weight:600}.centre-alert .btn:hover:not(:disabled){background:#ff5348}.take-card{z-index:41;border-radius:var(--r-lg);backdrop-filter:blur(24px)saturate(140%);background:#101115eb;align-items:center;gap:20px;padding:16px 24px 16px 16px;animation:.2s ease-out toast-in;display:flex;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 1px #32d74b73,0 24px 70px #0009}.take-card .poster{aspect-ratio:16/9;border-radius:var(--r-md);width:320px;box-shadow:inset 0 0 0 1px var(--hairline);background:#000 50%/cover no-repeat;flex:none}.take-card .poster.is-blank{background:repeating-linear-gradient(45deg,#101216 0 8px,#171a1f 8px 16px)}.take-card .body{flex-direction:column;gap:8px;min-width:0;display:flex}.take-card .title{font-size:calc(20px * var(--chrome));color:var(--locked);font-weight:600}.take-card .meta{font-size:calc(13px * var(--chrome));color:var(--text);white-space:nowrap}.take-card .foot{font-size:calc(11px * var(--chrome));color:var(--label)}.take-card .foot kbd{font-size:calc(10px * var(--chrome));padding:4px 8px}.app.has-card .script-content{opacity:.35}.countdown{backdrop-filter:blur(3px);z-index:60;font-variant-numeric:tabular-nums;color:#fff;background:#000000b8;place-items:center;font-size:22vh;font-weight:200;display:grid;position:fixed;inset:0}.countdown span{animation:.9s ease-out pop}@keyframes pop{0%{opacity:.2;transform:scale(1.35)}to{opacity:1;transform:scale(1)}}.btn{min-height:var(--control-h);border-radius:var(--r-md);background:var(--surface);color:var(--text);font-size:var(--fs-control);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-weight:500;transition:background .14s,color .14s,opacity .14s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-hover)}.btn:disabled{opacity:.38;cursor:default}.btn.primary{background:var(--accent);color:#041324;font-weight:600}.btn.primary:hover:not(:disabled){background:#6ab3ff}.btn.ghost{color:var(--muted);background:0 0}.btn.ghost:hover:not(:disabled){background:var(--surface);color:var(--text)}.btn.danger:hover:not(:disabled){color:#ff8a82}.btn.is-on{color:#a9d2ff;background:#4da3ff24}.btn.is-on:before{content:"";background:var(--accent);border-radius:2px;flex:none;width:12px;height:12px}.btn-row{gap:8px;display:flex}.btn-row>*{flex:1}select{width:100%;min-height:var(--control-h);border-radius:var(--r-md);background:var(--surface);appearance:none;font-size:var(--fs-control);text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239aa1ab' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:none;padding:0 32px 0 12px;transition:background-color .14s}select:hover{background-color:var(--surface-hover)}select:disabled{opacity:.45}.segmented{border-radius:var(--r-md);background:var(--surface);gap:4px;padding:4px;display:flex}.segmented button{min-height:calc(var(--control-h) - 8px);border-radius:var(--r-sm);color:var(--muted);font-size:var(--fs-body);background:0 0;border:none;flex:1;padding:0 8px;font-weight:500;transition:background .12s,color .12s}.segmented button:hover:not(:disabled):not([aria-pressed=true]){color:var(--text)}.segmented button[aria-pressed=true]{color:#fff;background:#ffffff24;font-weight:600;box-shadow:0 1px 2px #0006}.segmented button:disabled{opacity:.3;cursor:default}input[type=range]{-webkit-appearance:none;appearance:none;background:0 0;width:100%;height:24px}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent) 0 var(--pct,0%), #ffffff1f var(--pct,0%));border-radius:2px;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:none;border-radius:50%;width:16px;height:16px;margin-top:-6px;box-shadow:0 1px 4px #00000080}.field{flex-direction:column;gap:8px;display:flex}.field-label{font-size:var(--fs-label);color:var(--label);justify-content:space-between;align-items:baseline;font-weight:500;display:flex}.field-value{color:var(--text);font-variant-numeric:tabular-nums;font-weight:500}.hint{font-size:var(--fs-label);color:var(--muted);line-height:1.5}.hint.warn{color:#ffc95c}.hint.bad{color:#ff8a82}.readout{font-size:var(--fs-label);color:var(--muted);font-variant-numeric:tabular-nums;line-height:1.5}.readout strong{color:var(--text);font-weight:600}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meter{background:linear-gradient(90deg,#32d74b 0% 58%,#ffd60a 80%,#ff453a 100%);border-radius:6px;height:8px;position:relative;overflow:hidden}.meter-mask{background:#ffffff14;transition:left 60ms linear;position:absolute;inset:0}.meter-peak{background:#ffffffd9;width:2px;transition:left 90ms linear;position:absolute;top:0;bottom:0}.meter-row{align-items:center;gap:8px;display:flex}.meter-row .meter{flex:1}.clip-led{background:#ffffff1f;border-radius:50%;flex:none;width:8px;height:8px;transition:background 90ms}.clip-led.on{background:var(--rec);box-shadow:0 0 8px #ff453acc}.setup{z-index:55;backdrop-filter:blur(28px)saturate(140%);background:#08090beb;padding:32px 40px 48px;animation:.2s ease-out setup-in;position:absolute;inset:0;overflow-y:auto}@keyframes setup-in{0%{opacity:0}to{opacity:1}}.setup-head{align-items:center;gap:16px;margin-bottom:24px;display:flex}.setup-title{letter-spacing:-.01em;margin-right:auto;font-size:20px;font-weight:600}.setup-version{font-size:var(--fs-label);color:var(--label)}.setup-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr) minmax(300px,1fr);align-items:start;gap:24px 32px;max-width:1440px;margin:0 auto;display:grid}.setup-col{flex-direction:column;gap:20px;min-width:0;display:flex}.section{flex-direction:column;gap:12px;display:flex}.section-title{font-size:var(--fs-label);color:var(--label);letter-spacing:.01em;font-weight:600}.section-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.framing{border-radius:var(--r-lg);width:100%;box-shadow:inset 0 0 0 1px var(--hairline);touch-action:none;cursor:grab;background:#000;position:relative;overflow:hidden}.framing.dragging{cursor:grabbing}.framing video{object-fit:fill;display:block;position:absolute;top:0;left:0}.framing video.self-mirror{transform:scaleX(-1)}.framing-frame{pointer-events:none;border:1px solid #ffffffd9;position:absolute;box-shadow:0 0 0 9999px #0009}.framing-guides{pointer-events:none;position:absolute}.framing-guides .third{background:#fff3;position:absolute}.framing-guides .eyeline{border-top:1px dashed #4da3ffb3;height:0;position:absolute;left:0;right:0}.framing-guides .eyeline:after{content:"eyeline";color:#a9d2ffe6;font-size:10px;position:absolute;top:4px;left:4px}.framing-empty{color:var(--muted);font-size:var(--fs-control);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:absolute;inset:0}.framing-caption{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.framing-caption strong{font-size:var(--fs-control);font-weight:600}.takes-list{flex-direction:column;gap:4px;display:flex}.takes-empty{font-size:var(--fs-label);color:var(--label);padding:4px 0}.take-row{border-radius:var(--r-md);text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:8px;transition:background .14s;display:flex}.take-row:hover{background:var(--surface)}.take-degraded{font-size:var(--fs-label);color:var(--uncertain)}.take-thumb{aspect-ratio:16/9;border-radius:var(--r-sm);width:96px;box-shadow:inset 0 0 0 1px var(--hairline);background:#000 50%/cover no-repeat;flex:none}.take-thumb.is-blank{background:repeating-linear-gradient(45deg,#101216 0 6px,#171a1f 6px 12px)}.take-meta{flex-direction:column;gap:4px;min-width:0;display:flex}.take-time{font-size:var(--fs-control);font-weight:600}.take-size{font-size:var(--fs-label);color:var(--muted)}.take-name{font-size:var(--fs-label);color:var(--label)}.mic-test{border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--hairline);font-size:var(--fs-label);background:#00000059;padding:8px 12px;line-height:1.6}.toasts{z-index:80;pointer-events:none;flex-direction:column;align-items:center;gap:8px;max-width:min(640px,84vw);display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;border-radius:var(--r-lg);backdrop-filter:blur(20px)saturate(140%);box-shadow:inset 0 0 0 1px var(--hairline), 0 12px 36px #00000080;font-size:calc(12px * var(--chrome));background:#16181de6;align-items:flex-start;gap:12px;padding:12px 16px;line-height:1.45;animation:.2s ease-out toast-in;display:flex}.toast.error{background:#301414f0;box-shadow:inset 0 0 0 1px #ff453a99,0 12px 36px #00000080}.toast.warn{box-shadow:inset 0 0 0 1px #ffd60a73,0 12px 36px #00000080}.toast.success{box-shadow:inset 0 0 0 1px #32d74b73,0 12px 36px #00000080}.toast button{color:var(--muted);background:0 0;border:none;padding:0 0 0 4px;font-size:15px;line-height:1}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.overlay-root:empty{display:none}.modal-backdrop{z-index:70;backdrop-filter:blur(6px);background:#0000008c;place-items:center;padding:4vh 4vw;display:grid;position:fixed;inset:0}.modal{border-radius:var(--r-lg);width:min(900px,100%);max-height:92vh;box-shadow:inset 0 0 0 1px var(--hairline), 0 24px 70px #000000a6;background:#101115f5;flex-direction:column;display:flex;overflow:hidden}.modal-head{align-items:center;gap:12px;padding:16px 20px;display:flex}.modal-title{margin-right:auto;font-size:15px;font-weight:600}.modal-body{flex-direction:column;gap:12px;min-height:0;padding:0 20px 20px;display:flex;overflow:auto}.modal-foot{justify-content:flex-end;gap:8px;padding:12px 20px 20px;display:flex}.script-editor{resize:vertical;border-radius:var(--r-md);width:100%;min-height:48vh;box-shadow:inset 0 0 0 1px var(--hairline);font-family:var(--script-font);background:#0006;border:none;padding:16px 20px;font-size:15px;line-height:1.65}.script-editor:focus{outline:none;box-shadow:inset 0 0 0 1px #4da3ff8c}.name-input{border-radius:var(--r-md);background:var(--surface);border:none;width:100%;padding:8px 12px}.name-input:focus{outline:none;box-shadow:inset 0 0 0 1px #4da3ff8c}.library-list{flex-direction:column;gap:4px;max-height:46vh;display:flex;overflow:auto}.library-item{border-radius:var(--r-md);background:var(--surface);text-align:left;border:none;align-items:center;gap:12px;width:100%;padding:12px;display:flex}.library-item:hover{background:var(--surface-hover)}.library-item.is-active{background:#4da3ff17;box-shadow:inset 0 0 0 1px #4da3ff99}.library-item .meta{font-size:var(--fs-label);color:var(--muted);white-space:nowrap;margin-left:auto}.library-item .name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.icon-btn{border-radius:var(--r-sm);color:var(--muted);font-size:var(--fs-label);background:0 0;border:none;padding:4px 8px}.icon-btn:hover{background:var(--surface-hover);color:var(--text)}.shortcut-grid{font-size:var(--fs-body);grid-template-columns:auto 1fr;align-items:center;gap:8px 16px;display:grid}kbd{text-align:center;border-radius:var(--r-sm);background:var(--surface);min-width:24px;font-family:var(--font);font-size:var(--fs-label);padding:4px 8px;font-weight:600;display:inline-block;box-shadow:inset 0 -2px #0006}.gate{z-index:90;background:var(--bg);text-align:center;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.gate-inner{flex-direction:column;align-items:center;gap:16px;max-width:460px;display:flex}.gate h1{letter-spacing:-.02em;margin:0;font-size:34px;font-weight:300}.gate p{color:var(--muted);line-height:1.6;font-size:var(--fs-control);margin:0}@media (width<=1280px){.setup-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr)}}@media (width<=960px){.setup-grid{grid-template-columns:1fr}}.setup.peeking{backdrop-filter:none;background:#08090b59}.setup.peeking .setup-col:not(.is-peek-source){opacity:.25;pointer-events:none}
