:root,:root[data-theme=dark]{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-feature-settings:"cv11","ss01","ss03";--bg: oklch(.14 .003 230);--surface-1: oklch(.18 .003 230);--surface-2: oklch(.3 .003 230);--surface-sunk: oklch(.25 .003 230);--line: oklch(.3 .004 230 / .8);--line-strong: oklch(.4 .004 230);--text: oklch(.96 .003 230);--text-muted: oklch(.72 .004 230);--text-dim: oklch(.54 .004 230);--accent: oklch(.66 .19 277);--accent-soft: oklch(.66 .19 277 / .2);--accent-line: oklch(.66 .19 277 / .55);--accent-on: oklch(.98 .01 277);--accent-hover: oklch(.72 .19 277);--record: oklch(.66 .21 25);--record-soft: oklch(.66 .21 25 / .18);--record-line: oklch(.66 .21 25 / .45);--record-hover: oklch(.7 .21 25);--record-on: oklch(.98 .01 25);--danger: oklch(.66 .18 25);--danger-soft: oklch(.66 .18 25 / .16);--danger-line: oklch(.66 .18 25 / .45);--hover-bg: oklch(.3 .003 230);--hover-bg-soft: oklch(.27 .003 230);--hover-bg-subtle: oklch(.2 .003 230);--accent-hover-soft: oklch(.66 .19 277 / .3);--overlay-pill: oklch(.16 .003 230 / .78);--overlay-label: oklch(.16 .003 230 / .7);--backdrop: oklch(.1 .003 230 / .55);--shadow-1: 0 1px 2px oklch(0 0 0 / .35);--shadow-2: 0 8px 24px oklch(.08 .003 230 / .55);--r-sm: 4px;--r-md: 6px;--r-pill: 999px;--t-mono: ui-monospace, "JetBrains Mono", "SF Mono", Menlo, monospace;--t-overline: 10px;--t-xs: 11px;--t-sm: 12px;--t-md: 13px;--t-lg: 15px;--t-xl: 18px;--panel: var(--surface-1);--panel-2: var(--surface-2);--border: var(--line);--muted: var(--text-muted);--accent-2: var(--accent);--recording: var(--record)}:root[data-theme=light]{color-scheme:light;--bg: oklch(.985 .002 230);--surface-1: oklch(.965 .002 230);--surface-2: oklch(.9 .003 230);--surface-sunk: oklch(.94 .003 230);--line: oklch(.78 .004 230 / .85);--line-strong: oklch(.65 .004 230);--text: oklch(.22 .003 230);--text-muted: oklch(.42 .004 230);--text-dim: oklch(.58 .004 230);--accent: oklch(.52 .2 277);--accent-soft: oklch(.52 .2 277 / .14);--accent-line: oklch(.52 .2 277 / .55);--accent-on: oklch(.99 .01 277);--accent-hover: oklch(.46 .2 277);--record: oklch(.55 .22 25);--record-soft: oklch(.55 .22 25 / .14);--record-line: oklch(.55 .22 25 / .45);--record-hover: oklch(.5 .22 25);--record-on: oklch(.99 .01 25);--danger: oklch(.5 .18 25);--danger-soft: oklch(.5 .18 25 / .12);--danger-line: oklch(.5 .18 25 / .45);--hover-bg: oklch(.9 .004 230);--hover-bg-soft: oklch(.92 .004 230);--hover-bg-subtle: oklch(.94 .004 230);--accent-hover-soft: oklch(.52 .2 277 / .2);--overlay-pill: oklch(.98 .003 230 / .82);--overlay-label: oklch(.98 .003 230 / .78);--backdrop: oklch(.3 .003 230 / .45);--shadow-1: 0 1px 2px oklch(0 0 0 / .1);--shadow-2: 0 8px 24px oklch(.3 .003 230 / .18)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);overflow:hidden;font-size:var(--t-md);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.hud,.status,.inline-status,.capture-footer,input[type=number],.cam-overlay .label,.check-row{font-variant-numeric:tabular-nums}::selection{background:var(--accent-soft);color:var(--text)}:focus{outline:none}:focus-visible{outline:1px solid var(--accent);outline-offset:2px;border-radius:var(--r-sm)}button{background:transparent;color:var(--text);border:1px solid transparent;border-radius:var(--r-sm);padding:7px 12px;font:inherit;font-size:var(--t-md);letter-spacing:0;cursor:pointer;transition:background .14s cubic-bezier(.2,.8,.2,1),color .14s cubic-bezier(.2,.8,.2,1),border-color .14s cubic-bezier(.2,.8,.2,1)}button:hover{background:var(--hover-bg)}button:disabled{opacity:.45;cursor:not-allowed;background:transparent}button.outlined,button:not(.primary):not(.danger):not(.section-toggle):not(.webcam-switch):not(.motion-pill):not(.drawer-toggle){border-color:var(--line)}button.primary{background:var(--accent);color:var(--accent-on);border-color:var(--accent);font-weight:600}button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}button.primary:disabled{background:var(--accent-soft);color:var(--text-dim);border-color:transparent;opacity:1}button.danger{background:var(--record);color:var(--record-on);border-color:var(--record);font-weight:600}button.danger:hover{background:var(--record-hover);border-color:var(--record-hover)}input,select{background:var(--surface-sunk);color:var(--text);border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 10px;font:inherit;font-size:var(--t-md);width:100%;transition:border-color .14s cubic-bezier(.2,.8,.2,1)}input::placeholder{color:var(--text-dim)}input:hover,select:hover{border-color:var(--line-strong)}input:focus,select:focus{border-color:var(--accent)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:22px;padding:0;background:transparent;border:none}input[type=range]::-webkit-slider-runnable-track{height:2px;background:var(--line-strong);border-radius:999px}input[type=range]::-moz-range-track{height:2px;background:var(--line-strong);border-radius:999px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;margin-top:-6px;border-radius:50%;background:var(--text);border:1px solid var(--line-strong);box-shadow:var(--shadow-1);cursor:grab;transition:background .14s cubic-bezier(.2,.8,.2,1)}input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--text);border:1px solid var(--line-strong);box-shadow:var(--shadow-1);cursor:grab}input[type=range]:hover::-webkit-slider-thumb{background:var(--accent)}input[type=range]:hover::-moz-range-thumb{background:var(--accent)}input[type=range]:active::-webkit-slider-thumb{cursor:grabbing}input[type=color]{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:1px solid var(--line);border-radius:var(--r-sm);background:transparent;cursor:pointer;overflow:hidden}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:2px}input[type=color]::-moz-color-swatch{border:none;border-radius:2px}input[type=color]:hover{border-color:var(--accent)}label.field,div.field{display:flex;flex-direction:column;gap:4px;font-size:var(--t-overline);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.ei-auth-form{display:flex;flex-direction:column;gap:14px}.ei-project-name{padding:8px 10px;background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--r-sm);font-size:var(--t-md);color:var(--text);text-transform:none;letter-spacing:normal;font-variant-numeric:tabular-nums}.theme-toggle{flex:none;width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--r-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:color .14s cubic-bezier(.2,.8,.2,1),border-color .14s cubic-bezier(.2,.8,.2,1),background .14s cubic-bezier(.2,.8,.2,1)}.theme-toggle:hover{color:var(--text);border-color:var(--line-strong);background:var(--hover-bg)}.theme-toggle svg{width:14px;height:14px}.app{position:relative;width:100vw;height:100vh;height:100dvh;display:grid;grid-template-columns:1fr 360px;background:var(--bg)}.app.app--no-chrome{grid-template-columns:1fr}.scene{position:relative;overflow:hidden}.scene-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--text-muted);font-family:var(--t-mono);font-size:var(--t-sm);background:linear-gradient(180deg,#0b0d10,#14181d)}.panel-loading{color:var(--text-muted);font-family:var(--t-mono);font-size:var(--t-sm)}.error-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:var(--backdrop);color:var(--text);z-index:100;overflow:auto}.error-fallback-inner{max-width:480px;width:100%;display:flex;flex-direction:column;gap:14px;padding:22px;background:var(--surface-1);border:1px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-2)}.error-fallback h1{margin:0;font-size:var(--t-xl);font-weight:600}.error-fallback p{margin:0;color:var(--text-muted);font-size:var(--t-md)}.error-fallback pre{margin:0;padding:10px 12px;background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text-muted);font-family:var(--t-mono);font-size:var(--t-xs);white-space:pre-wrap;word-break:break-word;max-height:40vh;overflow:auto}.error-fallback-actions{display:flex;gap:8px;flex-wrap:wrap}.sidebar{background:var(--surface-1);border-left:1px solid var(--line);display:flex;flex-direction:column;min-width:0;overflow:hidden}.sidebar-scroll{flex:1 1 auto;min-height:0;padding:18px 18px 24px;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:22px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.sidebar-scroll::-webkit-scrollbar{width:8px}.sidebar-scroll::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px;border:2px solid var(--surface-1)}.card{position:relative;background:transparent;border:0;border-radius:0;padding:24px 0 0;display:flex;flex-direction:column;gap:14px}.card:before{content:"";position:absolute;top:0;left:-18px;right:-18px;height:1px;background:var(--line-strong)}.sidebar-scroll>.card:first-of-type{padding-top:4px}.sidebar-scroll>.card:first-of-type:before{display:none}.card h3{margin:0;font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--text);text-transform:uppercase;position:relative;padding-left:14px;line-height:1}.card h3:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:13px;background:var(--accent);border-radius:999px}.row{display:flex;gap:8px}.row>*{flex:1}.section-toggle{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;border:0;border-radius:var(--r-sm);padding:4px 0;margin:0;font-size:var(--t-overline);letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--text-muted);cursor:pointer;transition:color .12s ease}.section-toggle:hover{background:transparent;color:var(--text)}.section-toggle:focus-visible{outline:2px solid var(--accent-line);outline-offset:2px}.section-toggle[aria-expanded=true]{color:var(--text)}.section-toggle-chevron{display:inline-flex;align-items:center;justify-content:center;order:1;margin-left:auto;width:22px;height:22px;border-radius:6px;font-size:14px;font-weight:700;color:var(--text);background:var(--surface-sunk);border:1px solid var(--line);transition:transform .2s cubic-bezier(.2,.8,.2,1),color .12s ease,background .12s ease,border-color .12s ease}.section-toggle:hover .section-toggle-chevron,.card-heading-toggle:hover .section-toggle-chevron{color:var(--accent-on);background:var(--accent);border-color:var(--accent)}.section-toggle[aria-expanded=true] .section-toggle-chevron,.card-heading-toggle[aria-expanded=true] .section-toggle-chevron{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.card-heading-toggle{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;border:0;cursor:pointer;font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--text);text-transform:uppercase;position:relative;padding:24px 0 6px;margin:0;line-height:1}.card:has(>.card-heading-toggle){padding-top:0;gap:8px}.card-heading-toggle>span:first-child{position:relative;padding-left:14px}.card-heading-toggle>span:first-child:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:13px;background:var(--accent);border-radius:999px}.card-heading-toggle:hover{background:transparent;color:var(--text)}.card-heading-toggle:focus-visible{outline:2px solid var(--accent-line);outline-offset:4px;border-radius:4px}.webcam-control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:0 0 4px;border:0;background:transparent;border-radius:0}.webcam-control-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.webcam-control-heading{display:flex;align-items:center;gap:8px;min-width:0}.webcam-control-title{color:var(--text);font-size:var(--t-md);font-weight:600}.webcam-control-state{color:var(--text-dim);font-size:var(--t-overline);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:tabular-nums}.webcam-control-state.on{color:var(--accent)}.webcam-control-help{color:var(--text-muted);font-size:var(--t-xs);line-height:1.4}.webcam-switch{flex:none;width:28px;height:14px;padding:1px;border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--surface-sunk);transition:background .16s cubic-bezier(.2,.8,.2,1),border-color .16s cubic-bezier(.2,.8,.2,1)}.webcam-switch:hover{background:var(--hover-bg-subtle)}.webcam-switch.on{border-color:var(--accent);background:var(--accent-soft)}.webcam-switch.on:hover{background:var(--accent-hover-soft)}.webcam-switch-thumb{display:block;width:10px;height:10px;border-radius:var(--r-pill);background:var(--text-muted);box-shadow:var(--shadow-1);transform:translate(0);transition:transform .2s cubic-bezier(.2,.8,.2,1),background .16s cubic-bezier(.2,.8,.2,1)}.webcam-switch.on .webcam-switch-thumb{background:var(--accent);transform:translate(14px)}.motion-pills{display:flex;flex-wrap:wrap;gap:4px;padding:3px;background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--r-md)}.motion-pill{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:5px 10px;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--text-muted);font-size:var(--t-sm);font-weight:500;text-transform:capitalize;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;transition:background .14s cubic-bezier(.2,.8,.2,1),color .14s cubic-bezier(.2,.8,.2,1)}.motion-pill input{position:absolute;opacity:0;pointer-events:none}.motion-pill:hover{background:var(--hover-bg-soft);color:var(--text)}.motion-pill.on{background:var(--surface-2);color:var(--text);border-color:var(--line-strong);box-shadow:var(--shadow-1)}.trajectory-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.trajectory-pills .motion-pill{flex:initial}.capture-card{gap:12px}.capture-footer{display:flex;align-items:center;gap:10px}.capture-batch-topline{display:flex;align-items:flex-end;gap:10px}.capture-frame-button{width:100%;min-height:40px;font-size:var(--t-md)}.capture-batch-section{display:flex;flex-direction:column;gap:12px}.capture-batch-count{flex:0 0 92px}.capture-batch-button{flex:1;min-height:36px}.capture-randomize-group{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.capture-randomize-group legend{padding:0;color:var(--text-muted);font-size:var(--t-overline);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.capture-toggle-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ei-fetch-group{border:1px solid var(--line);border-radius:var(--r-md);padding:10px 12px 12px;margin:0;display:flex;flex-direction:column;gap:8px;background:var(--surface-sunk)}.ei-fetch-group legend{padding:0 6px;font-size:var(--t-overline);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:600}.inline-status{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--r-sm);font-size:var(--t-xs);font-family:var(--t-mono);line-height:1.4;word-break:break-word;border:1px solid transparent}.inline-status.busy{color:var(--text);background:var(--surface-2);border-color:var(--line)}.inline-status.ok{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.inline-status.err{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-line)}.spinner{flex:none;width:12px;height:12px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.check-row{display:flex;align-items:center;gap:8px;min-width:0;color:var(--text-muted);font-size:var(--t-sm);line-height:1.4}.check-row input[type=checkbox]{flex:none;width:16px;height:16px;margin:0;accent-color:var(--accent)}.check-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.capture-footer{justify-content:space-between;color:var(--text-muted);font-size:var(--t-sm)}.capture-footer button{min-width:64px;padding:5px 10px}.cam-overlay{position:absolute;bottom:16px;left:16px;width:240px;height:180px;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:var(--surface-sunk);box-shadow:var(--shadow-2);z-index:5}.cam-overlay.resizable{min-width:160px;max-width:720px}.cam-overlay.resizable.cam-feed{aspect-ratio:4 / 3;height:auto}.cam-resize-handle{position:absolute;top:0;right:0;width:28px;height:28px;z-index:4;cursor:nesw-resize;touch-action:none}.cam-resize-handle:after{content:"";position:absolute;top:6px;right:6px;width:10px;height:10px;border-top:1.5px solid var(--text-muted);border-right:1.5px solid var(--text-muted);pointer-events:none;opacity:.6;transition:opacity .14s cubic-bezier(.2,.8,.2,1),border-color .14s cubic-bezier(.2,.8,.2,1)}.cam-resize-handle:hover:after{opacity:1;border-top-color:var(--accent);border-right-color:var(--accent)}.cam-overlay video,.cam-overlay canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform:scaleX(-1)}.cam-overlay .label{position:absolute;top:8px;left:8px;max-width:calc(100% - 16px);padding:2px 8px;font-family:var(--t-mono);font-size:var(--t-overline);color:var(--text-muted);background:var(--overlay-label);border:1px solid var(--line);border-radius:var(--r-pill);letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:2}.hud{position:absolute;top:16px;left:16px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:var(--t-xs);color:var(--text-muted);font-family:var(--t-mono);z-index:5;pointer-events:none}.hud .pill{display:inline-flex;align-items:center;gap:6px;background:var(--overlay-pill);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px 10px;letter-spacing:.02em;font-variant-numeric:tabular-nums}.hud .pill.live{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.hud .pill.tip{font-size:10px;color:var(--text-dim);display:block;max-width:340px;white-space:normal;line-height:1.4;padding:8px 22px 8px 10px;border-radius:10px;position:relative;pointer-events:auto}.hud .pill.tip .tip-header{font-weight:600;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.hud .pill.tip .tip-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.hud .pill.tip .tip-list li{display:flex;align-items:baseline;gap:6px}.hud .pill.tip .tip-keys{flex:0 0 15ch;width:15ch;font-family:var(--t-mono);color:var(--text);font-weight:500;white-space:nowrap}.hud .pill.tip .tip-label{flex:1 1 auto;color:var(--text-dim);white-space:nowrap}.hud .pill.tip .tip-close{position:absolute;top:2px;right:4px;width:16px;height:16px;border:none;background:transparent;color:var(--text-muted);font-size:14px;line-height:1;cursor:pointer;padding:0;border-radius:2px}.hud .pill.tip .tip-close:hover{color:var(--text);background:var(--overlay-pill)}.hud .pill.tip.tip-toggle{display:inline-flex;align-items:center;justify-content:center;padding:0 9px;border-radius:var(--r-pill);font-family:inherit;font-size:var(--t-xs);font-weight:600;cursor:pointer;pointer-events:auto;min-height:25px;color:var(--text-dim);max-width:none}.hud .pill.tip.tip-toggle:hover{color:var(--text)}.hud .pill.rec{color:var(--record-on);background:var(--record);border-color:var(--record);font-weight:700;animation:pulse 1.4s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.status{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;max-block-size:88px;overflow-y:auto;font-size:var(--t-xs);line-height:1.4;color:var(--text-muted);font-family:inherit;white-space:normal;font-variant-numeric:tabular-nums;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.status-kind{align-self:start;padding:1px 5px 2px;border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text-dim);background:var(--surface-sunk);font-family:var(--t-mono);font-size:10px;font-weight:700;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.status-msg{min-width:0;overflow-wrap:anywhere;word-break:break-word}.status.ok .status-kind{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.status.busy .status-kind{color:var(--text);border-color:var(--line-strong)}.status.err .status-kind{color:var(--danger);background:var(--danger-soft);border-color:var(--danger-line)}.status.err .status-msg{color:var(--danger)}.sidebar>.status{flex:none;padding:10px 18px 12px;background:var(--surface-1);border-top:1px solid var(--line);z-index:1}.drawer-toggle{display:none;align-items:center;justify-content:center;position:absolute;top:12px;right:12px;z-index:30;width:40px;height:40px;padding:0;background:var(--surface-1);border:1px solid var(--line-strong);border-radius:var(--r-md);color:var(--text);box-shadow:var(--shadow-2)}.drawer-toggle svg{width:18px;height:18px;display:block}.drawer-toggle:hover{background:var(--surface-2)}.drawer-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--backdrop);z-index:40;animation:drawer-fade-in .2s cubic-bezier(.2,.8,.2,1)}@keyframes drawer-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hud .pill.rec{animation:none}}@media (max-width: 768px){.app{grid-template-columns:1fr}.drawer-toggle{display:inline-flex;align-items:center;justify-content:center}.sidebar{position:fixed;top:0;right:0;bottom:0;width:min(86vw,360px);z-index:50;border-left:1px solid var(--line);transform:translate(100%);transition:transform .24s cubic-bezier(.2,.8,.2,1);box-shadow:-8px 0 24px var(--backdrop)}.sidebar.open{transform:translate(0)}.drawer-backdrop{display:block}.hud{top:12px;left:12px;right:64px;flex-direction:row;flex-wrap:wrap}.cam-overlay{bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left))}.cam-overlay.resizable{min-width:120px;max-width:90vw}.capture-toggle-list{grid-template-columns:repeat(2,minmax(0,1fr))}button{padding:9px 12px;font-size:var(--t-lg)}input,select{padding:8px 10px;font-size:var(--t-md)}}
