:root{color-scheme:dark;--bg: #0b0f14;--panel: #111820;--panel-2: #17212b;--line: #24313d;--text: #eef3f8;--muted: #8795a5;--accent: #4cc9a6;--accent-2: #7aa7ff;--good: #4cc9a6;--warn: #f2b366;--bad: #ff6b5f;--shadow: 0 4px 8px rgba(0, 0, 0, .24);--radius: 16px;--radius-sm: 10px;--space-1: 8px;--space-2: 12px;--space-3: 16px;--space-4: 24px;--space-5: 32px;--space-6: 40px;font-family:IBM Plex Sans,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--text)}button,select,input{font:inherit}button{border:0;background:transparent;color:inherit}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.surface{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius)}.surface-soft{background:#17212bc7;border:1px solid rgba(76,201,166,.14);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.page{width:min(1440px,calc(100vw - 32px));margin:0 auto;padding:24px 0 32px}.grid-shell{display:grid;grid-template-columns:300px minmax(0,1fr) 320px;gap:16px;align-items:start}.studio-grid-shell{display:grid;grid-template-columns:280px minmax(0,1fr) 320px;gap:12px;align-items:start}.studio-spine{display:flex;flex-direction:column;gap:12px;min-width:0}.studio-command-bar{padding:14px}.studio-command-main{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.studio-title{margin:0;font-size:24px;font-weight:680;letter-spacing:0}.studio-meta,.studio-status-cluster{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.studio-meta{margin-top:8px;color:var(--muted);font-size:13px}.studio-meta span{border:1px solid var(--line);border-radius:999px;padding:4px 8px}.studio-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;border-top:1px solid var(--line);padding-top:10px}.studio-tabs button{min-height:38px;border-radius:10px;color:var(--muted);cursor:pointer;border:1px solid transparent;transition:background .16s ease,border-color .16s ease,color .16s ease}.studio-tabs button:hover,.studio-tabs button.active,.studio-tabs button[aria-selected=true]{background:#4cc9a61f;border-color:#4cc9a642;color:var(--text)}.annotation-studio-region{display:flex;flex-direction:column;gap:12px;min-width:0}.studio-context-bar{display:flex;align-items:center;gap:10px;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:#111820b8;color:var(--muted)}.studio-context-bar strong{color:var(--text)}.studio-context-bar span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studio-panel-page{display:flex;flex-direction:column;gap:14px}.panel-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.panel-page-header h3{margin:0;font-size:20px;letter-spacing:0}.panel-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.panel-page-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.rail{display:flex;flex-direction:column;gap:14px;min-height:82vh}.rail.collapsed{width:76px}.rail-card,.workspace-card,.panel-card{padding:16px}.header-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.title{margin:0;font-size:18px;letter-spacing:-.02em}.section-title{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.muted{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border-radius:10px;background:var(--accent);color:#fff;cursor:pointer;transition:transform .12s ease,opacity .12s ease,background .12s ease}.button:hover{transform:translateY(-1px)}.button.secondary{background:var(--panel-2);color:var(--text);border:1px solid var(--line)}.button.ghost{background:transparent;border:1px solid var(--line);color:var(--text)}.chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;background:#4cc9a61a;color:var(--accent);font-size:12px}.chip.good{background:#4cc9a61f;color:var(--good)}.chip.warn{background:#f2b3661f;color:var(--warn)}.chip.bad{background:#ff6b5f1f;color:var(--bad)}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.task-card .row{align-items:flex-start}.task-card .badge{flex:0 0 auto;max-width:56px;white-space:normal;line-height:1.2}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.tree{display:flex;flex-direction:column;gap:8px}.tree-node{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;cursor:pointer;border:1px solid transparent}button.tree-node{width:100%;color:inherit;font:inherit;text-align:left;background:transparent}.tree-group{font-weight:700}.tree-leaf{margin-left:18px;width:calc(100% - 18px)}.tree-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-icon{width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;border-radius:8px;color:var(--accent);background:#214d6514}.tree-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tree-icon-classes,.tree-icon-classification{color:#9a5a24;background:#9a5a241a}.tree-icon-branches,.tree-icon-branch{color:#35704b;background:#35704b1a}.tree-icon-detection{color:#b6483f;background:#b6483f1a}.tree-icon-semantic{color:#247d7a;background:#247d7a1a}.tree-icon-instance{color:#73598e;background:#73598e1a}.tree-node:hover{background:#214d650d}.tree-node.active{background:#214d6514;border-color:#214d6529}.tree-indent{padding-left:18px}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#14203314;color:var(--muted);font-size:12px}.toolbar{display:flex;flex-wrap:wrap;gap:8px}.input,.select,.textarea{width:100%;border:1px solid var(--line);background:#0b0f14b8;color:var(--text);border-radius:14px;padding:11px 12px}.textarea{min-height:88px;resize:vertical}.segmented{display:inline-flex;padding:4px;border-radius:999px;background:var(--panel-2);gap:4px}.segmented button{min-height:34px;padding:0 12px;border-radius:999px;color:var(--muted)}.segmented button.active{background:var(--panel);color:var(--text);box-shadow:0 2px 8px #14203314}.workspace-frame{display:flex;flex-direction:column;gap:14px}.workspace-main{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:16px}.hub-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:18px;align-items:center;padding:22px}.hub-title{margin:0;font-size:34px;line-height:1.1;letter-spacing:0}.hub-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.hub-main{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr)}.canvas{min-height:500px;border-radius:12px;background:linear-gradient(145deg,rgba(76,201,166,.1),transparent 42%),linear-gradient(180deg,#111820f0,#0b0f14e0);border:1px solid var(--line);position:relative;overflow:hidden}.canvas:after{content:"";position:absolute;top:18px;right:18px;bottom:18px;left:18px;border:1px dashed rgba(20,32,51,.14);border-radius:18px}.image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.thumb{border:1px solid var(--line);border-radius:16px;background:#111820c7;padding:10px;display:flex;flex-direction:column;gap:8px}.thumb.active{border-color:#214d6561;box-shadow:0 0 0 3px #214d6514}@property --glass-x{syntax: "<percentage>"; inherits: false; initial-value: 50%;}@property --glass-y{syntax: "<percentage>"; inherits: false; initial-value: 50%;}.landing-page{--pointer-x: 50%;--pointer-y: 50%;--background-x: 50%;--background-y: 50%;--water-angle: 0deg;--water-speed: 0;position:relative;overflow:hidden;width:100%;max-width:none;min-height:100vh;padding:24px;background:linear-gradient(115deg,#f5fbff38,#fffaf114 44%,#eef9f647),url(/assets/login-background.webp) var(--background-x) var(--background-y) / cover no-repeat fixed;color:#12302f;transition:background-position .9s cubic-bezier(.16,1,.3,1)}.landing-page:before{content:"";position:fixed;z-index:0;top:-12%;right:-12%;bottom:-12%;left:-12%;pointer-events:none;opacity:.3;background:linear-gradient(112deg,transparent 24%,rgba(255,255,255,.28) 48%,transparent 74%),linear-gradient(68deg,transparent 28%,rgba(132,235,214,.16) 52%,transparent 76%);background-size:180% 180%,220% 180%;animation:landing-water-flow 18s ease-in-out infinite alternate}.landing-page:after{content:"";position:fixed;z-index:0;left:var(--pointer-x);top:var(--pointer-y);width:min(88vw,980px);height:170px;pointer-events:none;opacity:calc(.04 + (var(--water-speed) * .22));background:linear-gradient(90deg,transparent 4%,rgba(255,255,255,.34) 48%,transparent 96%);border-radius:50%;filter:blur(16px);transform:translate(-50%,-50%) rotate(var(--water-angle)) scaleX(calc(1 + (var(--water-speed) * .85)));transform-origin:50% 50%;transition:left .62s cubic-bezier(.16,1,.3,1),top .62s cubic-bezier(.16,1,.3,1),transform .76s cubic-bezier(.16,1,.3,1),opacity .26s ease-out}.landing-page :focus-visible{outline:3px solid rgba(12,115,106,.44);outline-offset:3px}.landing-surface{--glass-x: 50%;--glass-y: 50%;position:relative;overflow:hidden;isolation:isolate;background:transparent;border:1px solid rgba(255,255,255,.62);border-radius:16px;box-shadow:0 8px 14px #1f3e381f,inset 0 1px #ffffffbd;transition:box-shadow .42s ease}.landing-surface:after{content:"";position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;pointer-events:none;background:#f8fdfc66;backdrop-filter:blur(28px) saturate(1.06);-webkit-backdrop-filter:blur(28px) saturate(1.06);transition:--glass-x .62s cubic-bezier(.16,1,.3,1),--glass-y .62s cubic-bezier(.16,1,.3,1),background .42s ease,-webkit-mask-image .62s ease,mask-image .62s ease}.landing-surface[data-glass-active=true]:after{background:#f8fdfc4d;-webkit-mask-image:radial-gradient(circle min(44vw,520px) at var(--glass-x) var(--glass-y),transparent 0 48%,#000 76%);mask-image:radial-gradient(circle min(44vw,520px) at var(--glass-x) var(--glass-y),transparent 0 48%,#000 76%)}.landing-surface[data-glass-active=true]{box-shadow:0 8px 14px #1f3e3812,inset 0 1px #ffffffd1}.landing-entry-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(272px,320px) minmax(0,1fr);gap:16px;align-items:stretch;width:min(1440px,100%);min-height:calc(100vh - 48px);margin:0 auto}.landing-side-panel,.landing-hero-panel{padding:clamp(24px,3vw,42px)}.landing-side-panel{display:flex;flex-direction:column;gap:34px;z-index:2;overflow:visible}.landing-hero-panel{display:flex;align-items:stretch;min-height:640px;overflow:visible}.landing-hero-panel:before,.landing-side-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-repeat:no-repeat}.landing-side-panel>*,.landing-hero-panel>*{position:relative;z-index:1}.landing-hero-panel:before{opacity:.58;background:linear-gradient(135deg,rgba(255,255,255,.44),transparent 46%)}.landing-side-panel:before{opacity:.46;background:linear-gradient(160deg,rgba(255,255,255,.46),transparent 52%)}.landing-hero-content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;gap:32px;width:min(100%,760px);min-height:560px;margin:auto;padding:56px 0 132px}.landing-hero-content>div:first-child{max-width:600px}.landing-title{margin:0 0 12px;font-size:clamp(44px,5.4vw,76px);line-height:1.08;letter-spacing:0;max-width:none;text-wrap:balance}.landing-title span{display:block}.landing-title .landing-product-name{margin-bottom:12px;font-size:.28em;font-weight:700;color:#0b6e64}.landing-copy{margin:0;max-width:34rem;font-size:18px;line-height:1.7;color:#285550;text-wrap:pretty}.landing-copy span{display:block}.landing-action-row{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding-top:10px}.landing-action-row .button{min-height:48px;padding:0 20px;background:#0c756b;color:#fff;border:1px solid #0c756b;box-shadow:0 6px 12px #08433d33;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.landing-action-row .button:hover{background:#085f57;box-shadow:0 8px 14px #08433d3d;transform:translateY(-2px)}.landing-action-row span{color:#426965;font-size:14px}.landing-task-support{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:22px;border-top:1px solid rgba(255,255,255,.5)}.landing-task-support>span,.landing-task-support button{border-radius:999px;padding:6px 10px;color:#2a5752;background:#ffffff4d;border:1px solid rgba(255,255,255,.5);font-size:13px;font-family:inherit;line-height:1.35;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.landing-task-support button{cursor:pointer}.landing-task-support button:hover,.landing-task-support button:focus-visible{transform:translateY(-2px);color:#0a675e;background:#ffffff80;border-color:#ffffffc2}.landing-task-support button[aria-selected=true]{color:#fff;background:#0c756b;border-color:#0c756b;box-shadow:0 4px 10px #08433d2e}.landing-task-support .landing-task-label{padding-left:0;color:#426965;background:transparent;border-color:transparent;font-weight:700}.landing-task-support .landing-task-label:hover{color:#426965;background:transparent;border-color:transparent;transform:none}.landing-task-preview{position:absolute;z-index:1;top:clamp(108px,16vh,176px);right:clamp(24px,2.2vw,48px);width:min(240px,24%);margin:0;color:#0b6e64;pointer-events:none}.landing-task-illustration{display:block;width:100%;height:auto;filter:drop-shadow(0 10px 16px rgba(26,74,68,.14))}.landing-task-preview figcaption{margin-top:2px;color:#47716c;font-size:12px;font-weight:700;letter-spacing:0;text-align:right}.illustration-base{fill:#f7fffd94;stroke:#ffffffe0;stroke-width:2}.illustration-teal{fill:#61bcb1}.illustration-sky{fill:#92c5df}.illustration-coral{fill:#db9274}.illustration-ink{fill:none;stroke:#143b37;stroke-linecap:round;stroke-linejoin:round;stroke-width:3}.illustration-route{fill:none;stroke:#0c756b;stroke-dasharray:5 6;stroke-linecap:round;stroke-width:2}.illustration-sky-fill{fill:#a8d7ec;fill-opacity:.58}.illustration-detection-one{fill:none;stroke:#0c756b;stroke-width:3}.illustration-detection-two{fill:none;stroke:#d2755d;stroke-width:3}.illustration-teal-fill{fill:#61bcb1;fill-opacity:.48}.illustration-coral-fill{fill:#db9274;fill-opacity:.5}.illustration-node{fill:#fff;stroke:#0c756b;stroke-width:2}.landing-footer{position:fixed;z-index:4;left:50%;bottom:18px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 14px;width:min(780px,calc(100vw - 48px));padding:12px 18px;color:#557773;background:#f8fdfc75;border:1px solid rgba(255,255,255,.7);border-radius:14px;box-shadow:0 8px 14px #1f3e381f,inset 0 1px #ffffffd6;backdrop-filter:blur(24px) saturate(1.04);-webkit-backdrop-filter:blur(24px) saturate(1.04);font-size:12px;line-height:1.5;transform:translate(-50%)}.landing-footer a{color:#0b6e64;text-decoration:none}.landing-footer a:hover{text-decoration:underline}@keyframes landing-water-flow{0%{background-position:-22% 42%,118% 58%}50%{background-position:48% 56%,42% 38%}to{background-position:124% 46%,-18% 62%}}.landing-side-panel .section-title{color:#4c6f6b}.landing-side-copy{position:relative;z-index:1;margin:10px 0 0;color:#27524e;font-size:16px;line-height:1.7;text-wrap:pretty}.flow-steps{display:grid;gap:10px}.flow-step{padding:12px 14px;border-radius:16px;background:#111820bd;border:1px solid var(--line)}.landing-time-tree{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:space-between;min-height:390px;margin-top:4px}.landing-time-tree:before{content:"";position:absolute;left:15px;top:18px;bottom:18px;width:1px;background:linear-gradient(180deg,#0c756b6b,#0c756b14)}.time-tree-item{position:relative;min-width:0;padding:0}.time-tree-item button{position:relative;z-index:1;display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;width:100%;padding:8px 10px 8px 0;color:inherit;text-align:left;background:transparent;border:0;border-radius:10px;cursor:pointer;transition:background .18s ease,color .18s ease}.time-tree-item button>span:first-child{position:relative;z-index:1;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#0a675e;background:#ffffff70;border:1px solid rgba(255,255,255,.66);font-size:11px;font-weight:700;transition:background .18s ease,border-color .18s ease,color .18s ease}.time-tree-copy{display:grid;gap:2px;min-width:0}.time-tree-copy>span{color:#557773;font-size:13px;line-height:1.55}.time-tree-copy strong{display:block;font-size:15px;color:#163d39}.time-tree-item button:hover,.time-tree-item button:focus-visible,.time-tree-item button[aria-pressed=true]{background:#fff3}.time-tree-item button:hover>span:first-child,.time-tree-item button:focus-visible>span:first-child,.time-tree-item button[aria-pressed=true]>span:first-child{color:#fff;background:#0c756b;border-color:#0c756b}.time-tree-item .landing-flow-detail{position:absolute;z-index:3;top:calc(100% - 6px);left:44px;bottom:auto;display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;width:min(300px,calc(100vw - 100px));padding:16px 18px;color:#1b4440;background:#fbfffe94;border:1px solid rgba(255,255,255,.72);border-radius:14px;box-shadow:0 8px 14px #1f3e3824,inset 0 1px #ffffffd6;backdrop-filter:blur(24px) saturate(1.05);-webkit-backdrop-filter:blur(24px) saturate(1.05)}.time-tree-item:last-child .landing-flow-detail{top:auto;bottom:calc(100% - 6px)}.landing-flow-detail>span{display:grid;width:46px;height:46px;place-items:center;color:#0b6e64;background:#def7efad;border-radius:12px;font-size:13px;font-weight:700}.landing-flow-detail strong{display:block;font-size:15px;line-height:1.45}.landing-flow-detail p{margin:4px 0 0;color:#4b6e69;font-size:14px;line-height:1.55}.topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.auth-header{padding:14px;margin-bottom:16px}.auth-toolbar{justify-content:flex-end}.status-dot{width:10px;height:10px;border-radius:999px;background:var(--good)}.status-dot.warn{background:var(--warn)}.status-dot.bad{background:var(--bad)}@media (max-width: 1200px){.grid-shell,.studio-grid-shell{grid-template-columns:280px minmax(0,1fr)}.grid-shell .right-rail,.studio-grid-shell .right-rail{display:none}}@media (max-width: 900px){.page{width:min(100vw - 20px,100vw);padding-top:12px}.grid-shell,.studio-grid-shell,.workspace-main,.hub-hero,.landing-entry-grid{grid-template-columns:minmax(0,1fr)}.landing-entry-grid{min-height:auto}.landing-hero-panel{order:-1;flex-direction:column;min-height:auto;grid-template-columns:minmax(0,1fr)}.landing-title{max-width:10ch;font-size:clamp(42px,12vw,54px)}.landing-hero-content{min-height:auto;margin:0;padding:0}.landing-page{padding:10px;background-attachment:scroll,scroll;overflow-x:clip;overflow-y:visible}.landing-side-panel,.landing-hero-panel{padding:20px}.landing-side-panel{gap:18px}.landing-time-tree{flex:initial;justify-content:flex-start;min-height:auto;gap:22px}.time-tree-item .landing-flow-detail{position:relative;left:auto;top:auto;bottom:auto;width:calc(100% - 44px);margin:6px 0 2px 44px}.time-tree-item:last-child .landing-flow-detail{bottom:auto}.landing-action-row{align-items:stretch;flex-direction:column}.landing-action-row span{max-width:32ch}.landing-task-preview{position:relative;top:auto;right:auto;width:min(250px,76%);margin:16px 0 0 auto}.landing-footer{position:relative;left:auto;bottom:auto;width:min(100%,540px);margin:10px auto 18px;transform:none}.landing-action-row .button{width:100%;justify-content:center}.card-grid,.panel-page-grid,.panel-page-grid.two,.hub-metrics,.image-grid{grid-template-columns:minmax(0,1fr)}.studio-tabs{display:flex;overflow-x:auto}.studio-tabs button{flex:0 0 auto;padding:0 12px}.studio-command-main{flex-direction:column}.auth-header-row{align-items:flex-start;flex-direction:column}.auth-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.auth-toolbar .button{width:100%}.rail{min-height:auto}.studio-grid-shell>.studio-spine{order:-1}}@media (prefers-reduced-motion: reduce){.landing-page:before,.landing-page:after,.landing-page *,.landing-page *:before,.landing-page *:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.landing-action-row .button:hover,.landing-task-support button:hover{transform:none}}
