@import"https://fonts.googleapis.com/css2?family=Rajdhani:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--bg-0: #dce2e9;--bg-1: #ccd5df;--bg-2: #bac6d2;--ink: #11263a;--ink-soft: #4d6278;--panel: #f7f9fc;--panel-line: #c7d1dd;--panel-soft: #eef3f9;--steel-950: #111920;--steel-900: #16212c;--steel-850: #1b2a37;--steel-800: #243548;--steel-700: #2f465e;--steel-200: #9fb0c3;--accent: #f97316;--accent-strong: #db620d;--accent-soft: #ffeddc;--ok: #1f9d77;--warn: #e24a3b;--busy: #e09b16;--glow: 0 16px 30px rgba(16, 39, 62, .12);--app-min-height: 760px}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;min-height:100%}body{font-family:IBM Plex Sans,Avenir Next,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(circle at 8% -8%,#f2f6fb 0%,transparent 32%),radial-gradient(circle at 95% 112%,#b7c7d9 0%,transparent 34%),linear-gradient(155deg,var(--bg-0) 0%,var(--bg-1) 54%,var(--bg-2) 100%);min-height:100vh;overflow-y:auto}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(26,46,66,.02) 0,rgba(26,46,66,.02) 1px,transparent 1px,transparent 32px),repeating-linear-gradient(90deg,rgba(26,46,66,.02) 0,rgba(26,46,66,.02) 1px,transparent 1px,transparent 32px)}button,input,textarea,select{font:inherit}.login-shell{position:relative;z-index:1;height:100%;display:grid;place-items:center;padding:24px}.login-card{width:min(460px,96vw);background:linear-gradient(180deg,#f8fbff,#edf3fa);border:1px solid #bdcedf;border-radius:16px;padding:24px;box-shadow:0 24px 48px #10273e38}.login-brand{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;border:1px solid #c4d4e6;background:#f0f6fe;color:#2b4f6f;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.login-card h1{margin:14px 0 6px;font-family:Rajdhani,IBM Plex Sans,sans-serif;font-size:34px;letter-spacing:.02em;color:#173651}.login-card p{margin:0 0 14px;color:#4a6178}.login-form{display:flex;flex-direction:column;gap:10px}.login-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700;color:#274867}.login-error{margin:2px 0 0;color:#b23818;font-size:13px;font-weight:600}.app-shell{position:relative;z-index:1;display:grid;grid-template-columns:320px 1fr;height:100dvh;min-height:0;overflow-x:hidden;overflow-y:auto}.app-shell.sidebar-hidden{grid-template-columns:1fr}.app-shell.sidebar-hidden .sidebar{display:none}.sidebar{position:relative;background:linear-gradient(180deg,var(--steel-900) 0%,var(--steel-850) 52%,#122130 100%);color:#e6f0fb;border-right:1px solid #2e4560;display:flex;flex-direction:column;min-height:0;overflow:hidden}.sidebar:after{content:"";position:absolute;top:0;right:0;width:2px;height:100%;background:linear-gradient(180deg,transparent 0%,rgba(249,115,22,.7) 46%,transparent 100%)}.sidebar-logo-strip{background:#fff;border-bottom:1px solid #d2deea;padding:5px 12px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.sidebar-logo-image{display:block;width:min(100%,125px);height:auto;object-fit:contain}.sidebar-header{padding:16px;border-bottom:1px solid #2b4560;display:flex;align-items:center;justify-content:space-between;gap:10px;flex:0 0 auto}.sidebar-header h2{margin:0;font-family:Rajdhani,IBM Plex Sans,sans-serif;font-size:30px;letter-spacing:.03em}.project-list{flex:1 1 auto;min-height:0;max-height:100%;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(139,172,204,.72) rgba(217,232,248,.14);overscroll-behavior:contain;padding:10px;display:flex;flex-direction:column;gap:8px}.project-list::-webkit-scrollbar{width:10px}.project-list::-webkit-scrollbar-track{background:#d9e8f824;border-radius:999px}.project-list::-webkit-scrollbar-thumb{background:#8bacccb8;border-radius:999px;border:2px solid transparent;background-clip:padding-box}.project-list::-webkit-scrollbar-thumb:hover{background:#aac9e8e6;background-clip:padding-box}.project-list-item{background:linear-gradient(165deg,#ecf6ff14,#d0e0f508);border:1px solid rgba(173,198,225,.22);border-radius:12px;color:#ebf4ff;text-align:left;padding:12px;cursor:pointer;transition:transform .16s ease,border-color .2s ease,background .2s ease}.project-list-item:hover,.project-list-item.active{border-color:#f97316b3;background:linear-gradient(165deg,#f3faff38,#d4e5f81f);transform:translate(2px)}.project-list-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.project-list-row.muted{margin-top:6px;font-size:13px;color:#c4d7ec}.sidebar-footer{border-top:1px solid #2b4560;padding:12px 16px;font-size:12px;color:#bdd0e7;flex:0 0 auto}.sidebar-footer p{margin:6px 0}.status-inline{display:flex;align-items:center;gap:8px}.status-led{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 4px #ffffff14}.status-led.ok{background:var(--ok)}.status-led.warn{background:var(--warn)}.status-led.busy{background:var(--busy)}.main-panel{display:flex;flex-direction:column;min-width:0;min-height:0;overflow-x:hidden;overflow-y:visible;padding:10px;gap:6px}.menu-bar{position:relative;z-index:20;background:linear-gradient(180deg,#f8fbff,#edf3fa);border:1px solid var(--panel-line);border-radius:12px;padding:6px 8px;display:flex;align-items:center;gap:6px;box-shadow:inset 0 1px #ffffffb3;flex-shrink:0}.menu-group{position:relative}.sidebar-toggle-btn{width:34px;min-width:34px;height:34px;border:1px solid #becfe2;background:linear-gradient(180deg,#f2f7fd,#e4edf9);color:#1a3f62;border-radius:8px;padding:0;display:grid;place-items:center;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .12s ease}.sidebar-toggle-btn:hover{border-color:#95afcc;background:linear-gradient(180deg,#eaf2fb,#d8e5f4);transform:translateY(-1px)}.sidebar-toggle-btn svg{width:18px;height:18px;stroke:currentcolor}.menu-btn{border:1px solid #becfe2;background:linear-gradient(180deg,#f2f7fd,#e4edf9);color:#1a3f62;border-radius:8px;padding:7px 12px;font-family:Rajdhani,IBM Plex Sans,sans-serif;font-weight:700;letter-spacing:.04em;cursor:pointer;text-transform:uppercase}.menu-btn.open,.menu-btn:hover{border-color:#95afcc;background:linear-gradient(180deg,#eaf2fb,#d8e5f4)}.menu-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:230px;background:#fff;border:1px solid #b8cee6;border-radius:10px;box-shadow:0 12px 28px #11294533;padding:6px;display:flex;flex-direction:column;gap:4px;z-index:80}.menu-item{border:1px solid transparent;background:#f6faff;color:#1a3f61;border-radius:8px;text-align:left;padding:8px 10px;cursor:pointer;font-weight:600}.menu-item:hover:not(:disabled){background:#e9f2ff;border-color:#c7daf0}.menu-item:disabled{opacity:.52;cursor:not-allowed}.menu-inline-btn{border:1px solid #1d4f79;background:linear-gradient(180deg,#255e92,#1c4b75);color:#fff;border-radius:8px;padding:7px 12px;cursor:pointer;font-family:Rajdhani,IBM Plex Sans,sans-serif;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.menu-inline-btn:disabled{opacity:.6;cursor:not-allowed}.menu-inline-btn:hover:not(:disabled){background:linear-gradient(180deg,#1f5688,#163e62)}.menu-inline-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.menu-inline-btn-danger{border-color:#852a1f;background:linear-gradient(180deg,#bf4638,#9f2f24)}.menu-inline-btn-danger:hover:not(:disabled){background:linear-gradient(180deg,#ad3f32,#8c281f)}.hero{position:relative;overflow:hidden;background:linear-gradient(110deg,#102433,#173e61,#20567a),linear-gradient(180deg,rgba(255,255,255,.06) 0%,transparent 100%);border:1px solid #32587d;border-radius:16px;padding:14px 16px;color:#eef7ff;display:flex;justify-content:space-between;gap:14px;align-items:stretch;min-height:140px;box-shadow:var(--glow);animation:rise-in .35s ease;flex-shrink:0}.hero:after{content:"";position:absolute;right:-60px;top:-70px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle at center,#82bbee52,#82bbee05 66%)}.hero-title-block{position:relative;z-index:2}.hero-kicker{display:inline-block;margin-bottom:8px;padding:2px 8px;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#c6def5}.hero h1{margin:0;font-family:Rajdhani,IBM Plex Sans,sans-serif;font-size:38px;line-height:1.06;letter-spacing:.02em}.hero p{margin:8px 0 0;color:#d2e6f8;font-size:14px;max-width:720px}.hero-right{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-width:340px}.hero-chips{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.chip{padding:6px 10px;border-radius:999px;background:#ffffff1f;border:1px solid rgba(255,255,255,.28);font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:500}.chip-live{background:#f9731638;border-color:#ffba84bf;color:#ffeddf}.hero-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.hero-metric{border:1px solid rgba(145,185,220,.45);background:#0b182561;border-radius:10px;padding:7px 8px;text-align:right}.hero-metric span{display:block;font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#bed7ee}.hero-metric strong{display:block;margin-top:4px;font-size:18px;color:#f4fbff}.tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;flex-shrink:0}.tab-btn{background:linear-gradient(180deg,#e7eef7,#d9e4f2);border:1px solid #a8bbcf;border-radius:10px;color:#223f5f;display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;font-family:Rajdhani,IBM Plex Sans,sans-serif;font-weight:700;letter-spacing:.025em;min-height:44px;justify-content:center;transition:transform .16s ease,border-color .18s ease,background .18s ease}.tab-btn:hover{transform:translateY(-1px);border-color:#8ba6c1}.tab-btn.active{background:linear-gradient(180deg,#fff,#edf3fa);border-color:#7f97af;box-shadow:inset 0 2px #f9731699;color:#10293f}.tab-icon{width:24px;height:24px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#295176,#1a3550);color:#dcecff}.tab-icon svg{width:15px;height:15px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.tab-label{white-space:nowrap}.status-bar{background:linear-gradient(180deg,#f8fbff,#eef4fb);border:1px solid var(--panel-line);border-radius:10px;padding:8px 12px;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ink-soft);font-weight:700;box-shadow:inset 0 1px #ffffffd9;flex-shrink:0}.job-progress-panel{background:linear-gradient(180deg,#f8fbff,#edf3fa);border:1px solid var(--panel-line);border-radius:10px;padding:8px 10px;flex-shrink:0}.job-progress-head,.job-progress-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#3d5872}.job-progress-head{font-weight:700}.job-progress-foot{margin-top:6px}.job-progress-track{margin-top:7px;width:100%;height:11px;border-radius:999px;border:1px solid #c1d1e2;background:linear-gradient(180deg,#e3ebf5,#d9e4f0);overflow:hidden}.job-progress-fill{height:100%;width:0%;border-radius:999px;transition:width .35s ease;background:linear-gradient(90deg,#ec9a29,#f97316)}.job-progress-fill.completed{background:linear-gradient(90deg,#249474,#1f9d77)}.job-progress-fill.failed{background:linear-gradient(90deg,#ce4c3e,#b53a2d)}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid #c8d7e7;border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-bar{background:#fff2ed;border:1px solid #f1c7b6;color:#a33814;border-radius:10px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.link-btn{border:0;background:transparent;color:inherit;cursor:pointer;font-weight:700;text-decoration:underline}.workspace{background:linear-gradient(180deg,#fbfdff,#f4f8fc);border:1px solid var(--panel-line);border-radius:14px;padding:12px;overflow:auto;min-height:0;box-shadow:var(--glow);animation:rise-in .26s ease}.workspace.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:12px}.workspace.two-col.project-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.workspace.two-col.project-workspace.project-workspace-expanded{grid-template-columns:minmax(0,1fr)}.project-settings-card.is-expanded{grid-column:1 / -1}.project-settings-card.is-browser-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3600;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border-radius:0;border:0;padding:14px;overflow-y:auto;overflow-x:hidden}.api-workspace{overflow-x:hidden}.api-workspace .card{min-width:0;overflow-x:hidden}.api-workspace .form-grid{grid-template-columns:minmax(0,1fr)}.api-workspace .check-field{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:start;column-gap:8px;min-width:0;white-space:normal}.api-workspace .check-field input[type=checkbox]{grid-column:1;grid-row:1;align-self:start;margin:2px 0 0}.card{background:linear-gradient(180deg,#f4f8fd,#edf3fa);border:1px solid #d3deeb;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:10px;min-height:0;min-width:0;max-width:100%;overflow-x:hidden}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid #dae4f0}.card-head h3,.card h3{margin:0;font-family:Rajdhani,IBM Plex Sans,sans-serif;font-size:24px;letter-spacing:.02em}.card-head p{margin:4px 0 0;color:var(--ink-soft);font-size:13px}.project-head{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px}.project-head-top{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:start;gap:10px}.project-head-meta{min-width:0}.project-head h3{width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.04;font-size:clamp(28px,2.2vw,38px)}.project-head p{margin:0;font-size:11px;color:#5e7894;letter-spacing:.02em}.project-card-expand-btn{width:34px;min-width:34px;height:34px;justify-self:end;border:1px solid #b9cce0;border-radius:9px;background:linear-gradient(180deg,#edf4fc,#dfeaf7);color:#1c4468;display:grid;place-items:center;cursor:pointer;transition:transform .12s ease,border-color .2s ease,background .2s ease}.project-card-expand-btn:hover{transform:translateY(-1px);border-color:#91abc8;background:linear-gradient(180deg,#e5eef9,#d3e2f2)}.project-card-expand-btn svg{width:16px;height:16px;stroke:currentcolor}.card-head.compact h3{font-size:21px}.button-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0;max-width:100%}.button-row.small{gap:6px}.project-main-actions .btn-process-all{margin-left:16px}.btn-save-project{background:linear-gradient(180deg,#2f8f66,#1f6f4d);border-color:#15553a;color:#fff}.btn-save-project:hover:not(:disabled){background:linear-gradient(180deg,#288058,#1a5e42)}.btn{border:1px solid transparent;border-radius:10px;padding:9px 12px;font-family:Rajdhani,IBM Plex Sans,sans-serif;font-size:15px;letter-spacing:.03em;font-weight:700;text-transform:uppercase;cursor:pointer;transition:transform .12s ease,opacity .2s ease,background .2s ease,border-color .2s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn-primary{background:linear-gradient(180deg,#fb8a35 0%,var(--accent) 100%);border-color:#c95a10;color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#ef7d2a 0%,var(--accent-strong) 100%)}.btn-secondary{background:linear-gradient(180deg,#2a557b,#1e3f5f);border-color:#163652;color:#fff}.btn-secondary:hover:not(:disabled){background:linear-gradient(180deg,#244b6f,#17334d)}.btn-ghost{background:linear-gradient(180deg,#dfe9f5,#cedcec);border-color:#aac0d8;color:#1f4669}.btn-danger{background:linear-gradient(180deg,#d14a3d,#b8382d);border-color:#8b251d;color:#fff}.btn-danger:hover:not(:disabled){background:linear-gradient(180deg,#be4337,#a62f25)}.btn-active{background:linear-gradient(180deg,#c7d9ec,#b8cde4);border-color:#8da7c2;color:#132f4d}.field-label{font-family:Rajdhani,IBM Plex Sans,sans-serif;font-size:16px;font-weight:700;color:#1f425f;letter-spacing:.03em}.prompt-area,.report-view,textarea,input,select{width:100%;border:1px solid #b7c8db;border-radius:10px;padding:10px;background:#fff;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:2px solid rgba(249,115,22,.2);border-color:#d6a67f}.prompt-area{min-height:190px}.type-config-panel{border:1px solid #c9d9ea;border-radius:10px;background:linear-gradient(180deg,#f6fafe,#edf4fb);padding:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;max-width:100%;overflow-x:hidden}.type-config-panel>*{min-width:0;max-width:100%}.type-config-panel .muted-note{grid-column:1 / -1;margin:2px 0 0}.type-config-panel .button-row{grid-column:1 / -1;margin-top:2px}.object-input-mode-row{grid-column:1 / -1;display:grid;gap:6px}.object-mode-toggle{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.btn-mode-option{min-width:170px}.btn-mode-option-active{border-color:#7e9cbc;background:linear-gradient(180deg,#d6e5f5,#c8daee);color:#173654}.object-mode-note{margin:0}.input-mode-disabled{opacity:.56}.object-reference-upload-row{grid-column:1 / -1;display:grid;gap:7px}.object-upload-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto;align-self:start}.object-upload-icon{width:16px;height:16px;stroke:currentColor}.object-reference-actions{grid-column:1 / -1}.object-reference-toolbar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.object-reference-list{grid-column:1 / -1;display:grid;gap:7px}.object-reference-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #c9d9ea;border-radius:9px;background:#f7fbff;padding:6px 8px}.object-reference-row.active{border-color:#7e9cbc;box-shadow:inset 0 0 0 1px #a8c0da;background:#eef5fd}.object-reference-select{width:56px;height:56px;border:1px solid #9fb5cc;border-radius:8px;padding:0;background:#d8e7f7;cursor:pointer;overflow:hidden;display:grid;place-items:center}.object-reference-select img{width:100%;height:100%;object-fit:cover;display:block}.object-reference-fallback{font-family:IBM Plex Mono,monospace;font-size:12px;color:#38597b}.object-reference-meta{min-width:0;display:grid;gap:4px}.object-reference-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-reference-meta span{font-size:12px;color:#4a6581}.object-roi-toolbar{grid-column:1 / -1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.object-roi-count{font-family:IBM Plex Mono,monospace;font-size:12px;color:#355674}.object-roi-list{grid-column:1 / -1;display:grid;gap:6px}.object-roi-row{display:grid;grid-template-columns:auto minmax(160px,1fr) auto auto;align-items:center;gap:8px;border:1px solid #c9d9ea;border-radius:9px;background:#f7fbff;padding:6px 8px}.object-roi-row.active{border-color:#7e9cbc;box-shadow:inset 0 0 0 1px #a8c0da;background:#eef5fd}.object-roi-select{border:1px solid #9fb5cc;background:#d9e8f7;color:#1f3f5e;border-radius:7px;padding:4px 8px;font-family:IBM Plex Mono,monospace;cursor:pointer}.object-roi-select:hover{background:#cce0f3}.object-roi-row input{min-width:0}.object-roi-meta{font-family:IBM Plex Mono,monospace;font-size:11px;color:#4d6883;white-space:nowrap}.btn-roi-remove{min-width:88px}.crop-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0;max-width:100%;justify-items:center}.crop-grid>*{min-width:0;max-width:100%}.crop-grid label{width:100%;max-width:210px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.crop-grid input{text-align:center}.reference-image-panel{grid-column:1 / -1;border:1px solid #cfdeee;border-radius:10px;background:#fff;padding:8px;max-width:360px;width:100%;min-width:0}.reference-image-canvas{position:relative;border-radius:8px;overflow:hidden;background:linear-gradient(180deg,#0d1927,#16283d);touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair}.reference-image-canvas.dragging{cursor:crosshair}.reference-image-canvas img{display:block;width:100%;height:auto;border-radius:8px;object-fit:contain;pointer-events:none}.reference-roi-rect{position:absolute;border:2px solid #ef5350;border-radius:6px;background:#ef535024;box-shadow:0 0 0 9999px #111f3042;pointer-events:none}.reference-roi-rect.reference-roi-primary{border-color:#ef5350;background:#ef535024;box-shadow:0 0 0 9999px #111f3042;z-index:5}.reference-roi-rect.reference-roi-secondary{border-color:#f4bf75f2;background:#f4bf751f;box-shadow:none;z-index:4}.sam2-click-selection-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:3}.sam2-click-selection-overlay polygon{fill:#4caf5033;stroke:#76ff7bf2;stroke-width:.32;vector-effect:non-scaling-stroke}.sam2-click-selection-point{fill:#ffeb3b;stroke:#162331f2;stroke-width:.22;vector-effect:non-scaling-stroke}.sam2-click-selection-point.positive{fill:#7dff97}.sam2-click-selection-point.negative{fill:#ff7a7a}.vision-region-selector{grid-column:1 / -1;display:grid;gap:8px}.vision-region-selector .reference-image-panel{max-width:520px}.sam2-point-list{grid-column:1 / -1;display:grid;gap:6px}.sam2-point-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid #c9d9ea;border-radius:9px;background:#f7fbff;padding:6px 8px}.sam2-point-chip{display:inline-flex;align-items:center;justify-content:center;min-width:78px;border-radius:999px;padding:4px 8px;font-size:11px;font-family:IBM Plex Mono,monospace;letter-spacing:.03em;text-transform:uppercase;border:1px solid #b9cde2;color:#2b4b67;background:#eaf2fb}.sam2-point-chip.positive{border-color:#8bc8b2;color:#175a46;background:#e2f7ef}.sam2-point-chip.negative{border-color:#e4a1a3;color:#8f2c34;background:#ffecee}.sam2-point-marker{position:absolute;width:14px;height:14px;border-radius:999px;transform:translate(-50%,-50%);border:2px solid #ffffff;box-shadow:0 0 0 1px #0c1f3473;pointer-events:none}.sam2-point-marker.positive{background:#16a34a}.sam2-point-marker.negative{background:#dc2626}.sam2-measure-header{grid-column:1 / -1;display:grid;gap:2px}.sam2-measure-header h4{margin:0;color:#173654;font-size:15px}.sam2-measure-layout{grid-column:1 / -1;display:grid;grid-template-columns:62px minmax(0,1fr);gap:0;align-items:stretch;min-height:460px;min-width:0;max-width:100%;border:1px solid #364554;border-radius:12px;overflow:visible;background:linear-gradient(180deg,#0f1a28,#122338);position:relative;isolation:isolate}.sam2-toolbox{border-right:none;background:transparent;border-top-left-radius:12px;border-bottom-left-radius:12px;padding:8px 6px;display:grid;gap:6px;min-width:0;max-width:100%;align-content:start;justify-items:center;min-height:0;height:100%;overflow:visible;position:relative;z-index:200}.sam2-toolbox-title{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#e7edf4;opacity:.86;text-align:center;margin-bottom:2px}.sam2-tool-btn{width:36px;min-height:36px;border:1px solid rgba(206,214,223,.3);border-radius:8px;background:linear-gradient(180deg,#ffffff14,#ffffff0a);color:#edf2f8;justify-content:center;position:relative}.sam2-tool-btn.icon-only{min-height:36px;padding:0}.sam2-tool-btn.icon-only svg{width:16px;height:16px;stroke:currentColor}.sam2-tool-btn[data-tip]:after{content:attr(data-tip);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background:#0c141ef0;color:#f0f4f9;border:1px solid rgba(200,214,231,.45);border-radius:6px;padding:4px 8px;font-size:11px;font-family:IBM Plex Sans,sans-serif;width:240px;max-width:240px;white-space:normal;line-height:1.35;box-shadow:0 8px 18px #070c1466;pointer-events:none;opacity:0;visibility:hidden;z-index:10000}.sam2-tool-btn[data-tip]:hover:after,.sam2-tool-btn[data-tip]:focus-visible:after{opacity:1;visibility:visible}.sam2-tool-btn:hover{border-color:#e6eef79e;background:linear-gradient(180deg,#fff3,#ffffff14)}.sam2-toolbox .sam2-tool-btn.btn-mode-option-active{border-color:#9fc9ee;background:linear-gradient(180deg,#2f79b8,#275f92);color:#fff;box-shadow:inset 0 0 0 1px #ffffff38}.sam2-toolbox-divider{height:1px;width:36px;background:#e7eef747;margin:2px 0}.sam2-measure-zoom-indicator{font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.03em;color:#edf2f8;background:#121e2c80;border:1px solid rgba(208,220,233,.4);border-radius:8px;width:36px;min-height:30px;font-size:11px;display:flex;align-items:center;justify-content:center}.sam2-measure-panel{padding:10px;max-width:none;min-width:0;width:100%;min-height:0;background:linear-gradient(180deg,#081527,#10213a);border-top-right-radius:12px;border-bottom-right-radius:12px;position:relative;z-index:1}.sam2-measure-canvas{position:relative;display:block;min-height:240px;height:clamp(320px,62vh,760px);cursor:crosshair;width:100%;max-width:100%;border:none;border-radius:8px;overflow:hidden;overscroll-behavior:none}.sam2-measure-canvas.panning{cursor:grabbing}.sam2-measure-canvas.tool-pan{cursor:grab}.sam2-measure-canvas.tool-pan.panning{cursor:grabbing}.sam2-measure-stage{position:absolute;top:0;left:0;transform-origin:top left;will-change:transform}.sam2-measure-stage img{width:100%;height:100%;object-fit:contain;display:block;border-radius:8px}.sam2-measure-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:auto}.sam2-measure-line{stroke:#32cd32;stroke-width:1.25;vector-effect:non-scaling-stroke;pointer-events:none}.sam2-measure-polygon{stroke:#32cd32;stroke-width:1.25;fill:#32cd3224;vector-effect:non-scaling-stroke;pointer-events:none}.sam2-measure-line-label{fill:#ffe8bf;font-family:IBM Plex Mono,monospace;font-size:2.25px;paint-order:stroke;stroke:#081523e6;stroke-width:.44;stroke-linejoin:round;pointer-events:none}.sam2-measure-point{fill:#ff7a1a;stroke:#fff;stroke-width:.16;vector-effect:non-scaling-stroke}.sam2-measure-point.draggable{pointer-events:all;cursor:grab}.sam2-measure-point.draggable:active{cursor:grabbing}.sam2-measure-draft-point{fill:#4d96ff;stroke:#fff;stroke-width:.16;vector-effect:non-scaling-stroke;pointer-events:none}.sam2-measure-draft-line{stroke:#4d96ff;stroke-width:.75;stroke-dasharray:1.2 .8;vector-effect:non-scaling-stroke;pointer-events:none}.sam2-measure-draft-polygon{fill:#4d96ff29}.sam2-measure-draft-line-label{fill:#dcefff;font-family:IBM Plex Mono,monospace;font-size:2.15px;paint-order:stroke;stroke:#081523db;stroke-width:.42;stroke-linejoin:round;pointer-events:none}.sam2-measure-angle-arc{fill:none;stroke:#ffd76a;stroke-width:.46;vector-effect:non-scaling-stroke;pointer-events:none}.sam2-measure-angle-label{fill:#fff2c7;font-family:IBM Plex Mono,monospace;font-size:2.35px;paint-order:stroke;stroke:#081523d9;stroke-width:.45;stroke-linejoin:round;pointer-events:none}.sam2-measure-draft-arc{fill:none;stroke:#8cc1ff;stroke-width:.42;stroke-dasharray:1.2 .8;vector-effect:non-scaling-stroke;pointer-events:none}.sam2-measure-draft-angle-label{fill:#d9ecff;font-family:IBM Plex Mono,monospace;font-size:2.2px;paint-order:stroke;stroke:#081523d1;stroke-width:.42;stroke-linejoin:round;pointer-events:none}.sam2-measure-table{grid-column:1 / -1;border:1px solid #c7d9ec;border-radius:10px;background:#f7fbff;height:240px;overflow:auto}.sam2-measure-table-head,.sam2-measure-table-row{display:grid;grid-template-columns:minmax(140px,1.2fr) 90px minmax(120px,1fr) 90px auto;gap:8px;align-items:center;padding:8px 10px;min-width:640px}.sam2-measure-table-head{background:#e7f0fa;font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.03em;color:#2d4f6f;position:sticky;top:0;z-index:1}.sam2-measure-table-row{border-top:1px solid #d5e4f4}.sam2-measure-table-head>span,.sam2-measure-table-row>span{min-width:0;overflow-wrap:anywhere}.sam2-measure-name-input{width:100%;min-width:0;height:32px;border:1px solid #b8cde2;border-radius:8px;background:#fff;color:#173654;font-family:IBM Plex Sans,sans-serif;font-size:13px;padding:4px 8px}.ai-measure-config-panel{max-height:none;overflow:visible;scrollbar-gutter:stable}.patchcore-status-grid{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;min-width:0}.patchcore-status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 12px;font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.04em;text-transform:uppercase;border:1px solid #c2d3e6;background:#ecf3fb;color:#345371}.patchcore-status-chip.trained{border-color:#90c8b5;background:#e5f5ee;color:#1a6a51}.patchcore-status-chip.training{border-color:#e1b07a;background:#fff1e3;color:#8f4f0c}.patchcore-status-chip.failed{border-color:#e0a4a4;background:#ffeaea;color:#a22d2d}.patchcore-status-meta{display:flex;gap:10px;flex-wrap:wrap;color:#48617b;font-size:12px}.patchcore-good-images-table{grid-column:1 / -1}.patchcore-good-images-table .data-table{min-width:0}.patchcore-good-thumb{width:44px;height:44px;object-fit:cover;border-radius:6px;border:1px solid #c7d8ea;background:#f4f8fd}.btn-inline-small{padding:6px 10px;font-size:12px}.patchcore-error-note{color:#a22d2d;font-weight:600}.advanced-request-block{grid-column:1 / -1;display:flex;flex-direction:column;gap:6px}.advanced-reference-table{grid-column:1 / -1}.advanced-reference-table.has-items{min-height:190px}.advanced-reference-table .data-table{min-width:0}.advanced-ref-thumb{width:64px;height:44px;object-fit:cover;border-radius:6px;border:1px solid #c7d8ea;background:#f4f8fd}.report-view{min-height:420px;resize:none;font-family:IBM Plex Mono,Menlo,monospace}.api-endpoint-box{border:1px solid #c7d8ea;border-radius:10px;background:linear-gradient(180deg,#f7fbff,#edf4fd);padding:10px;display:flex;flex-direction:column;gap:6px}.api-endpoint-box span{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#3d5872}.api-endpoint-box strong{font-family:IBM Plex Mono,monospace;font-size:13px;color:#173d62;word-break:break-all}.api-endpoint-box p{margin:0;color:#47607a;font-size:13px;line-height:1.4}.api-curl-view{min-width:0;max-width:100%;min-height:140px;overflow:auto;overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word;resize:none;font-family:IBM Plex Mono,Menlo,monospace;font-size:12px;background:#f5f9ff}.api-response-view{min-width:0;min-height:0;height:clamp(190px,42vh,330px);max-height:46vh;overflow:auto;overflow-wrap:anywhere;white-space:pre-wrap;resize:none;font-family:IBM Plex Mono,Menlo,monospace;font-size:12px;background:#f7fbff}.metric-grid{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;max-width:100%}.metric-tile{border-radius:10px;background:linear-gradient(180deg,#e7f0fb,#dae8f8);border:1px solid #bacde2;padding:10px;display:flex;flex-direction:column;gap:4px}.metric-tile span{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#335472}.metric-tile strong{font-size:24px}.metric-tile.pass{background:linear-gradient(180deg,#e3f6f0,#d4eee6);border-color:#95d2c1;color:#0f5f56}.metric-tile.fail{background:linear-gradient(180deg,#fff0e7,#ffe2d2);border-color:#e8b494;color:#9b3612}.table-wrap{overflow:auto;border:1px solid #c5d4e6;border-radius:10px;background:#f5f9fe}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th,.data-table td{padding:10px;border-bottom:1px solid #d8e4f2;text-align:left;vertical-align:top}.data-table th{position:sticky;top:0;background:linear-gradient(180deg,#d7e4f4,#c8d9ec);color:#1e4061;font-family:Rajdhani,IBM Plex Sans,sans-serif;font-size:16px;letter-spacing:.02em}.data-table tbody tr{cursor:pointer}.data-table tbody tr:nth-child(2n){background:#f9fcff}.data-table tbody tr.active-row{background:#e8f1fd}.empty-cell{text-align:center;color:var(--ink-soft)}.history-list{display:flex;flex-direction:column;gap:8px;overflow:auto;max-height:560px;padding-right:2px}.history-item{border:1px solid #c3d5ea;background:linear-gradient(180deg,#fff,#f7fbff);border-radius:10px;padding:8px;display:grid;grid-template-columns:56px 1fr;gap:10px;align-items:center;text-align:left;cursor:pointer;min-height:62px}.history-item:hover{border-color:#97b3cf}.history-item.active{border-color:#5985b2;background:linear-gradient(180deg,#edf5ff,#dceaf9)}.history-item img{width:52px;height:52px;min-width:52px;min-height:52px;max-width:52px;max-height:52px;object-fit:contain;object-position:center;background:linear-gradient(180deg,#0f1b2b,#15263b);padding:2px;border-radius:6px;border:1px solid #c6d7ea}.history-item strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item p{margin:4px 0 0;color:var(--ink-soft);font-size:12px}.preview-shell{position:relative;flex:1;height:clamp(320px,calc(100vh - 360px),760px);min-height:320px;max-height:760px;display:grid;place-items:center;padding:8px;background:radial-gradient(circle at 20% 15%,rgba(64,102,143,.28),transparent 36%),linear-gradient(165deg,#101a2a,#0f2236 52%,#18314a);border:1px solid #264666;border-radius:12px;overflow:hidden}.preview-shell.tool-pan{cursor:grab}.preview-shell.tool-pan.is-panning{cursor:grabbing}.preview-image{display:block;width:auto;height:auto;object-fit:contain;object-position:center;max-width:100%;max-height:100%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transition:transform .14s ease}.preview-shell.is-panning .preview-image{transition:none}.preview-shell .empty-hint{color:#d1e2f5}.preview-tools{position:absolute;top:10px;left:10px;z-index:6;display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid rgba(178,203,228,.48);border-radius:10px;background:#07101c57;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:.3;transition:opacity .2s ease,border-color .2s ease}.preview-shell:hover .preview-tools,.preview-shell.is-fullscreen .preview-tools{opacity:1}.preview-tool-btn{min-width:96px;border:1px solid rgba(174,199,224,.46);border-radius:8px;background:#0e1d2c8a;color:#e8f4ff;padding:6px 8px;text-align:left;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.03em;text-transform:uppercase;cursor:pointer}.preview-tool-btn:hover{background:#10273edb;border-color:#e2efffc2}.preview-tool-btn.active{background:#f973164d;border-color:#ffbd8be6}.preview-zoom-indicator{border:1px solid rgba(174,199,224,.38);border-radius:8px;background:#0a172580;color:#d8eafb;padding:5px 8px;font-family:IBM Plex Mono,monospace;font-size:11px;text-align:center}.preview-fullscreen-btn{position:absolute;top:10px;right:10px;z-index:5;border:1px solid rgba(198,219,240,.55);background:#07101c57;color:#e8f4ff;border-radius:999px;padding:6px 11px;font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:.24;transition:opacity .2s ease,background .2s ease,border-color .2s ease}.preview-shell:hover .preview-fullscreen-btn,.preview-shell.is-fullscreen .preview-fullscreen-btn{opacity:1}.preview-fullscreen-btn:hover{background:#0814229e;border-color:#fff9}.preview-shell.is-fullscreen,.preview-shell:fullscreen,.preview-shell:-webkit-full-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3500;width:100vw;height:100dvh;max-height:none;min-height:0;padding:12px;border:0;border-radius:0;background:radial-gradient(circle at 20% 15%,rgba(64,102,143,.2),transparent 36%),linear-gradient(165deg,#040a13,#0a1625 52%,#112337)}.preview-shell.is-fullscreen .preview-image,.preview-shell:fullscreen .preview-image,.preview-shell:-webkit-full-screen .preview-image{width:calc(100vw - 24px);height:calc(100dvh - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);object-fit:contain}.preview-shell.is-fullscreen .preview-tools,.preview-shell:fullscreen .preview-tools,.preview-shell:-webkit-full-screen .preview-tools{top:14px;left:14px;opacity:1}.preview-shell.is-fullscreen .preview-fullscreen-btn,.preview-shell:fullscreen .preview-fullscreen-btn,.preview-shell:-webkit-full-screen .preview-fullscreen-btn{top:14px;right:14px;opacity:1}.inspection-output-panel{border:1px solid #c7d8ea;background:linear-gradient(180deg,#f6faff,#eef5fd);border-radius:10px;padding:10px;min-width:0;max-width:100%}.inspection-output-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.inspection-output-head h4{margin:0;font-family:Rajdhani,IBM Plex Sans,sans-serif;font-size:18px;letter-spacing:.02em;color:#1f4261}.inspection-output-status{border:1px solid #9cb8d2;border-radius:999px;padding:3px 8px;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#214969;background:#e8f1fb}.inspection-output-status.error{border-color:#e4afb6;color:#7d1f2a;background:#ffecee}.inspection-output-status.ok{border-color:#a6c6da;color:#1d4f74;background:#e8f3fd}.inspection-output-text{margin:0;border:1px solid #d2e1f1;border-radius:8px;background:#fbfdff;color:#1f3b56;padding:10px;max-height:180px;overflow:auto;font-family:IBM Plex Sans,sans-serif;font-size:14px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.inspection-output-text.error{border-color:#e6b7bd;background:#fff4f5;color:#8b2330}.inspection-measurements{margin-top:10px;border:1px solid #ccdded;border-radius:8px;background:#f9fcff;overflow:hidden}.inspection-measurements-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border-bottom:1px solid #d7e5f3;background:#eef5fc;font-family:IBM Plex Mono,monospace;font-size:12px;color:#2a4e6f}.inspection-measurements-table{overflow-x:auto;overflow-y:hidden}.inspection-measurements-row{display:grid;grid-template-columns:minmax(150px,1.2fr) 80px minmax(120px,1fr) 90px;gap:8px;align-items:center;padding:7px 10px;min-width:560px;border-top:1px solid #e3edf7}.inspection-measurements-row.head{border-top:none;font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.03em;text-transform:uppercase;color:#2f4f6e;background:#f3f8fe}.inspection-measurements-row>span{min-width:0;overflow-wrap:anywhere}.badge{border-radius:999px;padding:4px 8px;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.05em;text-transform:uppercase;font-weight:600}.sev-high{background:#ffe7e9;color:#a61d24}.sev-medium{background:#fff3e4;color:#a9590e}.sev-low{background:#ecfcf8;color:#0f766e}.form-card label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700;color:#274867}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;max-width:100%}.form-grid>*{min-width:0;max-width:100%}.card label,.card p,.card h3,.card h4,.field-label,.muted-note{min-width:0;max-width:100%;overflow-wrap:anywhere}.check-field{flex-direction:row!important;align-items:center;gap:8px;background:#edf5ff;border:1px solid #cadef3;border-radius:10px;padding:9px}.muted-note{color:var(--ink-soft);font-size:13px}.empty-workspace{background:linear-gradient(180deg,#f9fcff,#f2f7fd);border:1px dashed #aac1d9;border-radius:12px;padding:22px;text-align:center;color:var(--ink-soft)}.empty-hint{color:var(--ink-soft);margin:0}.hidden-input{display:none}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a142294;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:20px;z-index:1000}.modal-card{width:min(1080px,96vw);max-height:90vh;overflow:auto;background:linear-gradient(180deg,#f8fbff,#eef4fb);border:1px solid #bdd2e8;border-radius:14px;padding:14px;box-shadow:0 24px 48px #00000040;animation:rise-in .2s ease}.alert-card{width:min(540px,94vw)}.alert-body{margin:10px 0 0;color:#1e3d5e;line-height:1.45}.about-panel{margin-top:10px;border:1px solid #c8d9eb;border-radius:12px;background:linear-gradient(180deg,#f8fbff,#eef4fb);padding:12px;display:flex;gap:14px;align-items:flex-start}.about-logo{width:180px;height:auto;object-fit:contain;background:#fff;border:1px solid #d3e0ee;border-radius:10px;padding:8px;flex:0 0 auto}.about-content{min-width:0}.about-company-name{margin:0;font-family:Rajdhani,IBM Plex Sans,sans-serif;font-size:24px;letter-spacing:.02em;color:#173b5e}.about-meta{margin:8px 0 0;color:#284866;font-size:14px}.about-meta a{color:#0f4f86;font-weight:700;text-decoration:none}.about-meta a:hover{text-decoration:underline}.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-family:Rajdhani,IBM Plex Sans,sans-serif;font-size:25px;letter-spacing:.02em}.launcher-grid{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:14px;min-height:0}.launcher-open-panel{display:flex;flex-direction:column;min-height:0}.launcher-open-panel h4{margin:0 0 8px}.launcher-list{flex:1 1 auto;min-height:0;max-height:clamp(180px,calc(90vh - 250px),58vh);overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#9db8d4 #e8f1fc;overscroll-behavior:contain;padding-right:4px;display:flex;flex-direction:column;gap:8px}.launcher-list::-webkit-scrollbar{width:10px}.launcher-list::-webkit-scrollbar-track{background:#e8f1fc;border-radius:999px}.launcher-list::-webkit-scrollbar-thumb{background:#9db8d4;border-radius:999px;border:2px solid transparent;background-clip:padding-box}.launcher-list::-webkit-scrollbar-thumb:hover{background:#7e9dbd;background-clip:padding-box}.launcher-item{border:1px solid #c6d7ea;border-radius:10px;background:linear-gradient(180deg,#fff,#f7fbff);text-align:left;padding:10px;cursor:pointer;display:flex;flex-direction:column;gap:6px}.launcher-item:hover{background:linear-gradient(180deg,#eef5ff,#e5effb)}.launcher-request-input{height:190px;min-height:190px;max-height:190px;resize:none;overflow-y:auto}@keyframes rise-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1360px){.hero{flex-direction:column;align-items:flex-start}.hero-right{width:100%;min-width:0}.hero-chips{justify-content:flex-start}}@media (max-width: 1240px){.app-shell{grid-template-columns:270px 1fr}.workspace.two-col{grid-template-columns:1fr}.tabs{grid-template-columns:repeat(4,minmax(120px,1fr))}}@media (max-width: 960px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.menu-bar,.tabs{overflow-x:auto;display:flex;min-height:48px}.sidebar-toggle-btn{display:none}.tab-btn{min-width:148px;flex:0 0 auto}.preview-shell{height:min(62vh,480px);min-height:280px}.preview-tools{gap:4px;padding:6px}.preview-tool-btn{min-width:78px;font-size:10px;padding:5px 6px}.project-main-actions .btn-process-all{margin-left:0}.form-grid,.launcher-grid,.metric-grid,.hero-metrics,.type-config-panel,.crop-grid{grid-template-columns:1fr}.object-roi-row,.sam2-point-row{grid-template-columns:1fr;align-items:stretch}.sam2-measure-layout{grid-template-columns:58px minmax(0,1fr)}.sam2-tool-btn[data-tip]:after{left:calc(100% + 6px);width:200px;max-width:200px;font-size:10px}.sam2-measure-table-head,.sam2-measure-table-row,.inspection-measurements-row{grid-template-columns:1fr;align-items:stretch;min-width:0}.object-reference-row{grid-template-columns:1fr}.object-reference-select{width:100%;max-width:140px;height:70px}.object-roi-select,.btn-roi-remove{width:100%}.object-roi-meta{white-space:normal}.about-panel{flex-direction:column}.about-logo{width:100%;max-width:220px}.api-response-view{height:clamp(180px,36vh,300px);max-height:52vh}}
