:root,:root[data-theme=light]{color-scheme:light;--bg: #f7f9fc;--panel: #ffffff;--panel-2: #eef1f7;--border: #c5cedd;--text: #1a1f2e;--muted: #5c6478;--accent: #0095cc;--accent-dim: #007aa8;--danger: #c62828;--ok: #2e7d32;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, sans-serif;--app-main-max-width: 1720px;--header-bg: rgb(26, 26, 26);--header-bg: color(srgb .102 .102 .102);--header-text: #ffffff;--header-border: #252525;--cta-dark: #141414;--btn-pill-radius: 9999px;--btn-font: .71rem;--btn-font-pill: .6rem;--btn-font-pill-outline: .58rem;--btn-grad-a: #ea3643;--btn-grad-b: #ef8b35;--btn-grad-a-hover: #f94552;--btn-grad-b-hover: #ff9b45;--btn-solid-dark: #212121;--btn-on-primary: #ffffff;--btn-outline-hover-red: #d32f2f;--btn-outline-active-red: #9c1c1c;--btn-outline-pill-bg: #ffffff;--btn-grad-a-active: #d4202d;--btn-grad-b-active: #d9751f;--btn-default-bg: #ffffff;--btn-default-border: #1a1a1a;--btn-default-fg: #1a1a1a;--table-wrap-border: #b8c5db;--table-wrap-inset: inset 0 1px 0 rgba(255, 255, 255, .65);--control-border: #1a1a1a;--control-surface: #ffffff;--prep-vtype-pill-max: 30rem}@media(prefers-color-scheme:dark){:root:not([data-theme]),:root[data-theme=system]{color-scheme:dark;--bg: #0c0c0e;--panel-2: #111114;--panel: #1b1b20;--border: #383838;--text: #f0f0f0;--muted: #a8a8a8;--accent: #64b5f6;--accent-dim: #42a5f5;--danger: #ef5350;--ok: #81c784;--header-bg: rgb(26, 26, 26);--header-bg: color(srgb .102 .102 .102);--header-text: #ffffff;--header-border: #252525;--btn-on-primary: #ffffff;--btn-outline-pill-bg: rgba(255, 255, 255, .08);--btn-outline-hover-red: #ff8a80;--btn-outline-active-red: #e57373;--btn-default-bg: transparent;--btn-default-border: rgba(255, 255, 255, .72);--btn-default-fg: #f5f5f5;--table-wrap-border: #3a3a3a;--table-wrap-inset: inset 0 1px 0 rgba(255, 255, 255, .06);--control-border: rgba(255, 255, 255, .45);--control-surface: var(--panel)}}:root[data-theme=dark]{color-scheme:dark;--bg: #0c0c0e;--panel-2: #111114;--panel: #1b1b20;--border: #383838;--text: #f0f0f0;--muted: #a8a8a8;--accent: #64b5f6;--accent-dim: #42a5f5;--danger: #ef5350;--ok: #81c784;--header-bg: rgb(26, 26, 26);--header-bg: color(srgb .102 .102 .102);--header-text: #ffffff;--header-border: #252525;--btn-on-primary: #ffffff;--btn-outline-pill-bg: rgba(255, 255, 255, .08);--btn-outline-hover-red: #ff8a80;--btn-outline-active-red: #e57373;--btn-default-bg: transparent;--btn-default-border: rgba(255, 255, 255, .72);--btn-default-fg: #f5f5f5;--table-wrap-border: #3a3a3a;--table-wrap-inset: inset 0 1px 0 rgba(255, 255, 255, .06);--control-border: rgba(255, 255, 255, .45);--control-surface: var(--panel)}*{box-sizing:border-box}html{color-scheme:light dark}html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark}html,body,#root{height:100%;margin:0}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.app-shell{min-height:100%;display:flex;flex-direction:column}.app-shell--reference{background:var(--bg)}.app-header{--app-header-min-height: 3.25rem;--app-header-banner-shift: 6.5rem;display:flex;align-items:stretch;justify-content:space-between;gap:1rem;padding:0 clamp(.75rem,2.5vw,1.75rem);min-height:var(--app-header-min-height);background:var(--header-bg);color:var(--header-text);border-bottom:1px solid var(--header-border);position:relative}.app-header-brand-row{display:flex;align-items:stretch;gap:.85rem;min-width:0;flex:1}.app-header-title-wrap{flex:1;min-width:0;min-height:0;display:flex;align-items:stretch}.app-header-title-banner{display:inline-flex;align-items:stretch;align-self:stretch;gap:.35rem;width:fit-content;max-width:100%;min-width:0;height:100%;box-sizing:border-box;isolation:isolate}.app-header-logo{display:block;width:auto;height:clamp(1.85rem,4.2vw,2.35rem);max-height:var(--app-header-min-height);flex-shrink:0;align-self:center}.app-header-actions{display:flex;align-items:center;flex-shrink:0}.app-header-actions--row{gap:.5rem}.app-header-banner-img{display:block;flex-shrink:0;width:auto;height:100%;align-self:stretch;margin:0;margin-left:calc(-1 * var(--app-header-banner-shift));position:relative;z-index:0;object-fit:contain}.app-header-title{flex:1 1 auto;margin:0;font-size:clamp(.95rem,2vw,1.15rem);font-weight:800;letter-spacing:.06em;line-height:1.2;text-transform:uppercase;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;align-self:center;position:relative;z-index:1}@media(max-width:640px){.app-header-brand-row{align-items:center}.app-header-title-banner{width:100%;max-width:100%}.app-header-title{white-space:normal;overflow:visible;text-overflow:clip;font-size:clamp(.62rem,2.1vw,.78rem);letter-spacing:.04em;line-height:1.15;align-self:center}}.btn-settings-header{border:1px solid rgba(255,255,255,.55)!important;background:transparent!important;color:#fff!important;font-weight:650;font-size:var(--btn-font-pill);letter-spacing:.1em;padding:.45rem 1rem;border-radius:var(--btn-pill-radius);transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.btn-settings-header:hover:not(:disabled){background:#ffffff24!important;border-color:#fff!important;color:#fff!important;box-shadow:0 2px 10px #00000040}.prep-files-toolbar{width:100%;justify-content:flex-start}.prep-files-toolbar .btn-remove-all{margin-left:auto}.btn-text-cta{position:relative;isolation:isolate;background:transparent!important;color:var(--btn-on-primary)!important;border:none!important;font-weight:700;font-size:var(--btn-font-pill);letter-spacing:.06em;text-transform:uppercase;padding:.52rem 1.1rem;border-radius:var(--btn-pill-radius);box-shadow:0 2px 6px #0003;transition:box-shadow .2s ease,filter .2s ease}.btn-text-cta:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--btn-solid-dark);z-index:-2;pointer-events:none}.btn-text-cta:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:-1;pointer-events:none;background:linear-gradient(90deg,var(--btn-grad-a) 0%,var(--btn-grad-b) 100%);opacity:0;transition:opacity .2s ease}.btn-text-cta:hover:not(:disabled){background:transparent!important;border:none!important;color:#fff!important;box-shadow:0 4px 14px #00000038}.btn-text-cta:hover:not(:disabled):not(:active):after{opacity:1}.btn-text-cta:active:not(:disabled){background:transparent!important;border:none!important;color:#fff!important;box-shadow:0 1px 6px #00000047}.btn-text-cta:active:not(:disabled):after{opacity:1;background:linear-gradient(90deg,var(--btn-grad-a-active) 0%,var(--btn-grad-b-active) 100%)}.btn-outline-dark{background:var(--btn-default-bg)!important;color:var(--btn-default-fg)!important;border:1px solid var(--btn-default-border)!important;font-weight:700;font-size:var(--btn-font-pill-outline);letter-spacing:.08em;text-transform:uppercase;padding:.48rem 1rem;border-radius:var(--btn-pill-radius);transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.btn-outline-dark:hover:not(:disabled){background:var(--btn-outline-pill-bg)!important;color:var(--btn-outline-hover-red)!important;border-color:var(--btn-outline-hover-red)!important;box-shadow:0 1px 5px #d32f2f2e}.btn-outline-dark:active:not(:disabled){background:var(--btn-outline-pill-bg)!important;color:var(--btn-outline-active-red)!important;border-color:var(--btn-outline-active-red)!important;box-shadow:none}.btn-outline-dark:disabled{opacity:.4}.btn-primary-solid{position:relative;isolation:isolate;background:transparent!important;color:var(--btn-on-primary)!important;border:none!important;font-weight:700;font-size:var(--btn-font-pill);letter-spacing:.07em;text-transform:uppercase;padding:.52rem 1.15rem;border-radius:var(--btn-pill-radius);box-shadow:0 2px 6px #0003;transition:box-shadow .2s ease}.btn-primary-solid:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--btn-solid-dark);z-index:-2;pointer-events:none}.btn-primary-solid:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:-1;pointer-events:none;background:linear-gradient(90deg,var(--btn-grad-a) 0%,var(--btn-grad-b) 100%);opacity:0;transition:opacity .2s ease}.btn-primary-solid:hover:not(:disabled){background:transparent!important;border:none!important;color:#fff!important;box-shadow:0 4px 14px #00000038}.btn-primary-solid:hover:not(:disabled):not(:active):after{opacity:1}.btn-primary-solid:active:not(:disabled){background:transparent!important;border:none!important;color:#fff!important;box-shadow:0 1px 6px #00000047}.btn-primary-solid:active:not(:disabled):after{opacity:1;background:linear-gradient(90deg,var(--btn-grad-a-active) 0%,var(--btn-grad-b-active) 100%)}.prep-table-actions-toolbar{width:100%;justify-content:space-between;margin-top:.35rem}.prep-empty{text-align:center;color:var(--muted);font-size:.9rem;padding:2rem 1rem!important;vertical-align:middle;border-bottom:none!important}.col-remove-head{width:1.75rem}.btn-row-remove{box-sizing:border-box;width:1.25rem;height:1.25rem;min-width:1.25rem;min-height:1.25rem;padding:0;margin:0;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:.6rem;font-weight:600;line-height:1;flex-shrink:0}.btn-row-remove:hover:not(:disabled){border-color:var(--muted);color:var(--text);background:var(--panel-2)}.btn-row-remove:active:not(:disabled){background:var(--panel-2)}.btn-row-remove:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-row-remove:disabled{opacity:.35;cursor:not-allowed}table.data td.col-remove{width:1.75rem;text-align:center;vertical-align:middle;padding-left:.25rem;padding-right:.25rem}.queue-hint-handle{font-weight:800;letter-spacing:.02em;color:var(--text)}.queue-item,.completed-item{display:flex;align-items:center;gap:.45rem;padding:.45rem .65rem .4rem .45rem;border:1px solid var(--border);border-radius:10px;background:var(--panel);font-size:.8125rem;line-height:1.2;box-sizing:border-box;width:100%}.queue-item{flex-direction:column;align-items:stretch;gap:.35rem;cursor:pointer;-webkit-user-select:none;user-select:none}.queue-item-inner{display:flex;flex-direction:row;align-items:center;gap:.45rem;width:100%;min-width:0}.queue-item-upload-bar.progress-wrap{width:100%;box-sizing:border-box;flex-shrink:0}.queue-item-drag-handle{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;min-height:1.25rem;box-sizing:border-box;font-weight:800;letter-spacing:-.08em;color:var(--muted);cursor:grab;-webkit-user-select:none;user-select:none;padding:0 .2rem;line-height:1;font-size:.75rem}.queue-item-drag-handle:not(.disabled){touch-action:none}.queue-item-drag-handle:active:not(.disabled){cursor:grabbing}.queue-item-drag-handle.disabled{opacity:.35;cursor:not-allowed}.queue-item--sorting{box-shadow:0 8px 24px #00000024}.queue-item-main{flex:1;min-width:0;overflow-wrap:anywhere}.queue-item-main-stack{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;min-width:0;width:100%}.queue-item-title{font-weight:600;line-height:1.25}.queue-item-upload-meta{font-size:.75rem;line-height:1.3;max-width:100%;overflow-wrap:anywhere}.queue-upload-meta-line{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.35rem;row-gap:.15rem;font-variant-numeric:tabular-nums;width:100%;min-width:0}.queue-upload-frag--pct{flex:0 0 auto;white-space:nowrap}.queue-upload-pct-num{display:inline-block;min-width:3ch;text-align:end}.queue-upload-frag--rate{box-sizing:border-box;flex:0 0 11ch;max-width:11ch;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-upload-frag--eta{box-sizing:border-box;flex:0 0 22ch;max-width:22ch;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-item.selected{outline:none;box-shadow:0 0 0 2px var(--accent)}.queue-item.selected.queue-item--sorting{box-shadow:0 8px 24px #00000024,0 0 0 2px var(--accent)}.app-main{flex:1;padding:1rem clamp(.75rem,2.5vw,1.75rem) 1.5rem;max-width:var(--app-main-max-width);margin:0 auto;width:100%;min-width:0}.stack{display:flex;flex-direction:column;gap:.75rem}.row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.row.gap{gap:.75rem}.grow{flex:1;min-width:140px}.toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:1px solid var(--btn-default-border);background:var(--btn-default-bg);color:var(--btn-default-fg);border-radius:var(--btn-pill-radius);padding:.48rem 1rem;font-weight:600;font-size:var(--btn-font);line-height:1.2;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,filter .2s ease,transform .15s ease}.btn:hover:not(:disabled){background:var(--btn-outline-pill-bg);border-color:var(--btn-outline-hover-red);color:var(--btn-outline-hover-red);box-shadow:0 1px 5px #d32f2f2e}.btn:active:not(:disabled){background:var(--btn-outline-pill-bg);border-color:var(--btn-outline-active-red);color:var(--btn-outline-active-red);box-shadow:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{position:relative;isolation:isolate;background:transparent;border:none;color:var(--btn-on-primary);font-weight:700;box-shadow:0 2px 6px #0003;transition:box-shadow .2s ease,color .2s ease}.btn.primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--btn-solid-dark);z-index:-2;pointer-events:none}.btn.primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:-1;pointer-events:none;background:linear-gradient(90deg,var(--btn-grad-a) 0%,var(--btn-grad-b) 100%);opacity:0;transition:opacity .2s ease}.btn.primary:hover:not(:disabled){background:transparent;border:none;color:#fff;box-shadow:0 4px 14px #00000038}.btn.primary:hover:not(:disabled):not(:active):after{opacity:1}.btn.primary:active:not(:disabled){background:transparent;border:none;color:#fff;box-shadow:0 1px 6px #00000047}.btn.primary:active:not(:disabled):after{opacity:1;background:linear-gradient(90deg,var(--btn-grad-a-active) 0%,var(--btn-grad-b-active) 100%)}.btn.ghost{border:1px solid var(--btn-default-border);background:transparent;color:var(--btn-default-fg);font-weight:700}.btn.ghost:hover:not(:disabled){background:var(--btn-outline-pill-bg);border-color:var(--btn-outline-hover-red);color:var(--btn-outline-hover-red);box-shadow:0 1px 5px #d32f2f2e}.btn.ghost:active:not(:disabled){background:var(--btn-outline-pill-bg);border-color:var(--btn-outline-active-red);color:var(--btn-outline-active-red);box-shadow:none}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:.75rem}.prep-section{display:flex;flex-direction:column;gap:.75rem;width:100%;min-width:0;overflow:visible}.prep-section-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem}.prep-section-head-text{flex:1;min-width:0}.prep-section-hint{margin-top:.15rem}.prep-view-toggle{display:inline-flex;flex-shrink:0;align-items:stretch}.prep-view-toggle .prep-view-toggle-btn{position:relative;z-index:0;margin:0!important;border-radius:0!important;box-shadow:none!important}.prep-view-toggle .prep-view-toggle-btn:first-child{border-top-left-radius:9999px!important;border-bottom-left-radius:9999px!important}.prep-view-toggle .prep-view-toggle-btn:last-child{border-top-right-radius:9999px!important;border-bottom-right-radius:9999px!important}.prep-view-toggle .prep-view-toggle-btn+.prep-view-toggle-btn{margin-left:-1px!important}.prep-view-toggle .prep-view-toggle-btn.btn-outline-dark{transition:background .2s ease,color .2s ease,box-shadow .2s ease,filter .2s ease,transform .15s ease}.prep-view-toggle .prep-view-toggle-btn.btn-outline-dark:not(:hover):not(:active){border-color:var(--btn-solid-dark)!important}.prep-view-toggle .prep-view-toggle-btn.btn-primary-solid{transition:box-shadow .2s ease}.prep-view-toggle .prep-view-toggle-btn:focus-visible{z-index:1}.table-wrap{overflow:auto;border:1px solid var(--table-wrap-border);border-radius:10px;background:var(--panel);box-shadow:var(--table-wrap-inset)}.table-wrap.prep-table{background:var(--panel-2)}.prep-table--row.table-wrap{overflow:visible;max-width:100%;min-width:0;padding:0 .65rem .5rem;--prep-remove-hpad: .25rem;--prep-data-pad-x: .45rem;--prep-input-text-inset: .38rem;--prep-select-text-inset: .75rem}.prep-table--stack.table-wrap{overflow:visible;border:1px solid var(--table-wrap-border);border-radius:10px;background:var(--panel-2);box-shadow:var(--table-wrap-inset);padding:.75rem .65rem}.prep-table--stack thead{display:none}.prep-table--stack table.data tbody tr{display:flex;flex-wrap:wrap;align-items:stretch;column-gap:0;position:relative;border:1px solid var(--border);border-radius:10px;padding:.45rem .65rem .35rem;margin-bottom:.75rem;background:var(--panel)}.prep-table--stack table.data tbody tr.prep-selected{outline:none;box-shadow:0 0 0 2px var(--accent)}.prep-table--stack table.data tbody tr:nth-child(2n):not(.prep-selected) td{background:transparent}.prep-table--stack table.data tbody td.col-file,.prep-table--stack table.data tbody td.col-vtype,.prep-table--stack table.data tbody td.col-title,.prep-table--stack table.data tbody td.col-teaser{flex:0 0 100%;width:100%;max-width:100%;box-sizing:border-box}.prep-table--stack table.data tbody td.col-fixture-stack{flex:0 0 100%;width:100%;max-width:100%;box-sizing:border-box;flex-wrap:nowrap}.prep-table--stack table.data tbody td.col-fixture-stack .fixture-stack-controls{display:flex;flex-direction:row;align-items:center;gap:.35rem;flex:1 1 auto;min-width:0;max-width:min(100%,var(--prep-vtype-pill-max));box-sizing:border-box}.prep-table--stack table.data tbody td.col-fixture-stack .fixture-stack-controls .fixture-cell{flex:1 1 0;min-width:0}.prep-table--stack table.data tbody td.col-fixture-stack .fixture-stack-controls input[type=text]{width:100%;min-width:0}.prep-table--stack table.data tbody tr:has(.prep-empty) td.prep-empty{flex:0 0 100%;width:100%;max-width:100%;box-sizing:border-box}.prep-table--stack table.data tbody td{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;border-bottom:1px solid rgba(127,127,127,.12);padding:.45rem 0}.prep-table--stack table.data tbody td:last-child{border-bottom:none}.prep-table--stack table.data tbody td:before{content:attr(data-label);flex:0 0 6.25rem;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);line-height:1.25;padding-top:.15rem}.prep-table--stack table.data tbody td[data-label=""]:before{display:none}.prep-table--stack table.data tbody td.col-file,.prep-table--stack table.data tbody td.col-title,.prep-table--stack table.data tbody td.col-teaser{align-items:flex-start}.prep-table--stack table.data tbody td.col-file:before,.prep-table--stack table.data tbody td.col-title:before,.prep-table--stack table.data tbody td.col-teaser:before{align-self:flex-start;padding-top:.28rem}.prep-table--stack table.data tbody td.col-file .prep-file-name,.prep-table--stack table.data tbody td.col-title>textarea.prep-stack-text,.prep-table--stack table.data tbody td.col-teaser>textarea.prep-stack-text{flex:1 1 12rem;min-width:0;max-width:100%}.prep-table--stack table.data tbody tr:not(:has(.prep-empty)) td:first-child{padding-right:2.35rem}.prep-table--stack table.data tbody td.col-remove{position:absolute;top:.35rem;right:.35rem;z-index:2;width:auto;min-width:0;max-width:none;margin:0;padding:.15rem!important;border-bottom:none!important;justify-content:flex-end;align-items:flex-start;background:transparent!important}.prep-table--stack table.data tbody td.col-remove:before{display:none}.prep-table--stack .fixture-cell,.prep-table--stack table.data tbody td input[type=text],.prep-table--stack table.data tbody td select{flex:1;min-width:0}.prep-table--stack table.data tbody td.col-vtype>select.select-pill{flex:1 1 auto;width:auto;min-width:0;max-width:min(100%,var(--prep-vtype-pill-max))}table.data{width:100%;border-collapse:collapse;font-size:.8125rem}table.data th,table.data td{border-bottom:1px solid var(--border);padding:.3rem .45rem;vertical-align:middle}table.data th{text-align:left;font-weight:600;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--panel-2);position:sticky;top:0;z-index:1}table.data tr:nth-child(2n) td{background:#7f7f7f0a}@media(prefers-color-scheme:dark){:root:not([data-theme]) table.data tr:nth-child(2n) td,:root[data-theme=system] table.data tr:nth-child(2n) td{background:#ffffff0a}}:root[data-theme=dark] table.data tr:nth-child(2n) td{background:#ffffff0a}.prep-table table.data tbody tr:not(:has(td.prep-empty)){-webkit-user-select:none;user-select:none}.prep-table table.data tbody tr:not(:has(td.prep-empty)) input[type=text],.prep-table table.data tbody tr:not(:has(td.prep-empty)) select,.prep-table table.data tbody tr:not(:has(td.prep-empty)) textarea{-webkit-user-select:text;user-select:text}table.data input[type=text],table.data select{width:100%;min-width:80px;padding:.22rem .38rem;border-radius:6px;border:1px solid var(--border);background:var(--bg);font-size:.8125rem}.fixture-cell{display:flex;gap:.35rem;align-items:center}.fixture-cell input{flex:1;min-width:0}.prep-table table.data input[type=text]{border:none;background:transparent;box-shadow:none}.prep-table table.data input[type=text]:focus{outline:none}.prep-table table.data input[type=text]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.prep-table--stack table.data textarea.prep-stack-text{width:100%;box-sizing:border-box;margin:0;padding:.22rem .38rem;border:none;border-radius:6px;background:transparent;box-shadow:none;font-size:.8125rem;line-height:1.35;resize:none;min-height:2.35rem}.prep-table--stack table.data textarea.prep-stack-text:focus{outline:none}.prep-table--stack table.data textarea.prep-stack-text:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.col-file{min-width:0}.prep-table--row table.data{border-collapse:separate;border-spacing:0 .75rem;margin-top:-.75rem;margin-bottom:-.75rem;table-layout:fixed;width:100%;max-width:100%}.prep-table--row table.data thead th{border:none;background:var(--panel-2)}.prep-table--row table.data thead th.col-fixture,.prep-table--row table.data thead th.col-title,.prep-table--row table.data thead th.col-teaser{padding-left:calc(var(--prep-data-pad-x) + var(--prep-input-text-inset))}.prep-table--row table.data thead th.col-vtype{padding-left:calc(var(--prep-data-pad-x) + var(--prep-select-text-inset))}.prep-table--row table.data tbody tr:not(:has(.prep-empty)) td{border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-left:none;border-right:none;background:var(--panel)}.prep-table--row table.data tbody tr:not(:has(.prep-empty)) td:first-child{border-left:1px solid var(--border);border-top-left-radius:10px;border-bottom-left-radius:10px}.prep-table--row table.data tbody tr:not(:has(.prep-empty)) td:last-child{border-right:1px solid var(--border);border-top-right-radius:10px;border-bottom-right-radius:10px}.prep-table--row table.data tbody tr.prep-selected{outline:none;position:relative;z-index:0}.prep-table--row table.data tbody tr.prep-selected:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;box-shadow:0 0 0 2px var(--accent);pointer-events:none;z-index:1}.prep-table--row table.data tbody tr:has(.prep-empty) td.prep-empty{border:1px solid var(--border);border-radius:10px;background:var(--panel);border-bottom:1px solid var(--border)!important}.prep-table--row table.data th,.prep-table--row table.data td{min-width:0}.prep-table--row table.data input[type=text],.prep-table--row table.data select{min-width:0;max-width:100%}.prep-table--row table.data select.select-pill{min-width:max(3.25rem,min(7rem,100%))}.prep-table--row .col-file{width:20%;max-width:10.5rem}.prep-table--row .col-fixture{width:18%;min-width:0}.prep-table--row .col-fixture-action{width:5.5rem;min-width:5.5rem;max-width:5.5rem}.prep-table--row .col-vtype{width:12%;min-width:0}.prep-table--row .col-title,.prep-table--row .col-teaser{width:27%;min-width:0}.prep-table--row table.data th.col-remove-head,.prep-table--row table.data td.col-remove{box-sizing:border-box;padding-left:var(--prep-remove-hpad);padding-right:calc(var(--prep-data-pad-x) + var(--prep-remove-hpad));width:calc(1.25rem + var(--prep-data-pad-x) + 2 * var(--prep-remove-hpad));min-width:calc(1.25rem + var(--prep-data-pad-x) + 2 * var(--prep-remove-hpad));max-width:calc(1.25rem + var(--prep-data-pad-x) + 2 * var(--prep-remove-hpad))}.prep-file-name{display:block;min-width:0;overflow-wrap:anywhere;word-break:break-word}.col-fixture{min-width:180px}.col-fixture-action{width:1%;min-width:5.5rem;text-align:center;vertical-align:middle}.col-vtype{min-width:120px;max-width:var(--prep-vtype-pill-max)}.btn-fixture-action{min-width:4.75rem;padding:.42rem .75rem;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.btn-fixture-action--success{background:#2e7d321f!important;border-color:#2e7d32!important;color:#2e7d32!important;text-transform:none;font-size:1rem;line-height:1;font-weight:800}.btn-fixture-action--success:hover:not(:disabled){background:#2e7d3233!important;border-color:#1b5e20!important;color:#1b5e20!important;box-shadow:0 1px 5px #2e7d3240}.btn-fixture-action--success:active:not(:disabled){background:#2e7d3247!important;border-color:#1b5e20!important;color:#0d3d10!important;box-shadow:none}.btn-fixture-action--fail{background:#c628281a!important;border-color:#c62828!important;color:#c62828!important;text-transform:none;font-size:1rem;line-height:1;font-weight:800}.btn-fixture-action--fail:hover:not(:disabled){background:#c628282e!important;border-color:#b71c1c!important;color:#b71c1c!important;box-shadow:0 1px 5px #c6282840}.btn-fixture-action--fail:active:not(:disabled){background:#c6282842!important;border-color:#8e1616!important;color:#8e1616!important;box-shadow:none}table.data select.select-pill{box-sizing:border-box;width:100%;max-width:min(100%,var(--prep-vtype-pill-max));min-width:7rem;border-radius:var(--btn-pill-radius);border:1px solid var(--control-border);background-color:var(--control-surface);padding:.4rem 1.85rem;text-align:center;text-align-last:center;font-weight:700;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%231a1f2e' d='M3 4.5L6 8l3-3.5H3z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;cursor:pointer}@media(prefers-color-scheme:dark){:root:not([data-theme]) table.data select.select-pill,:root[data-theme=system] table.data select.select-pill{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23f0f0f0' d='M3 4.5L6 8l3-3.5H3z'/%3E%3C/svg%3E")}:root:not([data-theme]) table.data select.select-pill:hover,:root[data-theme=system] table.data select.select-pill:hover{border-color:var(--btn-outline-hover-red);color:var(--btn-outline-hover-red);background-color:var(--btn-outline-pill-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ff8a80' d='M3 4.5L6 8l3-3.5H3z'/%3E%3C/svg%3E")}:root:not([data-theme]) table.data select.select-pill:active,:root[data-theme=system] table.data select.select-pill:active{border-color:var(--btn-outline-active-red);color:var(--btn-outline-active-red);background-color:var(--btn-outline-pill-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23e57373' d='M3 4.5L6 8l3-3.5H3z'/%3E%3C/svg%3E")}}:root[data-theme=dark] table.data select.select-pill{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23f0f0f0' d='M3 4.5L6 8l3-3.5H3z'/%3E%3C/svg%3E")}:root[data-theme=dark] table.data select.select-pill:hover{border-color:var(--btn-outline-hover-red);color:var(--btn-outline-hover-red);background-color:var(--btn-outline-pill-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ff8a80' d='M3 4.5L6 8l3-3.5H3z'/%3E%3C/svg%3E")}:root[data-theme=dark] table.data select.select-pill:active{border-color:var(--btn-outline-active-red);color:var(--btn-outline-active-red);background-color:var(--btn-outline-pill-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23e57373' d='M3 4.5L6 8l3-3.5H3z'/%3E%3C/svg%3E")}@media(prefers-color-scheme:light){:root:not([data-theme]) table.data select.select-pill:hover,:root[data-theme=system] table.data select.select-pill:hover{border-color:var(--btn-outline-hover-red);color:var(--btn-outline-hover-red);background-color:var(--btn-outline-pill-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23d32f2f' d='M3 4.5L6 8l3-3.5H3z'/%3E%3C/svg%3E")}:root:not([data-theme]) table.data select.select-pill:active,:root[data-theme=system] table.data select.select-pill:active{border-color:var(--btn-outline-active-red);color:var(--btn-outline-active-red);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239c1c1c' d='M3 4.5L6 8l3-3.5H3z'/%3E%3C/svg%3E")}}:root[data-theme=light] table.data select.select-pill:hover{border-color:var(--btn-outline-hover-red);color:var(--btn-outline-hover-red);background-color:var(--btn-outline-pill-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23d32f2f' d='M3 4.5L6 8l3-3.5H3z'/%3E%3C/svg%3E")}:root[data-theme=light] table.data select.select-pill:active{border-color:var(--btn-outline-active-red);color:var(--btn-outline-active-red);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239c1c1c' d='M3 4.5L6 8l3-3.5H3z'/%3E%3C/svg%3E")}table.data select.select-pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.log{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:.8rem;white-space:pre-wrap;max-height:220px;overflow:auto;background:var(--panel-2);border-radius:8px;padding:.6rem .75rem;border:1px solid var(--border)}.muted{color:var(--muted);margin:0}.hint{color:var(--muted);font-size:.8rem;margin:.25rem 0 0}.section-label{margin:.5rem 0 .15rem;font-size:.92rem;font-weight:600}.section-head{display:flex;flex-direction:column;gap:.2rem;min-width:0}.section-head .section-label{margin:0}.error-banner{background:#f071781f;border:1px solid rgba(240,113,120,.35);color:var(--text);padding:.5rem .65rem;border-radius:8px;margin:0 0 .5rem}.progress-wrap{height:10px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);overflow:hidden}.progress-wrap-indeterminate{position:relative}.progress-bar{height:100%;background:linear-gradient(90deg,var(--btn-grad-a) 0%,var(--btn-grad-b) 100%);transition:width .15s ease}.progress-bar-indeterminate{position:absolute;top:0;left:0;width:38%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--btn-grad-a) 0%,var(--btn-grad-b) 100%);animation:progress-indeterminate-bounce 1.15s ease-in-out infinite alternate}@keyframes progress-indeterminate-bounce{0%{left:0}to{left:62%}}.queue-processed-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:1.35rem;row-gap:.75rem;width:100%;align-items:start;min-width:0}.qp-grid-head--queue{grid-column:1;grid-row:1;min-width:0}.qp-grid-head--processed{grid-column:2;grid-row:1;min-width:0}.qp-list-cell{min-width:0;min-height:0;display:flex;flex-direction:column;align-items:stretch;align-self:stretch}.qp-list-cell--queue{grid-column:1;grid-row:3}.qp-list-cell--queue>.queue-wrap{flex:1 1 auto;min-height:0}.qp-list-cell--processed{grid-column:2;grid-row:3}.qp-list-cell--processed>.completed-list{flex:1 1 auto;min-height:128px}.qp-grid-toolbar--queue{grid-column:1;grid-row:2}.qp-grid-toolbar--processed{grid-column:2;grid-row:2;justify-content:flex-start}@media(max-width:1200px){.queue-processed-grid{grid-template-columns:1fr;row-gap:1.25rem}.qp-grid-head--queue{grid-column:1;grid-row:1}.qp-list-cell--queue,.qp-list-cell--processed,.qp-grid-toolbar--queue,.qp-grid-toolbar--processed{grid-column:1}.qp-grid-toolbar--queue{grid-row:2}.qp-list-cell--queue{grid-row:3}.qp-grid-head--processed{grid-column:1;grid-row:4}.qp-grid-toolbar--processed{grid-row:5;justify-content:flex-start}.qp-list-cell--processed{grid-row:6}}.queue-wrap{display:flex;flex-direction:column;min-height:0;align-self:stretch}.queue-side{display:flex;flex:1;min-height:0;gap:.35rem;align-items:stretch;min-height:128px}.queue-list,.completed-list{flex:1;min-height:128px;overflow:auto;align-self:stretch;display:flex;flex-direction:column;gap:.75rem;border:1px solid var(--table-wrap-border);border-radius:10px;background:var(--panel-2);box-shadow:var(--table-wrap-inset);padding:.5rem .65rem}.completed-item{color:var(--text)}.completed-item-check{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:0;cursor:pointer;min-width:1.25rem;min-height:1.25rem;box-sizing:border-box;padding:0 .15rem 0 0;line-height:1}.completed-item-check input[type=checkbox]{width:.875rem;height:.875rem;margin:0;flex-shrink:0;vertical-align:top;accent-color:var(--accent)}.completed-file-name{min-width:0;flex:1 1 0}.completed-time{flex-shrink:0;font-size:.75rem;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.completed-status{flex-shrink:0;font-size:inherit;font-weight:600;white-space:nowrap;min-height:1.25rem;line-height:1;display:inline-flex;align-items:center;box-sizing:border-box}.completed-status-ok{color:var(--ok)}button.completed-status-fail{margin:0;padding:0;border:none;background:none;font:inherit;cursor:pointer;color:var(--danger);text-decoration:underline;text-underline-offset:2px;min-height:1.25rem;line-height:1;display:inline-flex;align-items:center;box-sizing:border-box}button.completed-status-fail:hover{color:var(--text)}.processed-fail-file{margin:0 0 .5rem;font-size:.9rem;word-break:break-word}.processed-fail-message{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:.8rem;white-space:pre-wrap;overflow-wrap:anywhere;max-height:min(50vh,320px);overflow:auto;padding:.6rem .75rem;border-radius:8px;background:var(--panel-2);border:1px solid var(--border)}.app-alert-body{margin:0;font-size:.95rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;max-height:min(50vh,360px);overflow:auto;padding:.5rem .65rem;border-radius:8px;background:var(--panel-2);border:1px solid var(--border)}.session-restore-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.5rem .75rem;border-radius:8px;border:1px solid rgba(0,174,239,.35);background:#00aeef14;font-size:.9rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.fill-tt-dialog-backdrop{z-index:10000}.modal{width:min(560px,100%);max-height:90vh;display:flex;flex-direction:column}.modal-wide{width:min(760px,100%)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.modal-header h2{margin:0;font-size:1.1rem}.modal-body{overflow:auto;flex:1;display:flex;flex-direction:column;gap:.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.fill-tt-lead{margin:0 0 .75rem}.fill-tt-how{margin:0 0 .75rem;padding:.65rem .75rem;background:var(--panel-elevated, rgba(0, 0, 0, .04));border-radius:6px;border:1px solid var(--border-subtle, rgba(0, 0, 0, .08))}.fill-tt-how-title{margin:0 0 .4rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted, inherit)}.fill-tt-how ul{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.5rem;font-size:.9rem;line-height:1.45}.fill-tt-after{margin:0 0 .5rem}.fill-tt-list-label{margin:.75rem 0 .35rem}.fill-tt-warning{margin:.75rem 0 0;padding:.5rem .65rem;border-radius:4px;background:#b4641e1f;border:1px solid rgba(180,100,30,.25);font-size:.9rem;line-height:1.4}.fill-tt-file-list{margin:.5rem 0 0;padding-left:1.25rem;max-height:12rem;overflow-y:auto}.settings-vtype-profiles{display:flex;flex-direction:column;gap:.5rem;margin:.15rem 0 .25rem}.field{display:flex;flex-direction:column;gap:.25rem}.field span{font-size:.85rem;color:var(--muted)}.field.inline{flex-direction:row;align-items:center;gap:.5rem}.field input,.field textarea,.field select{padding:.4rem .5rem;border-radius:8px;border:1px solid var(--border);background:var(--bg)}.field textarea{resize:vertical;min-height:72px}.check{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem}.theme-choice-group{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.35rem}.fixture-list{width:100%;font-family:inherit;font-size:.85rem}@media(prefers-color-scheme:dark){:root:not([data-theme]) .btn.primary,:root:not([data-theme]) .btn-text-cta,:root:not([data-theme]) .btn-primary-solid,:root[data-theme=system] .btn.primary,:root[data-theme=system] .btn-text-cta,:root[data-theme=system] .btn-primary-solid{box-shadow:0 1px 2px #00000073}}:root[data-theme=dark] .btn.primary,:root[data-theme=dark] .btn-text-cta,:root[data-theme=dark] .btn-primary-solid{box-shadow:0 1px 2px #00000073}@media(max-width:480px){.app-main .toolbar{gap:.35rem}.app-main .toolbar .btn-primary-solid{font-size:.54rem;letter-spacing:.04em;padding:.48rem .65rem}.app-main .toolbar .btn-outline-dark{font-size:.52rem;letter-spacing:.04em;padding:.45rem .6rem}.app-main .toolbar .btn-text-cta{font-size:.54rem;letter-spacing:.04em;padding:.48rem .65rem}.app-header-actions--row{gap:.35rem}.app-header .btn-settings-header{font-size:.52rem;letter-spacing:.04em;padding:.45rem .6rem}.prep-files-toolbar .btn-remove-all{margin-left:0}}.hidden-input{display:none}.spa-auth-gate{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--text);font-family:var(--font);padding:1rem}.spa-auth-gate p{margin:0;font-size:1rem;color:var(--muted)}.spa-auth-gate p+p{margin-top:.75rem}.spa-auth-gate--denied{width:100%;max-width:32rem;margin-inline:auto;text-align:center;flex-direction:column;gap:.25rem}.spa-auth-gate__title{font-size:1.125rem!important;font-weight:600;color:var(--text)!important}.spa-auth-gate__actions{margin-top:1.25rem!important}
