/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.grid{display:grid}.hidden{display:none}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#07090a;--panel:#0d1011;--panel-raised:#121617;--line:#252b2d;--line-soft:#1b2022;--paper:#edf1ef;--muted:#899294;--dim:#596164;--cyan:#6de7ff;--cyan-dim:#184c56;--acid:#c6f36b;--warning:#ffbc57;--danger:#ff6b5f;--topbar:68px}*{box-sizing:border-box}html{background:var(--ink);color-scheme:dark}body{background:radial-gradient(circle at 50% -30%,#4da8b714,transparent 38%),var(--ink);color:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.42}.studio-shell{grid-template-columns:226px minmax(520px,1fr) 336px;grid-template-rows:var(--topbar) calc(100vh - var(--topbar));min-width:1100px;min-height:720px;display:grid;overflow:hidden}.topbar{min-height:var(--topbar);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#07090af0;grid-column:1/-1;grid-template-columns:226px 1fr 336px;display:grid}.brand,.topbar{align-items:center}.brand{border-right:1px solid var(--line);height:100%;color:var(--paper);gap:11px;padding:0 18px;text-decoration:none;display:flex}.brand-mark{border:1px solid var(--cyan);width:34px;height:34px;color:var(--cyan);font-family:var(--font-mono,monospace);letter-spacing:-.05em;place-items:center;font-size:11px;font-weight:800;display:grid;box-shadow:inset 0 0 20px #6de7ff14}.brand b,.brand small{display:block}.brand b{letter-spacing:.14em;font-size:12px}.brand small{margin-top:3px;font-size:8px}.brand small,.topbar-center{color:var(--dim);font-family:var(--font-mono,monospace);letter-spacing:.12em}.topbar-center{align-items:center;gap:10px;padding:0 24px;font-size:9px;display:flex}.topbar-center b{color:#a8b0b2;font-weight:500}.pulse-line{background:var(--cyan-dim);width:26px;height:1px;position:relative}.pulse-line:after{background:var(--cyan);content:"";width:5px;height:5px;box-shadow:0 0 8px var(--cyan);border-radius:50%;position:absolute;top:-2px;right:0}.topbar-status{border-left:1px solid var(--line);height:100%;color:var(--muted);letter-spacing:.05em;justify-content:flex-end;align-items:center;gap:18px;padding:0 17px;font-size:10px;display:flex}.topbar-status>span{align-items:center;gap:8px;display:flex}.icon-button{border:1px solid var(--line);width:28px;height:28px;color:var(--muted);cursor:pointer;font:700 11px var(--font-mono,monospace);background:0 0;border-radius:50%;place-items:center;padding:0;display:grid}.status-dot{background:var(--dim);border-radius:50%;flex:0 0 6px;width:6px;height:6px;display:inline-block}.status-dot.ok{background:var(--acid);box-shadow:0 0 8px #c6f36b99}.status-dot.warn{background:var(--warning);box-shadow:0 0 8px #ffbc5773}.status-dot.off{background:#4a5153}.workflow-rail{border-right:1px solid var(--line);background:#0a0c0db8;flex-direction:column;grid-area:2/1;min-height:0;display:flex}.rail-heading{justify-content:space-between;align-items:center;padding:23px 18px 17px;display:flex}.eyebrow{color:var(--cyan);letter-spacing:.16em;margin:0;font-weight:700}.eyebrow,.rail-heading>span{font-family:var(--font-mono,monospace);font-size:9px}.rail-heading>span{color:var(--dim)}.workflow-step{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-left:0;border-right:0;align-items:center;gap:13px;width:100%;min-height:68px;padding:12px 18px;display:flex;position:relative}.workflow-step:before{content:"";background:0 0;width:2px;position:absolute;top:0;bottom:0;left:0}.workflow-step.active{border-color:var(--line-soft);background:linear-gradient(90deg,#6de7ff14,#0000)}.workflow-step.active:before{background:var(--cyan);box-shadow:0 0 10px #6de7ff80}.step-number{width:26px;height:26px;color:var(--dim);font-family:var(--font-mono,monospace);border:1px solid #3b4244;flex:0 0 26px;place-items:center;font-size:9px;display:grid}.workflow-step.active .step-number{border-color:var(--cyan);color:var(--cyan)}.workflow-step.done .step-number{color:var(--acid);border-color:#627a42}.workflow-step b,.workflow-step small{display:block}.workflow-step b{color:#cfd5d3;font-size:11px;font-weight:600}.workflow-step small{color:var(--dim);font-family:var(--font-mono,monospace);margin-top:4px;font-size:8px}.workflow-step.active b{color:#fff}.rail-note{background:#ffbc5709;border:1px solid #33302b;gap:10px;margin:auto 16px 18px;padding:13px;display:flex}.rail-note__icon{width:20px;height:20px;color:var(--warning);font:700 9px var(--font-mono,monospace);border:1px solid #6a5333;border-radius:50%;flex:0 0 20px;place-items:center;display:grid}.rail-note p{color:var(--dim);margin:0;font-size:9px;line-height:1.55}.rail-note b{color:#b8b2a8;margin-bottom:2px;display:block}.rail-footer{border-top:1px solid var(--line);font-family:var(--font-mono,monospace);padding:15px 18px}.rail-footer b,.rail-footer span{display:block}.rail-footer span{color:var(--dim);letter-spacing:.14em;font-size:7px}.rail-footer b{color:#8b9496;letter-spacing:.08em;margin-top:4px;font-size:8px}.workspace{background-image:linear-gradient(#ffffff03 1px,#0000 0),linear-gradient(90deg,#ffffff03 1px,#0000 0);background-size:32px 32px;grid-area:2/2;min-width:0;min-height:0;padding:24px clamp(20px,2vw,34px) 18px;overflow:auto}.workspace-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:19px;display:flex}.workspace-heading h1{letter-spacing:-.035em;margin:7px 0 0;font-size:clamp(24px,2.15vw,34px);font-weight:400}.resolution-lock{border-left:1px solid var(--line);text-align:right;font-family:var(--font-mono,monospace);padding-left:18px}.resolution-lock span,.resolution-lock strong{display:block}.resolution-lock span{color:var(--dim);letter-spacing:.12em;font-size:7px}.resolution-lock strong{color:#adb6b8;margin-top:5px;font-size:10px;font-weight:500}.capture-card,.result-card{border:1px solid var(--line);background:#0a0c0d;overflow:hidden;box-shadow:0 18px 60px #0000002e}.capture-toolbar,.result-toolbar{border-bottom:1px solid var(--line-soft);min-height:38px;font-family:var(--font-mono,monospace);letter-spacing:.08em;background:#0e1112;justify-content:space-between;align-items:center;padding:0 13px;font-size:8px;display:flex}.capture-source{color:#9ca5a7;align-items:center;gap:8px;display:flex}.capture-readout{color:var(--dim);gap:14px;display:flex}.video-stage{--video-ratio:16/9;width:100%;aspect-ratio:var(--video-ratio);background:radial-gradient(circle,#495b5f1c,#0000 38%),repeating-linear-gradient(0deg,#0000 0 3px,#ffffff03 3px 4px),#050607;place-items:center;min-height:310px;max-height:calc(100vh - 255px);display:grid;position:relative;overflow:hidden}.video-stage video{object-fit:contain;filter:saturate(.88)contrast(1.04);width:100%;height:100%;display:none}.video-stage.is-live video{display:block}.camera-empty{text-align:center;flex-direction:column;align-items:center;max-width:360px;display:flex}.lens-symbol{border:1px solid #283033;border-radius:50%;place-items:center;width:72px;height:72px;margin-bottom:18px;display:grid;position:relative;box-shadow:0 0 0 12px #6de7ff04,inset 0 0 24px #6de7ff09}.lens-symbol:after,.lens-symbol:before{content:"";border-radius:50%;position:absolute}.lens-symbol:before{border:1px dashed #344145;width:38px;height:38px}.lens-symbol:after{background:var(--cyan);width:8px;height:8px;box-shadow:0 0 16px #6de7ffbf}.lens-symbol span{background:#283033;width:88px;height:1px;position:absolute}.camera-empty p{color:#c7cecc;margin:0;font-size:15px}.camera-empty>span{color:var(--dim);margin:7px 0 17px;font-size:10px;line-height:1.5}.camera-empty>.camera-empty-divider{color:#4f595b;width:100%;font:6px var(--font-mono,monospace);letter-spacing:.12em;margin:18px 0 10px;position:relative}.camera-empty>.camera-empty-divider:after,.camera-empty>.camera-empty-divider:before{content:"";background:#252c2e;width:25%;height:1px;position:absolute;top:50%}.camera-empty>.camera-empty-divider:before{left:0}.camera-empty>.camera-empty-divider:after{right:0}.import-inline-button{color:#8fc7d1;cursor:pointer;background:#6de7ff06;border:1px solid #334043;justify-content:center;align-items:center;gap:8px;min-height:34px;padding:0 12px;font-size:8px;display:flex}.import-inline-button:hover:not(.disabled){border-color:var(--cyan-dim);color:var(--cyan)}.import-inline-button.disabled,.projection-file-button.disabled{cursor:not-allowed;opacity:.42}.import-inline-button input,.projection-file-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.text-button{color:var(--cyan);cursor:pointer;background:0 0;border:0;padding:0;font-size:10px}.text-button b{margin-left:6px}.detected-area .corner,.frame-corners i{pointer-events:none;width:19px;height:19px;position:absolute}.frame-corners i:first-child{border-top:1px solid #697276;border-left:1px solid #697276;top:14px;left:14px}.frame-corners i:nth-child(2){border-top:1px solid #697276;border-right:1px solid #697276;top:14px;right:14px}.frame-corners i:nth-child(3){border-bottom:1px solid #697276;border-left:1px solid #697276;bottom:14px;left:14px}.frame-corners i:nth-child(4){border-bottom:1px solid #697276;border-right:1px solid #697276;bottom:14px;right:14px}.camera-index,.result-resolution{color:#7f8b8d;font:8px var(--font-mono,monospace);letter-spacing:.12em;background:#030506b3;padding:5px 7px;position:absolute;bottom:16px;right:17px}.detected-area{border:1px solid var(--warning);pointer-events:none;position:absolute;box-shadow:inset 0 0 35px #ffbc5709,0 0 20px #ffbc570d}.detected-area.ok{border-color:var(--cyan);box-shadow:inset 0 0 35px #6de7ff09,0 0 20px #6de7ff0d}.detected-area>span{background:var(--cyan);color:#071013;font:700 7px var(--font-mono,monospace);letter-spacing:.12em;padding:3px 5px;position:absolute;top:-20px;left:0}.detected-area.warn>span{background:var(--warning)}.detected-area .top-left{border-top:3px solid;border-left:3px solid;top:-4px;left:-4px}.detected-area .top-right{border-top:3px solid;border-right:3px solid;top:-4px;right:-4px}.detected-area .bottom-left{border-bottom:3px solid;border-left:3px solid;bottom:-4px;left:-4px}.detected-area .bottom-right{border-bottom:3px solid;border-right:3px solid;bottom:-4px;right:-4px}.scan-overlay{background:#0305067a;place-items:center;display:grid;position:absolute;inset:0}.scan-sweep{background:linear-gradient(90deg,transparent,var(--cyan),transparent);height:2px;box-shadow:0 0 22px var(--cyan);animation:scanSweep 2.1s ease-in-out infinite;position:absolute;left:0;right:0}@keyframes scanSweep{0%,to{opacity:.35;top:10%}50%{opacity:.9;top:90%}}.scan-progress-card{text-align:center;background:#090d0eeb;border:1px solid #334044;width:min(310px,65%);padding:25px;box-shadow:0 28px 80px #0006}.radar{border:1px solid var(--cyan);border-top:1px solid #0000;border-radius:50%;width:26px;height:26px;animation:spin 1s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}.scan-progress-card p{color:#aeb8ba;margin:14px 0 7px;font-size:10px}.scan-progress-card strong{font:400 34px var(--font-mono,monospace)}.progress-track{background:#252d30;height:2px;margin-top:16px}.progress-track span{background:var(--cyan);height:100%;transition:width .18s;display:block;box-shadow:0 0 10px #6de7ff80}.capture-footer,.result-footer{border-top:1px solid var(--line-soft);min-height:42px;color:var(--dim);background:#0e1112;justify-content:space-between;align-items:center;padding:0 13px;font-size:8px;display:flex}.capture-footer>div{align-items:center;gap:8px;display:flex}.keyboard-key{color:#818a8c;font:7px var(--font-mono,monospace);border:1px solid #333a3c;padding:3px 5px}.pattern-shortcuts{gap:0!important}.pattern-shortcuts button{color:#788285;cursor:pointer;min-width:44px;height:23px;font:7px var(--font-mono,monospace);background:0 0;border:1px solid #2c3335;border-right:0}.pattern-shortcuts button:last-child{border-right:1px solid #2c3335}.event-log{border:1px solid var(--line-soft);min-height:38px;font-family:var(--font-mono,monospace);letter-spacing:.08em;background:#0d101199;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-top:11px;padding:0 11px;font-size:7px;display:grid}.event-log>div{color:#7f898b;align-items:center;gap:7px;display:flex}.event-log p{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.event-log>span{color:#687174}.live-pulse{background:var(--cyan);border-radius:50%;width:5px;height:5px;box-shadow:0 0 7px #6de7ffb3}.inspector{border-left:1px solid var(--line);background:#0a0d0e;grid-area:2/3;min-height:0;overflow-y:auto}.inspector-section{border-bottom:1px solid var(--line);padding:20px 18px}.section-title{align-items:center;gap:9px;margin-bottom:17px;display:flex}.section-title>span{width:20px;height:20px;color:var(--cyan);font:8px var(--font-mono,monospace);border:1px solid #343b3d;place-items:center;display:grid}.section-title h2{color:#cbd2d0;letter-spacing:.02em;margin:0;font-size:11px;font-weight:600}.field-label{color:var(--dim);font:7px var(--font-mono,monospace);letter-spacing:.12em;margin-bottom:6px;display:block}.select-wrap{position:relative}.select-wrap:after{color:var(--dim);content:"⌄";pointer-events:none;position:absolute;top:50%;right:11px;transform:translateY(-58%)}select{appearance:none;color:#9ba4a6;background:#0d1112;border:1px solid #2a3032;border-radius:0;height:36px;padding:0 28px 0 10px}.device-action,select{width:100%;font-size:9px}.device-action{color:#919b9d;cursor:pointer;background:0 0;border:1px solid #282f31;justify-content:space-between;align-items:center;min-height:35px;margin-top:8px;padding:0 10px;text-decoration:none;display:flex}.device-action:hover:not(:disabled){background:#0f1415;border-color:#3b474a}.device-action span{align-items:center;gap:8px;display:flex}.device-action b{color:var(--cyan)}.device-summary{border-top:1px solid var(--line-soft);color:var(--dim);font:7px var(--font-mono,monospace);grid-template-columns:1fr auto;gap:7px;margin-top:12px;padding-top:11px;display:grid}.device-summary b{color:#8d9698;font-weight:500}.source-library-panel>p,.source-library-panel>small{color:var(--dim);margin:0;font-size:8px;line-height:1.5}.source-library-panel>small{margin-top:9px;font-size:7px;display:block}.source-library-list{border-top:1px solid var(--line-soft);max-height:230px;display:grid;overflow-y:auto}.source-library-list article{border-bottom:1px solid var(--line-soft);grid-template-columns:minmax(0,1fr) 28px;display:grid;position:relative}.source-library-delete,.source-library-open{color:#8f999b;cursor:pointer;background:0 0;border:0;border-radius:0}.source-library-open{text-align:left;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:7px 5px 7px 0;display:grid}.source-library-open:hover:not(:disabled){color:var(--cyan)}.source-library-open img{object-fit:fill;width:56px;height:34px;image-rendering:pixelated;background:#020303;border:1px solid #293234}.source-library-open b,.source-library-open small,.source-library-open span{min-width:0;display:block}.source-library-open b{text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:600;overflow:hidden}.source-library-open small{color:var(--dim);font:6px/1.35 var(--font-mono,monospace);margin-top:4px}.source-library-delete{border-left:1px solid var(--line-soft);color:#73504d;font:14px var(--font-mono,monospace)}.source-library-delete:hover:not(:disabled){color:var(--danger);background:#ff6b5f0f}.quick-import-panel>p{color:var(--dim);margin:-5px 0 12px;font-size:8px;line-height:1.55}.projection-file-button{border:1px solid var(--cyan-dim);min-height:40px;color:var(--cyan);cursor:pointer;background:#6de7ff0b;justify-content:space-between;align-items:center;padding:0 11px;font-size:9px;display:flex}.projection-file-button:hover:not(.disabled){background:#6de7ff13}.projection-file-button b{font:400 15px var(--font-mono,monospace)}.quick-import-panel>small{color:#4f595b;margin-top:8px;font-size:7px;line-height:1.45;display:block}.quality-header{justify-content:space-between;align-items:center;margin-bottom:12px;font-size:9px;display:flex}.quality-header span{color:#8d9698;align-items:center;gap:7px;display:flex}.quality-header button{color:var(--cyan);cursor:pointer;font:7px var(--font-mono,monospace);letter-spacing:.08em;background:0 0;border:1px solid #384246;padding:4px 7px}.metric-grid{border-left:1px solid var(--line-soft);border-top:1px solid var(--line-soft);grid-template-columns:1fr 1fr;display:grid}.metric{border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);min-height:55px;padding:9px 10px}.metric span,.metric strong{display:block}.metric span{color:var(--dim);font:7px var(--font-mono,monospace);letter-spacing:.08em}.metric strong{color:#aab3b5;font:400 15px var(--font-mono,monospace);margin-top:5px}.section-help{color:var(--dim);margin:11px 0 0;font-size:8px;line-height:1.55}.settings-panel{padding:0}.settings-panel summary{cursor:pointer;color:#afb7b5;align-items:center;gap:9px;padding:16px 18px;font-size:10px;list-style:none;display:flex}.settings-panel summary::-webkit-details-marker{display:none}.settings-panel summary>span{width:20px;height:20px;color:var(--dim);font:8px var(--font-mono,monospace);border:1px solid #343b3d;place-items:center;display:grid}.settings-panel summary i{color:var(--dim);margin-left:auto;font-style:normal}.settings-panel[open] summary i{transform:rotate(45deg)}.settings-panel>label{padding:0 18px 14px;display:block}.settings-panel>label>span{color:var(--dim);justify-content:space-between;margin-bottom:7px;font-size:8px;display:flex}.settings-panel>label b{color:#8d9698;font-family:var(--font-mono,monospace);font-weight:500}input[type=range]{appearance:none;width:100%;height:2px;accent-color:var(--cyan);background:#30383a}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--cyan);border-radius:50%;width:10px;height:10px}.error-message{color:#d8958f;background:#ff6b5f0e;border:1px solid #5a302c;gap:9px;margin:13px 18px 0;padding:10px;font-size:8px;line-height:1.5;display:flex}.error-message>span{width:17px;height:17px;font:700 8px var(--font-mono,monospace);border:1px solid #75413c;border-radius:50%;flex:0 0 17px;place-items:center;display:grid}.error-message p{margin:1px 0 0}.inspector-cta{background:linear-gradient(#0a0d0ebf,#0a0d0e 25%);padding:17px 18px 18px;position:sticky;bottom:0}.danger-button,.primary-button,.secondary-button{cursor:pointer;border-radius:0;min-height:42px;font-size:10px;font-weight:700}.primary-button{border:1px solid var(--cyan);background:var(--cyan);color:#071012;justify-content:space-between;align-items:center;width:100%;padding:0 14px;display:flex;box-shadow:0 0 22px #6de7ff14}.primary-button:hover:not(:disabled){background:#a4efff}.primary-button.light{color:#080b0c;background:#fff;border-color:#fff;width:auto;min-width:210px}.primary-button.compact{width:auto;min-width:190px;min-height:34px;font-size:8px}.secondary-button{color:#aab3b5;background:0 0;border:1px solid #343d40;min-height:34px;padding:0 13px}.secondary-button.wide{width:100%;min-height:38px}.danger-button{border:1px solid var(--danger);color:#ff8c83;background:#ff6b5f14;width:100%}.inspector-cta>p{color:var(--dim);text-align:center;font:7px var(--font-mono,monospace);margin:8px 0 0}.result-card{background:#050708}.view-tabs{align-self:stretch;display:flex}.view-tabs button{border:0;border-right:1px solid var(--line-soft);min-width:105px;color:var(--dim);cursor:pointer;font:8px var(--font-mono,monospace);background:0 0}.view-tabs button.active{color:var(--cyan);box-shadow:inset 0 -1px var(--cyan);background:#6de7ff0f}.result-grade{color:#aab2b4;align-items:center;gap:7px;display:flex}.result-preview{aspect-ratio:16/9;background-color:#0a0d0e;background-image:linear-gradient(45deg,#07090a 25%,#0000 0),linear-gradient(-45deg,#07090a 25%,#0000 0),linear-gradient(45deg,#0000 75%,#07090a 0),linear-gradient(-45deg,#0000 75%,#07090a 0),none;background-position:0 0,0 6px,6px -6px,-6px 0;background-repeat:repeat,repeat,repeat,repeat,repeat;background-size:12px 12px;background-attachment:scroll,scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box,border-box;place-items:center;min-height:430px;max-height:calc(100vh - 265px);display:grid;position:relative;overflow:hidden}.result-preview img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated}.result-footer{gap:15px;min-height:54px}.result-footer p{align-items:center;gap:8px;margin:0;line-height:1.4;display:flex}.result-footer p>span{color:var(--acid)}.result-footer p b{color:#9aa3a5;white-space:nowrap}.result-footer>div{flex-shrink:0;gap:7px;display:flex}.result-score{border-bottom:1px solid var(--line-soft);align-items:flex-start;padding:4px 0 17px;display:flex}.result-score>strong{color:var(--cyan);font:300 50px/.85 var(--font-mono,monospace);letter-spacing:-.08em}.result-score>span{color:var(--cyan);font:12px var(--font-mono,monospace);margin-left:7px}.result-score small{color:var(--dim);text-transform:uppercase;margin-top:7px;font-size:7px;display:block}.result-stat{border-bottom:1px solid var(--line-soft);color:var(--dim);justify-content:space-between;padding:10px 0;font-size:8px;display:flex}.result-stat b{color:#a4adaf;font:500 8px var(--font-mono,monospace)}.validation-panel>p{color:var(--dim);margin:-4px 0 12px;font-size:8px;line-height:1.5}.validation-check{cursor:pointer;border:1px solid #30383a;gap:10px;padding:11px;display:flex}.validation-check input{width:13px;height:13px;accent-color:var(--acid);margin:1px 0 0}.validation-check span{color:var(--dim);font-size:8px;line-height:1.45}.validation-check b{color:#a7b0b2;display:block}.export-panel button{color:#929b9d;cursor:pointer;background:0 0;border:1px solid #293032;border-bottom:0;justify-content:space-between;align-items:center;width:100%;min-height:34px;padding:0 10px;font-size:8px;display:flex}.export-panel button:last-child{border-bottom:1px solid #293032}.export-panel button:hover{background:#101516}.export-panel button.export-primary{min-height:43px;color:var(--cyan);background:#6de7ff0b;border-color:#34525a}.export-panel button span{text-align:left}.export-panel button small{color:var(--dim);margin-top:3px;font-size:7px;display:block}.result-actions p.validated{color:var(--acid)}.hidden-canvas{visibility:hidden;position:fixed;top:-99999px;left:-99999px}.secure-warning{z-index:100;color:#e1a36c;background:#1d1510;border:1px solid #6b4630;padding:10px 14px;font-size:10px;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.desktop-warning{display:none}.projector-surface{cursor:none;background:#000;position:fixed;inset:0;overflow:hidden}.projector-canvas{background:#000;display:block}.projector-canvas,.projector-transition-canvas{width:100vw;height:100vh;image-rendering:pixelated}.projector-transition-canvas{z-index:2;opacity:0;pointer-events:none;will-change:opacity;position:fixed;inset:0}.projector-audio-gate{z-index:20;color:#fff;font:inherit;cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c0c10e0;border:1px solid #ffffff47;border-radius:999px;padding:12px 18px;font-weight:700;position:fixed;bottom:24px;right:24px}.projector-video-source{display:none}.ai-studio{border:1px solid var(--line);background:linear-gradient(135deg,#6de7ff09,#0000 35%),#0a0d0e;margin-top:18px}.ai-studio__header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;gap:24px;padding:20px;display:flex}.ai-studio__header h2{letter-spacing:-.025em;margin:7px 0 5px;font-size:20px;font-weight:500}.ai-studio__header>div>p:last-child{color:var(--muted);margin:0;font-size:10px;line-height:1.5}.ai-cost-total{border-left:1px solid var(--line);text-align:right;min-width:152px;padding-left:18px}.ai-cost-total span,.ai-cost-total strong{display:block}.ai-cost-total span{color:var(--dim);font:7px var(--font-mono,monospace);letter-spacing:.1em;text-transform:uppercase}.ai-cost-total strong{color:var(--acid);font:400 20px var(--font-mono,monospace);margin-top:7px}.ai-compose{grid-template-columns:minmax(0,1.15fr) minmax(270px,.85fr);display:grid}.ai-preview-panel,.ai-prompt-panel{min-width:0;padding:20px}.ai-prompt-panel{border-right:1px solid var(--line-soft)}.ai-prompt-panel>label{color:#b5bdbe;margin-bottom:8px;font-size:10px;font-weight:600;display:block}.ai-prompt-panel textarea{resize:vertical;width:100%;min-height:116px;color:var(--paper);background:#080a0b;border:1px solid #30383a;border-radius:0;padding:12px;font-size:11px;line-height:1.55}.prompt-presets{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.prompt-presets button{color:#7d898b;cursor:pointer;background:0 0;border:1px solid #2b3335;padding:6px 8px;font-size:8px}.prompt-presets button:hover:not(:disabled){border-color:var(--cyan-dim);color:var(--cyan)}.prompt-history-control{grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:8px;display:grid}.prompt-history-control button,.prompt-history-control select{color:#9aa5a7;background:#080a0b;border:1px solid #2b3335;min-width:0;padding:7px 9px;font-size:9px}.prompt-history-control button{cursor:pointer}.prompt-history-error{color:#f29d84;margin-top:6px;font-size:9px;display:block}.technical-prompt-editor{background:#080a0ba8;border:1px solid #293033;margin-top:12px;padding:12px}.technical-prompt-editor__footer,.technical-prompt-editor__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.technical-prompt-editor__header>span{color:#7d898b;letter-spacing:.08em;font-size:9px;font-weight:600}.technical-prompt-editor__header>div{border:1px solid #293033;display:flex;overflow:hidden}.technical-prompt-editor__footer button,.technical-prompt-editor__header button{color:#7d898b;cursor:pointer;background:0 0;border:0;font-size:9px}.technical-prompt-editor__header button{padding:5px 8px}.technical-prompt-editor__header button+button{border-left:1px solid #293033}.technical-prompt-editor__header button[aria-pressed=true]{color:#cdb8ff;background:#9f7aea29}.ai-prompt-panel .technical-prompt-editor textarea{color:#b6bec0;min-height:126px;font-family:var(--font-mono,monospace);margin-top:9px;font-size:9px;line-height:1.55}.technical-prompt-editor__footer{margin-top:8px}.technical-prompt-editor__footer small{color:#687376;font-size:8px}.technical-prompt-editor__footer button{color:#9f88d7;padding:0}.technical-prompt-editor button:hover:not(:disabled){color:#e5dcff}.video-generation-settings{background:#03060785;border:1px solid #252e30;margin-top:14px;padding:12px}.video-generation-settings__header{font:700 7px/1.2 var(--font-mono,monospace);letter-spacing:.14em;justify-content:space-between;gap:12px;margin-bottom:10px;display:flex}.video-generation-settings__header span{color:#849193}.video-generation-settings__header strong{color:var(--acid);font-size:10px}.video-generation-settings__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.video-generation-settings__grid label:not(.same-frame-toggle){gap:6px;display:grid}.video-generation-settings__grid label>span{color:var(--dim);font:7px/1.2 var(--font-mono,monospace);letter-spacing:.08em}.video-generation-settings select{color:#aeb9ba;width:100%;min-height:34px;font:8px var(--font-mono,monospace);background:#080a0b;border:1px solid #30383a;border-radius:0;padding:0 8px}.video-generation-settings select:disabled{opacity:.45}.same-frame-toggle{color:#9eaaab;cursor:pointer;grid-column:1/-1;align-items:center;gap:8px;min-height:30px;display:flex}.same-frame-toggle input{accent-color:var(--cyan)}.video-generation-settings>small{color:#746f5d;font:7px/1.45 var(--font-mono,monospace);margin-top:8px;display:block}.ai-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:15px;display:grid}.ai-actions button{text-align:left;min-height:48px;padding:0 13px}.ai-actions button span{color:inherit;font:8px var(--font-mono,monospace);opacity:.68;margin:3px 0 0;display:block}.ai-disclaimer,.ai-error,.ai-status,.video-source-note{margin:10px 0 0;font-size:8px;line-height:1.55}.ai-status{color:#9ba8aa}.ai-error{border-left:2px solid var(--danger);color:#ff9c94;background:#ff6b5f0f;padding:8px 10px}.ai-disclaimer,.video-source-note{color:var(--dim)}.ai-preview-frame{aspect-ratio:16/9;background:#030404;border:1px solid #293033;position:relative;overflow:hidden}.ai-preview-switch{grid-template-columns:1fr 1fr;margin-bottom:8px;display:grid}.ai-preview-switch button{color:#6f7b7d;cursor:pointer;min-height:34px;font:8px var(--font-mono,monospace);letter-spacing:.08em;text-transform:uppercase;background:#080a0b;border:1px solid #30383a;padding:0 10px}.ai-preview-switch button+button{border-left:0}.ai-preview-switch button[aria-pressed=true]{border-color:var(--cyan-dim);color:var(--cyan);background:#6de7ff14}.ai-preview-switch button:disabled{cursor:not-allowed;opacity:.36}.source-darkening-control{background:#070a0b;border:1px solid #293234;margin-bottom:10px;padding:10px}.source-darkening-control label{color:#7f8b8d;font:7px/1.2 var(--font-mono,monospace);letter-spacing:.11em;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;display:flex}.source-darkening-control output{color:var(--cyan);letter-spacing:0;font-size:10px}.source-darkening-control small{color:var(--dim);font:7px/1.4 var(--font-mono,monospace);margin-top:8px;display:block}.source-darkening-control input:disabled{opacity:.45}.color-compensation-control{background:#070a0b;border:1px solid #293234;margin-bottom:10px;padding:10px}.color-compensation-control.active{border-color:#8b5cf673}.color-compensation-control label{color:#7f8b8d;font:7px/1.2 var(--font-mono,monospace);letter-spacing:.1em;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.color-compensation-control output{color:#c4b5fd;letter-spacing:0;font-size:10px}.color-compensation-control select{color:#9aa5a7;background:#080a0b;border:1px solid #2b3335;width:100%;margin-top:9px;padding:7px 9px;font-size:9px}.color-compensation-control input[type=range]{width:100%;margin-top:9px}.color-compensation-control small{color:var(--dim);font:7px/1.4 var(--font-mono,monospace);margin-top:6px;display:block}.ai-preview-frame img,.ai-preview-frame video{object-fit:fill;width:100%;height:100%;display:block}.ai-preview-frame img{image-rendering:pixelated}.ai-preview-frame>span{color:var(--cyan);font:7px var(--font-mono,monospace);letter-spacing:.12em;background:#000000b8;padding:4px 6px;position:absolute;top:8px;left:8px}.ai-preview-actions{grid-template-columns:1fr auto;margin-top:8px;display:grid}.ai-preview-actions>button,.projection-target-switch button{color:#98a3a5;cursor:pointer;background:0 0;border:1px solid #30383a;min-height:35px;padding:0 10px;font-size:9px}.ai-preview-actions>button+button,.projection-target-switch button+button{border-left:0}.ai-preview-actions>button:first-of-type:not(:disabled),.projection-target-switch button[aria-pressed=true]{color:var(--cyan)}.projection-target-switch{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.projection-target-switch button[aria-pressed=true]{background:#2aeacd14}.projection-target-switch button:disabled{cursor:not-allowed;opacity:.4}.video-playback-settings{background:#070a0b;border:1px solid #293234;margin-top:10px;padding:10px}.video-playback-settings>span{color:#7f8b8d;font:7px/1.2 var(--font-mono,monospace);letter-spacing:.11em;margin-bottom:7px;display:block}.video-playback-settings>div{grid-template-columns:1fr 1fr;display:grid}.video-playback-settings button{color:#778385;cursor:pointer;background:0 0;border:1px solid #30383a;min-height:32px;font-size:8px}.video-playback-settings button+button{border-left:0}.video-playback-settings button[aria-pressed=true]{border-color:var(--cyan-dim);color:var(--cyan);background:#6de7ff14}.video-playback-settings small{color:var(--dim);font:7px/1.45 var(--font-mono,monospace);margin-top:7px;display:block}.ai-library{border-top:1px solid var(--line-soft);padding:16px 20px 20px}.ai-library__title{font:7px var(--font-mono,monospace);letter-spacing:.12em;justify-content:space-between;gap:16px;margin-bottom:10px;display:flex}.ai-library__title span{color:#8c989a}.ai-library__title small{color:var(--dim);font-size:inherit;letter-spacing:0}.ai-library__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.ai-library article{background:#080a0b;border:1px solid #232a2c;min-width:0;position:relative}.ai-library article.selected{border-color:var(--cyan);box-shadow:inset 0 0 0 1px #6de7ff24}.media-select{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:0 0 9px;display:block}.media-select>div{aspect-ratio:16/9;background:#030404;position:relative;overflow:hidden}.media-select img,.media-select video{object-fit:fill;width:100%;height:100%}.media-select i{color:var(--cyan);font:normal 6px var(--font-mono,monospace);background:#000000bf;padding:3px 4px;position:absolute;bottom:5px;left:5px}.media-select b,.media-select small{text-overflow:ellipsis;white-space:nowrap;margin:8px 8px 0;display:block;overflow:hidden}.media-select b{color:#aab3b4;font-size:8px;font-weight:500}.media-select small{color:var(--dim);font:6px var(--font-mono,monospace);margin-top:4px}.media-delete{z-index:2;color:#9da4a6;cursor:pointer;background:#07090ad1;border:1px solid #42494b;border-radius:50%;width:20px;height:20px;padding:0;line-height:18px;position:absolute;top:5px;right:5px}.media-loading{height:100%;color:var(--dim);font:7px var(--font-mono,monospace);place-items:center;display:grid}.ai-library-empty{color:var(--dim);text-align:center;border:1px dashed #293033;margin:0;padding:18px;font-size:9px}@media (max-width:1300px){.ai-compose{grid-template-columns:1fr}.ai-prompt-panel{border-right:0;border-bottom:1px solid var(--line-soft)}.ai-library__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.camera-sender-shell,.remote-camera-shell{background:radial-gradient(circle at 75% 20%,#6de7ff13,transparent 30%),linear-gradient(#ffffff03 1px,transparent 1px),linear-gradient(90deg,#ffffff03 1px,transparent 1px),var(--ink);background-size:auto,32px 32px,32px 32px,auto;min-height:100svh}.remote-camera-header{border-bottom:1px solid var(--line);background:#07090ae6;justify-content:space-between;align-items:center;height:68px;padding:0 clamp(22px,4vw,58px);display:flex}.remote-camera-brand{color:var(--paper);align-items:center;gap:11px;text-decoration:none;display:flex}.camera-sender-header>span,.remote-camera-brand>span{border:1px solid var(--cyan);width:34px;height:34px;color:var(--cyan);font:800 10px var(--font-mono,monospace);place-items:center;display:grid;box-shadow:inset 0 0 18px #6de7ff12}.remote-camera-brand b{letter-spacing:.14em;font-size:11px}.remote-camera-header>div{color:var(--dim);font:8px var(--font-mono,monospace);letter-spacing:.12em;align-items:center;gap:8px;display:flex}.remote-camera-mode-link{color:#91a0a2;margin-left:auto;margin-right:24px;font-size:9px;text-decoration:none}.remote-camera-mode-link:hover{color:var(--cyan)}.remote-camera-hero{grid-template-columns:minmax(0,1fr) minmax(340px,430px);align-items:center;gap:clamp(48px,7vw,112px);width:min(1180px,100% - 48px);min-height:calc(100svh - 112px);margin:0 auto;padding:54px 0 66px;display:grid}.remote-camera-copy{max-width:650px}.remote-camera-copy h1{letter-spacing:-.052em;max-width:610px;margin:12px 0 18px;font-size:clamp(38px,5vw,72px);font-weight:400;line-height:.98}.remote-camera-copy>p:not(.eyebrow){max-width:550px;color:var(--muted);margin:0;font-size:13px;line-height:1.7}.remote-steps{border-top:1px solid var(--line);margin:31px 0 30px;padding:0;list-style:none;display:grid}.remote-steps li{border-bottom:1px solid var(--line);align-items:center;gap:15px;min-height:63px;display:flex}.remote-steps li>span{color:var(--cyan);font:8px var(--font-mono,monospace);letter-spacing:.1em}.remote-steps b,.remote-steps small{display:block}.remote-steps b{color:#c9d0ce;font-size:10px}.remote-steps small{color:var(--dim);margin-top:4px;font-size:8px;line-height:1.4}.share-origin-field{display:block}.sender-controls>label,.share-origin-field>span{color:var(--dim);font:7px var(--font-mono,monospace);letter-spacing:.12em;margin-bottom:7px;display:block}.share-origin-field input{color:#b9c2c3;width:100%;height:43px;font:10px var(--font-mono,monospace);background:#0a0d0e;border:1px solid #30383a;border-radius:0;padding:0 12px}.remote-error,.remote-warning{border-left:2px solid var(--warning);color:#a8a097;background:#ffbc570e;margin-top:10px;padding:10px 12px;font-size:9px;line-height:1.55}.remote-warning b{color:#d3b584}.remote-error{border-left-color:var(--danger);color:#df9a95;background:#ff6b5f0e}.pairing-card{background:#0a0d0ef2;border:1px solid #2f383a;padding:17px;position:relative;box-shadow:0 38px 120px #00000061,inset 0 0 50px #6de7ff05}.pairing-card:after,.pairing-card:before{content:"";pointer-events:none;width:26px;height:26px;position:absolute}.pairing-card:before{border-left:1px solid var(--cyan);border-top:1px solid var(--cyan);top:-4px;left:-4px}.pairing-card:after{border-right:1px solid var(--cyan);border-bottom:1px solid var(--cyan);bottom:-4px;right:-4px}.pairing-card__top{color:var(--dim);font:7px var(--font-mono,monospace);letter-spacing:.12em;justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.pairing-card__top i{color:var(--acid);font-style:normal}.qr-frame{aspect-ratio:1;background:#fff;place-items:center;width:100%;padding:15px;display:grid}.qr-frame img{width:100%;height:100%;display:block}.qr-loading{color:#15191a;width:100%;height:100%;font:700 34px var(--font-mono,monospace);place-items:center;animation:pulseQr 1.2s ease-in-out infinite;display:grid}@keyframes pulseQr{50%{opacity:.28}}.pairing-or{color:var(--dim);text-align:center;font:7px var(--font-mono,monospace);letter-spacing:.15em;margin:16px 0 9px}.pairing-code{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.pairing-code span{aspect-ratio:.84;color:var(--paper);font:400 clamp(19px,2vw,28px) var(--font-mono,monospace);background:#080a0b;border:1px solid #343d3f;place-items:center;display:grid}.pairing-card>button{border:1px solid var(--cyan-dim);width:100%;height:39px;color:var(--cyan);cursor:pointer;background:#6de7ff0f;margin-top:12px;font-size:9px}.pairing-status{border-top:1px solid var(--line-soft);color:#929d9f;text-align:center;justify-content:center;align-items:center;gap:8px;min-height:26px;margin:12px 0 0;font-size:8px;line-height:1.4;display:flex}.pairing-card>small{color:var(--dim);text-align:center;font:6px var(--font-mono,monospace);display:block}.remote-camera-footer{border-top:1px solid var(--line);height:44px;color:var(--dim);font:7px var(--font-mono,monospace);letter-spacing:.1em;background:#07090aeb;justify-content:center;gap:36px;padding:0 24px;display:flex;position:fixed;bottom:0;left:0;right:0}.remote-camera-footer span{align-items:center;display:flex}.camera-sender-shell{min-width:0;padding-bottom:env(safe-area-inset-bottom)}.camera-sender-header{height:64px;padding:0 max(16px,env(safe-area-inset-left));border-bottom:1px solid var(--line);background:#07090aed;grid-template-columns:34px 1fr auto;align-items:center;gap:11px;display:grid}.camera-sender-header>span{width:32px;height:32px}.camera-sender-header b{letter-spacing:.13em;font-size:10px}.camera-sender-header i{color:var(--dim);font:normal 7px var(--font-mono,monospace);letter-spacing:.1em}.camera-sender-content{grid-template-rows:minmax(300px,48svh) auto;min-height:calc(100svh - 96px);display:grid}.phone-preview{border-bottom:1px solid var(--line);background:radial-gradient(circle,#6de7ff0d,#0000 42%),#040506;place-items:center;display:grid;position:relative;overflow:hidden}.phone-preview video{object-fit:contain;width:100%;height:100%;display:none}.phone-preview.is-live video{display:block}.phone-preview-empty{text-align:center;flex-direction:column;align-items:center;max-width:270px;padding:28px;display:flex}.phone-preview-empty>span{border:1px solid #344043;border-radius:50%;width:62px;height:62px;margin-bottom:17px;box-shadow:inset 0 0 0 14px #080b0c,inset 0 0 0 15px #253033}.phone-preview-empty b{font-size:14px;font-weight:500}.phone-preview-empty small{color:var(--dim);margin-top:7px;font-size:9px;line-height:1.5}.sender-live-badge{color:var(--acid);font:7px var(--font-mono,monospace);letter-spacing:.1em;background:#030506bf;align-items:center;gap:6px;padding:6px 8px;display:flex;position:absolute;top:14px;left:14px}.sender-live-badge i{background:var(--acid);border-radius:50%;width:5px;height:5px;box-shadow:0 0 8px #c6f36bb3}.sender-preview-badge{color:var(--cyan);font:7px var(--font-mono,monospace);letter-spacing:.1em;background:#030506bf;padding:6px 8px;position:absolute;top:14px;left:14px}.sender-controls{padding:25px max(18px,env(safe-area-inset-left)) 34px}.sender-controls h1{letter-spacing:-.04em;margin:7px 0 8px;font-size:clamp(27px,8vw,38px);font-weight:400}.sender-controls>p:not(.eyebrow):not(.sender-status){color:var(--muted);margin:0 0 20px;font-size:10px;line-height:1.55}.sender-code-input{width:100%;height:58px;color:var(--paper);text-align:center;font:400 28px var(--font-mono,monospace);letter-spacing:.3em;background:#080a0b;border:1px solid #344043;border-radius:0;padding:0 16px}.camera-device-select select:disabled{cursor:wait;opacity:.55}.camera-device-select{gap:6px;margin-top:12px;display:grid}.camera-device-select>span{color:var(--dim);letter-spacing:.14em;font-size:7px}.camera-device-select select{width:100%;height:42px;color:var(--paper);font:9px var(--font-mono,monospace);background:#080a0b;border:1px solid #2c3436;border-radius:0;padding:0 12px}.camera-device-hint{color:var(--dim);font-size:7px;line-height:1.4}.camera-focus-panel{background:#071013b8;border:1px solid #2c3436;gap:10px;margin-top:12px;padding:12px;display:grid}.camera-focus-panel.focus-locked,.camera-focus-panel.focus-single-shot{border-color:#c6f36b8c}.camera-focus-panel.focus-failed,.camera-focus-panel.focus-unsupported{border-color:#ff918873}.camera-focus-panel__top{letter-spacing:.14em;justify-content:space-between;align-items:center;gap:12px;font-size:7px;display:flex}.camera-focus-panel__top>span{color:var(--dim)}.camera-focus-panel__top>b{color:var(--warning)}.focus-locked .camera-focus-panel__top>b,.focus-single-shot .camera-focus-panel__top>b{color:var(--acid)}.focus-failed .camera-focus-panel__top>b,.focus-unsupported .camera-focus-panel__top>b{color:#ff9188}.camera-focus-panel>p{color:var(--muted);margin:0!important;font-size:8px!important;line-height:1.45!important}.camera-focus-actions{grid-template-columns:1fr .72fr;display:grid}.camera-focus-actions button{min-height:38px;color:var(--paper);background:0 0;border:1px solid #344043;font-size:8px}.camera-focus-actions button+button{border-left:0}.camera-focus-actions button:first-child{color:var(--cyan)}.camera-focus-actions button:disabled,.manual-focus-control input:disabled{cursor:wait;opacity:.5}.manual-focus-control{gap:7px;display:grid}.manual-focus-control>span{color:var(--dim);letter-spacing:.12em;justify-content:space-between;align-items:center;font-size:6px;display:flex}.manual-focus-control>span b{color:var(--paper);font-size:7px}.manual-focus-control>span i{font-style:normal}.manual-focus-control input{width:100%;accent-color:var(--cyan)}.camera-discover,.preview-stop,.sender-start,.sender-stop{border:1px solid var(--cyan);background:var(--cyan);color:#071013;width:100%;min-height:50px;margin-top:13px;font-size:11px;font-weight:700}.camera-discover{border-color:var(--cyan);color:var(--cyan);background:#6de7ff0f}.camera-preview-actions{grid-template-columns:1fr .62fr;gap:8px;display:grid}.camera-preview-actions .preview-stop,.camera-preview-actions .sender-start{margin-top:13px}.preview-stop{color:var(--muted);background:0 0;border-color:#394345}.sender-stop{color:#ff9188;background:#ff6b5f14;border-color:#7d3d38}.sender-status{color:var(--dim);align-items:center;gap:8px;font-size:8px;display:flex;margin:12px 0 0!important}.sender-status>i{background:var(--warning);border-radius:50%;flex:0 0 6px;width:6px;height:6px}.sender-status>i.ok{background:var(--acid);box-shadow:0 0 8px #c6f36b99}.camera-sender-footer{border-top:1px solid var(--line);min-height:32px;color:var(--dim);text-align:center;font:6px var(--font-mono,monospace);letter-spacing:.09em;place-items:center;display:grid}.remote-controller-shell{background:var(--ink);min-height:100svh}.remote-controller-bar{z-index:80;min-height:54px;padding:8px max(12px,env(safe-area-inset-left));background:#07090af7;border-bottom:1px solid #304044;grid-template-columns:minmax(130px,1fr) minmax(190px,1.5fr) auto auto;align-items:center;gap:9px;display:grid;position:sticky;top:0;box-shadow:0 8px 30px #00000059}.remote-controller-bar__status{font:7px var(--font-mono,monospace);letter-spacing:.1em;align-items:center;gap:7px;display:flex}.remote-controller-bar__status span{color:var(--muted)}.remote-controller-bar__status b{color:var(--acid)}.remote-controller-bar label{color:var(--dim);font:7px var(--font-mono,monospace);letter-spacing:.1em;grid-template-columns:auto 1fr;align-items:center;gap:8px;display:grid}.remote-controller-bar select{height:34px}.remote-controller-bar>button{border:1px solid var(--cyan-dim);min-height:34px;color:var(--cyan);font:7px var(--font-mono,monospace);letter-spacing:.08em;background:#6de7ff0d;padding:0 11px}.remote-controller-bar>.remote-controller-disconnect{color:#ff9188;background:#ff6b5f0d;border-color:#6b3734}.kiosk-pairing-shell .remote-camera-hero{min-height:calc(100svh - 68px)}@media (min-width:760px){.camera-sender-content{grid-template-rows:calc(100svh - 96px);grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr)}.phone-preview{border-right:1px solid var(--line);border-bottom:0}.sender-controls{align-self:center;padding:38px}}@media (max-width:820px){.remote-camera-header{padding:0 18px}.remote-camera-header>div{display:none}.remote-camera-mode-link{text-align:right;max-width:145px;margin:0;font-size:8px;line-height:1.35}.remote-camera-hero{grid-template-columns:1fr;gap:35px;width:min(100% - 32px,540px);padding:38px 0 80px}.remote-camera-copy h1{font-size:clamp(36px,12vw,56px)}.pairing-card{width:min(100%,430px);margin:0 auto}.remote-camera-footer{gap:16px}.remote-camera-footer span:nth-child(2){display:none}}@media (max-width:1099px){.remote-controller-bar{grid-template-columns:1fr auto;position:relative}.remote-controller-bar label{grid-area:2/1/auto/-1}.remote-controller-bar>button:not(.remote-controller-disconnect){grid-area:3/1}.remote-controller-bar>.remote-controller-disconnect{grid-area:3/2}.remote-controller-shell .studio-shell{grid-template-rows:auto;grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:visible}.remote-controller-shell .inspector,.remote-controller-shell .topbar,.remote-controller-shell .workflow-rail,.remote-controller-shell .workspace{grid-area:auto/1}.remote-controller-shell .topbar{grid-template-columns:1fr;min-height:56px}.remote-controller-shell .rail-footer,.remote-controller-shell .rail-heading,.remote-controller-shell .rail-note,.remote-controller-shell .topbar-center,.remote-controller-shell .topbar-status{display:none}.remote-controller-shell .brand{border-right:0;width:auto}.remote-controller-shell .workflow-rail{border-right:0;border-bottom:1px solid var(--line);display:block;overflow-x:auto}.remote-controller-shell .workflow-rail nav{grid-template-columns:repeat(4,minmax(78px,1fr));min-width:360px;display:grid}.remote-controller-shell .workflow-step{min-height:52px;padding:8px}.remote-controller-shell .workflow-step small{display:none}.remote-controller-shell .inspector,.remote-controller-shell .workspace{border-left:0;min-height:0;overflow:visible}.remote-controller-shell .workspace{padding:18px 12px}.remote-controller-shell .workspace-heading{align-items:flex-start}.remote-controller-shell .workspace-heading h1{font-size:24px}.remote-controller-shell .video-stage{min-height:210px;max-height:none}.remote-controller-shell .capture-footer>div:first-child,.remote-controller-shell .capture-readout span:nth-child(n+2){display:none}.remote-controller-shell .inspector-cta{z-index:30;background:#0a0d0ef5;position:sticky;bottom:0}}.projector-gate{z-index:10;cursor:default;text-align:center;background:radial-gradient(circle,#6de7ff14,#0000 30%),#050708eb;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.projector-gate:after,.projector-gate:before{content:"";border-color:#2c3538;width:110px;height:110px;position:absolute}.projector-gate:before{border-top:1px solid;border-left:1px solid;top:28px;left:28px}.projector-gate:after{border-bottom:1px solid;border-right:1px solid;bottom:28px;right:28px}.projector-gate__mark{border:1px solid var(--cyan);width:58px;height:58px;color:var(--cyan);font:800 16px var(--font-mono,monospace);place-items:center;margin-bottom:24px;display:grid;box-shadow:inset 0 0 30px #6de7ff0f,0 0 30px #6de7ff0f}.projector-gate h1{color:#eef3f2;letter-spacing:-.045em;max-width:720px;margin:12px 20px 8px;font-size:clamp(28px,4vw,52px);font-weight:300}.projector-gate>p:not(.eyebrow){color:#7f8a8c;margin:0 0 27px;font-size:12px}.projector-meta{color:#50595b;font:8px var(--font-mono,monospace);letter-spacing:.12em;gap:20px;margin-top:18px;display:flex}.boot-screen{background:var(--ink);place-items:center;display:grid;position:fixed;inset:0}.boot-screen span{border:1px solid var(--cyan);width:42px;height:42px;color:var(--cyan);font:800 12px var(--font-mono,monospace);place-items:center;animation:bootPulse .8s ease-in-out infinite alternate;display:grid}@keyframes bootPulse{to{opacity:.35}}@media (max-width:1280px){.studio-shell,.topbar{grid-template-columns:205px minmax(510px,1fr) 310px}.brand,.workflow-rail{width:205px}.workflow-step{padding-left:14px}.inspector-section{padding-left:15px;padding-right:15px}}@media (max-width:1099px){.studio-shell{display:none}.desktop-warning{background:var(--ink);color:#aeb7b9;text-align:center;place-items:center;padding:40px;font-size:14px;display:grid;position:fixed;inset:0}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.login-shell{background:radial-gradient(circle at 18% 20%,#14ffd31f,#0000 34rem),radial-gradient(circle at 84% 80%,#4f6bff24,#0000 32rem),#070b10;place-items:center;min-height:100svh;padding:32px 20px;display:grid}.login-card{color:#eefbf9;background:#0c121beb;border:1px solid #8dffeb2e;border-radius:24px;width:min(100%,440px);padding:38px;box-shadow:0 28px 80px #0000006b}.login-mark{color:#62f5db;width:52px;height:52px;font:700 15px/1 var(--font-mono,monospace);letter-spacing:.08em;background:#27eac61a;border:1px solid #5bffe16b;border-radius:15px;place-items:center;margin-bottom:24px;display:grid}.login-card .eyebrow{color:#62f5db;font:600 12px/1.2 var(--font-mono,monospace);letter-spacing:.18em;margin:0 0 10px}.login-card h1{letter-spacing:-.045em;margin:0;font-size:clamp(2rem,7vw,2.8rem);line-height:1}.login-copy,.login-note{color:#9fb2b4;line-height:1.55}.login-copy{margin:18px 0 26px}.login-error{color:#ffb0b0;background:#ff5f5f14;border:1px solid #ff777759;border-radius:10px;margin:0 0 18px;padding:12px 14px;font-size:14px}.login-form{gap:16px;display:grid}.login-form label{color:#b9cacb;gap:8px;font-size:13px;font-weight:600;display:grid}.login-form input{color:#f1fffd;width:100%;min-height:48px;font:inherit;background:#03080db8;border:1px solid #bbe1dd2e;border-radius:11px;outline:0;padding:0 14px}.login-form input:focus{border-color:#62f5dbb8;box-shadow:0 0 0 3px #62f5db1c}.login-form button{color:#06100f;cursor:pointer;background:#62f5db;border:0;border-radius:11px;min-height:50px;margin-top:4px;font:750 15px/1 inherit}.login-form button:hover{background:#8affea}.login-note{border-top:1px solid #bbe1dd1c;margin:24px 0 0;padding-top:22px;font-size:12px}@media (max-width:520px){.login-card{border-radius:19px;padding:30px 24px}}.role-dialog-backdrop{z-index:500;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#010609cc;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.role-dialog{z-index:1;color:#effbf9;background:#0b1216;border:1px solid #50ffde38;border-radius:20px;width:min(720px,100%);max-height:calc(100svh - 48px);padding:34px;position:relative;overflow:auto;box-shadow:0 30px 100px #000000a6}.role-dialog-backdrop__dismiss{cursor:default;background:0 0;border:0;position:absolute;inset:0}.role-dialog h2{letter-spacing:-.045em;margin:7px 0 12px;font-size:clamp(28px,5vw,42px)}.role-dialog>p:not(.eyebrow),.role-dialog>small{color:#91a5a7;line-height:1.55}.role-dialog__close{color:#d7e4e4;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:50%;width:36px;height:36px;font-size:22px;position:absolute;top:18px;right:18px}.role-camera-pairing{grid-template-columns:minmax(180px,260px) 1fr;align-items:center;gap:28px;margin:28px 0;display:grid}.role-camera-pairing .qr-frame{aspect-ratio:1}.role-camera-pairing .qr-frame img{width:100%;height:100%;display:block}.role-dialog__label,.role-projector-code>span{color:#7f9798;font:700 10px/1.2 var(--font-mono,monospace);letter-spacing:.16em;margin-bottom:11px;display:block}.role-camera-pairing .pairing-code{justify-content:flex-start}.projection-role-status,.role-dialog__status{color:#adc0c1;font:11px/1.5 var(--font-mono,monospace);letter-spacing:.05em;margin:20px 0}.role-dialog__actions{flex-wrap:wrap;gap:10px;margin:24px 0 16px;display:flex}.role-dialog__actions button{cursor:pointer;border-radius:9px;min-height:46px;padding:0 18px}.role-dialog__actions button:disabled{cursor:not-allowed;opacity:.45}.role-projector-code{margin-top:28px;display:block}.role-projector-code input{color:#f2fffd;width:min(100%,340px);min-height:66px;font:700 30px/1 var(--font-mono,monospace);letter-spacing:.28em;text-align:center;background:#050a0d;border:1px solid #55ffe047;border-radius:10px;outline:none;padding:0 18px}.role-projector-code input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #32ffda1a}.projector-fleet-list{gap:8px;margin:22px 0;display:grid}.projector-fleet-list>p{color:#718486;text-align:center;border:1px dashed #ffffff1f;margin:0;padding:18px}.projector-fleet-list article{background:#ffffff06;border:1px solid #ffffff1a;border-radius:10px;grid-template-columns:minmax(0,1fr) 160px 34px;align-items:center;gap:8px;padding:8px;display:grid;position:relative}.projector-fleet-list article.active{background:#36f1d20d;border-color:#36f1d273}.projector-fleet-select{color:#ecf8f6;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:8px;display:grid}.projector-fleet-select span:not(.status-dot){gap:3px;min-width:0;display:grid}.projector-fleet-select b,.projector-fleet-select small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.projector-fleet-select i,.projector-fleet-select small{color:#718486;font:8px/1.3 var(--font-mono,monospace);letter-spacing:.06em}.projector-fleet-list article.active .projector-fleet-select i{color:var(--cyan)}.projector-fleet-list label input{color:#c9d7d6;background:#050a0d;border:1px solid #ffffff1a;border-radius:6px;width:100%;min-height:34px;padding:0 9px;font-size:10px}.projector-fleet-remove{color:#718486;cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:6px;width:34px;height:34px}.projector-fleet-remove:hover{color:#ff8f87;border-color:#ff786e80}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.projection-role-shell{color:#eefbf9;text-align:center;cursor:none;background:radial-gradient(circle at 50% 40%,#31f1d217,#0000 34rem),#020608;flex-direction:column;justify-content:center;align-items:center;padding:clamp(24px,5vw,70px);display:flex;position:fixed;inset:0;overflow:hidden}.projection-role-mark{width:54px;height:54px;color:var(--cyan);font:800 14px/1 var(--font-mono,monospace);border:1px solid #51ffde80;place-items:center;margin-bottom:26px;display:grid}.projection-role-shell h1{letter-spacing:-.055em;margin:10px 0 12px;font-size:clamp(34px,5vw,70px);font-weight:350}.projection-role-shell>p:not(.eyebrow):not(.projection-role-status){color:#758789;max-width:650px;margin:0 0 38px;line-height:1.55}.projection-role-code{gap:clamp(5px,1vw,12px);margin:0}.projection-role-code span{width:clamp(38px,6vw,74px);height:clamp(50px,8vw,94px);font-size:clamp(24px,4vw,48px)}.projection-role-shell footer{color:#3f5052;font:8px/1.2 var(--font-mono,monospace);letter-spacing:.14em;justify-content:space-between;display:flex;position:absolute;bottom:22px;left:28px;right:28px}@media (max-width:640px){.role-dialog{padding:28px 20px}.role-camera-pairing{grid-template-columns:1fr}.role-camera-pairing .qr-frame{width:min(260px,100%);margin:0 auto}.projection-role-shell footer{flex-wrap:wrap;justify-content:center;gap:10px}.projector-fleet-list article{grid-template-columns:minmax(0,1fr) 34px}.projector-fleet-list article>label{grid-area:2/1/auto/-1}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}