:root{color:#ffffffeb;background:#05080f;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-synthesis:none;--abyss: #05080f;--panel: #0a0f1a;--card: #0e1524;--raised: #121a2a;--line: rgba(255, 255, 255, .07);--line-strong: rgba(255, 255, 255, .15);--glass: rgba(255, 255, 255, .04);--glass-hover: rgba(255, 255, 255, .07);--muted: rgba(255, 255, 255, .38);--secondary: rgba(255, 255, 255, .64);--accent: #4da3ff;--accent-bright: #6ec6ff;--ok: #3ecf8e;--warn: #f5b84c;--danger: #f26d6d}*{box-sizing:border-box;letter-spacing:0}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{height:100vh;overflow:hidden;background:var(--abyss);font-size:13px;line-height:20px}button,input,select{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled,.disabled{cursor:not-allowed!important;opacity:.42}a{color:inherit;text-decoration:none}input,select{color-scheme:dark}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}::selection{background:#4da3ff4d}.app-loading{height:100vh;display:grid;place-content:center;justify-items:center;gap:12px;color:var(--muted)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.eyebrow{font:500 9px/14px JetBrains Mono,ui-monospace,monospace;color:var(--accent-bright);text-transform:uppercase}.accent{color:var(--accent)!important}.truncate{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-page{min-height:100vh;display:grid;grid-template-columns:58fr 42fr;background:var(--abyss)}.login-visual{position:relative;display:flex;flex-direction:column;min-width:0;padding:38px 48px 54px;overflow:hidden;background:#080d17 url(/login-bg.png) center / cover no-repeat}.login-visual:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#05080f61;pointer-events:none}.brand-lockup{position:relative;z-index:1;display:grid;gap:3px;align-items:center}.brand-lockup img{width:154px;height:55px;object-fit:contain;object-position:left center}.brand-lockup span{font:500 8px/12px ui-monospace,monospace;color:var(--muted)}.login-intro{position:relative;z-index:1;margin-top:auto;max-width:620px}.login-intro h1{margin:16px 0 14px;font-size:34px;line-height:1.42;font-weight:700}.login-intro p{margin:0;font-size:14px;color:var(--secondary)}.login-panel{display:grid;place-items:center;padding:36px;background:var(--panel)}.login-card{width:min(370px,100%)}.login-card h2{margin:9px 0 3px;font-size:23px;line-height:32px}.form-lead{margin:0 0 26px;color:var(--muted)}.login-card>label{display:grid;gap:7px;margin-bottom:14px;color:var(--secondary);font-size:11px}.login-card input,.field-label select{width:100%;height:39px;padding:0 11px;border:1px solid var(--line-strong);border-radius:5px;outline:none;background:var(--glass);color:#ffffffe6}.login-card input:focus,.field-label select:focus{border-color:#4da3ffa6;box-shadow:0 0 0 2px #4da3ff1a}.password-input{position:relative}.password-input input{padding-right:42px}.password-input button{position:absolute;inset:0 4px 0 auto;width:34px;display:grid;place-items:center;border:0;background:transparent;color:var(--muted)}.login-options{display:flex;align-items:center;justify-content:space-between;margin:0 0 17px;font-size:11px;color:var(--secondary)}.login-options button{border:0;background:transparent;color:var(--secondary)}.check-label{display:flex;align-items:center;gap:7px;cursor:pointer}.check-label input{width:15px;height:15px;margin:0;accent-color:var(--accent)}.login-submit{width:100%;margin-top:2px}.login-card>small{display:block;margin-top:28px;text-align:center;color:var(--muted);font-size:9px}.login-mobile-brand{display:none}.inline-error,.error-banner{display:flex;align-items:center;gap:8px;border:1px solid rgba(242,109,109,.34);background:#f26d6d1a;color:#ffb7b7}.inline-error{min-height:36px;margin:0 0 14px;padding:7px 10px;border-radius:5px;font-size:11px}.product-shell{height:100vh;display:grid;grid-template-columns:200px minmax(0,1fr);background:var(--abyss)}.product-shell.sidebar-collapsed{grid-template-columns:56px minmax(0,1fr)}.sidebar{position:relative;z-index:20;min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--panel);transition:width .2s}.sidebar-logo{height:64px;flex:0 0 64px;display:flex;align-items:center;padding:0 16px;border-bottom:1px solid var(--line);overflow:hidden}.sidebar-collapsed .sidebar-logo{padding:0 8px}.sidebar-symbol{width:40px;height:40px;object-fit:contain}.sidebar nav{flex:1;min-height:0;padding:12px 8px;overflow-y:auto}.sidebar nav a,.sidebar-bottom>a{position:relative;height:37px;display:flex;align-items:center;padding:0 12px;border-radius:4px;color:var(--secondary);white-space:nowrap;overflow:hidden;transition:.15s}.sidebar nav a:hover,.sidebar-bottom>a:hover{color:#fff;background:var(--glass-hover)}.sidebar nav a.active,.sidebar-bottom>a.active{background:#4da3ff1f;color:#fff}.sidebar nav a.active:before,.sidebar-bottom>a.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;border-radius:2px;background:var(--accent)}.sidebar-collapsed .sidebar nav a,.sidebar-collapsed .sidebar-bottom>a{justify-content:center;padding:0}.sidebar-bottom{flex:0 0 auto;border-top:1px solid var(--line);padding:8px}.collapse-button{width:100%;height:31px;display:grid;place-items:center;margin-top:3px;border:0;border-radius:4px;background:transparent;color:var(--muted)}.collapse-button:hover{background:var(--glass-hover);color:#fff}.foundation-note{min-height:48px;display:grid;grid-template-columns:16px 1fr;gap:1px 6px;align-items:center;margin:9px 3px;padding:7px 8px;border:1px solid var(--line);border-radius:4px;background:var(--glass);color:var(--muted);font-size:9px}.foundation-note svg{grid-row:1 / 3}.foundation-note strong{color:var(--ok);font-size:9px;font-weight:500}.sidebar-user{width:100%;min-height:42px;display:flex;align-items:center;gap:9px;padding:5px 4px;border:0;background:transparent;color:#fff;text-align:left}.sidebar-user>i,.avatar-button{flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:50%;background:var(--warn);color:#172031;font-style:normal;font-size:11px;font-weight:700}.sidebar-user>i{width:30px;height:30px}.sidebar-user>span{min-width:0;flex:1;display:grid}.sidebar-user strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500}.sidebar-user small{color:var(--muted);font-size:9px}.sidebar-user>svg{color:var(--muted)}.sidebar-collapsed .sidebar-user{justify-content:center}.product-main{min-width:0;min-height:0;display:flex;flex-direction:column}.product-topbar{height:56px;flex:0 0 56px;display:flex;align-items:center;gap:12px;padding:0 27px;border-bottom:1px solid var(--line);background:#0a0f1af0}.breadcrumb{min-width:0;flex:1;font-size:11px;color:#fffc}.global-search{width:220px;height:32px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:4px;background:var(--glass);color:var(--muted);font-size:11px}.global-search span{flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}kbd{padding:0 4px;border:1px solid var(--line);border-radius:3px;color:var(--muted);font:9px ui-monospace,monospace}.task-indicator{height:32px;min-width:45px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:4px;background:var(--glass);font:10px ui-monospace,monospace}.task-indicator i,.workbench-status i{width:7px;height:7px;border-radius:50%;background:#ffffff47}.task-indicator i.active,.workbench-status i.running,.workbench-status i.queued{background:var(--accent);box-shadow:0 0 0 4px #4da3ff1a}.top-icon,.mobile-menu,.back-button,.icon-button{display:grid;place-items:center;border:0;background:transparent;color:var(--muted)}.top-icon{width:32px;height:32px;border-radius:4px}.top-icon:hover,.mobile-menu:hover,.back-button:hover{background:var(--glass-hover);color:#fff}.avatar-button{width:27px;height:27px}.mobile-menu{display:none}.page-scroll{flex:1;min-height:0;overflow-y:auto}.page{width:min(100%,1440px);margin:0 auto;padding:27px}.page-heading{min-height:60px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.page-heading h1{margin:0;font-size:21px;line-height:28px;font-weight:600}.page-heading p{margin:3px 0 0;color:var(--muted);font-size:11px}.heading-buttons{display:flex;gap:9px;align-items:center}.primary-button,.secondary-button,.danger-button{min-height:37px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border-radius:4px;font-size:12px;font-weight:600}.primary-button{border:1px solid var(--accent);background:var(--accent);color:#07111d;box-shadow:0 7px 22px #4da3ff26}.primary-button:hover:not(:disabled){background:var(--accent-bright)}.secondary-button{border:1px solid var(--line-strong);background:var(--glass);color:#ffffffd1}.secondary-button:hover:not(:disabled){border-color:#4da3ff80;color:#fff}.danger-button{border:1px solid rgba(242,109,109,.4);background:#f26d6d14;color:#ff9e9e}.primary-button input,.secondary-button input{display:none}.readonly-notice{min-height:35px;display:flex;align-items:center;gap:8px;margin-bottom:13px;padding:7px 10px;border:1px solid rgba(245,184,76,.28);border-radius:4px;background:#f5b84c12;color:#e6c47e;font-size:11px}.error-banner{position:fixed;z-index:100;top:64px;left:50%;width:min(480px,calc(100vw - 24px));min-height:38px;transform:translate(-50%);padding:7px 10px;border-radius:5px;box-shadow:0 12px 34px #0006}.error-banner span{min-width:0;flex:1}.error-banner button{width:26px;height:26px;display:grid;place-items:center;border:0;background:transparent;color:inherit}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:9px 0 22px}.stat-card,.panel,.quick-grid button,.image-card{border:1px solid var(--line);border-radius:6px;background:var(--glass)}.stat-card{position:relative;min-width:0;height:120px;display:flex;flex-direction:column;align-items:flex-start;padding:15px;color:inherit;text-align:left}.stat-card:hover,.quick-grid button:hover,.image-card:hover{border-color:var(--line-strong);background:var(--glass-hover)}.stat-card>span{color:var(--secondary);font-size:11px}.stat-card>strong{margin-top:6px;font:700 26px/32px ui-monospace,monospace}.stat-card>small{margin-top:1px;color:var(--muted);font-size:9px}.stat-card>svg{position:absolute;top:16px;right:14px;color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 326px;gap:20px}.dashboard-primary,.dashboard-side{min-width:0;display:grid;gap:20px;align-content:start}.panel{min-width:0;padding:17px 19px}.panel-title{min-height:25px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.panel-title h2{margin:0;font-size:15px;font-weight:600}.panel-title a{display:flex;align-items:center;gap:2px;color:var(--accent);font-size:10px}.trend-panel{height:300px}.empty-chart{position:relative;height:230px;display:grid;place-items:center}.empty-chart svg{position:absolute;top:12px;right:0;bottom:0;left:0;width:100%;height:190px}.empty-chart svg path{fill:none;stroke:#ffffff0d;stroke-width:1}.empty-small{min-height:92px;display:grid;place-content:center;justify-items:center;gap:7px;color:var(--muted);font-size:10px;text-align:center}.empty-chart .empty-small{position:relative;z-index:1}.recent-panel,.project-panel{min-height:145px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-grid button{height:96px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:7px;padding:15px;color:#fff;text-align:left}.quick-grid svg{color:var(--accent-bright)}.resource-panel{min-height:190px}.resource-status{min-height:58px;display:flex;align-items:center;gap:11px;border-top:1px solid var(--line)}.resource-status>svg{color:var(--accent)}.resource-status>div{min-width:0;flex:1;display:grid}.resource-status strong{font-size:11px;font-weight:500}.resource-status span{color:var(--muted);font-size:9px}.resource-status>i{width:7px;height:7px;border-radius:50%;background:var(--ok)}.resource-status>i.busy{background:var(--accent);box-shadow:0 0 0 4px #4da3ff1a}.whats-new{padding:2px 3px}.whats-new p{display:flex;align-items:center;gap:8px;margin:9px 0;color:var(--secondary);font-size:10px}.whats-new p i{width:5px;height:5px;border-radius:50%;background:var(--accent)}.run-row{width:100%;min-height:57px;display:grid;grid-template-columns:76px minmax(120px,.8fr) minmax(150px,1fr) minmax(100px,.6fr) 16px;align-items:center;gap:12px;padding:7px 4px;border:0;background:transparent;color:inherit;text-align:left}.run-row:hover{background:var(--glass-hover)}.run-row code{overflow:hidden;text-overflow:ellipsis;color:#fffc;font-size:10px}.run-row>span:not(.status-badge){overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px}.run-row>div{display:flex;align-items:center;gap:8px}.run-row>div i,.run-progress>i{height:3px;flex:1;overflow:hidden;border-radius:3px;background:#ffffff1a}.run-row>div b,.run-progress>i b{display:block;height:100%;background:var(--accent)}.run-row>div strong{font:9px ui-monospace,monospace;color:var(--accent-bright)}.status-badge{min-width:68px;height:22px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 7px;border-radius:3px;background:var(--glass);color:var(--secondary);font-size:9px}.status-badge i{width:5px;height:5px;border-radius:50%;background:var(--muted)}.status-badge.running i,.status-badge.queued i{background:var(--accent)}.status-badge.succeeded i{background:var(--ok)}.status-badge.failed i,.status-badge.timeout i{background:var(--danger)}.status-badge.canceled i{background:var(--warn)}.upload-button{min-width:128px}.upload-status,.upload-summary{position:relative;margin:3px 0 8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#4da3ff0d}.upload-status{min-height:66px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:center;padding:10px 12px 13px}.upload-status>div:first-child{min-width:0;display:grid}.upload-status strong{font-size:10px;font-weight:600}.upload-status span{min-width:0;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px}.upload-counts{display:flex;align-items:center;gap:12px}.upload-counts strong{width:34px;color:var(--accent-bright);text-align:right;font-family:ui-monospace,monospace}.upload-status>i{grid-column:1 / 3;height:3px;overflow:hidden;border-radius:3px;background:#ffffff1a}.upload-status>i b{display:block;height:100%;background:var(--accent);transition:width .15s ease-out}.upload-summary{min-height:44px;display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:6px 12px;padding:8px 8px 8px 12px}.upload-summary>div{display:flex;align-items:center;gap:8px;color:var(--secondary);font-size:10px}.upload-summary.success>div svg{color:var(--ok)}.upload-summary.warning{background:#f5b84c0f}.upload-summary.warning>div svg{color:var(--warn)}.upload-summary p{grid-column:1 / 2;margin:-1px 0 1px 23px;overflow-wrap:anywhere;color:var(--muted);font-size:9px}.upload-summary>button{grid-column:2;grid-row:1 / 3;width:28px;height:28px;display:grid;place-items:center;border:0;background:transparent;color:var(--muted)}.library-toolbar{min-height:52px;display:flex;align-items:center;gap:12px;margin-top:4px;padding:8px 0;border-bottom:1px solid var(--line)}.search-field{width:min(330px,50vw);height:34px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:4px;background:var(--glass);color:var(--muted)}.search-field input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#fff;font-size:11px}.library-toolbar>span{margin-left:auto;color:var(--muted);font-size:10px}.icon-button{width:32px;height:32px;border:1px solid var(--line);border-radius:4px}.image-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;padding-top:18px}.image-card{position:relative;min-width:0;overflow:hidden;padding:0;color:inherit;text-align:left}.image-thumb{position:relative;aspect-ratio:4 / 3;display:grid;place-items:center;background:#070b12;color:#ffffff2e}.image-thumb span{position:absolute;left:8px;bottom:7px;padding:1px 5px;border:1px solid var(--line);border-radius:3px;background:#05080fb3;color:var(--muted);font:8px ui-monospace,monospace}.image-info{min-width:0;display:grid;gap:2px;padding:11px 33px 11px 11px}.image-info strong,.image-info span,.image-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-info strong{font-size:11px}.image-info span{color:var(--secondary);font-size:10px}.image-info small{color:var(--muted);font-size:9px}.image-card>svg{position:absolute;right:10px;bottom:15px;color:var(--muted)}.large-empty{min-height:430px;display:grid;place-content:center;justify-items:center;text-align:center;color:var(--muted)}.large-empty h2{margin:14px 0 4px;color:#ffffffb8;font-size:15px}.large-empty p{max-width:520px;margin:0;font-size:11px}.task-tabs{display:flex;gap:20px;margin:4px 0 14px;border-bottom:1px solid var(--line)}.task-tabs button{position:relative;height:38px;border:0;background:transparent;color:var(--muted);font-size:11px}.task-tabs button.active{color:#fff}.task-tabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent)}.task-tabs span{margin-left:4px;font:9px ui-monospace,monospace}.task-table{padding:0;overflow:hidden}.task-table-head,.task-table-row{display:grid;grid-template-columns:90px minmax(130px,.8fr) minmax(140px,1fr) minmax(200px,1.2fr) 70px 90px;align-items:center;gap:12px;padding:0 15px}.task-table-head{height:42px;border-bottom:1px solid var(--line);color:var(--muted);font-size:9px}.task-table-row{min-height:58px;border-bottom:1px solid var(--line)}.task-table-row code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:var(--secondary)}.text-button{border:0;background:transparent;color:var(--accent);font-size:10px}.settings-layout{display:grid;grid-template-columns:200px minmax(0,760px);gap:20px;margin-top:8px}.settings-nav{display:grid;gap:3px;align-content:start;padding:6px;border:1px solid var(--line);border-radius:6px;background:var(--glass)}.settings-nav button{height:40px;display:flex;align-items:center;gap:9px;padding:0 11px;border:0;border-radius:4px;background:transparent;color:var(--secondary);text-align:left}.settings-nav button.active{background:#4da3ff1f;color:#fff}.permission-panel{padding:18px}.identity-summary{display:flex;align-items:center;gap:12px;padding:12px 0 20px;border-bottom:1px solid var(--line)}.identity-summary>i{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#08111e;font-style:normal;font-weight:700}.identity-summary>div{min-width:0;flex:1;display:grid}.identity-summary strong{font-size:13px}.identity-summary span{color:var(--muted);font-size:10px}.identity-summary em{padding:2px 8px;border:1px solid rgba(77,163,255,.35);border-radius:3px;color:var(--accent-bright);font-size:9px;font-style:normal}.permission-table{margin-top:16px;border-top:1px solid var(--line)}.permission-table>div{min-height:39px;display:grid;grid-template-columns:1fr 110px;align-items:center;padding:0 9px;border-bottom:1px solid var(--line);font-size:10px}.permission-head{color:var(--muted)}.permission-table .allowed,.permission-table .denied{display:flex;align-items:center;gap:5px}.permission-table .allowed{color:var(--ok)}.permission-table .denied{color:var(--muted)}.permission-help{margin:14px 0 0;color:var(--muted);font-size:10px}.workbench-page{height:100vh;min-width:0;display:flex;flex-direction:column;background:var(--abyss)}.workbench-topbar{height:52px;flex:0 0 52px;display:flex;align-items:center;gap:12px;padding:0 12px;border-bottom:1px solid var(--line);background:var(--panel)}.back-button{width:30px;height:30px;border-radius:4px}.workbench-brand{min-width:190px;display:flex;align-items:center;gap:9px}.workbench-brand img{width:112px;height:40px;object-fit:contain;object-position:left center}.workbench-brand strong{font-size:12px}.workbench-title{min-width:0;flex:1;display:flex;align-items:baseline;justify-content:center;gap:8px}.workbench-title span{max-width:480px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.workbench-title small{color:var(--muted);font:9px ui-monospace,monospace}.workbench-status{min-width:78px;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--secondary);font-size:10px}.workbench-status i.succeeded{background:var(--ok)}.workbench-status i.failed,.workbench-status i.timeout{background:var(--danger)}.workbench-status i.canceled{background:var(--warn)}.workbench-body{min-height:0;flex:1;display:grid;grid-template-columns:280px minmax(420px,1fr) 320px}.parameter-panel,.particle-panel{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--panel)}.parameter-panel{border-right:1px solid var(--line)}.particle-panel{border-left:1px solid var(--line)}.workbench-panel-title,.particle-head{height:45px;flex:0 0 45px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid var(--line)}.workbench-panel-title h2,.particle-head h2{margin:0;font-size:13px;font-weight:500}.workbench-panel-title .eyebrow{display:block;margin-bottom:-2px;font-size:7px}.workbench-panel-title>svg,.particle-head>svg{color:var(--muted)}.parameter-scroll{flex:1;min-height:0;overflow-y:auto}.run-outcome{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;padding:9px;border:1px solid rgba(242,109,109,.3);border-radius:5px;background:#f26d6d14;color:#ffb7b7}.run-outcome>svg{margin-top:1px}.run-outcome>div{min-width:0;display:grid;gap:3px}.run-outcome strong{font-size:10px;font-weight:600}.run-outcome span,.run-outcome small{overflow-wrap:anywhere;color:var(--secondary);font-size:8px;line-height:1.45}.run-outcome small{color:var(--warn)}.run-outcome.canceled{border-color:#f5b84c4d;background:#f5b84c12;color:var(--warn)}.param-section{display:grid;gap:13px;padding:13px;border-bottom:1px solid var(--line)}.param-section>h3{margin:0;color:var(--secondary);font-size:10px;font-weight:500}.field-label{display:grid;gap:6px;color:var(--muted);font-size:9px}.field-label select{height:33px;font-size:10px}.slider-row{display:grid;gap:7px}.slider-row>span{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.slider-row strong{color:var(--accent-bright);font:9px ui-monospace,monospace}.slider-row input{width:100%;height:3px;margin:3px 0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:3px;outline:none;background:linear-gradient(to right,var(--accent) 0 var(--slider-progress),rgba(255,255,255,.13) var(--slider-progress) 100%)}.slider-row input::-webkit-slider-thumb{width:13px;height:13px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid var(--accent);border-radius:50%;background:#fff}.toggle-row{display:grid;grid-template-columns:1fr 32px;align-items:center;gap:8px}.toggle-row>span{display:grid}.toggle-row strong{color:var(--secondary);font-size:9px;font-weight:500}.toggle-row small{color:var(--muted);font-size:8px}.toggle-row input{position:absolute;opacity:0}.toggle-row>i{position:relative;width:32px;height:17px;border-radius:10px;background:#ffffff29}.toggle-row>i:after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;transition:transform .16s}.toggle-row input:checked+i{background:var(--accent)}.toggle-row input:checked+i:after{transform:translate(15px)}.workbench-cta{flex:0 0 auto;display:grid;gap:8px;padding:11px;border-top:1px solid var(--line)}.workbench-cta .primary-button,.workbench-cta .danger-button{width:100%}.workbench-cta .readonly-notice{margin:0;font-size:9px}.run-progress{display:grid;grid-template-columns:1fr auto;gap:4px 8px;color:var(--muted);font-size:9px}.run-progress strong{color:var(--accent-bright)}.run-progress>i{grid-column:1 / 3}.canvas-area{min-width:0;min-height:0;display:grid;grid-template-rows:40px minmax(0,1fr) 120px;background:#04070c}.canvas-toolbar{display:flex;align-items:center;gap:5px;padding:0 10px;border-bottom:1px solid var(--line);background:#080c14}.canvas-toolbar button{height:27px;display:flex;align-items:center;gap:6px;padding:0 8px;border:0;border-radius:3px;background:transparent;color:var(--muted);font-size:9px}.canvas-toolbar button.active{background:#4da3ff1f;color:var(--accent-bright)}.canvas-toolbar>span{flex:1}.image-stage{position:relative;min-height:0;overflow:hidden;background:#030609}.image-stage>img,.mask-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.mask-layer polygon{fill:var(--mask-color);stroke:var(--mask-color);stroke-width:1.2;vector-effect:non-scaling-stroke;cursor:pointer}.mask-layer polygon:hover,.mask-layer polygon.selected{fill:#ffffff3d;stroke:#fff;stroke-width:2}.stage-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:10px;color:var(--muted);font-size:10px}.stage-empty .secondary-button{margin-top:4px}.analysis-overlay{position:absolute;left:16px;right:16px;bottom:15px;min-height:55px;display:flex;align-items:center;gap:11px;padding:9px 12px;border:1px solid var(--line-strong);border-radius:5px;background:#0e1524f0;box-shadow:0 12px 30px #00000059}.analysis-overlay>svg{color:var(--accent)}.analysis-overlay>div{display:grid}.analysis-overlay strong{font-size:10px}.analysis-overlay span{color:var(--muted);font-size:9px}.stats-bar{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 370px;border-top:1px solid var(--line);background:var(--panel)}.distribution{min-width:0;padding:9px 14px}.distribution>div:first-child{display:flex;align-items:center;gap:12px}.distribution small{color:var(--muted);font:8px ui-monospace,monospace}.distribution-empty{height:65px;display:grid;place-items:center;border-bottom:1px solid rgba(255,255,255,.04);color:var(--muted);font-size:9px}.key-stats{min-width:0;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;border-left:1px solid var(--line)}.metric{min-width:0;display:grid;justify-items:center;gap:4px}.metric span{color:var(--muted);font-size:8px}.metric strong{max-width:100%;overflow:hidden;color:#ffffffd9;text-overflow:ellipsis;white-space:nowrap;font:500 11px ui-monospace,monospace}.particle-head h2 span{margin-left:4px;color:var(--accent-bright);font-family:ui-monospace,monospace}.review-banner{min-height:34px;display:flex;align-items:center;gap:7px;padding:0 11px;border-bottom:1px solid rgba(245,184,76,.2);background:#f5b84c0f;color:#d9bb7c;font-size:9px}.review-banner.failed{border-bottom-color:#f26d6d33;background:#f26d6d0f;color:var(--danger)}.particle-list{flex:1;min-height:90px;overflow-y:auto}.particle-list>button{width:100%;min-height:39px;display:grid;grid-template-columns:7px 1fr 46px 78px;align-items:center;gap:8px;padding:0 11px;border:0;border-bottom:1px solid rgba(255,255,255,.045);background:transparent;color:var(--secondary);text-align:left}.particle-list>button:hover{background:var(--glass-hover)}.particle-list>button.selected{background:#4da3ff1f}.particle-list>button>i{width:7px;height:7px;border-radius:2px}.particle-list code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.particle-list span{font-size:9px}.particle-list small{color:var(--muted);font:8px ui-monospace,monospace;text-align:right}.particle-detail,.artifact-downloads{flex:0 0 auto;padding:10px 11px;border-top:1px solid var(--line)}.particle-detail h3,.artifact-downloads h3{margin:0 0 7px;color:var(--secondary);font-size:9px;font-weight:500}.particle-detail dl{margin:0}.particle-detail dl>div{display:flex;justify-content:space-between;gap:8px;font-size:8px}.particle-detail dt{color:var(--muted)}.particle-detail dd{margin:0;color:var(--secondary);font-family:ui-monospace,monospace}.artifact-downloads{max-height:142px;overflow-y:auto}.artifact-downloads button{width:100%;min-height:27px;display:flex;align-items:center;gap:7px;padding:0;border:0;background:transparent;color:var(--secondary);text-align:left}.artifact-downloads button:hover{color:var(--accent-bright)}.artifact-downloads button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:8px ui-monospace,monospace}.artifact-downloads p{margin:0;color:var(--muted);font-size:8px}@media(max-width:1180px){.image-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.workbench-body{grid-template-columns:250px minmax(380px,1fr) 280px}.stats-bar{grid-template-columns:1fr 320px}}@media(max-width:900px){.product-shell,.product-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{position:fixed;top:0;bottom:0;left:0;width:200px;transform:translate(-100%);box-shadow:16px 0 35px #00000073}.sidebar.mobile-open{transform:translate(0)}.mobile-menu{width:30px;height:30px;display:grid}.product-topbar{padding:0 13px}.dashboard-grid{grid-template-columns:1fr}.dashboard-side{grid-template-columns:1fr 1fr}.whats-new{grid-column:1 / 3}.workbench-body{grid-template-columns:230px minmax(360px,1fr)}.particle-panel{position:fixed;z-index:30;right:0;top:52px;bottom:0;width:300px;display:none;box-shadow:-16px 0 35px #0006}}@media(max-width:680px){body{overflow:auto}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh;padding:28px 22px}.login-mobile-brand{display:block;margin-bottom:42px}.global-search{display:none}.page{padding:20px 15px}.page-heading{min-height:74px;align-items:flex-start}.heading-buttons{flex-wrap:wrap;justify-content:flex-end}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{height:104px;padding:12px}.dashboard-side{grid-template-columns:1fr}.whats-new{grid-column:auto}.image-grid{grid-template-columns:1fr 1fr;gap:9px}.upload-status{grid-template-columns:minmax(0,1fr)}.upload-status>i{grid-column:1}.upload-counts{justify-content:space-between}.task-table{overflow-x:auto}.task-table-head,.task-table-row{min-width:780px}.settings-layout{grid-template-columns:1fr}.settings-nav{grid-template-columns:1fr 1fr}.workbench-page{height:auto;min-height:100vh}.workbench-brand{min-width:0}.workbench-brand strong{display:none}.workbench-title{justify-content:flex-start}.workbench-body{display:flex;flex-direction:column}.parameter-panel{order:2;min-height:520px;border-top:1px solid var(--line);border-right:0}.canvas-area{order:1;height:68vh;min-height:520px;grid-template-rows:40px minmax(280px,1fr) 110px}.stats-bar{grid-template-columns:1fr}.distribution{display:none}.key-stats{border-left:0}.particle-panel{display:none}.error-banner{top:58px}}@media(max-width:430px){.page-heading{display:grid}.heading-buttons{justify-content:flex-start}.stat-grid,.image-grid{grid-template-columns:1fr}.stat-card{height:98px}.quick-grid{gap:9px}.quick-grid button{height:84px}.run-row{grid-template-columns:70px minmax(0,1fr) 14px}.run-row>span:not(.status-badge),.run-row>div{display:none}.workbench-topbar{gap:7px;padding:0 7px}.workbench-title small,.workbench-status{display:none}}
