*{box-sizing:border-box}html,body,#root{background:var(--panel);height:100%;color:var(--silk);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;overflow:hidden}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default;color:var(--silk-faint)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::-webkit-scrollbar{width:13px;height:13px}::-webkit-scrollbar-track{background:var(--recess)}::-webkit-scrollbar-corner{background:var(--recess)}::-webkit-scrollbar-track{box-shadow:inset 0 1px 0 var(--groove-dark);border-radius:7px}::-webkit-scrollbar-thumb{background-clip:padding-box;border:2px solid #0000;border-radius:7px}::-webkit-scrollbar-thumb:vertical{background-image:linear-gradient(to right, var(--cable-jacket) 3px, oklch(.8 .15 var(--accent-h) / .6) 3px 6px, var(--cable-jacket) 6px)}::-webkit-scrollbar-thumb:horizontal{background-image:linear-gradient(to bottom, var(--cable-jacket) 3px, oklch(.8 .15 var(--accent-h) / .6) 3px 6px, var(--cable-jacket) 6px)}::-webkit-scrollbar-thumb:vertical:hover{background-image:linear-gradient(to right, var(--cable-jacket) 3px, var(--accent) 3px 6px, var(--cable-jacket) 6px)}::-webkit-scrollbar-thumb:vertical:active{background-image:linear-gradient(to right, var(--cable-jacket) 3px, var(--accent) 3px 6px, var(--cable-jacket) 6px)}::-webkit-scrollbar-thumb:horizontal:hover{background-image:linear-gradient(to bottom, var(--cable-jacket) 3px, var(--accent) 3px 6px, var(--cable-jacket) 6px)}::-webkit-scrollbar-thumb:horizontal:active{background-image:linear-gradient(to bottom, var(--cable-jacket) 3px, var(--accent) 3px 6px, var(--cable-jacket) 6px)}.legend{font:var(--type-legend);font-stretch:var(--stretch-legend);color:var(--silk-dim);letter-spacing:.01em}.dim{color:var(--silk-dim)}b{font-weight:600}.panel{grid-template-columns:minmax(0, 1fr) var(--monitor-col-w);grid-template-rows:var(--now-strip-h) minmax(0, 1fr) var(--bay-h) var(--next-strip-h);grid-template-areas:"now now""page monitor""bay bay""next next";height:100%;display:grid}.panel[data-view=set],.panel[data-view=setup],.panel[data-view=venue],.panel[data-view=director],.panel[data-view=guides],.panel[data-view=profiles]{grid-template-areas:"now now""page monitor""page monitor""next next"}.now,.bay{box-shadow:inset 0 -1px 0 var(--groove-light), inset 0 -2px 0 var(--groove-dark)}.next{box-shadow:inset 0 1px 0 var(--groove-dark), inset 0 2px 0 var(--groove-light)}.now{align-items:center;gap:var(--space-7);padding:0 var(--gutter);grid-area:now;display:flex}.badge{width:var(--hit-min);height:var(--hit-min);margin-right:calc(var(--space-6) - var(--space-7));color:var(--silk);fill:currentColor;place-items:center;display:grid}.badge .lamp{fill:var(--accent);transform-box:fill-box;transform-origin:50%}.now-title{flex:1;align-items:baseline;gap:14px;min-width:0;display:flex}.now-title h1{font:var(--type-title);font-stretch:var(--stretch-title);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.now-title h1.idle{color:var(--silk-dim)}.now-title .dim{font-size:18px;font-stretch:var(--stretch-name);white-space:nowrap}.readout{gap:var(--space-1);font-variant-numeric:tabular-nums;flex-direction:column;min-width:56px;display:flex}.readout b{font:var(--type-readout);font-stretch:var(--stretch-number)}.readout .dim{margin-top:2px;font-size:13px}.leds{gap:var(--space-2);align-items:center;height:24px;display:flex}.leds i{background:var(--recess);border-radius:50%;width:16px;height:16px;box-shadow:inset 0 1px 2px #000}.leds i.lit{background:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.leds i.lit.down{background:var(--silk)}.monitor{padding:var(--gutter);gap:var(--space-3);box-shadow:inset 1px 0 0 var(--groove-dark), inset 2px 0 0 var(--groove-light);flex-direction:column;grid-area:monitor;min-height:0;display:flex}.bezel{aspect-ratio:16/9;border-radius:var(--radius-screen);box-shadow:0 0 0 6px var(--recess), 0 0 0 7px var(--groove-light);background:#000;flex:none;margin:7px;position:relative}.bezel canvas{border-radius:2px;width:100%;height:100%;display:block}.flag{font:var(--type-legend);font-stretch:var(--stretch-legend);background:var(--panel-raised);color:var(--silk);border-radius:3px;padding:5px 9px;position:absolute;inset:auto 10px 10px auto}.flag[data-kind=blackout]{background:var(--stop);color:var(--on-stop)}.flag[data-kind=frozen]{background:var(--accent);color:var(--on-accent)}.monitor-meta{justify-content:space-between;gap:var(--space-3);font-variant-numeric:tabular-nums;padding:0 7px;font-size:13px;display:flex}.monitor-meta span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.notices{gap:var(--space-1);flex-direction:column;padding:0 7px;display:flex}.notice{align-items:center;gap:var(--space-3);padding:6px var(--space-3);border-radius:var(--radius-meter);background:var(--recess);box-shadow:inset 3px 0 0 var(--accent);font:var(--type-hint);color:var(--silk);display:flex}.notice span{flex:1}.scope{gap:var(--space-2);flex-direction:column;flex:1;min-height:60px;padding:4px 7px 0;display:flex}.scope-bars{background:var(--recess);min-height:0;padding:var(--space-2);border-radius:3px;flex:1;display:flex}.scope-bars canvas{width:100%;height:100%;display:block}.keys{gap:var(--space-2);grid-template-columns:repeat(6,1fr);display:grid}.keys .key{padding:10px 9px}.director-line{max-width:calc(100% - 16px);font:var(--type-legend);color:var(--silk);background:#0c0b0acc;border-radius:2px;padding:4px 8px;position:absolute;top:8px;left:8px}.director-line[data-mode=off]{display:none}.key.paused{box-shadow:inset 0 0 0 2px var(--accent), 0 2px 0 var(--groove-dark)}.key{height:var(--key-h);border-radius:var(--radius-key);background:var(--panel-raised);box-shadow:inset 0 1px 0 var(--key-highlight), 0 2px 0 var(--groove-dark), 0 3px 6px #000a;text-align:left;transition:transform var(--dur-press) var(--ease);flex-direction:column;justify-content:space-between;align-items:flex-start;padding:10px 12px;display:flex}.key b{font:var(--type-key);font-stretch:var(--stretch-name)}.key kbd{font:var(--type-legend);font-stretch:var(--stretch-legend);color:var(--silk-dim)}.key:active{transform:translateY(2px)}.key.on{background:var(--accent);color:var(--on-accent);box-shadow:0 0 22px var(--accent-glow)}.key.on kbd{color:color-mix(in srgb, var(--on-accent) 75%, transparent)}.key-blackout.on{background:var(--stop);color:var(--on-stop);box-shadow:0 0 22px var(--stop-glow)}.key-blackout.on kbd{color:color-mix(in srgb, var(--on-stop) 75%, transparent)}.page{padding:var(--gutter);grid-area:page;min-width:0;min-height:0;display:flex}.page-perform{flex-direction:column;gap:18px}.selector{align-items:center;gap:var(--space-2);display:flex}.rotary{width:350px;height:var(--rotary);touch-action:none;flex:none;margin:-16px 0 -16px -20px}.knob-body{fill:var(--recess)}.knob-cap{fill:var(--knob);stroke:var(--knob-edge);stroke-width:1px;cursor:grab}.knob-mark{fill:var(--accent)}.rotary-pointer{transition:transform var(--dur-switch) var(--ease);pointer-events:none}.tick line{stroke:var(--silk-faint);stroke-width:2px}.tick text{fill:var(--silk-dim);font:600 16px var(--font);font-stretch:var(--stretch-legend);cursor:pointer}.tick.on line{stroke:var(--accent)}.tick.on text{fill:var(--silk)}.scene-readout{flex-direction:column;gap:6px;min-width:0;display:flex}.scene-readout h2{font:var(--type-scene);font-stretch:var(--stretch-title);margin:0}.dials{gap:var(--space-6);margin-top:auto;display:flex}.dial{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:6px;width:168px;display:flex}.dial canvas{width:var(--dial);height:var(--dial);cursor:ns-resize;touch-action:none}.dial-value{font:var(--type-dial-value);font-stretch:var(--stretch-number);font-variant-numeric:tabular-nums}.dial.small{gap:2px;width:96px}.dial.small canvas{width:72px;height:72px}.dial.small .dial-value{font-size:17px}.dial.small .legend{text-align:center}.bay{padding:14px var(--gutter) 18px;background:linear-gradient(var(--panel-bay), var(--panel));grid-area:bay;grid-template-rows:auto auto 1fr auto;gap:10px;min-width:0;display:grid;position:relative}.bay-head{gap:var(--space-5);font:var(--type-hint);align-items:baseline;min-height:20px;display:flex}.bay-head .undo{border-radius:var(--radius-chip);background:var(--accent);color:var(--on-accent);padding:2px 10px;font-weight:600}.jacks{grid-template-columns:repeat(var(--cols,7), minmax(0, 1fr));gap:var(--space-3);z-index:1;display:grid;position:relative}.jacks-in{grid-row:4}.jack{column-gap:var(--space-3);text-align:left;min-height:var(--hit-min);border-radius:8px;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:center;padding:6px;display:grid}.jack:hover{background:#ffffff08}.socket{width:var(--socket);height:var(--socket);border-radius:var(--radius-jack);box-shadow:0 1px 0 var(--groove-light) inset;background:radial-gradient(circle,#000 0 9px,#3b3934 10px 15px,#26241f 16px);grid-row:span 2;position:relative}.led{background:var(--accent);opacity:0;width:9px;height:9px;box-shadow:0 0 8px var(--accent);border-radius:50%;position:absolute;top:-3px;right:-3px}.jack.armed .socket{box-shadow:0 0 0 2px var(--accent)}.jack.selected .socket{box-shadow:0 0 0 2px var(--silk)}.jack-name{font:var(--type-jack);font-stretch:var(--stretch-name);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.jack.unused .jack-name{color:var(--silk-faint)}.jack-meter{border-radius:var(--radius-meter);background:var(--recess);height:4px;overflow:hidden}.jack-meter i{background:var(--accent);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.jacks-in .jack{grid-template-rows:auto auto auto;row-gap:3px}.jacks-in .socket{grid-row:span 3}.jack-sub{font-size:13px;font-stretch:var(--stretch-name);color:var(--silk-dim);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cables{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;inset:0}.page-set{flex-direction:column;gap:0;overflow:auto}.sheet{margin:0;padding:0;list-style:none}.cue-item{transition:transform var(--dur-switch) var(--ease);position:relative}.cue-item.dragging{z-index:3;transition:none}.cue-item.dragging .cue{background:var(--panel-raised);box-shadow:inset 0 1px 0 var(--key-highlight), 0 6px 16px #00000080}.cue{align-items:center;gap:var(--space-3);min-height:64px;padding:0 var(--space-3);border-radius:var(--radius-key);font-variant-numeric:tabular-nums;cursor:grab;touch-action:none;grid-template-columns:56px minmax(0,1fr) 62px 52px 40px 150px;display:grid}.cue.current{background:var(--panel-raised);box-shadow:inset 3px 0 0 var(--accent)}.cue-pos{min-width:var(--hit-min);min-height:var(--hit-min);border-radius:var(--radius-chip);color:var(--silk-faint);font-variant-numeric:tabular-nums;justify-self:start;padding:4px 6px;font-size:15px}.cue-pos:hover{color:var(--silk);background:#ffffff10}.cue-pos.confirm{background:var(--accent);color:var(--on-accent)}.cue-main{flex-direction:column;gap:4px;min-width:0;display:flex}.cue-title{font:var(--type-cue-title);font-stretch:var(--stretch-legend);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cue-title small{color:var(--silk-dim);margin-left:10px;font-size:15px;font-weight:400}.cue-flag{font:var(--type-legend);color:var(--accent);margin-left:10px;font-style:normal}.cue-wave{border-radius:var(--radius-meter);background:var(--recess);height:22px;display:block;position:relative;overflow:hidden;container-type:inline-size}.cue-wave canvas{width:100%;height:100%;position:absolute;inset:0}.cue-wave .dim{font-size:12px;position:absolute;top:3px;left:6px}.cue-head{background:var(--accent);will-change:transform;width:2px;height:100%;position:absolute;top:0;left:0}.cue-source,.cue-len,.cue-bpm{color:var(--silk-dim);font-size:15px}.cue-scene{max-width:100%;min-height:var(--hit-min);border-radius:var(--radius-chip);background:var(--recess);white-space:nowrap;text-overflow:ellipsis;justify-self:start;padding:7px 10px;font-size:15px;overflow:hidden}.cue-scene.on{box-shadow:inset 0 0 0 2px var(--accent)}.between{align-items:center;gap:var(--space-3);min-height:40px;color:var(--silk-dim);margin-left:56px;font-size:14px;display:flex}.between:before{content:"";background:var(--groove-light);align-self:stretch;width:2px}.then-key{min-height:var(--hit-min);border-radius:var(--radius-chip);color:var(--silk);text-align:left;padding:0 8px;font-size:15px}.then-key small{color:var(--silk-dim);font-size:14px}.then-key:hover{background:#ffffff0c}.then-key.on{box-shadow:inset 0 0 0 2px var(--accent)}.between .remove{color:var(--silk-faint);margin-left:auto}.between .remove.confirm{background:var(--accent);color:var(--on-accent)}.set-head{gap:var(--space-2);padding-bottom:var(--space-3);margin-bottom:var(--space-3);border-bottom:1px solid var(--groove-dark);box-shadow:0 1px 0 var(--groove-light);flex-direction:column;display:flex}.set-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.set-row>.legend{min-width:48px}.set-gap{flex:1}.set-gap-left{margin-left:var(--space-4)}.set-note,.set-notice{align-items:center;gap:var(--space-3);margin:0 0 var(--space-2);padding:6px var(--space-3);border-radius:var(--radius-key);background:var(--recess);font:var(--type-body);color:var(--silk);display:flex}.set-note{box-shadow:inset 3px 0 0 var(--accent)}.picker-wrap{margin:0 0 var(--space-3) 56px;padding:var(--space-3);border-radius:var(--radius-key);background:var(--recess)}.picker-stack{gap:var(--space-2);flex-direction:column;display:flex}.picker{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.picker>.legend{min-width:56px}.add-form{gap:var(--space-2);flex-direction:column;display:flex}.add-form .dim{margin:0;font-size:14px}.chip{border-radius:var(--radius-chip);background:var(--panel-raised);min-height:36px;box-shadow:inset 0 1px 0 var(--key-highlight);white-space:nowrap;padding:0 10px;font-size:14px}.chip.on{box-shadow:inset 0 0 0 2px var(--accent)}.chip.swatch{background:var(--swatch);width:36px;box-shadow:inset 0 0 0 1px var(--knob-edge);padding:0}.chip.swatch.on{box-shadow:inset 0 0 0 2px var(--accent), inset 0 0 0 4px var(--recess)}.set-field{color:var(--silk-dim);align-items:center;gap:6px;font-size:14px;display:inline-flex}.set-field.grow{flex:1;min-width:220px}.set-field input{border-radius:var(--radius-chip);background:var(--panel-raised);min-height:36px;color:var(--silk);font:var(--type-body);font-variant-numeric:tabular-nums;border:0;padding:0 8px}.set-field input[type=number]{width:68px}.set-field.grow input{flex:1}.set-field input[type=color]{width:44px;padding:2px}.set-empty{align-items:flex-start;gap:var(--space-4);max-width:560px;font:var(--type-body);color:var(--silk-dim);flex-direction:column;display:flex}.page-setup{gap:var(--space-5);flex-direction:column;overflow:auto}.setup-row{gap:var(--space-5);grid-template-columns:160px minmax(0,1fr);align-items:baseline;display:grid}.setup-row h3{font:var(--type-jack);font-stretch:var(--stretch-name);margin:0}.choices{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.choice{border-radius:var(--radius-key);background:var(--panel-raised);min-height:52px;box-shadow:inset 0 1px 0 var(--key-highlight), 0 2px 0 var(--groove-dark);text-align:left;flex-direction:column;justify-content:center;padding:8px 14px;font-size:16px;display:flex;position:relative}.choice small{color:var(--silk-dim);font-size:13px}.choice.on{box-shadow:inset 0 0 0 2px var(--accent), 0 2px 0 var(--groove-dark)}.choice.confirm{background:var(--accent);color:var(--on-accent)}.choice.confirm small{color:var(--on-accent)}.choice:disabled{box-shadow:none;outline:1px solid var(--groove-light);background:0 0}.choice .meter{border-radius:var(--radius-meter);background:var(--recess);height:4px;margin-top:6px;overflow:hidden}.choice .meter i{background:var(--accent);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.setup-detail{margin-left:calc(160px + var(--space-5));font:var(--type-hint);color:var(--silk-dim);flex-wrap:wrap;align-items:center;gap:10px;margin-top:-8px;display:flex}.setup-detail .error{color:var(--silk)}.field{min-height:var(--hit-min);border-radius:var(--radius-chip);background:var(--recess);min-width:320px;color:var(--silk);border:0;padding:0 12px;box-shadow:inset 0 1px 2px #000}.field::placeholder{color:var(--silk-faint)}[data-midi]{position:relative}.panel[data-learning] [data-midi]{outline:2px dashed var(--accent);outline-offset:3px}.panel[data-learning] [data-midi-waiting]{outline-style:solid;animation:.9s ease-in-out infinite alternate learn-wait}@keyframes learn-wait{to{outline-color:#0000}}.panel[data-learning] [data-midi-bound]:after{content:attr(data-midi-bound);border-radius:var(--radius-chip);background:var(--accent);color:var(--on-accent);font:var(--type-hint);white-space:nowrap;pointer-events:none;z-index:2;padding:1px 6px;font-size:12px;position:absolute;bottom:-20px;left:50%;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.panel[data-learning] [data-midi-waiting]{animation:none}}.midi-wrap{flex:none}.midi-wrap>.rotary{display:block}.save-clip{color:var(--silk);align-items:center;text-decoration:none;display:inline-flex}.midi-targets{flex-wrap:wrap;gap:10px 8px;margin-bottom:14px;display:flex}.page-venue{gap:var(--space-3)}.fit-editor{gap:var(--space-2);flex-direction:column;flex:0 0 400px;display:flex}.fit-stage{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.fit-canvas{background:var(--recess);border-radius:var(--radius-chip);touch-action:none;cursor:crosshair;display:block;box-shadow:inset 0 1px 3px #000}.fit-hint{font:var(--type-hint);color:var(--silk-dim);margin:0}.page-editor{gap:var(--space-3);flex-direction:column}.editor-head{align-items:center;gap:var(--space-4);min-height:var(--hit-min);display:flex}.editor-head h2{font:var(--type-scene);font-size:34px;font-stretch:var(--stretch-title);margin:0;margin-right:var(--space-4);white-space:nowrap}.small-key{min-height:var(--hit-min);border-radius:var(--radius-key);background:var(--panel-raised);box-shadow:inset 0 1px 0 var(--key-highlight), 0 2px 0 var(--groove-dark);font-size:15px;font-weight:600;font-stretch:var(--stretch-name);white-space:nowrap;padding:0 16px}.small-key.on{box-shadow:inset 0 0 0 2px var(--accent), 0 2px 0 var(--groove-dark)}.rack{align-content:flex-start;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;flex:1;min-height:0;padding:3px;display:flex;overflow-y:auto}.module{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-chip);box-shadow:inset 0 0 0 1px var(--groove-dark), inset 0 0 0 2px var(--groove-light);text-align:left;cursor:pointer;flex-direction:column;flex:none;display:flex}.module.on{box-shadow:inset 0 0 0 2px var(--accent), inset 0 0 0 3px var(--groove-dark)}.module h3{font:var(--type-jack);font-size:15px;font-stretch:var(--stretch-name);white-space:nowrap;margin:0}.module-dials{grid-template-columns:repeat(var(--cols,4), 70px);gap:4px var(--space-1);align-content:start;display:grid}.module .dial.small{width:70px}.module .dial.small canvas{width:48px;height:48px}.module .dial.small .legend{white-space:nowrap;text-overflow:ellipsis;max-width:70px;overflow:hidden}.module .dial.small .dial-value{font-size:15px}.inspector{align-items:center;gap:var(--space-4);min-height:56px;padding:0 var(--space-3);border-radius:var(--radius-chip);background:var(--recess);font:var(--type-hint);display:flex}.inspector b{font:var(--type-jack);font-stretch:var(--stretch-name);white-space:nowrap}.inspector .dial.small{gap:var(--space-2);flex-direction:row;width:auto}.inspector .dial.small canvas{width:44px;height:44px}.next{align-items:center;gap:var(--space-6);padding:0 var(--gutter);grid-area:next;grid-template-columns:300px minmax(0,1fr) auto;font-size:15px;display:grid}.next-track{flex-direction:column;gap:2px;min-width:0;display:flex}.next-track b{font-size:24px;font-stretch:var(--stretch-legend);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.next-track .dim{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.strip{border-radius:var(--radius-screen);background:var(--recess);height:72px;position:relative;overflow:hidden}.strip-track{will-change:transform;position:absolute;inset:0 auto 0 0}.strip-track canvas{position:absolute;top:0;left:0}.strip-now{background:var(--silk);width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;left:25%}.strip:before{content:"";background:color-mix(in srgb, var(--recess) 70%, transparent);z-index:1;pointer-events:none;position:absolute;inset:0 75% 0 0}.pages{gap:var(--space-2);margin-left:auto;display:flex}.pages button{height:var(--hit-min);border-radius:var(--radius-key);background:var(--panel-raised);box-shadow:inset 0 1px 0 var(--key-highlight), 0 2px 0 var(--groove-dark);font-size:15px;font-weight:600;font-stretch:var(--stretch-name);color:var(--silk-dim);padding:0 16px}.pages button.on{color:var(--silk);box-shadow:inset 0 -3px 0 var(--accent), 0 2px 0 var(--groove-dark)}.panel.dropping:after{content:"Drop audio files to add them to the set";inset:var(--gutter);border-radius:var(--radius-screen);box-shadow:inset 0 0 0 2px var(--accent);background:color-mix(in srgb, var(--panel) 85%, transparent);font:var(--type-title);font-stretch:var(--stretch-title);pointer-events:none;z-index:10;place-items:center;display:grid;position:fixed}@media (prefers-reduced-motion:reduce){.rotary-pointer,.key{transition:none}}.panel[data-view=library]{grid-template-areas:"now now""page monitor""page monitor""next next"}.page-library{background:var(--panel-bay);grid-template-rows:auto minmax(0,1fr) auto;min-height:0;display:grid}.library-head{padding:var(--space-3) var(--gutter) var(--space-2);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.library-head h2{font:var(--type-title);font-stretch:var(--stretch-title);margin:0 12px 0 0}.library-head .spacer{flex:1}.library-head .sep{margin-left:12px}.library-head select{font:var(--type-legend);background:var(--recess);color:var(--silk);border:0;border-radius:2px;padding:7px 6px}.lib-key{font:var(--type-legend);font-stretch:var(--stretch-legend);letter-spacing:.04em;text-transform:uppercase;color:var(--silk-dim);background:var(--panel-raised);box-shadow:inset 0 1px 0 var(--key-highlight), 0 1px 0 var(--groove-dark);border-radius:2px;padding:7px 10px}.lib-key.on{color:var(--on-accent);background:var(--accent)}.lib-key kbd{font:inherit;opacity:.7;margin-left:4px}.library-body{padding:var(--space-1) var(--gutter);grid-template-columns:300px minmax(0,1fr);gap:18px;min-height:0;display:grid}.library-hi{min-height:0;padding:3px;overflow-y:auto}.library-hi .still{aspect-ratio:16/9;object-fit:cover;width:100%;box-shadow:0 0 0 3px var(--accent);border-radius:2px;display:block}.library-hi h3{font:var(--type-scene);font-stretch:var(--stretch-title);margin:12px 0 2px;font-size:36px}.library-acts{flex-wrap:wrap;align-items:center;gap:4px;margin-top:12px;display:flex}.library-acts .legend{margin-right:6px}.library-rows{min-height:0;padding-bottom:var(--space-2);align-content:start;gap:10px;display:grid;overflow-y:auto}.library-row header{align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.library-tiles{background:var(--recess);border-radius:2px;flex-wrap:wrap;gap:10px 8px;padding:4px;display:flex}.library-tiles .tile{text-align:left;color:var(--silk);background:0 0;flex:0 0 132px;padding:0;display:grid}.tile .shot{aspect-ratio:16/9;background:var(--recess);border-radius:1px;position:relative;overflow:hidden}.tile .shot img{object-fit:cover;width:100%;height:100%;display:block}.tile-name{font:var(--type-legend);font-stretch:var(--stretch-name);white-space:nowrap;text-overflow:ellipsis;margin-top:5px;overflow:hidden}.tile-meta{font:var(--type-legend);color:var(--accent);letter-spacing:1px;font-size:11px}.tile-key{background:var(--recess);font:var(--type-legend);font-stretch:var(--stretch-number);padding:2px 6px;position:absolute;top:0;left:0}.tile-flag{background:var(--accent);color:var(--on-accent);font:var(--type-legend);text-transform:uppercase;padding:2px 5px;font-size:11px;position:absolute;bottom:0;right:0}.tile-flag.next{background:var(--silk)}.tile.is-current .shot{box-shadow:0 0 0 2px var(--accent)}.tile.is-cued .shot{box-shadow:0 0 0 2px var(--silk)}.tile.is-hi .shot{outline:2px dashed var(--accent);outline-offset:3px}.library-hint{padding:var(--space-2) var(--gutter) var(--space-3);font:var(--type-hint);box-shadow:inset 0 1px 0 var(--groove-dark);margin:0}.monitor .cued{font:var(--type-legend);background:#0c0b0acc;border-radius:2px;align-items:center;gap:8px;padding:4px 8px 4px 4px;display:flex;position:absolute;bottom:8px;left:8px}.monitor .cued img{aspect-ratio:16/9;object-fit:cover;width:64px;box-shadow:0 0 0 1px var(--silk)}.preflight{gap:var(--space-2);flex-direction:column;display:flex}.preflight-lines{font:var(--type-hint);flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.preflight-lines li{gap:var(--space-3);padding:4px var(--space-3);background:var(--recess);border-radius:var(--radius-meter);grid-template-columns:52px 1fr;display:grid}.preflight-lines b{font:var(--type-legend);font-stretch:var(--stretch-legend);color:var(--silk-dim)}.preflight-lines li[data-verdict=fail] b,.preflight-lines li[data-verdict=warn] b{color:var(--accent)}.preflight-lines li[data-verdict=fail]{box-shadow:inset 3px 0 0 var(--accent)}.standby-when{margin:var(--space-2) 0;flex-wrap:wrap;align-items:center;gap:16px;display:flex}.standby-when label{align-items:center;gap:8px;display:flex}.standby-when select{font:var(--type-legend);background:var(--recess);color:var(--silk);border:0;border-radius:2px;padding:7px 6px}.marks{flex-wrap:wrap;gap:6px;display:flex}.mark-key{border-radius:var(--radius-key);background:var(--panel-raised);box-shadow:inset 0 1px 0 var(--key-highlight), 0 1px 0 var(--groove-dark);text-align:left;grid-template-columns:44px auto;align-items:center;gap:8px;padding:5px 10px 5px 5px;display:grid}.mark-key.on{background:var(--accent);color:var(--on-accent)}.mark-thumb{background:var(--silk-faint) center / 84% no-repeat;width:44px;height:44px;color:var(--panel);font:var(--type-key);border-radius:2px;place-items:center;display:grid}.mark-name{font:var(--type-legend);font-stretch:var(--stretch-legend);letter-spacing:.04em;text-transform:uppercase;text-overflow:ellipsis;max-width:150px;overflow:hidden}.mark-name small{font:var(--type-hint);letter-spacing:0;text-transform:none;color:var(--silk-dim);white-space:nowrap;display:block}.mark-key.on small{color:var(--on-accent)}.library-image{flex-direction:column;gap:8px;margin-top:12px;display:flex}.library-image .mark-key{grid-template-columns:34px auto;padding:4px 8px 4px 4px}.library-image .mark-thumb{width:34px;height:34px}.library-image .mark-name{max-width:210px}.library-image .dim,.show-mark .dim{margin:0}.setup-row:has(>.show-mark)>h3{align-self:start;line-height:54px}.show-mark{flex-direction:column;gap:12px;display:flex}.shape-view{gap:14px;display:flex}.shape-view figure{margin:0}.shape-view figcaption{font:var(--type-hint);color:var(--silk-dim);margin-top:6px}.shape-pic{background:var(--recess) center / contain no-repeat;border-radius:2px;place-items:center;width:132px;height:132px;display:grid}.shape-pic.cut{background:var(--shape,none) center / contain no-repeat, repeating-conic-gradient(#2a2824 0 25%, #1b1a17 0 50%) 0 0 / 16px 16px}.page-director{gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;display:grid}.director-settings{min-height:0;display:flex;overflow:auto}.director-settings .setup-row{gap:var(--space-3);grid-template-columns:130px minmax(0,1fr)}.director-note{font:var(--type-hint);margin:0}.director-log{min-height:0;overflow:auto}.director-log h3{margin:8px 0 var(--space-3);font:var(--type-jack);font-stretch:var(--stretch-name)}.decisions{gap:var(--space-3);font:var(--type-body);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.decisions li{padding:var(--space-2) 0 var(--space-3);box-shadow:inset 0 -1px 0 var(--groove-dark)}.decision-head{align-items:baseline;gap:12px;display:flex}.decision-head>b{min-width:110px;font-stretch:var(--stretch-name)}.decisions .dim{font-size:13px}.scores{border-collapse:collapse;font-variant-numeric:tabular-nums;margin-top:6px;font-size:13px}.scores td{vertical-align:top;padding:2px 12px 2px 0}.scores td.num{text-align:right}.scores tr.chosen td:first-child{color:var(--accent)}.tile.out-of-pool{opacity:.45}.pool-dialog{width:min(1100px, calc(100vw - 2 * var(--gutter)));max-height:calc(100vh - 2 * var(--gutter));padding:var(--gutter);border-radius:var(--radius-key);background:var(--panel);color:var(--silk);box-shadow:inset 0 1px 0 var(--key-highlight), 0 12px 40px #000c;border:0}.pool-dialog[open]{gap:var(--space-4);flex-direction:column;display:flex}.pool-dialog::backdrop{background:#0c0b0ab3}.pool-head,.pool-foot{align-items:baseline;gap:var(--space-2);display:flex}.pool-head h2{margin:0 var(--space-2) 0 0;font:var(--type-jack);font-size:22px;font-stretch:var(--stretch-name)}.pool-foot{justify-content:flex-end;align-items:center}.pool-dialog .library-row header .lib-key{margin-left:auto}.tile.is-chosen .shot{box-shadow:0 0 0 2px var(--accent)}.page-guides{gap:var(--space-5);flex-direction:column;overflow:auto}.guide{max-width:68ch;font:var(--type-body);color:var(--silk)}.guide h2{margin:0 0 var(--space-3);font:var(--type-title);font-stretch:var(--stretch-title)}.guide h3{margin:var(--space-5) 0 var(--space-2);font:var(--type-jack);font-stretch:var(--stretch-name)}.guide p,.guide li{margin:0 0 var(--space-2)}.guide ul,.guide ol{padding-left:var(--space-5);margin:0}.guide ul{color:var(--silk-dim)}.guide kbd{border:1px solid var(--silk-faint);font:var(--type-legend);font-stretch:var(--stretch-legend);border-radius:4px;padding:0 5px}.page-profiles .head{align-items:baseline;gap:var(--space-4);display:flex}.page-profiles h2{font:var(--type-title);font-stretch:var(--stretch-title);margin:0}.spacer{flex:1}.small-key.go,.small-key.confirm{background:var(--accent);color:var(--on-accent)}.plist{gap:var(--space-2);flex-direction:column;display:flex}.prow{gap:var(--space-4);border-radius:var(--radius-key);grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:10px 14px;display:grid}.prow.active{background:var(--panel-raised);box-shadow:inset 3px 0 0 var(--accent)}.pname{flex-direction:column;gap:4px;min-width:0;display:flex}.prow h3{font:var(--type-cue-title);font-stretch:var(--stretch-legend);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.prow .field{min-width:0;max-width:360px}.prow .what{color:var(--silk-dim);flex-direction:column;gap:2px;font-size:14px;display:flex}.prow .state{color:var(--silk)}.prow .state.changed{color:var(--accent)}.acts{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.page-set .plist{margin-bottom:var(--space-3)}.todo{padding:var(--space-4);background:var(--recess);border-radius:var(--radius-screen)}.todo h3{margin:0 0 var(--space-2);font:var(--type-jack);font-stretch:var(--stretch-name)}.todo ol,.todo ul{padding-left:var(--space-5);margin:0}.todo ul{margin-top:var(--space-2);color:var(--silk-dim)}.todo-go{text-align:left;min-height:32px;text-decoration:underline;-webkit-text-decoration-color:var(--silk-faint);text-decoration-color:var(--silk-faint);text-underline-offset:3px}.todo kbd,.profile-chip kbd{border:1px solid var(--silk-faint);font:var(--type-legend);font-stretch:var(--stretch-legend);border-radius:4px;padding:0 5px}.wiz{gap:var(--space-4);flex-direction:column;flex:1;min-height:0;display:flex}.steps{gap:2px;display:flex}.steps button{min-height:var(--hit-min);font:var(--type-legend);font-size:14px;font-stretch:var(--stretch-legend);color:var(--silk-faint);border-bottom:3px solid var(--groove-light);padding:0 12px}.steps button.done{color:var(--silk-dim)}.steps button.on{color:var(--silk);border-color:var(--accent)}.wiz-body{gap:var(--space-5);flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.wiz-foot{align-items:center;gap:var(--space-2);display:flex}button.link{min-height:var(--hit-min);color:var(--silk);text-underline-offset:3px;text-decoration:underline}.profile-chip{gap:var(--space-1);flex-direction:column;display:flex;position:relative}.profile-chip>button{min-height:var(--hit-min);border-radius:var(--radius-key);background:var(--panel-raised);box-shadow:inset 0 1px 0 var(--key-highlight), 0 2px 0 var(--groove-dark);font:var(--type-jack);font-stretch:var(--stretch-name);white-space:nowrap;text-overflow:ellipsis;max-width:260px;padding:0 14px;overflow:hidden}.profile-chip .changed{margin-left:var(--space-2);color:var(--accent);font-size:13px}.help-key{align-self:center;position:relative}.help-icon{width:var(--hit-min);height:var(--hit-min);background:var(--panel-raised);box-shadow:inset 0 1px 0 var(--key-highlight), 0 2px 0 var(--groove-dark);font:var(--type-key);font-stretch:var(--stretch-name);color:var(--silk);border-radius:50%}.help-icon[aria-expanded=true]{box-shadow:inset 0 0 0 2px var(--accent), 0 2px 0 var(--groove-dark)}.profile-chip .drop,.help-key .drop{z-index:10;width:360px;padding:var(--space-2);border-radius:var(--radius-key);background:var(--panel-raised);box-shadow:inset 0 1px 0 var(--key-highlight), 0 0 0 1px var(--groove-dark), 0 12px 30px #000a;flex-direction:column;gap:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.help-key .drop{width:300px}.profile-chip .drop .choice,.help-key .drop .choice{background:var(--panel)}.profile-chip .note{color:var(--silk-dim);padding:4px 6px;font-size:13px}@media (width<=1100px){:root{--nav-h:60px}html,body,#root{height:auto;min-height:100%;overflow:visible}.panel,.panel[data-view]{height:auto;min-height:100dvh;padding-bottom:var(--nav-h);grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"now""monitor""page""bay""next"}.now{gap:var(--space-3) var(--space-6);padding:var(--space-3) var(--gutter);flex-wrap:wrap}.now-title{flex-basis:100%}.monitor{box-shadow:inset 0 -1px 0 var(--groove-light)}.bezel{align-self:center;width:min(640px,100% - 14px)}.scope{flex:none;height:80px}.jacks{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.selector,.dials,.page-profiles .head,.editor-head,.inspector{flex-wrap:wrap}.page-director,.next{gap:var(--space-3);padding:var(--space-5) var(--gutter);grid-template-columns:minmax(0,1fr)}.pages{z-index:5;padding:10px var(--space-3);background:var(--panel);box-shadow:inset 0 1px 0 var(--groove-dark);grid-template-columns:repeat(auto-fit,minmax(84px,1fr));display:grid;position:fixed;inset:auto 0 0}.pages button{padding:0 var(--space-2)}}@media (width<=600px){:root{--gutter:12px;--nav-h:108px}.keys{grid-template-columns:repeat(3,1fr)}.jacks{grid-template-columns:repeat(3,minmax(0,1fr))}.jack{column-gap:var(--space-2)}.cue{grid-template-columns:var(--hit-min) minmax(0, 1fr) auto auto auto;row-gap:var(--space-1);padding-block:var(--space-2)}.cue-pos{grid-row:span 2}.cue-main{grid-column:2/-1}.setup-row,.director-settings .setup-row,.library-body,.prow{gap:var(--space-2);grid-template-columns:minmax(0,1fr)}}
