.workflow-dock{container:dock/inline-size}.dock-toolbar button{min-height:26px}.workflow-dock [data-panel]>header select{width:72px;min-height:26px;font:400 11px/1.4 var(--font-sans);background:0 0;border:0;padding:2px 4px}.workflow-dock .workflow-editor-surface{border:0;border-radius:0}.workflow-dock [role=separator]:focus-visible,.workflow-dock [role=tab]:focus-visible,.workflow-dock select:focus-visible{outline:2px solid var(--color-blue);outline-offset:-2px}@container dock (width<=895px){.dock-layout-grid{flex-direction:column;gap:6px;height:auto;min-height:100%;display:flex}.dock-layout-grid>[data-panel]{flex:none;height:320px}.dock-layout-grid>[data-dock-zone=center]{order:0;height:480px}.dock-layout-grid>[data-dock-zone=left]{order:1}.dock-layout-grid>[data-dock-zone=right]{order:2}.dock-layout-grid>[data-dock-zone=bottom]{order:3;height:180px}.dock-layout-grid>[role=separator]{display:none}}.factory-workspace .workflow-dock,.workflow-dock .factory-stage{min-height:0}.workflow-dock .factory-inspector,.workflow-dock .factory-review{border:0;flex:1;width:100%}.workflow-dock .factory-inspector{min-height:0;max-height:none;overflow:auto}.workflow-dock .factory-inspector-body,.workflow-dock .factory-camera-events{flex:none;overflow:visible}.workflow-dock .factory-review{overflow:auto}.workflow-dock .factory-events-list,.workflow-dock .factory-journeys{flex:1 0 140px}.workflow-dock .factory-camera-events .factory-events-list{flex:none;overflow:visible}.workflow-dock .factory-event-detail{width:auto;max-width:none;min-height:0;max-height:none;box-shadow:none;box-sizing:border-box;border:0;flex:1;margin:0;position:static;overflow:auto}.workflow-dock .factory-event-image-frame{width:100%;max-width:640px}.workflow-dock .factory-run-bottom{overflow:auto}.platform-header{height:var(--app-header-height);border-bottom:1px solid var(--app-line,#e5eaf1);background:var(--app-surface,#fff);padding:0 var(--app-page-padding);font-family:var(--font-sans,sans-serif);color:var(--app-text-secondary,#4e6078);z-index:15;flex-shrink:0;align-items:center;gap:24px;width:100%;display:flex}.platform-brand{flex-shrink:0;align-items:center;display:flex}.platform-brand img{width:var(--app-header-logo-width);height:auto}.platform-header nav{align-self:stretch;gap:var(--app-header-nav-gap);display:flex}.platform-header nav a{font-size:var(--app-ui-size);color:var(--app-text-muted,#8492a6);border-bottom:2px solid #0000;align-items:center;padding-top:2px;text-decoration:none;display:flex}.platform-header nav a[aria-current=page]{color:var(--app-accent,#366fd0);border-color:#5185e6;font-weight:600}.platform-header-context{align-items:center;gap:var(--app-header-context-gap);font-size:var(--app-small-size);color:var(--app-text-muted,#91a0b3);margin-left:auto;display:flex}.platform-header-context>button{min-height:var(--app-control-height);border:1px solid var(--app-line,#e1e7ef);background:var(--app-surface,#fff);color:var(--app-text-secondary,#657b99);font-size:var(--app-small-size);cursor:pointer;border-radius:5px;padding:4px 8px}.platform-avatar{background:var(--app-accent-surface,#edf3fc);width:26px;height:26px;color:var(--app-text-muted,#6784b1);border-radius:50%;place-items:center;font-size:9px;font-weight:600;display:grid}@media (width<=700px){.platform-header{height:52px;padding:0 var(--app-page-padding);gap:16px}.platform-brand img{width:108px}.platform-header nav{gap:16px}.platform-header-context>span{display:none}.platform-header-context{gap:0}.platform-header nav a{font-size:var(--app-small-size)}}.platform-header-context>button{white-space:nowrap}@media (width<=480px){.platform-header{gap:10px;padding:0 10px}.platform-brand img{width:94px}.platform-header nav{gap:10px}.platform-header-context{gap:4px}}.auth-page{background:var(--app-surface-soft,#f5f7fb);place-items:center;min-height:100dvh;padding:20px;display:grid}.auth-card{width:min(400px,100%);padding:var(--app-card-padding);border:1px solid var(--app-line,#e1e6ef);background:var(--app-surface,white);border-radius:12px;gap:16px;display:grid;box-shadow:0 10px 40px #172b4a0a}.auth-card h1{margin:0;font-size:22px}.auth-card p,.auth-card small{color:var(--app-text-secondary,#68788e);margin:0}.auth-card label{font-size:var(--app-body-size);gap:6px;display:grid}.auth-card input{border:1px solid var(--app-line-strong,#cbd5e1);border-radius:7px;padding:10px;font-size:16px}.auth-card .app-button{min-height:36px}.auth-card [role=alert]{color:var(--app-danger,#a52b32)}.auth-card img{max-width:136px}.appearance-select{border:1px solid var(--color-line);background:var(--color-paper);color:var(--color-muted);border-radius:5px;flex-shrink:0;align-items:center;gap:3px;padding:3px 5px;display:inline-flex}.appearance-select svg{flex-shrink:0;width:14px;height:14px}.appearance-select select,.factory-app .appearance-select select{background:var(--color-paper);width:auto;min-height:24px;color:var(--color-ink);font:500 11px/1.4 var(--font-sans);cursor:pointer;box-shadow:none;border:0;border-radius:2px;padding:0 2px}.appearance-select:focus-within{outline:2px solid var(--color-blue);outline-offset:2px}.appearance-select select:focus{box-shadow:none;outline:none}.auth-appearance{top:var(--app-panel-padding);right:var(--app-panel-padding);position:absolute}@media (width<=1050px){.platform-header-context>span{display:none}}@media (width<=760px){:root .platform-header,:root .factory-app>.platform-header{gap:0 var(--app-panel-padding);height:auto;min-height:84px;padding:8px var(--app-page-padding) 0;flex-wrap:wrap}.platform-header-context{gap:8px}.platform-header nav{order:3;gap:20px;width:100%;min-height:36px}.platform-header nav a{white-space:nowrap}}.factory-chat{z-index:35;top:calc(var(--app-header-height,48px) + 8px);background:var(--app-surface,#fff);width:min(380px,100% - 24px);color:var(--app-text,#24344d);border:1px solid var(--app-line,#d9e1ed);border-radius:12px;flex-direction:column;display:flex;position:absolute;bottom:12px;right:12px;overflow:hidden;box-shadow:0 12px 45px #182b4929}.factory-chat>header{padding:var(--app-panel-padding,12px);border-bottom:1px solid var(--app-line,#e5eaf2);justify-content:space-between;align-items:flex-start;display:flex}.factory-chat header small{color:var(--app-text-secondary,#687991);margin-top:5px;font-size:11px;display:block}.factory-chat header button{color:var(--app-text-secondary,#66758b);cursor:pointer;background:0 0;border:0;font-size:24px}.factory-chat-messages{padding:var(--app-panel-padding,12px);flex:1;overflow:auto}.factory-chat-hint{color:var(--app-text-muted,#75849a);font-size:13px;line-height:1.6}.factory-chat-message{font-size:var(--app-body-size,13px);margin:0 0 14px;line-height:1.6}.factory-chat-message p{overflow-wrap:anywhere;margin:5px 0}.factory-chat-message.user>p,.factory-chat-activity{white-space:pre-wrap}.factory-chat-message.user{background:var(--app-accent-surface,#eff4fa);border-radius:8px;padding:10px}.factory-chat-message>strong{color:var(--app-text-secondary,#5a6f8f);font-size:11px}.factory-chat-markdown{overflow-wrap:anywhere}.factory-chat-markdown :is(h1,h2,h3,h4,h5,h6){font-size:var(--app-body-size,13px);margin:10px 0 5px;font-weight:650;line-height:1.4}.factory-chat-markdown ul,.factory-chat-markdown ol{margin:5px 0 8px;padding-left:20px}.factory-chat-markdown ul{list-style:outside}.factory-chat-markdown ol{list-style:decimal}.factory-chat-markdown li{margin:3px 0}.factory-chat-markdown blockquote{border-left:3px solid var(--app-accent-line,#c8d8ec);color:var(--app-text-secondary,#5a6f8f);margin:6px 0;padding-left:8px}.factory-chat-markdown a{color:var(--app-accent,#315e9b);text-underline-offset:2px;text-decoration:underline}.factory-chat-markdown code{background:var(--app-surface-soft,#eff3f8);border-radius:3px;padding:1px 4px;font-family:ui-monospace,monospace;font-size:12px}.factory-chat-markdown pre{background:var(--app-surface-soft,#eff3f8);white-space:pre;border-radius:6px;margin:6px 0;padding:8px;overflow-x:auto}.factory-chat-markdown pre code{background:0 0;padding:0}.factory-chat-markdown hr{border:0;border-top:1px solid var(--app-line,#e5eaf2);margin:10px 0}.factory-chat-table{max-width:100%;margin:8px 0;overflow-x:auto}.factory-chat-table table{border-collapse:collapse;width:100%;font-size:12px}.factory-chat-table th,.factory-chat-table td{border:1px solid var(--app-line,#dce4ef);text-align:left;vertical-align:top;padding:6px 8px}.factory-chat-table th{background:var(--app-accent-surface,#f3f6fb);font-weight:600}.factory-chat-image-alt{color:var(--app-text-secondary,#687991);font-style:italic}.factory-chat-citations{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.factory-chat-citation{border:1px solid var(--app-accent-line,#dce6f3);color:var(--app-text-secondary,#42689e);background:var(--app-accent-surface,#f6f9ff);text-align:left;border-radius:5px;padding:4px 7px;font-size:10px;display:inline-block}button.factory-chat-citation{cursor:pointer}.factory-chat>form{border-top:1px solid var(--app-line,#e5eaf2);padding:12px}.factory-chat form label{margin-bottom:6px;font-size:12px;font-weight:600;display:block}.factory-chat textarea{box-sizing:border-box;border:1px solid var(--app-line,#ccd7e8);resize:vertical;width:100%;font:inherit;font-size:var(--app-body-size,13px);border-radius:7px;padding:8px}.factory-chat form>div{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.factory-chat form small{color:var(--app-text-muted,#7e8da3);font-size:10px}.factory-chat form button{min-height:var(--app-control-height,30px);color:#fff;cursor:pointer;background:#3c649b;border:0;border-radius:6px;padding:6px 14px}.factory-chat button:disabled{opacity:.5;cursor:default}.factory-chat-error{color:var(--app-danger,#a3333d);background:var(--app-danger-surface,#fff2f3);font-size:var(--app-ui-size,12px);margin:0;padding:8px 12px}.factory-chat.docked{z-index:auto;width:100%;height:100%;min-height:0;box-shadow:none;border:0;border-radius:0;position:relative;inset:auto}.app-alert{border:1px solid var(--app-danger,#b84253);background:color-mix(in srgb, var(--app-danger,#b84253) 15%, var(--app-surface,#fff));color:var(--app-danger,#b84253);border-radius:5px;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 16px;padding:10px 14px;font-size:14px;display:flex}.app-alert-message{overflow-wrap:anywhere;flex:1;min-width:180px}.app-alert button{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;padding:5px 10px}.app-alert button:focus-visible{outline-offset:3px;outline:2px solid}.factory-preview-error{z-index:3;background:var(--app-danger-surface,#fff0f0);color:var(--app-danger,#962e2e);padding:8px;font-size:12px;position:absolute;inset:0 0 auto}.factory-preview-paused{z-index:3;color:#fff;pointer-events:none;background:#172431;border-radius:4px;padding:5px 8px;font-size:12px;position:absolute;top:8px;left:8px}.factory-workflow-create{padding:var(--app-panel-padding,12px);border:1px solid var(--app-accent-line,#dbe5f4);background:var(--app-accent-surface,#f9fbff);border-radius:6px;margin:12px 0}.factory-workflow-assignments{flex-direction:column;gap:10px;margin-top:14px;display:flex}.factory-workflow-assignment{border:1px solid var(--app-line,#dde5ef);padding:var(--app-panel-padding,12px);border-radius:7px}.factory-workflow-assignment.incompatible{border-color:var(--app-danger-line,#e7a4aa)}.factory-workflow-actions{gap:var(--app-gap,8px);justify-content:flex-end;display:flex}.factory-workflow-tags{flex-wrap:wrap;align-items:center;gap:5px;margin:6px 0 10px;display:flex}.factory-workflow-tags>span:last-child{font-size:var(--app-small-size,11px);color:var(--app-text-muted,#8b9bb0)}.factory-assignment-toggle{font-size:var(--app-small-size,11px);color:var(--app-text-muted,#7c8faa);white-space:nowrap;align-items:center;gap:5px;display:flex}.factory-assignment-toggle input{accent-color:#5185e6}.factory-workflow-assignment .factory-field{margin-bottom:10px}.factory-app{--factory-blue:var(--app-accent,#245eea);--factory-ink:var(--app-text,#1c2a3b);--factory-muted:var(--app-text-muted,#7b8797);--factory-line:var(--app-line,#e5e9ef);--factory-surface:var(--app-surface-soft,#f6f8fb);background:var(--app-surface,#fff);height:100dvh;min-height:0;color:var(--factory-ink);flex-direction:column;font:13px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;display:flex;overflow:hidden}.factory-app *{box-sizing:border-box}.factory-app button,.factory-app input,.factory-app select,.factory-app textarea{font:inherit}.factory-app button{cursor:pointer}.factory-app button:disabled{cursor:default;opacity:.45}.factory-app button:focus-visible,.factory-app a:focus-visible{outline:3px solid var(--app-accent-line,#b4ccff);outline-offset:2px}.factory-app button{transition:background .15s,border-color .15s,color .15s}.factory-app h1,.factory-app h2,.factory-app h3,.factory-app p{margin:0}.factory-app a{color:inherit;text-decoration:none}.factory-app fieldset{border:0;min-width:0;margin:0;padding:0}.factory-app-header{border-bottom:1px solid var(--factory-line);background:var(--app-surface,#fff);z-index:3;flex-shrink:0;align-items:center;gap:50px;height:67px;padding:0 26px;display:flex}.factory-brand img{width:139px;height:auto;display:block}.factory-app-header nav{align-self:stretch;align-items:stretch;gap:30px;display:flex}.factory-app-header nav button,.factory-app-header nav a{color:var(--app-text-muted,#7c8592);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;padding:2px 0 0;font-size:13px;font-weight:550;display:flex}.factory-app-header nav .active{color:var(--factory-blue);border-bottom-color:var(--factory-blue)}.factory-header-right{color:var(--factory-muted);align-items:center;gap:20px;margin-left:auto;font-size:14px;display:flex}.factory-avatar{background:var(--app-surface-soft,#eef2f8);width:31px;height:31px;color:var(--app-text-secondary,#546480);border:1px solid var(--app-line,#dce3ed);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.factory-body{flex:1;min-height:0;display:flex}.factory-sidebar{background:var(--app-surface,#fcfcfd);border-right:1px solid var(--factory-line);flex-direction:column;flex-shrink:0;width:237px;display:flex;overflow:auto}.factory-eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--app-text-muted,#8a94a3);font-size:13px;font-weight:650}.factory-sidebar-workspace{padding:24px 17px 18px}.factory-sidebar-workspace>span{margin-left:10px}.factory-sidebar-workspace>button{border:1px solid var(--factory-line);background:var(--app-surface,#fff);text-align:left;border-radius:7px;align-items:center;gap:11px;width:100%;margin-top:12px;padding:11px;font-weight:550;display:flex}.factory-sidebar-workspace>button span:nth-child(2){flex:1}.factory-sidebar-workspace>button.active{border-color:var(--app-accent-line,#cbd9f8);background:var(--app-accent-surface,#f5f8ff);color:var(--factory-blue)}.factory-sidebar-section{color:var(--app-text-muted,#8a94a3);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 26px 10px;font-size:13px;font-weight:650;display:flex}.factory-sidebar-section button{color:var(--app-text-muted,#7f8ca0);background:0 0;border:0;padding:2px 0}.factory-sidebar-sites{border-bottom:1px solid var(--factory-line);padding-bottom:24px}.factory-sidebar-sites>p{color:var(--factory-muted);padding:0 26px;font-size:14px}.factory-sidebar-site{text-align:left;width:100%;color:var(--app-text-secondary,#6a7788);background:0 0;border:0;border-left:3px solid #0000;align-items:center;gap:11px;padding:12px 20px 12px 23px;font-size:14px;display:flex}.factory-sidebar-site>span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.factory-sidebar-site>svg:last-child{font-size:12px}.factory-sidebar-site.active{border-left-color:var(--factory-blue);background:var(--app-accent-surface,#eef3ff);color:var(--app-accent,#254d95);font-weight:600}.factory-sidebar-cameras{padding-top:25px}.factory-camera-list>button{text-align:left;background:0 0;border:0;border-left:3px solid #0000;align-items:center;gap:10px;width:100%;padding:12px 20px;display:flex}.factory-camera-list>button:hover{background:var(--app-surface-soft,#f1f4f8)}.factory-camera-list>button.active{background:var(--app-accent-surface,#edf3ff);border-left-color:#507eeb}.factory-camera-list-icon{border:1px solid var(--app-line,#e2e8ef);width:29px;height:29px;color:var(--app-text-muted,#748396);background:var(--app-surface,#fff);border-radius:6px;flex-shrink:0;place-items:center;font-size:14px;display:grid}.factory-camera-list>button>div{flex:1;min-width:0}.factory-camera-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:550;display:block;overflow:hidden}.factory-camera-list small{color:var(--app-text-muted,#9099a5);margin-top:3px;font-size:12px;display:block}.factory-camera-number{color:var(--app-text-muted,#a4adba);font-variant-numeric:tabular-nums;font-size:12px}.factory-add-camera{width:calc(100% - 40px);margin:13px 20px;color:var(--app-text-secondary,#6c7d94)!important;background:0 0!important;border-style:dashed!important;font-size:14px!important}.factory-sidebar-bottom{color:var(--app-text-muted,#8290a2);border-top:1px solid var(--factory-line);gap:10px;margin-top:auto;padding:22px;font-size:13px;display:flex}.factory-sidebar-bottom>svg{margin-top:3px}.factory-sidebar-bottom strong{color:var(--app-text-secondary,#6d7a8c);font-size:13px;font-weight:550}.factory-sidebar-bottom p{color:var(--app-text-muted,#97a0ad);margin-top:4px;font-size:13px;line-height:1.7}.factory-camera-search{margin:0 18px 12px;width:calc(100% - 36px)!important}.factory-workspace{background:var(--app-surface,#fff);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:auto}.factory-workspace-heading{flex-shrink:0;justify-content:space-between;align-items:center;gap:18px;padding:21px 27px 20px;display:flex}.factory-breadcrumb{color:var(--app-text-muted,#929ba8);align-items:center;gap:10px;margin-bottom:12px;font-size:13px;display:flex}.factory-breadcrumb button{color:var(--app-text-muted,#929ba8);background:0 0;border:0;padding:0;font-size:13px}.factory-breadcrumb>svg{font-size:12px}.factory-workspace-heading h1{letter-spacing:-.045em;align-items:center;gap:12px;font-size:25px;font-weight:600;line-height:1.3;display:flex}.factory-workspace-heading h1 .factory-badge{letter-spacing:0;font-size:12px}.factory-workspace-heading p{color:var(--app-text-muted,#8c97a5);margin-top:7px;font-size:14px}.factory-run-actions{align-items:center;gap:10px;display:flex}.factory-mode-switch{background:var(--app-surface-soft,#f2f4f7);border:1px solid var(--app-line,#e8ebf0);border-radius:7px;padding:3px;display:flex}.factory-mode-switch button{color:var(--app-text-muted,#8390a3);background:0 0;border:0;border-radius:4px;align-items:center;gap:7px;padding:7px 10px;font-size:14px;display:flex}.factory-mode-switch button[aria-pressed=true]{background:var(--app-surface,#fff);color:var(--app-text-secondary,#293d58);box-shadow:0 1px 3px #23344c15}.factory-mode-switch svg{font-size:13px}.factory-button{border:1px solid var(--app-line,#e1e6ed);background:var(--app-surface,#fff);white-space:nowrap;min-height:33px;color:var(--app-text-secondary,#596b82);border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:7px 11px;font-size:14px;font-weight:550;line-height:1.3;display:inline-flex}.factory-button svg{font-size:13px}.factory-button:hover{background:var(--app-surface-soft,#f5f7fb);border-color:var(--app-line-strong,#ccd5e2)}.factory-button.primary{background:var(--factory-blue);border-color:var(--factory-blue);color:#fff;box-shadow:0 2px 3px #245eea12}.factory-button.primary:hover{background:#164bce}.factory-button.active{background:var(--app-accent-surface,#edf3ff);border-color:var(--app-accent-line,#c9d8fb);color:var(--factory-blue)}.factory-badge{background:var(--app-surface-soft,#f1f4f7);color:var(--app-text-muted,#7b899c);border:1px solid var(--app-line,#e7ecf2);white-space:nowrap;border-radius:4px;align-items:center;padding:2px 6px;font-size:12px;font-weight:550;line-height:1.5;display:inline-flex}.factory-badge.blue{background:var(--app-accent-surface,#eef4ff);color:var(--app-accent,#517bca);border-color:var(--app-accent-line,#dce8fb)}.factory-badge.amber{background:var(--app-warning-surface,#fff8ed);color:var(--app-warning,#ad7b33);border-color:var(--app-warning-line,#f4e7ce)}.factory-badge.success{background:var(--app-success-surface,#eef9f2);color:var(--app-success,#42886a);border-color:var(--app-success-line,#dcefe4)}.factory-workspace-toolbar{border-top:1px solid var(--factory-line);border-bottom:1px solid var(--factory-line);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:11px 26px;display:flex}.factory-workspace-toolbar>div{align-items:center;gap:8px;display:flex}.factory-view-title{color:var(--app-text-secondary,#697b90);font-size:14px;font-weight:550}.factory-view-title>svg{color:var(--app-text-muted,#8e9cae)}.factory-workspace-toolbar .factory-button{min-height:29px;padding:6px 9px;font-size:13px}.factory-workspace-content{flex:1;min-height:440px;display:flex;overflow:hidden}.factory-stage-column{background:var(--app-surface-soft,#f8fafc);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.factory-stage{flex:1;min-height:300px;position:relative;overflow:hidden}.factory-floorplan{background:var(--app-surface-soft,#f5f7fa);position:absolute;inset:0}.factory-floor-svg{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.factory-floorplan-label{z-index:1;pointer-events:none;align-items:center;gap:10px;display:flex;position:absolute;top:20px;left:24px}.factory-floorplan-label .factory-eyebrow{font-size:12px}.factory-floorplan-label .factory-badge{background:var(--app-floating,#ffffffc9);font-size:12px}.factory-map-camera{cursor:pointer}.factory-map-preview{border:2px solid var(--app-line,#fff);background:var(--app-surface,#fff);text-align:left;cursor:pointer;border-radius:7px;width:176px;padding:0;display:block;overflow:hidden;box-shadow:0 5px 16px #273c561d}.factory-map-preview.selected{border-color:#4f7eea;box-shadow:0 0 0 2px #7196ee22,0 5px 20px #273c5628}.factory-map-preview-media{background:#243341;height:64px;overflow:hidden}.factory-map-preview-media .factory-camera-media{height:100%;aspect-ratio:auto!important}.factory-map-preview-media video,.factory-map-preview-media img{object-fit:cover!important}.factory-map-preview-caption{padding:8px 9px 7px}.factory-map-preview-caption strong{color:var(--app-text-muted,#8994a4);gap:7px;font-size:12px;font-weight:600;display:flex}.factory-map-preview-caption strong span{color:var(--app-text-secondary,#344961);text-overflow:ellipsis;white-space:nowrap;max-width:133px;font-size:12px;overflow:hidden}.factory-map-preview-caption small{color:var(--app-text-muted,#98a2ae);margin-top:3px;margin-left:18px;font-size:12px;display:block}.factory-svg-label{fill:var(--app-text-secondary,#53677f);paint-order:stroke;stroke:var(--app-line,#f5f7fa);stroke-width:4px;font-size:14px;font-weight:550}.factory-map-controls{border:1px solid var(--app-line,#dfe5ed);background:var(--app-surface,#fff);z-index:2;border-radius:6px;align-items:center;padding:3px;display:flex;position:absolute;bottom:18px;right:18px;box-shadow:0 2px 7px #273c5608}.factory-map-controls .factory-button{width:26px;min-height:26px;box-shadow:none;border:0;padding:4px}.factory-map-controls>span{color:var(--app-text-muted,#8b96a4);text-align:center;font-variant-numeric:tabular-nums;width:39px;font-size:12px}.factory-floor-legend{color:var(--app-text-muted,#91a0b2);pointer-events:none;gap:18px;font-size:12px;display:flex;position:absolute;bottom:24px;left:22px}.factory-floor-legend span{align-items:center;gap:5px;display:flex}.factory-floor-legend i{border:1px solid var(--app-line,white);background:#6e8da6;border-radius:50%;width:6px;height:6px}.factory-floor-empty{text-align:center;background:var(--app-floating,#f7f9fcdf);border-radius:10px;width:280px;padding:20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.factory-floor-empty>svg{color:var(--app-text-muted,#9aaec7);margin-bottom:12px;font-size:26px}.factory-floor-empty h3{font-size:17px;font-weight:550}.factory-floor-empty p{color:var(--app-text-muted,#8a98aa);margin:7px 0 16px;font-size:14px;line-height:1.7}.factory-drawing-toolbar{background:var(--app-surface,#fff);border:1px solid var(--app-line,#dce4f2);z-index:3;white-space:nowrap;border-radius:7px;align-items:center;gap:7px;padding:8px;display:flex;position:absolute;top:15px;left:50%;transform:translate(-50%);box-shadow:0 3px 18px #273c5612}.factory-drawing-toolbar>span{color:var(--app-text-muted,#7d8ca1);margin:0 4px;font-size:13px}.factory-timeline{background:var(--app-surface,#fff);border-top:1px solid var(--factory-line);flex-shrink:0;padding:13px 22px 17px}.factory-timeline-heading{color:var(--app-text-muted,#9aa4b2);justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;font-size:12px;display:flex}.factory-timeline-heading>span{align-items:center;gap:8px;display:flex}.factory-timeline-heading strong{color:var(--app-text-secondary,#697b91);font-size:13px;font-weight:550}.factory-timeline-heading .factory-badge{font-size:12px}.factory-timeline-controls{align-items:center;gap:13px;display:flex}.factory-timeline-controls>.factory-button{width:27px;height:27px;min-height:27px;padding:4px}.factory-timeline-controls>output,.factory-timeline-controls>span{color:var(--app-text-muted,#6f8299);font-variant-numeric:tabular-nums;font-size:13px}.factory-timeline-slider{flex:1;position:relative}.factory-timeline-slider input{width:100%;height:4px;accent-color:var(--factory-blue);cursor:pointer;border:0;padding:0;display:block}.factory-timeline-marks{pointer-events:none;height:6px;position:absolute;top:10px;left:8px;right:8px}.factory-timeline-marks button{pointer-events:auto;background:#6c91cf;border:0;border-radius:1px;width:3px;height:5px;padding:0;position:absolute}.factory-timeline-marks button.warning{background:#d96d5f}.factory-timeline-marks button.amber{background:#dab06f}.factory-timeline-marks button.success{background:#60a485}.factory-run-bottom{background:var(--app-surface,#fff);border-top:1px solid var(--factory-line);flex-shrink:0;align-items:center;gap:20px;padding:14px 22px;display:flex}.factory-run-idle{color:var(--app-text-muted,#8795a7);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.factory-run-idle>svg{color:var(--app-text-muted,#a7b6c8);font-size:12px}.factory-run-idle>span{color:var(--app-text-muted,#74879f);font-weight:550}.factory-run-idle small{color:var(--app-text-muted,#a2adba);font-size:12px}.factory-run-progress{flex:1;min-width:0}.factory-progress-heading{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.factory-progress-heading>span{align-items:center;gap:7px;display:flex}.factory-progress-heading strong{font-size:13px;font-weight:550}.factory-progress-heading .factory-button{min-height:23px;padding:4px 6px;font-size:12px}.factory-progress-heading i{background:#8799b1;border-radius:50%;width:6px;height:6px}.factory-progress-heading i.active{background:#4d80e2}.factory-progress-heading i.completed{background:#56a280}.factory-progress-heading i.failed{background:#d46e65}.factory-progress-track{background:var(--app-surface-soft,#edf1f7);border-radius:2px;height:4px;overflow:hidden}.factory-progress-track>div{background:#4d80e2;border-radius:2px;height:100%;transition:width .25s}.factory-progress-track .indeterminate{opacity:.4}.factory-progress-detail{color:var(--app-text-muted,#94a0b0);font-variant-numeric:tabular-nums;align-items:center;gap:9px;margin-top:7px;font-size:12px;display:flex}.factory-progress-detail strong{color:var(--app-text-muted,#5277b6);font-weight:550}.factory-progress-detail>span:last-child{margin-left:auto}.factory-run-history{width:145px;color:var(--app-text-muted,#96a1b0);flex-direction:column;gap:5px;font-size:12px;display:flex}.factory-run-history select{background:var(--app-surface-soft,#fafbfc)!important;min-height:25px!important;padding:4px 6px!important;font-size:12px!important}.factory-demo-note{color:var(--app-text-muted,#a0aab8);border-top:1px solid var(--app-line,#edf0f5);background:var(--app-surface,#fcfcfd);flex-shrink:0;padding:8px 22px;font-size:12px}.factory-review{background:var(--app-surface,#fff);border-left:1px solid var(--factory-line);flex-direction:column;flex-shrink:0;width:325px;min-height:0;display:flex;overflow:hidden}.factory-review-heading{padding:23px 21px 18px}.factory-review-heading h2{letter-spacing:-.025em;margin-top:6px;font-size:17px;font-weight:550}.factory-review-heading p{color:var(--app-text-muted,#98a2b0);margin-top:6px;font-size:13px}.factory-metrics{border:1px solid var(--factory-line);border-radius:7px;grid-template-columns:repeat(3,1fr);margin:0 20px 20px;padding:13px 0;display:grid}.factory-metrics>div{border-right:1px solid var(--factory-line);flex-direction:column;align-items:center;display:flex}.factory-metrics>div:last-child{border:0}.factory-metrics svg{color:var(--app-text-muted,#91a4ba);margin-bottom:7px;font-size:13px}.factory-metrics strong{font-variant-numeric:tabular-nums;color:var(--app-text-secondary,#344d6b);letter-spacing:-.03em;font-size:21px;font-weight:550;line-height:1.1}.factory-metrics span{color:var(--app-text-muted,#96a1b0);white-space:nowrap;margin-top:6px;font-size:12px}.factory-tabs{border-bottom:1px solid var(--factory-line);flex-shrink:0;align-items:center;gap:23px;padding:0 20px;display:flex}.factory-tabs>button{color:var(--app-text-muted,#919ead);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;padding:11px 0;font-size:14px;display:flex}.factory-tabs>button[aria-selected=true]{color:var(--app-text-secondary,#416baa);border-bottom-color:#4f7de1;font-weight:550}.factory-tabs>button>span{background:var(--app-surface-soft,#f0f3f7);color:var(--app-text-muted,#8d9bab);border-radius:3px;padding:1px 4px;font-size:12px}.factory-event-filters{flex-shrink:0;gap:7px;padding:15px 20px 9px;display:flex}.factory-event-filters button{color:var(--app-text-muted,#97a3b3);background:0 0;border:1px solid #0000;border-radius:4px;padding:4px 9px;font-size:12px}.factory-event-filters button.active{border-color:var(--app-line,#dfe7f3);background:var(--app-accent-surface,#f6f9ff);color:var(--app-text-muted,#647fa5)}.factory-events-list,.factory-journeys{flex:1;min-height:0;overflow:auto}.factory-event{border:0;border-bottom:1px solid var(--app-line,#f0f3f7);background:var(--app-surface,#fff);text-align:left;align-items:flex-start;gap:10px;width:100%;padding:15px 19px;display:flex}.factory-event:hover{background:var(--app-accent-surface,#f8faff)}.factory-event>div{flex:1;min-width:0}.factory-event-dot{background:#8da6c3;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:5px}.factory-event-dot.warning{background:#ce796d}.factory-event-dot.amber{background:#d5a85a}.factory-event-dot.success{background:#6ba38a}.factory-event-title{justify-content:space-between;gap:5px;display:flex}.factory-event-title strong{color:var(--app-text-secondary,#4e6380);font-size:13px;font-weight:550}.factory-event time{color:var(--app-text-muted,#a0aaba);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:2px;font-size:12px}.factory-event p{color:var(--app-text-muted,#97a3b3);margin-top:4px;font-size:12px}.factory-event-tags{flex-wrap:wrap;align-items:center;gap:5px;margin-top:7px;display:flex}.factory-event-tags small{color:var(--app-text-muted,#8393a8);font-size:12px}.factory-event-tags .factory-badge{padding:1px 4px;font-size:12px}.factory-event>svg{color:var(--app-text-muted,#b0bbc9);margin-top:5px;font-size:12px}.factory-review-footer{border-top:1px solid var(--factory-line);color:var(--app-text-muted,#9aa6b6);flex-shrink:0;justify-content:space-between;gap:6px;padding:13px 20px;font-size:12px;display:flex}.factory-journeys{padding:16px}.factory-journey-card{border:1px solid var(--app-line,#e3e9f2);border-radius:7px;margin-bottom:11px;padding:13px}.factory-journey-card>div{color:var(--app-text-secondary,#5e799d);align-items:center;gap:7px;font-size:14px;display:flex}.factory-journey-card>div>strong{flex:1}.factory-journey-card ol{border-left:1px solid var(--app-line,#dce5f2);margin:13px 0 0 5px;padding:0 0 0 13px;list-style:none}.factory-journey-card li{margin-bottom:10px;position:relative}.factory-journey-card li:before{content:"";background:#8ba8d2;border-radius:50%;width:5px;height:5px;position:absolute;top:5px;left:-16px}.factory-journey-card li button{text-align:left;background:0 0;border:0;flex-direction:column;gap:3px;padding:0;display:flex}.factory-journey-card li span{color:var(--app-text-secondary,#617896);font-size:13px}.factory-journey-card li small{color:var(--app-text-muted,#9daaba);font-size:12px}.factory-event-detail{background:var(--app-surface,#fff);border:1px solid var(--app-line,#dce5f1);z-index:5;border-radius:8px;width:290px;max-width:calc(100% - 45px);padding:17px;position:absolute;bottom:70px;left:22px;box-shadow:0 9px 32px #293b561c}.factory-event-detail h3{font-size:13px!important}.factory-event-detail>p{color:var(--app-text-muted,#7f90a5);margin:7px 0;font-size:13px}.factory-event-detail details{color:var(--app-text-muted,#7f90a5);margin-top:12px;font-size:12px}.factory-event-detail pre{background:var(--app-surface-soft,#f7f9fc);white-space:pre-wrap;max-height:130px;padding:8px;font-size:12px;overflow:auto}.factory-evidence-link{align-items:center;gap:6px;margin-top:10px;display:inline-flex;color:var(--factory-blue)!important;font-size:13px!important}.factory-inspector{background:var(--app-surface,#fff);border-left:1px solid var(--factory-line);flex-direction:column;flex-shrink:0;width:380px;min-height:0;display:flex;overflow:hidden}.factory-inspector-heading{border-bottom:1px solid var(--factory-line);flex-shrink:0;align-items:center;gap:10px;padding:16px 19px;display:flex}.factory-camera-icon{border:1px solid var(--app-line,#dde5ef);width:31px;height:31px;color:var(--app-text-muted,#7290b4);background:var(--app-accent-surface,#f8faff);border-radius:6px;place-items:center;display:grid}.factory-inspector-heading>div{flex:1;min-width:0}.factory-inspector-heading h2{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.factory-inspector-heading>div>span{color:var(--app-text-muted,#9ca7b6);margin-top:3px;font-size:12px;display:block}.factory-inspector-heading>.factory-button{min-height:24px;color:var(--app-text-muted,#9aa8ba);border:0;padding:3px}.factory-inspector-preview{flex-shrink:0;padding:15px 16px 0}.factory-camera-media{background:var(--app-media,#172431);touch-action:none;border-radius:5px;width:100%;position:relative;overflow:hidden}.factory-camera-media video,.factory-camera-media img{object-fit:contain;width:100%;height:100%;display:block}.factory-camera-media.is-drawing{cursor:crosshair;-webkit-user-select:none;user-select:none}.factory-camera-media.is-drawing video{pointer-events:none}.factory-media-placeholder{color:var(--app-text-muted,#8da1b4);background:var(--app-media,#1d2b39);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:13px;display:flex;position:absolute;inset:0}.factory-media-placeholder svg{color:var(--app-text-secondary,#576f85);font-size:20px}.factory-media-placeholder small{max-width:190px;color:var(--app-text-muted,#7e93a8);font-size:12px}.factory-map-preview .factory-media-placeholder{gap:3px;font-size:12px}.factory-map-preview .factory-media-placeholder svg{font-size:13px}.factory-preview-caption{justify-content:space-between;align-items:center;gap:5px;padding:9px 0 12px;display:flex}.factory-preview-caption .factory-badge{font-size:12px}.factory-preview-caption small{color:var(--app-text-muted,#9aa5b4);font-size:12px}.factory-region{border:2px solid var(--app-accent-line,#5b9df4);pointer-events:none;background:#528ee715;position:absolute;box-shadow:0 0 0 1000px #06172828}.factory-video-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.factory-video-lines line{stroke:#d9b550;stroke-width:3px;vector-effect:non-scaling-stroke}.factory-draw-label{color:#fff;white-space:nowrap;pointer-events:none;background:#1c395ecc;border-radius:4px;padding:5px 9px;font-size:12px;position:absolute;top:9px;left:50%;transform:translate(-50%)}.factory-inspector-body{flex:1;min-height:0;padding:19px 19px 23px;overflow:auto}.factory-inspector .factory-tabs>button{padding:10px 0;font-size:13px}.factory-field{flex-direction:column;flex:1;gap:7px;min-width:0;margin:0 0 16px;display:flex}.factory-field>span{color:var(--app-text-secondary,#6d7f96);font-size:13px;font-weight:550}.factory-field>small{color:var(--app-text-muted,#98a5b6);font-size:12px;line-height:1.6}.factory-app input:not([type=range]):not([type=checkbox]):not([type=file]),.factory-app select,.factory-app textarea{border:1px solid var(--app-line,#dde4ed);background:var(--app-surface,#fff);width:100%;color:var(--app-text-secondary,#4b617d);border-radius:5px;outline:none;min-height:34px;padding:8px 10px;font-size:14px}.factory-app input:focus,.factory-app select:focus,.factory-app textarea:focus{border-color:var(--app-accent-line,#98b5ee);box-shadow:0 0 0 2px #edf3ff}.factory-app input::placeholder,.factory-app textarea::placeholder{color:var(--app-text-muted,#a9b4c2)}.factory-app textarea{resize:vertical;line-height:1.8}.factory-app input[type=range]{accent-color:#557fe0;width:100%;height:5px;margin:7px 0}.factory-field-row{gap:10px;display:flex}.factory-upload{border:1px dashed var(--app-line,#cdd9eb);background:var(--app-accent-surface,#f9fbff);color:var(--app-text-muted,#6f8aad);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:10px;margin-bottom:17px;padding:16px;font-size:14px;display:flex;position:relative;overflow:hidden}.factory-upload:hover{background:var(--app-accent-surface,#f1f6ff)}.factory-upload>span{flex-direction:column;gap:4px;display:flex}.factory-upload small{color:var(--app-text-muted,#a0aec1);font-size:12px}.factory-upload input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.factory-upload.compact{padding:12px;font-size:13px}.factory-inspector-section{border-top:1px solid var(--factory-line);margin-top:20px;padding-top:16px}.factory-inspector-section h3,.factory-section-heading h3{color:var(--app-text-secondary,#667c98);font-size:14px;font-weight:550}.factory-inspector-section h3{margin-bottom:12px}.factory-section-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px;display:flex}.factory-section-heading .factory-button{min-height:27px;padding:5px 8px;font-size:12px}.factory-advanced{border-top:1px solid var(--factory-line);color:var(--app-text-muted,#7c8fa7);padding-top:14px;font-size:13px}.factory-advanced summary{cursor:pointer;font-weight:550}.factory-advanced p{color:var(--app-text-muted,#97a6b9);margin:10px 0;font-size:13px;line-height:1.7}.factory-advanced textarea{font-family:var(--font-mono);font-size:12px}.factory-advanced .factory-button{margin-top:8px;font-size:12px}.factory-inspector-footer{border-top:1px solid var(--factory-line);color:var(--app-text-muted,#9aa9bc);flex-shrink:0;align-items:center;gap:7px;padding:12px 19px;font-size:12px;display:flex}.factory-rule-list{margin-bottom:8px}.factory-rule-list>div{border:1px solid var(--app-line,#e4eaf2);border-radius:5px;align-items:center;margin-bottom:6px;display:flex}.factory-rule-list>div.active{background:var(--app-accent-surface,#f4f8ff);border-color:var(--app-accent-line,#cbdcf7)}.factory-rule-select{text-align:left;min-width:0;color:var(--app-text-secondary,#617b9e);background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:9px;font-size:13px;display:flex}.factory-rule-select>span:nth-child(2){white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.factory-rule-select>.factory-badge{font-size:12px}.factory-rule-list>div>.factory-button{min-height:23px;color:var(--app-text-muted,#a0acbb);background:0 0;border:0;padding:4px 8px}.factory-add-rule{margin-bottom:20px;background:var(--app-accent-surface,#fafcff)!important;font-size:13px!important}.factory-roi-fields{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.factory-roi-fields .factory-field>span{text-transform:capitalize;font-size:12px}.factory-roi-fields input{padding:7px!important;font-size:13px!important}.factory-help{color:var(--app-text-muted,#98a5b6);font-size:13px;line-height:1.7;margin:4px 0 15px!important}.factory-reference-grid{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.factory-reference-grid>div{border:1px solid var(--factory-line);border-radius:5px;width:72px;height:65px;position:relative;overflow:hidden}.factory-reference-grid img{object-fit:cover;width:100%;height:100%}.factory-reference-grid .factory-button{background:var(--app-floating,#fffd);width:18px;min-height:18px;padding:2px;font-size:12px;position:absolute;top:2px;right:2px}.factory-counting-line{border:1px solid var(--app-line,#e1e8f2);border-radius:6px;margin-top:12px;padding:12px}.factory-counting-line .factory-section-heading>input{font-weight:550;background:0 0!important;border:0!important;min-height:20px!important;padding:3px 0!important}.factory-counting-line .factory-field>span{font-size:12px}.factory-counting-line select{padding:6px!important;font-size:12px!important}.factory-checkbox{color:var(--app-text-muted,#8193aa);align-items:center;gap:8px;margin:4px 0 15px;font-size:13px;display:flex}.factory-checkbox input{accent-color:var(--factory-blue);width:13px;height:13px}.factory-empty{text-align:center;min-height:230px;color:var(--app-text-muted,#93a2b6);flex-direction:column;justify-content:center;align-items:center;padding:45px 27px;display:flex}.factory-empty-icon{border:1px solid var(--app-line,#e3eaf4);background:var(--app-accent-surface,#f7faff);width:44px;height:44px;color:var(--app-text-muted,#99aecb);border-radius:10px;place-items:center;margin-bottom:17px;font-size:17px;display:grid}.factory-empty h3{color:var(--app-text-muted,#70839e);font-size:14px;font-weight:550}.factory-empty p{max-width:265px;margin-top:8px;font-size:13px;line-height:1.8}.factory-empty .factory-button{margin-top:19px}.factory-error{background:var(--app-danger-surface,#fff7f5);color:var(--app-danger,#b56c61);border:1px solid var(--app-danger-line,#f1d9d4);border-radius:5px;flex-shrink:0;align-items:center;gap:9px;margin:12px 22px;padding:10px 12px;font-size:14px;display:flex}.factory-error>span{flex:1}.factory-error .factory-button{background:var(--app-danger-surface,#fffaf9);min-height:25px;color:var(--app-danger,#ab746b);font-size:12px}.factory-inline-error{color:var(--app-danger,#be7569);background:var(--app-danger-surface,#fff9f7);border:1px solid var(--app-danger-line,#f1dfda);border-radius:4px;margin-bottom:12px;padding:8px;font-size:13px}.factory-organization{padding:var(--app-page-padding,16px);background:var(--app-surface-soft,#f8fafc);flex-direction:column;flex:1;min-height:620px;display:flex}.factory-organization-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.factory-organization-heading h1{font-size:var(--app-title-size,20px);letter-spacing:-.045em;margin-top:8px;font-weight:550}.factory-organization-heading p{color:var(--app-text-muted,#92a0b3);margin-top:7px;font-size:14px}.factory-organization-map{border:1px solid var(--app-line,#dfe6ef);background:var(--app-surface-muted,#eaf0f3);border-radius:10px;flex:1;min-height:370px;position:relative;overflow:hidden}.factory-map-host{position:absolute;inset:0}.factory-map-caption{background:var(--app-floating,#fffffff0);border:1px solid var(--app-line,#dfe7f1);color:var(--app-text-muted,#71869f);border-radius:6px;align-items:center;gap:8px;padding:9px 12px;font-size:13px;display:flex;position:absolute;top:18px;left:18px;box-shadow:0 3px 8px #3449670a}.factory-site-marker{width:19px;height:19px;color:var(--app-text-secondary,#436489);text-shadow:0 1px 4px #fff;background:0 0;border:0;flex-direction:column;align-items:center;padding:0;display:flex;overflow:visible}.factory-site-marker-caption{white-space:normal;flex-direction:column;width:max-content;max-width:240px;display:flex;position:absolute;top:30px;left:50%;transform:translate(-50%)}.factory-site-marker strong{background:var(--app-surface,#fff);border:1px solid var(--app-line,#e0e8f0);border-bottom:0;border-radius:5px 5px 0 0;min-width:150px;padding:5px 10px 0;font-size:14px}.factory-site-marker small{background:var(--app-surface,#fff);border:1px solid var(--app-line,#e0e8f0);min-width:150px;color:var(--app-text-muted,#8b9bb0);border-top:0;border-radius:0 0 5px 5px;padding:0 10px 6px;font-size:12px}.factory-site-dot{border:4px solid var(--app-line,#fff);background:#4d7dd9;border-radius:50%;flex-shrink:0;width:19px;height:19px;box-shadow:0 0 0 5px #527dda18}.factory-sites-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:12px;display:grid}.factory-site-card{border:1px solid var(--app-line,#dfe6ef);background:var(--app-surface,#fff);text-align:left;border-radius:7px;align-items:center;gap:10px;padding:12px;display:flex}.factory-site-card:hover{border-color:var(--app-accent-line,#b5cbed);background:var(--app-accent-surface,#fcfdff)}.factory-site-card>div{flex:1;min-width:0}.factory-site-card strong{color:var(--app-text-secondary,#4b6485);font-size:14px;font-weight:550;display:block}.factory-site-card small{color:var(--app-text-muted,#96a5b8);margin-top:4px;font-size:13px;display:block}.factory-site-card>svg{color:var(--app-text-muted,#9aafc9);font-size:14px}.factory-site-card-icon{background:var(--app-accent-surface,#f2f6fc);border:1px solid var(--app-accent-line,#e1eaf7);width:32px;height:32px;color:var(--app-text-muted,#7e9bc1);border-radius:7px;place-items:center;display:grid}.factory-map-fallback{background:var(--app-floating,#f3f6f8b8);color:var(--app-text-muted,#7d91aa);text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding:30px;font-size:14px;display:flex;position:absolute;inset:0}.factory-map-fallback>svg{margin-bottom:15px;font-size:30px}.factory-map-fallback>p{max-width:330px}.factory-dialog-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:30;background:#1a2b434a;justify-content:center;align-items:center;padding:30px;display:flex;position:fixed;inset:0}.factory-dialog{background:var(--app-surface,#fff);border:1px solid var(--app-line,#d8e0eb);border-radius:12px;width:460px;max-width:100%;max-height:90dvh;overflow:auto;box-shadow:0 30px 100px #102b4940}.factory-dialog.wide{flex-direction:column;width:970px;height:80dvh;display:flex}.factory-dialog>header{border-bottom:1px solid var(--factory-line);flex-shrink:0;justify-content:space-between;align-items:center;padding:19px 23px;display:flex}.factory-dialog>header>h2{letter-spacing:-.02em;font-size:16px;font-weight:550}.factory-dialog>header>.factory-button{color:var(--app-text-muted,#91a1b5);border:0;min-height:25px;padding:4px}.factory-create-form{padding:22px}.factory-create-form>p{color:var(--app-text-muted,#8a9aaf);margin-bottom:20px;font-size:14px;line-height:1.8}.factory-create-form>footer{justify-content:flex-end;gap:9px;margin-top:22px;display:flex}.factory-coordinator-intro{color:var(--app-text-muted,#889ab1);flex-shrink:0;align-items:center;gap:10px;padding:15px 23px;font-size:14px;display:flex}.factory-coordinator-intro p{flex:1}.factory-code-toolbar{background:var(--app-accent-surface,#f8fafd);border-top:1px solid var(--app-line,#e5ebf4);flex-shrink:0;align-items:center;gap:12px;padding:9px 18px;display:flex}.factory-code-toolbar>span{font-family:var(--font-mono);color:var(--app-text-secondary,#617b9d);font-size:14px}.factory-code-toolbar>small{color:var(--app-text-muted,#9baac0);flex:1;font-size:12px}.factory-code-toolbar .factory-button{min-height:29px;font-size:13px}.factory-code-editor{min-height:200px;font:11px/1.8 var(--font-mono);background:#172333;flex:1;align-items:stretch;display:flex;overflow:auto}.factory-code-editor>div{color:var(--app-text-secondary,#4a607b);text-align:right;-webkit-user-select:none;user-select:none;background:#142030;min-width:42px;padding:20px 12px;line-height:19.8px}.factory-code-editor>textarea{white-space:pre;resize:none;tab-size:4;flex:1;min-width:0;overflow:auto;box-shadow:none!important;color:#d4dfed!important;font:11px/1.8 var(--font-mono)!important;background:#172333!important;border:0!important;border-radius:0!important;padding:20px 18px!important}.factory-coordinator-status{color:var(--app-text-muted,#95a5b9);border-top:1px solid var(--app-line,#e6edf5);flex-shrink:0;justify-content:space-between;gap:12px;padding:9px 20px;font-size:12px;display:flex}.factory-coordinator-status>span:last-child{font-family:var(--font-mono);font-size:12px}.factory-code-issues{color:var(--app-danger,#b16c65);margin:0 22px 17px;padding-left:20px;font-size:14px}@media (width>=1650px){.factory-sidebar{width:260px}.factory-review{width:360px}.factory-inspector{width:430px}.factory-workspace-heading{padding:27px 33px}.factory-stage{min-height:400px}.factory-map-preview-caption strong span{font-size:13px}}@media (width<=1200px){.factory-sidebar{width:200px}.factory-app-header{gap:34px;padding:0 20px}.factory-brand img{width:130px}.factory-workspace-heading{padding:20px}.factory-workspace-heading h1{font-size:22px}.factory-run-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px}.factory-mode-switch button{padding:6px 8px}.factory-workspace-toolbar{padding:9px 19px}.factory-workspace-toolbar .factory-button{padding:6px 7px;font-size:12px}.factory-review{width:285px}.factory-inspector{width:340px}.factory-timeline{padding-left:17px;padding-right:17px}.factory-floor-legend span:last-child{display:none}.factory-run-bottom{gap:10px;padding:12px 17px}.factory-run-history{width:118px}.factory-sidebar-workspace{padding-left:13px;padding-right:13px}.factory-camera-list>button{padding-left:15px;padding-right:14px}.factory-camera-list strong{font-size:13px}.factory-sidebar-section{padding-left:20px;padding-right:20px}.factory-workspace-heading h1 .factory-badge{display:none}}@media (width<=970px){.factory-app{height:auto;min-height:100dvh;overflow:auto}.factory-body{min-height:calc(100dvh - 67px)}.factory-sidebar{width:180px;overflow:visible}.factory-workspace-content{flex-wrap:wrap;overflow:visible}.factory-stage-column{flex-basis:100%;min-height:590px}.factory-review,.factory-inspector{border-left:0;border-top:1px solid var(--factory-line);width:100%;min-height:420px;max-height:800px}.factory-inspector-preview{align-self:center;width:100%;max-width:600px}.factory-events-list{min-height:200px}.factory-workspace-heading{align-items:flex-start;gap:12px}.factory-run-actions{flex-direction:column;align-items:flex-end}.factory-workspace-toolbar{flex-wrap:wrap}.factory-workspace-toolbar>div:last-child{margin-left:auto}.factory-header-right>span:first-child{display:none}.factory-organization{padding:20px}.factory-organization-heading{align-items:flex-start}.factory-organization-heading h1{font-size:22px}.factory-organization-heading p{max-width:300px}.factory-sidebar-bottom{display:none}.factory-floor-empty{width:240px}.factory-drawing-toolbar{white-space:normal;flex-wrap:wrap;max-width:95%}.factory-floorplan-label{top:15px;left:16px}}@media (width<=620px){.factory-app-header{gap:24px;height:58px;padding:0 15px}.factory-brand img{width:110px}.factory-app-header nav{gap:18px}.factory-app-header nav button,.factory-app-header nav a{font-size:14px}.factory-avatar,.factory-sidebar{display:none}.factory-body{min-height:calc(100dvh - 58px)}.factory-workspace-heading{padding:18px 15px}.factory-workspace-heading h1{font-size:21px}.factory-workspace-heading p{max-width:210px;font-size:12px}.factory-breadcrumb{font-size:12px}.factory-run-actions .factory-button{padding:8px;font-size:13px}.factory-mode-switch button{padding:5px 7px;font-size:12px}.factory-workspace-toolbar{padding:10px 15px}.factory-view-title{font-size:13px}.factory-workspace-toolbar>div:last-child{gap:5px}.factory-workspace-toolbar .factory-button{min-height:26px;padding:5px 6px;font-size:12px}.factory-stage-column{min-height:520px}.factory-stage{min-height:310px}.factory-run-bottom{flex-wrap:wrap}.factory-run-history{flex-direction:row;align-items:center;width:100%}.factory-run-history select{flex:1;width:auto}.factory-timeline-heading>span:last-child>.factory-badge{display:none}.factory-dialog-backdrop{padding:12px}.factory-dialog.wide{height:90dvh}.factory-code-toolbar{gap:7px;padding:9px 12px}.factory-code-toolbar>small{font-size:12px}.factory-coordinator-status>span:last-child{display:none}.factory-organization{padding:17px}.factory-organization-heading h1{font-size:19px}.factory-organization-heading p,.factory-organization-heading .factory-button{font-size:13px}.factory-floorplan-label .factory-badge{display:none}.factory-floor-legend{font-size:12px;left:15px}.factory-map-controls{bottom:15px;right:13px}}.factory-station-metrics{background:var(--app-surface-soft,#f7f9fc);border-bottom:1px solid var(--app-line,#e2e8f0);text-align:left;grid-template-columns:repeat(2,1fr);gap:3px;padding:6px 7px;display:grid}.factory-station-metrics>span{color:var(--app-text-muted,#7890aa);background:var(--app-surface,#fff);border:1px solid var(--app-line,#e6ebf2);white-space:nowrap;border-radius:3px;justify-content:space-between;gap:4px;padding:2px 4px;font-size:12px;line-height:1.3;display:flex}.factory-station-metrics strong{color:var(--app-text-secondary,#42648c);font-variant-numeric:tabular-nums;font-weight:650}.factory-station-metrics .uncertain strong{color:var(--app-warning,#9d865e)}.factory-checkbox>span>small{color:var(--app-text-muted,#99a6b8);margin-top:3px;font-size:12px;line-height:1.5;display:block}.factory-map-preview{width:220px}.factory-mobile-add{display:none}@media (width<=620px){.factory-mobile-add{display:inline-flex}}.factory-stream-stamp{color:#e1ecfa;background:#122334cb;border-radius:3px;padding:3px 5px;font-size:12px;position:absolute;bottom:6px;left:6px}.factory-event-evidence-image{object-fit:contain;background:var(--app-media,#142332);border-radius:4px;width:100%;max-height:200px;margin:8px 0;display:block}.factory-map-loading{border:1px solid var(--app-line,#dce5ef);background:var(--app-floating,#fffffff2);color:var(--app-text-muted,#7c91ac);pointer-events:none;border-radius:6px;align-items:center;gap:9px;padding:10px 13px;font-size:14px;display:flex;position:absolute;top:18px;left:18px;box-shadow:0 3px 10px #2340610a}.factory-organization-map>.factory-map-host{width:100%;height:100%;position:absolute;inset:0}.factory-map-preview.status-error,.factory-map-preview.status-error.selected{border:2px solid #e34d59;box-shadow:0 0 0 3px #e34d591a,0 5px 22px #de293717}.factory-map-preview.status-healthy,.factory-map-preview.status-healthy.selected{border:2px solid #1faa5a;box-shadow:0 0 0 2px #1faa5a17}.factory-inspector-preview.status-error .factory-camera-media{outline-offset:2px;outline:2px solid #e34d59}.factory-inspector-preview.status-healthy .factory-camera-media{outline-offset:2px;outline:2px solid #1faa5a}.factory-camera-errors{background:var(--app-danger-surface,#fff5f5);border-block:1px solid var(--app-danger-line,#f2cbcf);color:var(--app-danger,#b83e49);flex-shrink:0;padding:11px 18px;font-size:13px}.factory-camera-errors p{margin-top:7px;line-height:1.5}.factory-camera-errors button{color:var(--app-danger,#a82f3a);background:0 0;border:0;margin-bottom:3px;padding:0;text-decoration:underline;display:block}.factory-python-editor{background:var(--color-paper);flex:1;min-height:240px;position:relative}.factory-python-editor .monaco-editor textarea{min-height:0!important;box-shadow:none!important;padding:0!important}.factory-code-test{border-top:1px solid var(--app-line,#e3eaf2);max-height:260px;padding:12px 20px;font-size:13px;overflow:auto}.factory-code-test summary{cursor:pointer;color:var(--app-text-secondary,#607b9e);font-weight:600}.factory-code-test p{color:var(--app-text-muted,#8396ad);margin:10px 0}.factory-code-test pre{white-space:pre-wrap;max-height:140px;font-size:13px;overflow:auto}.factory-code-test textarea{font-family:var(--font-mono);font-size:13px}.factory-python-editor .monaco-editor textarea.inputarea{color:#0000!important;min-height:0!important;box-shadow:none!important;resize:none!important;background:0 0!important;border:0!important;border-radius:0!important;padding:0!important}.factory-background-settings{z-index:4;border:1px solid var(--app-line,#dce4ef);background:var(--app-floating,#fffffff2);width:250px;color:var(--app-text-secondary,#405673);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;font-size:14px;position:absolute;top:16px;right:18px;box-shadow:0 6px 24px #243c5712}.factory-background-settings summary{cursor:pointer;padding:12px 14px;font-weight:600}.factory-background-settings fieldset{border:0;gap:12px;min-width:0;padding:0 14px 14px;display:grid}.factory-background-settings label{gap:6px;min-width:0;font-size:13px;font-weight:550;display:grid}.factory-background-settings p{color:var(--app-text-secondary,#6c7f95);margin:0 14px 12px;font-size:13px;line-height:1.5}.factory-background-settings fieldset p{margin:0}.factory-background-coordinates{grid-template-columns:1fr 1fr;gap:8px;display:grid}.factory-background-upload{border:1px dashed var(--app-accent-line,#b8cbe7);background:var(--app-accent-surface,#f3f7ff);border-radius:8px;padding:12px;overflow:hidden}.factory-background-upload input{width:100%;font-size:13px}.factory-background-upload small{overflow-wrap:anywhere;font-weight:400}.factory-floorplan.is-drawing .factory-floor-svg{cursor:crosshair}.factory-drawing-toolbar{white-space:normal;border-radius:12px;flex-wrap:wrap;justify-content:center;width:max-content;max-width:calc(100% - 32px);padding:10px 12px;top:auto;bottom:64px;box-shadow:0 8px 30px #243c571c}.factory-drawing-toolbar>span{color:var(--app-text-secondary,#52667e);font-size:14px}.factory-drawing-toolbar .factory-button{min-height:32px;padding:7px 10px;font-size:14px}.factory-floor-empty{border:1px solid var(--app-line,#dce5ef);background:var(--app-floating,#fffffff0);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:24px;box-shadow:0 12px 40px #243c5715}.factory-floor-empty p{color:var(--app-text-secondary,#61758d)}.factory-map-attribution{background:var(--app-floating,#fffffff0);color:var(--app-text-secondary,#405673);z-index:3;padding:3px 7px;font-size:13px;position:absolute;bottom:0;right:0}.factory-background-error{background:var(--app-warning-surface,#fff4df);max-width:260px;color:var(--app-warning,#845515);pointer-events:none;border-radius:8px;padding:10px 12px;font-size:14px;position:absolute;top:62px;left:16px}@media (width<=620px){.factory-background-settings{width:210px;top:10px;right:10px}.factory-floorplan-label{left:10px}.factory-floor-legend span:last-child{display:none}.factory-drawing-toolbar>span{text-align:center;width:100%}}.factory-preview-toggle{width:100%;color:var(--app-text-secondary,#4b617d);text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0 0 10px;font-weight:550;display:flex}.factory-preview-size-surface .factory-camera-media{width:min(100%,calc(var(--factory-preview-height) * var(--factory-media-ratio)));margin-inline:auto}.factory-preview-size-control{color:var(--app-text-secondary,#6d7f96);align-items:center;gap:10px;margin-top:10px;font-size:13px;display:flex}.factory-preview-size-control label{white-space:nowrap}.factory-preview-size-control input[type=range]{flex:1;width:auto;min-width:0}.factory-preview-size-control output{text-align:right;font-variant-numeric:tabular-nums;min-width:42px}.factory-workspace-toolbar,.factory-workspace-toolbar>div{flex-wrap:wrap}.factory-inspector .factory-tabs,.factory-tabs{gap:16px}.factory-preview-caption{flex-wrap:wrap}.factory-preview-caption small,.factory-event p,.factory-review-heading p,.factory-map-preview-caption small{color:var(--app-text-secondary,#66788e)}.factory-map-preview-caption strong span{flex:1;min-width:0;max-width:none}.factory-map-preview.is-above{transform:translateY(-100%)}.factory-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.factory-title-row h1{min-width:0}.factory-name-button{color:inherit;text-align:left;font:inherit;background:0 0;border:0;align-items:center;gap:10px;max-width:100%;padding:0;display:inline-flex}.factory-name-button span{overflow-wrap:anywhere}.factory-name-button svg{color:var(--app-text-muted,#7890aa);flex-shrink:0;font-size:14px}.factory-name-button:hover{color:var(--factory-blue)}.factory-name-editor{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.factory-name-editor input{flex:1;min-width:160px}.factory-name-editor .factory-inline-error{width:100%;font-size:13px}.factory-floor-svg,.factory-floor-svg *{-webkit-user-select:none;user-select:none}.factory-floor-svg{touch-action:none;cursor:grab}.factory-floor-svg:active{cursor:grabbing}.factory-context-menu{z-index:1000;background:var(--app-surface,#fff);border:1px solid var(--factory-line);border-radius:8px;min-width:200px;max-width:calc(100vw - 16px);padding:5px;position:fixed;box-shadow:0 8px 28px #1c2a3b26}.factory-context-menu button{text-align:left;width:100%;color:var(--app-text-secondary,#4b617d);background:0 0;border:0;border-radius:4px;padding:9px 12px;font-size:13px;display:block}.factory-context-menu button:hover,.factory-context-menu button:focus{background:var(--app-accent-surface,#edf3ff);color:var(--app-accent,#245eea);outline:none}.factory-inspector [hidden]{display:none!important}.factory-camera-view-tabs>button{flex:1;justify-content:center}.factory-inspector .factory-camera-section-tabs{gap:12px;padding:0 12px;overflow-x:auto}.factory-inspector .factory-camera-section-tabs>button{font-size:12px}.factory-camera-events{flex-direction:column;flex:1;min-height:0;display:flex}.factory-camera-events-heading{border-bottom:1px solid var(--factory-line);color:var(--app-text-secondary,#4b617d);padding:14px 18px}.factory-camera-events-heading p{color:var(--app-text-secondary,#66788e);margin-top:4px;font-size:12px}.factory-event-detail{width:420px;max-height:calc(100% - 90px);overflow:auto}.factory-event-facts{grid-template-columns:110px minmax(0,1fr);gap:6px 10px;margin:12px 0;font-size:12px;display:grid}.factory-event-facts dt{color:var(--app-text-secondary,#66788e)}.factory-event-facts dd{color:var(--app-text-secondary,#344d6b);overflow-wrap:anywhere;margin:0}.factory-event-description{margin:12px 0;font-size:13px}.factory-event-description strong{color:var(--app-text-secondary,#4b617d)}.factory-event-description p{color:var(--app-text-secondary,#66788e);white-space:pre-wrap;margin-top:4px}.factory-event-image-frame{margin:12px 0;position:relative}.factory-event-image-frame .factory-event-evidence-image{height:auto;max-height:none;margin:0}.factory-event-region{pointer-events:none;background:#f2b64115;border:2px solid #f2b641;position:absolute}.factory-app>.platform-header{height:var(--app-header-height,48px)}.factory-workspace-heading{gap:12px;padding:10px 20px}.factory-breadcrumb{margin-bottom:4px}.factory-workspace-heading h1{font-size:22px}.factory-workspace-heading p{margin-top:3px;font-size:12px}.factory-workspace-toolbar{padding:6px 20px}.factory-inspector-heading{padding:10px 16px}.factory-inspector-preview{padding-top:10px}@media (width>=621px){.factory-sidebar{width:var(--app-sidebar-width,212px)}.factory-sidebar-workspace{padding:16px 14px 12px}.factory-sidebar-sites{padding-bottom:16px}.factory-sidebar-cameras{padding-top:16px}.factory-sidebar-section{font-size:var(--app-small-size,11px);padding:0 18px 7px}.factory-sidebar-site{font-size:var(--app-ui-size,12px);padding:9px 16px 9px 19px}.factory-camera-list>button{padding:9px 16px}.factory-camera-list strong{font-size:var(--app-ui-size,12px)}.factory-camera-list small{font-size:var(--app-small-size,11px);margin-top:2px}.factory-sidebar-bottom{font-size:var(--app-ui-size,12px);padding:16px}.factory-workspace-heading{padding:10px var(--app-page-padding,16px)}.factory-workspace-heading h1{font-size:var(--app-title-size,20px)}.factory-workspace-heading p{font-size:var(--app-body-size,13px)}.factory-workspace-toolbar{padding:6px var(--app-page-padding,16px)}.factory-button{min-height:var(--app-control-height,30px);font-size:var(--app-ui-size,12px);padding:5px 9px}.factory-workspace-toolbar .factory-button{min-height:var(--app-control-height,30px);font-size:var(--app-ui-size,12px);padding:5px 8px}.factory-review-heading{padding:16px 14px 12px}.factory-review-heading h2{margin-top:4px;font-size:16px}.factory-review-heading p{font-size:var(--app-ui-size,12px);margin-top:4px}.factory-metrics{margin:0 12px 12px;padding:10px 0}.factory-metrics svg{margin-bottom:5px}.factory-metrics strong{font-size:19px}.factory-metrics span{font-size:var(--app-small-size,11px);margin-top:4px}.factory-tabs{gap:12px;padding:0 12px}.factory-tabs>button{font-size:var(--app-ui-size,12px);padding:9px 0}.factory-event-filters{gap:6px;padding:10px 12px 6px}.factory-event{gap:8px;padding:11px 12px}.factory-event-title strong,.factory-event time{font-size:var(--app-ui-size,12px)}.factory-event p{font-size:var(--app-small-size,11px);margin-top:3px}.factory-review-footer{font-size:var(--app-small-size,11px);padding:10px 12px}.factory-inspector-heading{padding:10px 12px}.factory-inspector-preview{padding:10px 12px 0}.factory-preview-toggle{padding-bottom:7px}.factory-preview-size-control{font-size:var(--app-ui-size,12px);gap:8px;margin-top:7px}.factory-preview-caption{padding:7px 0 9px}.factory-inspector-body{padding:12px}.factory-inspector .factory-tabs{gap:12px}.factory-inspector .factory-tabs>button{font-size:var(--app-ui-size,12px);padding:8px 0}.factory-inspector-footer{font-size:var(--app-small-size,11px);padding:9px 12px}.factory-camera-events-heading{padding:11px 12px}.factory-event-detail{width:380px}.factory-event-facts,.factory-event-description,.factory-event-image-frame{margin:10px 0}}@media (width<=970px){.factory-body{min-height:calc(100dvh - var(--app-header-height,48px))}}@media (width<=620px){.factory-workspace-heading{padding:8px 15px}.factory-workspace-toolbar{padding:6px 15px}}.factory-location-picker{margin-bottom:18px}.factory-location-picker>p{color:var(--app-text-secondary,#526880);margin-bottom:10px;font-size:14px}.factory-location-map{border:1px solid var(--factory-line);border-radius:6px;width:100%;height:320px;overflow:hidden}.factory-location-map .maplibregl-canvas{cursor:crosshair}.factory-location-actions{color:var(--app-text-secondary,#526880);flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;font-size:13px;display:flex}.factory-location-picker [role=alert]{color:var(--app-danger,#a82f3a);margin-top:10px;font-size:13px}.factory-floorplan-panel{flex-direction:column;height:100%;min-height:0;display:flex}.factory-floorplan-actions{border-bottom:1px solid var(--app-line,#d9e1ed);justify-content:flex-end;padding:6px 12px;display:flex}.factory-floorplan-panel>.factory-stage{flex:1;min-height:0}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.workflow-editor-surface{container:workflow/inline-size}.workflow-heading{justify-content:space-between;align-items:center;gap:var(--app-gap) 16px;padding:8px var(--app-page-padding);border-bottom:1px solid var(--color-line);flex-wrap:wrap;flex-shrink:0;display:flex}.workflow-heading .section-label{line-height:1.2;display:block}.workflow-run-actions,.workflow-edit-tools,.workflow-tool-group{align-items:center;gap:6px;display:flex}.workflow-run-actions{flex-wrap:wrap}.workflow-edit-tools{flex-wrap:wrap;gap:4px 8px;padding:4px 0}.workflow-tool-group+.workflow-tool-group{border-left:1px solid var(--color-line);padding-left:8px}.workflow-action-divider{background:var(--color-line);width:1px;height:18px;margin:0 2px}.workflow-action,.workflow-tool{min-height:var(--app-control-height);font:500 var(--app-small-size)/1.4 var(--font-sans);white-space:nowrap;color:var(--color-ink);cursor:pointer;border:1px solid #0000;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:4px 8px;display:inline-flex}.workflow-action{border-color:var(--color-line);background:var(--color-paper)}.workflow-tool{color:var(--color-muted)}.workflow-action:hover,.workflow-tool:hover,.workflow-tool[aria-expanded=true]{background:var(--color-chrome);color:var(--color-ink)}.workflow-action:focus-visible,.workflow-tool:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.workflow-action:disabled,.workflow-action[aria-disabled=true],.workflow-tool:disabled{opacity:.45;cursor:not-allowed}.workflow-primary-action,.workflow-primary-action:hover{border-color:var(--color-blue-deep);background:var(--color-blue-deep);color:#fff}.workflow-running,.workflow-running:hover{background:var(--color-green);border-color:var(--color-green);color:var(--color-on-status)}@container workflow (width<=720px){.workflow-node-inspector{inset-block:0;z-index:10;width:min(280px,88%);position:absolute;right:0;box-shadow:-12px 0 28px #2c303724}}@container workflow (width<=520px){.workflow-run-actions{justify-content:space-between;gap:4px;width:100%}.workflow-action-divider,.workflow-restart-label,.workflow-layout-prefix{display:none}.workflow-layout-label{text-transform:capitalize}.workflow-edit-tools{gap:4px}.workflow-tool-group{gap:2px}.workflow-tool-group+.workflow-tool-group{padding-left:6px}.workflow-tool{gap:5px;padding-inline:6px}}.debug-workspace{background:var(--color-paper,#fff);min-width:0;min-height:0;color:var(--color-ink,#172033);flex-direction:column;flex:1;display:flex;overflow:auto}.debug-workspace>*{flex-shrink:0}.debug-status{border-bottom:1px solid var(--app-line);padding:8px 16px;font-size:12px}.debug-status[role=alert]{color:var(--app-danger)}.debug-toolbar{padding:var(--app-panel-padding);border-bottom:1px solid var(--color-line,#e2e8f0);flex-wrap:wrap;align-items:end;gap:12px;display:flex}.debug-toolbar label{font-size:var(--app-ui-size);gap:5px;display:grid}.debug-camera-probe{align-items:end;gap:var(--app-gap);margin:var(--app-gap) var(--app-panel-padding);font-size:var(--app-ui-size);flex-wrap:wrap;display:flex}.debug-camera-probe label{gap:5px;display:grid}.debug-camera-probe input,.debug-camera-probe select{border:1px solid var(--app-line-strong,#cbd5e1);border-radius:6px;min-width:220px;padding:7px}.debug-camera-probe [role=alert]{color:var(--app-danger,#b91c1c);flex-basis:100%}.debug-toolbar select,.debug-toolbar input{border:1px solid var(--color-line,#cbd5e1);border-radius:6px;max-width:240px;padding:6px}.debug-toolbar input[type=number]{width:100px}.debug-run-controls{gap:var(--app-gap);margin-left:auto;display:flex}.debug-input,.debug-results{min-width:0;padding:16px;overflow:auto}.debug-input{border-right:1px solid var(--color-line,#e2e8f0)}.debug-input img,.debug-input video,.debug-output img{object-fit:contain;background:#0f172a;border-radius:8px;width:100%;max-height:320px;display:block}.debug-input video{aspect-ratio:16/9;min-height:160px;max-height:320px}.debug-input figure{margin-top:12px}.debug-input figcaption,.debug-help,.debug-filename{font-size:var(--app-ui-size);color:var(--app-text-secondary,#64748b);overflow-wrap:anywhere;margin:8px 0}.debug-help{line-height:1.6}.debug-section-title{justify-content:space-between;align-items:center;gap:var(--app-gap);flex-wrap:wrap;margin-bottom:12px;display:flex}.debug-section-title h2,.debug-section-title h3{margin:0}.debug-section-title span{color:var(--app-text-secondary,#64748b);font-size:var(--app-ui-size)}.debug-workspace h2{font-size:16px;font-weight:600}.debug-workspace h3{margin:12px 0 8px;font-size:14px;font-weight:600}.debug-workspace h4{font-size:var(--app-ui-size);margin:12px 0 5px;font-weight:600}.debug-empty{border:1px dashed var(--app-line-strong,#cbd5e1);color:var(--app-text-secondary,#64748b);font-size:var(--app-body-size);border-radius:8px;padding:24px 12px}.debug-notice{margin:var(--app-gap) var(--app-panel-padding);background:var(--app-accent-surface,#eff6ff);font-size:var(--app-ui-size);border-radius:6px;padding:8px 10px}.debug-option{align-items:flex-start;gap:8px;line-height:1.5;display:flex}.debug-option input[type=checkbox]{flex:none;margin:3px 0 0}.debug-option span{overflow-wrap:anywhere;min-width:0}.debug-notice[role=alert]{color:var(--app-danger,#b91c1c);background:var(--app-danger-surface,#fef2f2)}.debug-output,.debug-node-detail{border:1px solid var(--app-line,#e2e8f0);font-size:var(--app-ui-size);border-radius:8px;margin-bottom:10px;padding:10px}.debug-output h3{margin-top:0}.debug-selected-label{color:var(--app-text-secondary,#64748b);margin:0 0 4px;font-size:11px;font-weight:600}.debug-inspector-divider{border:0;border-top:1px solid var(--app-line-strong,#cbd5e1);margin:20px 0}.debug-node-detail .debug-section-title h3{margin:0}.debug-monitor-tabs{border-bottom:1px solid var(--app-line,#e2e8f0);gap:4px;margin-bottom:12px;display:flex;overflow-x:auto}.debug-monitor-tabs [role=tab]{color:var(--app-text-secondary,#64748b);border-bottom:2px solid #0000;flex-shrink:0;padding:8px 12px;font-size:12px}.debug-monitor-tabs [aria-selected=true]{border-bottom-color:var(--app-accent,#2563eb);color:var(--app-accent,#2563eb)}.debug-monitor-tabs [role=tab]:focus-visible{outline:2px solid var(--app-accent,#2563eb);outline-offset:-2px}.debug-output section+section{margin-top:10px}.debug-image-grid{grid-template-columns:1fr 1fr;gap:4px;display:grid}.debug-link{color:var(--app-accent,#2563eb);cursor:pointer;font-size:12px}.debug-node-failed{color:var(--app-danger,#b91c1c)}.debug-node-completed{color:var(--app-success,#15803d)}.debug-values{overflow-wrap:anywhere;gap:6px;margin:0;display:grid}.debug-values>div{border-left:2px solid var(--app-line,#e2e8f0);padding-left:6px}.debug-values dt{color:var(--app-text-secondary,#64748b);margin-bottom:3px;font-weight:600}.debug-values dd{margin:0}.factory-analysis{height:100%;padding:var(--app-panel-padding,12px);background:var(--app-surface,#fff);color:var(--app-text,#172033);overflow:auto;container-type:inline-size}.factory-analysis-heading{justify-content:space-between;align-items:start;gap:var(--app-gap,8px);flex-wrap:wrap;display:flex}.factory-analysis h2{font-size:var(--app-title-size,20px);margin:0;font-weight:600;line-height:1.3}.factory-analysis-heading p{color:var(--app-text-secondary,#64748b);font-size:var(--app-body-size,13px);margin:5px 0 0;line-height:1.5}.factory-analysis label{font-size:var(--app-ui-size,12px);color:var(--app-text-secondary,#475569);gap:4px;display:grid}.factory-analysis select{min-height:var(--app-control-height,30px);border:1px solid var(--app-line-strong,#cbd5e1);background:var(--app-surface,white);max-width:100%;color:var(--app-text,#172033);font:inherit;border-radius:6px;padding:5px 26px 5px 8px}.factory-analysis select:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.factory-analysis-provenance{font-size:var(--app-ui-size,12px);color:var(--app-text-secondary,#475569);margin:10px 0}.factory-analysis-selection{align-items:end;gap:var(--app-gap,8px);border-bottom:1px solid var(--app-line,#e2e8f0);flex-wrap:wrap;padding:12px 0;display:flex}.factory-analysis-selection label{flex:200px;min-width:0}.factory-analysis-selection .factory-badge{margin-bottom:5px}.factory-analysis-comparison{grid-template-columns:minmax(0,1.25fr) minmax(240px,1fr);align-items:start;gap:16px;padding-top:12px;display:grid}.factory-analysis-input{min-width:0;margin:0}.factory-analysis-frame{background:var(--app-surface-soft,#f1f5f9);border-radius:8px;justify-content:center;align-items:center;min-height:160px;display:flex;overflow:hidden}.factory-analysis-frame img{object-fit:contain;width:100%;max-height:400px;display:block}.factory-analysis-input figcaption{font-size:var(--app-body-size,13px);gap:4px;padding:10px 0;display:grid}.factory-analysis-input figcaption span,.factory-analysis-input figcaption small{color:var(--app-text-secondary,#64748b);line-height:1.5}.factory-analysis-answer{min-width:0}.factory-analysis-answer h3{font-size:var(--app-ui-size,12px);color:var(--app-text-secondary,#475569);margin:0 0 8px;font-weight:600}.factory-analysis-answer pre{background:var(--app-accent-surface,#eff6ff);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--app-text,#172033);border-left:3px solid #2563eb;margin:0 0 14px;padding:12px;font-family:inherit;font-size:22px;line-height:1.4}.factory-analysis-answer dl{font-size:var(--app-body-size,13px);grid-template-columns:1fr;gap:4px;margin:0;display:grid}.factory-analysis-answer dt{color:var(--app-text-secondary,#64748b);margin-top:10px}.factory-analysis-answer dd{overflow-wrap:anywhere;margin:0;line-height:1.6}.factory-analysis-prompt{white-space:pre-wrap}.factory-analysis-input-note{margin-top:5px;display:block}.factory-analysis-instruction{font-size:var(--app-ui-size,12px);color:var(--app-text-secondary,#475569);margin-top:12px;line-height:1.6}.factory-analysis-instruction summary{cursor:pointer}.factory-analysis-instruction p{white-space:pre-wrap;overflow-wrap:anywhere}.factory-analysis-rule{font-size:13px;line-height:1.5}.factory-analysis-rule small{color:var(--app-text-secondary,#64748b);margin-top:5px;display:block}.factory-analysis-missing{color:var(--app-text-secondary,#64748b);font-size:var(--app-body-size,13px);text-align:center;padding:16px}.factory-analysis-preview{border-radius:8px;overflow:hidden}@container (width<=620px){.factory-analysis-comparison{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.factory-analysis-frame{min-height:100px}.factory-analysis-answer pre{padding:12px;font-size:20px}}@container (width<=300px){.factory-analysis-comparison{grid-template-columns:1fr}}.production-workflows{min-width:0;padding:16px;font-size:13px;overflow:auto}.production-workflows-summary{border-bottom:1px solid var(--app-line,#e2e8f0);gap:10px;padding-bottom:16px;display:grid}.production-workflows-summary h2,.production-workflow-card h3,.production-approval-title h3{overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:600}.production-workflows-summary p,.production-workflow-card p,.production-approval-body p{margin:0}.production-workflows-summary small,.production-workflow-cameras{color:var(--app-text-secondary,#64748b);line-height:1.5}.production-workflows-summary .factory-button{white-space:normal;width:100%}.production-workflow-list,.production-approval-list,.production-approval-list ul{margin:0;padding:0;list-style:none}.production-workflow-list{gap:12px;margin-top:16px;display:grid}.production-workflow-card{border:1px solid var(--app-line,#e2e8f0);background:var(--app-surface,white);overflow-wrap:anywhere;border-radius:8px;gap:8px;padding:14px;display:grid}.production-workflow-card .factory-button{justify-self:start;margin-top:4px}.production-workflow-status{color:var(--app-text-secondary,#64748b);font-size:12px}.production-approval-body{gap:16px;min-height:0;padding:20px 24px;font-size:13px;line-height:1.5;display:grid;overflow:auto}.factory-dialog:has(>.production-approval-body){flex-direction:column;width:560px;display:flex;overflow:hidden}.production-approval-list{gap:10px;display:grid}.production-approval-list>li{border:1px solid var(--app-line,#e2e8f0);background:var(--app-surface-soft,#f7f9fc);border-radius:8px;padding:12px}.production-approval-title{flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-bottom:6px;display:flex}.production-approval-title h3{flex:1;min-width:120px}.production-approval-title span{white-space:nowrap;color:var(--app-text-secondary,#64748b);font-size:12px}.production-approval-list ul{color:var(--app-text-secondary,#64748b);overflow-wrap:anywhere;gap:4px;display:grid}.production-approval-note{background:var(--app-surface-soft,#f7f9fc);border-left:3px solid var(--app-line-strong,#cbd5e1);border-radius:4px;padding:12px}.production-approval-actions{border-top:1px solid var(--app-line,#e2e8f0);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.production-approval-actions .factory-button{white-space:normal}.production-loading{align-items:flex-start;gap:12px;display:flex}.production-loading p{margin:4px 0 8px;font-size:12px}.production-loading progress{width:min(260px,65%);height:8px;accent-color:var(--app-accent,#2563eb)}.production-loading-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:0 0 18px;width:18px;height:18px;animation:1s linear infinite production-spin}@keyframes production-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.production-loading-spinner{animation:none}}.production-toolbar{padding:var(--app-page-padding,16px);border-bottom:1px solid var(--app-line,#e2e8f0);flex-wrap:wrap;align-items:center;gap:16px;display:flex}.production-toolbar>div{margin-right:auto}.production-toolbar h1{font-size:var(--app-title-size,20px);margin:0 0 3px}.production-toolbar p{color:var(--app-text-secondary,#64748b);font-size:var(--app-body-size,13px);margin:0}.production-toolbar label,.production-run-controls label{font-size:var(--app-ui-size,12px);gap:4px;display:grid}.production-toolbar select,.production-run-controls select{min-height:var(--app-control-height,30px);border:1px solid var(--app-line-strong,#cbd5e1);background:var(--app-surface,white);border-radius:6px;padding:5px 8px}.production-tabs{padding:0 var(--app-page-padding,16px);justify-content:flex-start}.production-run-controls{padding:12px var(--app-page-padding,16px);flex-wrap:wrap;align-items:end;gap:12px;display:flex}.production-columns{min-height:0;padding:0 var(--app-page-padding,16px) var(--app-page-padding,16px);flex:1;grid-template-columns:minmax(0,1fr) 340px;gap:12px;display:grid;overflow:auto}.production-stage{gap:var(--app-gap,8px);flex-direction:column;min-height:360px;display:flex;position:relative}.production-stage>.factory-stage{flex:1;min-height:240px}.production-stage>.factory-run-progress{flex:none}.production-columns .factory-review{width:auto}.production-webcam{align-items:center;gap:var(--app-gap,8px);margin:0 var(--app-page-padding,16px) 10px;font-size:var(--app-ui-size,12px);flex-wrap:wrap;display:flex}.production-camera{padding:var(--app-panel-padding,12px);background:var(--app-surface,white);border:1px solid var(--app-line,#e2e8f0);border-radius:8px;overflow:auto}.production-preparing{margin:0 var(--app-page-padding,16px) 12px;padding:var(--app-panel-padding,12px);background:var(--app-accent-surface,#eff6ff);color:var(--app-accent,#1e40af);font-size:var(--app-body-size,13px);border-radius:6px}.production-coordinator{padding:var(--app-page-padding,16px);flex:1;min-height:0;overflow:auto}.production-coordinator .factory-python-editor{min-height:340px}@media (width<=900px){.production-columns{display:block}.production-columns .factory-review{min-height:360px;margin-top:16px}}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-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;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--color-amber-300:oklch(87.9% .169 91.605);--color-amber-500:oklch(76.9% .188 70.08);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-400:oklch(76.5% .177 163.223);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-200:oklch(90.1% .058 230.902);--color-sky-300:oklch(82.8% .111 230.318);--color-sky-400:oklch(74.6% .16 232.661);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-700:oklch(50% .134 242.749);--color-sky-900:oklch(39.1% .09 240.876);--color-rose-300:oklch(81% .117 11.638);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--container-2xl:42rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-normal:0em;--tracking-wide:.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--aspect-video:16 / 9;--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);--color-canvas:#f5f5f5;--color-paper:#fff;--color-paper-soft:#fafafa;--color-chrome:#e7e7e7;--color-chrome-dark:#d5d5d5;--color-ink:#0b0b0d;--color-muted:#6d6d72;--color-faint:#a4a4aa;--color-line:#0b0b0d24;--color-line-strong:#0b0b0d6b;--color-frame:#0009;--color-blue:#0f7fff;--color-blue-deep:#161898;--color-blue-ink:#161898;--color-green:#1faa5a;--color-warn:#b7791f;--color-rec:#ff3b30;--color-error:#b3261e;--color-on-status:#fff;--color-letterbox:#14161a;--color-console:#111827;--color-console-header:#1f2937;--color-console-table:#172033;--color-console-line:#2f3947;--font-brand:"Ancizar Serif", Georgia, "Times New Roman", serif;--shadow-panel:0 18px 44px #2c303721;--shadow-panel-sm:0 10px 24px #2c30371f;--ease-brand:cubic-bezier(.16, 1, .3, 1);--animate-enter:enter .34s var(--ease-brand);--animate-node-in:node-in .4s var(--ease-brand) both}}@layer base{*,:after,:before,::backdrop{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}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:where(button:not(:disabled),[role=button]:not([disabled]):not([aria-disabled=true])){cursor:pointer}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.inset-x-3{inset-inline:calc(var(--spacing) * 3)}.inset-y-0{inset-block:0}.top-0{top:0}.top-1{top:var(--spacing)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-full{top:100%}.right-1\.5{right:calc(var(--spacing) * 1.5)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.bottom-1\.5{bottom:calc(var(--spacing) * 1.5)}.left-0{left:0}.left-1{left:var(--spacing)}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-6{left:calc(var(--spacing) * 6)}.left-full{left:100%}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.col-span-3{grid-column:span 3/span 3}.col-span-5{grid-column:span 5/span 5}.row-span-3{grid-row:span 3/span 3}.container{width:100%}@media (width>=620px){.container{max-width:620px}}@media (width>=1050px){.container{max-width:1050px}}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:0}.m-0\!{margin:0!important}.m-auto{margin:auto}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.-mx-1\.5{margin-inline:calc(var(--spacing) * -1.5)}.mx-auto{margin-inline:auto}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-auto{margin-block:auto}.mt-0{margin-top:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-\[2px\]{margin-top:2px}.mt-\[7px\]{margin-top:7px}.-mr-0\.5{margin-right:calc(var(--spacing) * -.5)}.mr-1{margin-right:var(--spacing)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-5{margin-left:calc(var(--spacing) * 5)}.ml-\[5px\]{margin-left:5px}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-video{aspect-ratio:var(--aspect-video)}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.h-1{height:var(--spacing)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-20{height:calc(var(--spacing) * 20)}.h-28{height:calc(var(--spacing) * 28)}.h-96{height:calc(var(--spacing) * 96)}.h-\[3px\]{height:3px}.h-\[15px\]{height:15px}.h-\[68px\]{height:68px}.h-\[var\(--app-control-height\)\]{height:var(--app-control-height)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[90vh\]{max-height:90vh}.max-h-\[120px\]{max-height:120px}.max-h-\[min\(35dvh\,280px\)\]{max-height:min(35dvh,280px)}.min-h-0{min-height:0}.min-h-7{min-height:calc(var(--spacing) * 7)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-20{min-height:calc(var(--spacing) * 20)}.min-h-24{min-height:calc(var(--spacing) * 24)}.min-h-28{min-height:calc(var(--spacing) * 28)}.min-h-56{min-height:calc(var(--spacing) * 56)}.min-h-\[44px\]{min-height:44px}.min-h-\[212px\]{min-height:212px}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-44{width:calc(var(--spacing) * 44)}.w-48{width:calc(var(--spacing) * 48)}.w-64{width:calc(var(--spacing) * 64)}.w-\[15px\]{width:15px}.w-\[58px\]{width:58px}.w-\[218px\]{width:218px}.w-\[280px\]{width:280px}.w-\[300px\]{width:300px}.w-\[min\(820px\,calc\(100vw-24px\)\)\]{width:min(820px,100vw - 24px)}.w-\[var\(--app-sidebar-width\)\]{width:var(--app-sidebar-width)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-20{max-width:calc(var(--spacing) * 20)}.max-w-\[85\%\]{max-width:85%}.max-w-\[92\%\]{max-width:92%}.max-w-\[110px\]{max-width:110px}.max-w-\[380px\]{max-width:380px}.max-w-\[430px\]{max-width:430px}.max-w-\[460px\]{max-width:460px}.max-w-\[600px\]{max-width:600px}.max-w-\[640px\]{max-width:640px}.max-w-full{max-width:100%}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:0}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-80{min-width:calc(var(--spacing) * 80)}.min-w-\[58px\]{min-width:58px}.min-w-\[180px\]{min-width:180px}.min-w-\[var\(--app-sidebar-width\)\]{min-width:var(--app-sidebar-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.basis-56{flex-basis:calc(var(--spacing) * 56)}.border-collapse{border-collapse:collapse}.origin-left{transform-origin:0}.translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-45{rotate:-45deg}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-enter{animation:var(--animate-enter)}.animate-node-in{animation:var(--animate-node-in)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.cursor-text{cursor:text}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[minmax\(8rem\,1fr\)_5rem_3rem\]{grid-template-columns:minmax(8rem,1fr) 5rem 3rem}.grid-cols-\[minmax\(9rem\,1fr\)_auto\]{grid-template-columns:minmax(9rem,1fr) auto}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-center{align-content:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start\!{justify-content:flex-start!important}.gap-0{gap:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.self-center{align-self:center}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.justify-self-start{justify-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[5px\]{border-radius:5px}.rounded-\[6px\]{border-radius:6px}.rounded-\[8px\]{border-radius:8px}.rounded-\[9px\]{border-radius:9px}.rounded-\[10px\]{border-radius:10px}.rounded-\[14px\]{border-radius:14px}.rounded-\[22px\]{border-radius:22px}.rounded-\[28px\]{border-radius:28px}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-b-full{border-bottom-right-radius:2147483647px;border-bottom-left-radius:2147483647px}.rounded-br-md{border-bottom-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-l-\[3px\]{border-left-style:var(--tw-border-style);border-left-width:3px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-blue{border-color:var(--color-blue)}.border-blue\/25{border-color:#0f7fff40}@supports (color:color-mix(in lab, red, red)){.border-blue\/25{border-color:color-mix(in oklab, var(--color-blue) 25%, transparent)}}.border-blue\/28{border-color:#0f7fff47}@supports (color:color-mix(in lab, red, red)){.border-blue\/28{border-color:color-mix(in oklab, var(--color-blue) 28%, transparent)}}.border-blue\/40{border-color:#0f7fff66}@supports (color:color-mix(in lab, red, red)){.border-blue\/40{border-color:color-mix(in oklab, var(--color-blue) 40%, transparent)}}.border-chrome-dark{border-color:var(--color-chrome-dark)}.border-console-line{border-color:var(--color-console-line)}.border-current,.border-current\/15{border-color:currentColor}@supports (color:color-mix(in lab, red, red)){.border-current\/15{border-color:color-mix(in oklab, currentcolor 15%, transparent)}}.border-error\/20{border-color:#b3261e33}@supports (color:color-mix(in lab, red, red)){.border-error\/20{border-color:color-mix(in oklab, var(--color-error) 20%, transparent)}}.border-error\/30{border-color:#b3261e4d}@supports (color:color-mix(in lab, red, red)){.border-error\/30{border-color:color-mix(in oklab, var(--color-error) 30%, transparent)}}.border-frame{border-color:var(--color-frame)}.border-green{border-color:var(--color-green)}.border-green\/45{border-color:#1faa5a73}@supports (color:color-mix(in lab, red, red)){.border-green\/45{border-color:color-mix(in oklab, var(--color-green) 45%, transparent)}}.border-line{border-color:var(--color-line)}.border-line-strong{border-color:var(--color-line-strong)}.border-rec{border-color:var(--color-rec)}.border-rec\/35{border-color:#ff3b3059}@supports (color:color-mix(in lab, red, red)){.border-rec\/35{border-color:color-mix(in oklab, var(--color-rec) 35%, transparent)}}.border-sky-400\/20{border-color:#00bcfe33}@supports (color:color-mix(in lab, red, red)){.border-sky-400\/20{border-color:color-mix(in oklab, var(--color-sky-400) 20%, transparent)}}.border-sky-500\/50{border-color:#00a5ef80}@supports (color:color-mix(in lab, red, red)){.border-sky-500\/50{border-color:color-mix(in oklab, var(--color-sky-500) 50%, transparent)}}.border-sky-700{border-color:var(--color-sky-700)}.border-slate-600{border-color:var(--color-slate-600)}.border-slate-700{border-color:var(--color-slate-700)}.border-slate-800{border-color:var(--color-slate-800)}.border-transparent{border-color:#0000}.border-warn\/35{border-color:#b7791f59}@supports (color:color-mix(in lab, red, red)){.border-warn\/35{border-color:color-mix(in oklab, var(--color-warn) 35%, transparent)}}.border-warn\/55{border-color:#b7791f8c}@supports (color:color-mix(in lab, red, red)){.border-warn\/55{border-color:color-mix(in oklab, var(--color-warn) 55%, transparent)}}.border-t-ink{border-top-color:var(--color-ink)}.bg-\[\#007acc\]{background-color:#007acc}.bg-\[\#475569\]{background-color:#475569}.bg-amber-500{background-color:var(--color-amber-500)}.bg-black\/3{background-color:#00000008}@supports (color:color-mix(in lab, red, red)){.bg-black\/3{background-color:color-mix(in oklab, var(--color-black) 3%, transparent)}}.bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab, red, red)){.bg-black\/20{background-color:color-mix(in oklab, var(--color-black) 20%, transparent)}}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-black\/55{background-color:#0000008c}@supports (color:color-mix(in lab, red, red)){.bg-black\/55{background-color:color-mix(in oklab, var(--color-black) 55%, transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.bg-blue{background-color:var(--color-blue)}.bg-blue\/5{background-color:#0f7fff0d}@supports (color:color-mix(in lab, red, red)){.bg-blue\/5{background-color:color-mix(in oklab, var(--color-blue) 5%, transparent)}}.bg-blue\/6{background-color:#0f7fff0f}@supports (color:color-mix(in lab, red, red)){.bg-blue\/6{background-color:color-mix(in oklab, var(--color-blue) 6%, transparent)}}.bg-blue\/8{background-color:#0f7fff14}@supports (color:color-mix(in lab, red, red)){.bg-blue\/8{background-color:color-mix(in oklab, var(--color-blue) 8%, transparent)}}.bg-blue\/10{background-color:#0f7fff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue\/10{background-color:color-mix(in oklab, var(--color-blue) 10%, transparent)}}.bg-canvas{background-color:var(--color-canvas)}.bg-chrome{background-color:var(--color-chrome)}.bg-chrome-dark{background-color:var(--color-chrome-dark)}.bg-chrome\/50{background-color:#e7e7e780}@supports (color:color-mix(in lab, red, red)){.bg-chrome\/50{background-color:color-mix(in oklab, var(--color-chrome) 50%, transparent)}}.bg-console{background-color:var(--color-console)}.bg-console-header{background-color:var(--color-console-header)}.bg-console-table{background-color:var(--color-console-table)}.bg-current,.bg-current\/15{background-color:currentColor}@supports (color:color-mix(in lab, red, red)){.bg-current\/15{background-color:color-mix(in oklab, currentcolor 15%, transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-error\/10{background-color:#b3261e1a}@supports (color:color-mix(in lab, red, red)){.bg-error\/10{background-color:color-mix(in oklab, var(--color-error) 10%, transparent)}}.bg-green{background-color:var(--color-green)}.bg-green\/7{background-color:#1faa5a12}@supports (color:color-mix(in lab, red, red)){.bg-green\/7{background-color:color-mix(in oklab, var(--color-green) 7%, transparent)}}.bg-green\/10{background-color:#1faa5a1a}@supports (color:color-mix(in lab, red, red)){.bg-green\/10{background-color:color-mix(in oklab, var(--color-green) 10%, transparent)}}.bg-ink{background-color:var(--color-ink)}.bg-ink\/15{background-color:#0b0b0d26}@supports (color:color-mix(in lab, red, red)){.bg-ink\/15{background-color:color-mix(in oklab, var(--color-ink) 15%, transparent)}}.bg-letterbox{background-color:var(--color-letterbox)}.bg-muted\/50{background-color:#6d6d7280}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--color-muted) 50%, transparent)}}.bg-paper{background-color:var(--color-paper)}.bg-paper-soft{background-color:var(--color-paper-soft)}.bg-paper-soft\/88{background-color:#fafafae0}@supports (color:color-mix(in lab, red, red)){.bg-paper-soft\/88{background-color:color-mix(in oklab, var(--color-paper-soft) 88%, transparent)}}.bg-paper\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.bg-paper\/70{background-color:color-mix(in oklab, var(--color-paper) 70%, transparent)}}.bg-paper\/85{background-color:#ffffffd9}@supports (color:color-mix(in lab, red, red)){.bg-paper\/85{background-color:color-mix(in oklab, var(--color-paper) 85%, transparent)}}.bg-paper\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.bg-paper\/90{background-color:color-mix(in oklab, var(--color-paper) 90%, transparent)}}.bg-rec{background-color:var(--color-rec)}.bg-rec\/7{background-color:#ff3b3012}@supports (color:color-mix(in lab, red, red)){.bg-rec\/7{background-color:color-mix(in oklab, var(--color-rec) 7%, transparent)}}.bg-sky-50{background-color:var(--color-sky-50)}.bg-sky-400{background-color:var(--color-sky-400)}.bg-sky-400\/\[0\.06\]{background-color:#00bcfe0f}@supports (color:color-mix(in lab, red, red)){.bg-sky-400\/\[0\.06\]{background-color:color-mix(in oklab, var(--color-sky-400) 6%, transparent)}}.bg-sky-900\/25{background-color:#024a7040}@supports (color:color-mix(in lab, red, red)){.bg-sky-900\/25{background-color:color-mix(in oklab, var(--color-sky-900) 25%, transparent)}}.bg-slate-700{background-color:var(--color-slate-700)}.bg-slate-800\/30{background-color:#1d293d4d}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/30{background-color:color-mix(in oklab, var(--color-slate-800) 30%, transparent)}}.bg-transparent{background-color:#0000}.bg-warn\/10{background-color:#b7791f1a}@supports (color:color-mix(in lab, red, red)){.bg-warn\/10{background-color:color-mix(in oklab, var(--color-warn) 10%, transparent)}}.bg-white{background-color:var(--color-white)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[var\(--app-gap\)\]{padding:var(--app-gap)}.p-\[var\(--app-panel-padding\)\]{padding:var(--app-panel-padding)}.px-0{padding-inline:0}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\!{padding-inline:calc(var(--spacing) * 3)!important}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-\[7px\]{padding-inline:7px}.px-\[var\(--app-page-padding\)\]{padding-inline:var(--app-page-padding)}.px-\[var\(--app-panel-padding\)\]{padding-inline:var(--app-panel-padding)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-\[5px\]{padding-block:5px}.py-\[13px\]{padding-block:13px}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-20{padding-right:calc(var(--spacing) * 20)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-\[18px\]{padding-left:18px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-brand{font-family:var(--font-brand)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[20px\]{font-size:20px}.text-\[clamp\(26px\,3\.2vw\,36px\)\]{font-size:clamp(26px,3.2vw,36px)}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-\[\.95\]{--tw-leading:.95;line-height:.95}.leading-\[1\.3\]{--tw-leading:1.3;line-height:1.3}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-\[1\.45\]{--tw-leading:1.45;line-height:1.45}.leading-\[1\.55\]{--tw-leading:1.55;line-height:1.55}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[-\.04em\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-\[\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.wrap-anywhere{overflow-wrap:anywhere}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-300{color:var(--color-amber-300)}.text-blue{color:var(--color-blue)}.text-blue-ink{color:var(--color-blue-ink)}.text-emerald-300{color:var(--color-emerald-300)}.text-error{color:var(--color-error)}.text-faint{color:var(--color-faint)}.text-green{color:var(--color-green)}.text-ink{color:var(--color-ink)}.text-muted{color:var(--color-muted)}.text-muted\!{color:var(--color-muted)!important}.text-muted\/70{color:#6d6d72b3}@supports (color:color-mix(in lab, red, red)){.text-muted\/70{color:color-mix(in oklab, var(--color-muted) 70%, transparent)}}.text-on-status{color:var(--color-on-status)}.text-paper{color:var(--color-paper)}.text-rose-300{color:var(--color-rose-300)}.text-sky-200{color:var(--color-sky-200)}.text-sky-300{color:var(--color-sky-300)}.text-sky-900{color:var(--color-sky-900)}.text-slate-100{color:var(--color-slate-100)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-transparent{color:#0000}.text-warn{color:var(--color-warn)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.normal-case\!{text-transform:none!important}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-blue{accent-color:var(--color-blue)}.accent-sky-400{accent-color:var(--color-sky-400)}.opacity-0{opacity:0}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_9999px_rgba\(0\,0\,0\,\.32\)\]{--tw-shadow:0 0 0 9999px var(--tw-shadow-color,#00000052);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_4px_var\(--color-paper\)\]{--tw-shadow:0 0 4px var(--tw-shadow-color,var(--color-paper));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_0_0_1\.5px_var\(--color-line-strong\)\]{--tw-shadow:inset 0 0 0 1.5px var(--tw-shadow-color,var(--color-line-strong));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_0_2px_0_var\(--color-blue\)\]{--tw-shadow:inset 0 2px 0 var(--tw-shadow-color,var(--color-blue));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-panel{--tw-shadow:0 18px 44px var(--tw-shadow-color,#2c303721);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-panel-sm{--tw-shadow:0 10px 24px var(--tw-shadow-color,#2c30371f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-blue\/15{--tw-ring-color:#0f7fff26}@supports (color:color-mix(in lab, red, red)){.ring-blue\/15{--tw-ring-color:color-mix(in oklab, var(--color-blue) 15%, transparent)}}.ring-blue\/25{--tw-ring-color:#0f7fff40}@supports (color:color-mix(in lab, red, red)){.ring-blue\/25{--tw-ring-color:color-mix(in oklab, var(--color-blue) 25%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{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,)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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))}.transition-\[background-color\,color\,transform\]{transition-property:background-color,color,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,box-shadow\]{transition-property:border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[flex-basis\]{transition-property:flex-basis;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[grid-template-rows\,opacity\]{transition-property:grid-template-rows,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[height\,border-color\,box-shadow\]{transition-property:height,border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,border-color\,box-shadow\]{transition-property:width,height,border-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,min-width\,box-shadow\]{transition-property:width,min-width,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[font-synthesis\:none\]{font-synthesis:none}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:h-1:is(:where(.group):hover *){height:var(--spacing)}.group-hover\:bg-blue:is(:where(.group):hover *){background-color:var(--color-blue)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.peer-placeholder-shown\:top-\[18px\]:is(:where(.peer):placeholder-shown~*){top:18px}.peer-placeholder-shown\:text-xs:is(:where(.peer):placeholder-shown~*){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.peer-focus\:top-0:is(:where(.peer):focus~*){top:0}.peer-focus\:text-\[10px\]:is(:where(.peer):focus~*){font-size:10px}.peer-focus\:text-blue:is(:where(.peer):focus~*){color:var(--color-blue)}.placeholder\:text-faint::placeholder{color:var(--color-faint)}.placeholder\:text-muted::placeholder{color:var(--color-muted)}.last\:mb-0:last-child{margin-bottom:0}.last\:border-r-0:last-child{border-right-style:var(--tw-border-style);border-right-width:0}@media (hover:hover){.hover\:border-blue\/50:hover{border-color:#0f7fff80}@supports (color:color-mix(in lab, red, red)){.hover\:border-blue\/50:hover{border-color:color-mix(in oklab, var(--color-blue) 50%, transparent)}}.hover\:border-green:hover{border-color:var(--color-green)}.hover\:border-line-strong:hover{border-color:var(--color-line-strong)}.hover\:border-slate-500:hover{border-color:var(--color-slate-500)}.hover\:border-warn:hover{border-color:var(--color-warn)}.hover\:bg-blue\/5:hover{background-color:#0f7fff0d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-blue\/5:hover{background-color:color-mix(in oklab, var(--color-blue) 5%, transparent)}}.hover\:bg-blue\/40:hover{background-color:#0f7fff66}@supports (color:color-mix(in lab, red, red)){.hover\:bg-blue\/40:hover{background-color:color-mix(in oklab, var(--color-blue) 40%, transparent)}}.hover\:bg-chrome:hover{background-color:var(--color-chrome)}.hover\:bg-chrome\/50:hover{background-color:#e7e7e780}@supports (color:color-mix(in lab, red, red)){.hover\:bg-chrome\/50:hover{background-color:color-mix(in oklab, var(--color-chrome) 50%, transparent)}}.hover\:bg-chrome\/60:hover{background-color:#e7e7e799}@supports (color:color-mix(in lab, red, red)){.hover\:bg-chrome\/60:hover{background-color:color-mix(in oklab, var(--color-chrome) 60%, transparent)}}.hover\:bg-paper:hover{background-color:var(--color-paper)}.hover\:bg-rec\/10:hover{background-color:#ff3b301a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-rec\/10:hover{background-color:color-mix(in oklab, var(--color-rec) 10%, transparent)}}.hover\:bg-sky-100:hover{background-color:var(--color-sky-100)}.hover\:text-error:hover{color:var(--color-error)}.hover\:text-ink:hover{color:var(--color-ink)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-blue:focus{border-color:var(--color-blue)}.focus\:bg-blue\/40:focus{background-color:#0f7fff66}@supports (color:color-mix(in lab, red, red)){.focus\:bg-blue\/40:focus{background-color:color-mix(in oklab, var(--color-blue) 40%, transparent)}}.focus\:opacity-100:focus{opacity:1}.focus\:ring-\[3px\]:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-blue\/30:focus{--tw-ring-color:#0f7fff4d}@supports (color:color-mix(in lab, red, red)){.focus\:ring-blue\/30:focus{--tw-ring-color:color-mix(in oklab, var(--color-blue) 30%, transparent)}}.focus-visible\:shadow-\[0_0_0_3px_rgba\(15\,127\,255\,0\.3\)\]:focus-visible{--tw-shadow:0 0 0 3px var(--tw-shadow-color,#0f7fff4d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-blue:focus-visible{outline-color:var(--color-blue)}.focus-visible\:outline-sky-500:focus-visible{outline-color:var(--color-sky-500)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}@media (hover:hover){.enabled\:hover\:bg-chrome\/60:enabled:hover{background-color:#e7e7e799}@supports (color:color-mix(in lab, red, red)){.enabled\:hover\:bg-chrome\/60:enabled:hover{background-color:color-mix(in oklab, var(--color-chrome) 60%, transparent)}}.enabled\:hover\:text-muted:enabled:hover{color:var(--color-muted)}}.enabled\:active\:scale-\[0\.96\]:enabled:active{scale:.96}.disabled\:opacity-35:disabled{opacity:.35}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}.data-\[collapsed\=true\]\:hidden[data-collapsed=true]{display:none}@media (width>=40rem){.sm\:inline{display:inline}}@media (width>=48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.lg\:inline{display:inline}}.\[\&_li\+li\]\:mt-1 li+li{margin-top:var(--spacing)}.\[data-dock-zone\=\"center\"\]\:visible:is(),.\[data-panel\=\"assistant\"\]\:visible:is(),.\[data-panel\=\"console\"\]\:visible:is(),.\[data-panel\=\"editor\"\]\:visible:is(){visibility:visible}}:root[data-theme=dark]{--color-canvas:#000;--color-paper:#0a0a0a;--color-paper-soft:#111;--color-chrome:#1a1a1a;--color-chrome-dark:#333;--color-ink:#ededed;--color-muted:#a1a1a1;--color-faint:#888;--color-line:#2a2a2a;--color-line-strong:#666;--color-frame:#444;--color-console:#080808;--color-console-header:#141414;--color-console-table:#101010;--color-console-line:#333;--color-blue:#7aaeff;--color-blue-deep:#285ac4;--color-blue-ink:#9bc4ff;--color-blue-soft:#9bc4ff;--color-green:#65cf95;--color-warn:#edc079;--color-rec:#f46e78;--color-error:#ff9a9f;--color-on-status:#0a0a0a;--app-media:#080808;--shadow-panel:0 18px 44px #0004;--shadow-panel-sm:0 10px 24px #0003;--shadow-media:0 24px 60px -24px #0009;--app-surface:var(--color-paper);--app-surface-soft:var(--color-paper-soft);--app-surface-muted:var(--color-canvas);--app-floating:#0a0a0af2;--app-text:var(--color-ink);--app-text-secondary:#c4c4c4;--app-text-muted:var(--color-muted);--app-line:var(--color-line);--app-line-strong:#4a4a4a;--app-accent:#8ab8ff;--app-accent-surface:#10213a;--app-accent-line:#426291;--app-action:#285ac4;--app-action-hover:#316bd8;--app-danger:#ff9a9f;--app-danger-surface:#3c242e;--app-danger-line:#73414c;--app-success:#7cdda1;--app-success-surface:#1b362d;--app-success-line:#395d4c;--app-warning:#edc079;--app-warning-surface:#3d3222;--app-warning-line:#6c5530}:root[data-theme=dark] .platform-brand img,:root[data-theme=dark] .factory-brand img,:root[data-theme=dark] .auth-card>img{filter:brightness(0)invert()}:root[data-theme=dark] .factory-button.primary{background:var(--app-action);border-color:var(--app-action);color:#fff}:root[data-theme=dark] .factory-button.primary:hover{background:var(--app-action-hover)}.auth-card input,.factory-chat textarea{background:var(--color-paper);color:var(--color-ink)}:root[data-theme=dark] .workflow-canvas .react-flow__edge-text{fill:var(--color-muted)}:root[data-theme=dark] .react-flow__attribution{background:var(--color-paper);color:var(--color-muted)}:root[data-theme=dark] .react-flow{--xy-background-color:var(--color-paper-soft);--xy-node-background-color:var(--color-paper);--xy-node-color:var(--color-ink);--xy-controls-button-background-color:var(--color-paper);--xy-controls-button-background-color-hover:var(--color-chrome);--xy-controls-button-color:var(--color-ink);--xy-controls-button-color-hover:var(--color-ink);--xy-controls-button-border-color:var(--color-line)}@media (prefers-contrast:more){:root[data-theme=dark]{--color-muted:#d4d4d4;--color-line:#666;--app-text-muted:#d4d4d4}}:root{--app-header-height:48px;--app-control-height:30px;--app-page-padding:16px;--app-panel-padding:12px;--app-sidebar-width:212px;--app-title-size:20px;--app-ui-size:12px;--app-body-size:13px;--app-small-size:11px;--app-gap:8px;--app-header-logo-width:122px;--app-header-nav-gap:20px;--app-header-context-gap:10px;--app-card-padding:28px}@keyframes shimmer-text{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes progress-indeterminate{0%{transform:translate(-125%)scaleX(.45)}45%{transform:translate(85%)scaleX(1)}to{transform:translate(350%)scaleX(.45)}}.progress-indeterminate{transform-origin:50%;width:36%;animation:1.45s cubic-bezier(.4,0,.2,1) infinite progress-indeterminate}@keyframes progress-determinate-highlight{0%{transform:translate(-180%)}to{transform:translate(360%)}}.progress-determinate-active:after{content:"";filter:blur(1px);background:linear-gradient(90deg,#0000,#ffffffd9,#0000);width:34%;animation:1.6s cubic-bezier(.4,0,.2,1) infinite progress-determinate-highlight;position:absolute;inset:0 auto 0 0}body{background-color:var(--color-canvas);background-image:radial-gradient(var(--color-line) 1px, transparent 1.35px);background-size:24px 24px;background-attachment:fixed}.surface{background:var(--color-paper);border:1px solid var(--color-line);box-shadow:var(--shadow-panel)}.surface-modal{background:var(--color-paper);border:1px solid var(--color-line);box-shadow:var(--shadow-panel), 0 40px 90px -20px #2c303738}.scrim{-webkit-backdrop-filter:blur(4px)}.scroll-fade{-webkit-mask-image:linear-gradient(#0000 0,#000 14px calc(100% - 18px),#0000 100%);mask-image:linear-gradient(#0000 0,#000 14px calc(100% - 18px),#0000 100%)}.section-label{font-family:var(--font-sans);letter-spacing:.13em;text-transform:lowercase;color:var(--color-muted);font-size:10px}.workflow-canvas .react-flow__pane.draggable,.workflow-canvas .react-flow__node.draggable{cursor:grab}.workflow-canvas .react-flow__pane.dragging,.workflow-canvas .react-flow__node.draggable.dragging{cursor:grabbing}.workflow-canvas .react-flow__handle{z-index:10;border:2px solid var(--color-paper);background:var(--color-muted);width:13px;height:13px}.workflow-canvas .react-flow__edge-text{font-family:var(--font-mono);font-size:10px;font-weight:700}.workflow-canvas .react-flow__selection{border-color:var(--color-blue);background:#0f7fff1a;box-shadow:0 0 0 1px #2563eb33}.workflow-canvas .react-flow__nodesselection-rect{box-shadow:none;background:0 0;border-color:#0000}.workflow-canvas .react-flow__nodesselection-rect:before{inset:calc(0px - var(--workflow-selection-padding));background:linear-gradient(90deg, var(--color-blue) 50%, var(--color-paper) 50%) 0 0 / 8px 1px repeat-x, linear-gradient(90deg, var(--color-blue) 50%, var(--color-paper) 50%) 0 100% / 8px 1px repeat-x, linear-gradient(0deg, var(--color-blue) 50%, var(--color-paper) 50%) 0 0 / 1px 8px repeat-y, linear-gradient(0deg, var(--color-blue) 50%, var(--color-paper) 50%) 100% 0 / 1px 8px repeat-y, #0f7fff0f;content:"";pointer-events:none;border-radius:2px;animation:.6s linear infinite workflow-selection-march;position:absolute}@keyframes workflow-selection-march{to{background-position:8px 0,-8px 100%,0 -8px,100% 8px}}@media (prefers-reduced-motion:reduce){.workflow-canvas .react-flow__nodesselection-rect:before{animation:none}}.workflow-canvas .react-flow__controls{border:1px solid var(--color-line);box-shadow:var(--shadow-panel-sm);border-radius:7px;overflow:hidden}.workflow-canvas .react-flow__controls-button{color:var(--color-ink);border-bottom-color:var(--color-line);background:var(--color-paper)}.workflow-canvas .react-flow__controls-button:hover{background:var(--color-chrome)}.workflow-canvas .react-flow__controls-button svg{fill:currentColor}.app-button{border:1px solid var(--color-line);min-height:var(--app-control-height,32px);font:500 12px/1.4 var(--font-sans);color:var(--color-ink);background:var(--color-paper);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;gap:7px;padding:6px 10px;transition:background-color .15s,border-color .15s;display:inline-flex}.app-button:hover:not(:disabled){background:var(--color-chrome)}.app-button:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px}.app-button:disabled{cursor:not-allowed;opacity:.45}.app-button-primary,.app-button-primary:hover:not(:disabled){color:#fff;border-color:var(--color-blue-deep);background:var(--color-blue-deep)}@media (pointer:coarse){.app-button{min-height:40px}}@keyframes toast-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}[data-sonner-toast]:hover .toast-countdown,[data-sonner-toast]:focus-within .toast-countdown{animation-play-state:paused}@media (prefers-reduced-transparency:reduce){.scrim{-webkit-backdrop-filter:none}}@media (prefers-contrast:more){.surface,.surface-modal{border-color:var(--color-line-strong)}:root{--color-muted:#4c4c50}}@media (prefers-reduced-motion:reduce){.scroll-fade{-webkit-mask-image:none;mask-image:none}.progress-indeterminate{opacity:.55;width:100%;transform:none}.progress-determinate-active:after{display:none}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-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}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes enter{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes node-in{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}
