/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--font-geist-sans:"Segoe UI", "Microsoft YaHei", sans-serif;--font-geist-mono:Consolas, monospace}.coverage-control{align-items:center;gap:8px;margin:16px 0 8px;font-size:14px;line-height:1.5;display:flex}.field-help,.quality-warning{color:#64748b;margin:8px 0 14px;font-size:14px;line-height:1.55}.quality-warning{color:#805719;background:#fff8eb;border-left:3px solid #d99322;padding:8px 12px}.compact-panel .field-label{margin-top:14px}:root{--ink:#101923;--navy:#152636;--navy-2:#20384a;--paper:#f3f0e9;--paper-2:#e8e4da;--panel:#fbfaf6;--line:#d7d2c7;--muted:#6d736f;--orange:#f0643c;--orange-dark:#c74727;--teal:#27bca9;--shadow:0 18px 45px #212c3314}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans), "Microsoft YaHei", "PingFang SC", sans-serif;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:is(button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible){outline-offset:2px;outline:3px solid #f0643c47}.app-shell{grid-template-columns:264px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#edf3f3;background:var(--navy);border-right:1px solid #ffffff0f;flex-direction:column;height:100vh;padding:28px 22px;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:12px;padding:0 8px 28px;display:flex}.brand-mark{color:#fff;letter-spacing:-.06em;background:var(--orange);border-radius:5px 14px 5px 5px;place-items:center;width:42px;height:42px;font-weight:800;display:grid;box-shadow:0 9px 24px #f0643c33}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.02em;font-size:15px}.brand small{color:#91a6b2;letter-spacing:.16em;margin-top:3px;font-size:11px}.main-nav{gap:8px;margin-top:30px;display:grid}.nav-item{color:#9db0ba;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:34px 1fr;align-items:center;gap:8px;width:100%;padding:14px 10px;transition:all .2s;display:grid}.nav-item:hover{color:#fff;background:#ffffff0d}.nav-item.is-active{color:#fff;box-shadow:inset 3px 0 var(--orange);background:#20384a}.nav-index{font:600 10px var(--font-geist-mono), monospace;color:#5d7481}.nav-item.is-active .nav-index{color:var(--orange)}.nav-item strong,.nav-item small{display:block}.nav-item strong{font-size:14px;font-weight:650}.nav-item small{color:#718995;margin-top:4px;font-size:10px}.side-card{background:#ffffff09;border:1px solid #ffffff17;border-radius:10px;margin-top:auto;padding:16px}.side-card-label{color:#718995;letter-spacing:.16em;font-size:10px}.side-card input{color:#fff;background:#102330;border:1px solid #3b5261;border-radius:6px;width:100%;margin:9px 0 7px;padding:9px 10px}.side-card small{color:#718995;font-size:10px;line-height:1.5}.service-state{align-items:center;gap:10px;padding:18px 8px 0;display:flex}.state-dot{background:#71818a;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 4px #71818a1f}.state-dot.online{background:#4ed9a5;box-shadow:0 0 0 4px #4ed9a51f}.service-state strong,.service-state small{display:block}.service-state strong{font-size:11px}.service-state small{color:#718995;font:10px var(--font-geist-mono), monospace;margin-top:2px}.workspace{min-width:0}.topbar{border-bottom:1px solid var(--line);background:#f3f0e9eb;justify-content:space-between;align-items:center;gap:24px;min-height:112px;padding:24px clamp(24px,4vw,58px);display:flex}.eyebrow,.panel-kicker{color:var(--orange-dark);font:700 10px var(--font-geist-mono), monospace;letter-spacing:.16em;margin:0 0 7px}.topbar h1{letter-spacing:-.04em;margin:0;font-size:clamp(25px,2.6vw,36px)}.top-status{color:var(--muted);align-items:center;gap:14px;font-size:12px;display:flex}.version-pill{color:var(--navy);font:700 9px var(--font-geist-mono), monospace;letter-spacing:.1em;border:1px solid #c7c2b8;border-radius:999px;padding:8px 10px}.screen{padding:28px clamp(24px,4vw,58px) 48px}.panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:12px}.panel-head{justify-content:space-between;align-items:center;gap:18px;display:flex}.panel h2,.panel h3{letter-spacing:-.03em;margin:0}.panel h2{font-size:clamp(20px,2vw,28px)}.panel h3{font-size:19px}.annotate-screen{grid-template-columns:minmax(0,1fr) 318px;align-items:start;gap:22px;display:grid}.annotation-panel{min-width:0;padding:20px}.tool-stack{justify-items:end;gap:8px;max-width:780px;display:grid}.tool-group{justify-content:flex-end;align-items:center;gap:9px;display:flex}.tool-group-label{color:#808681;min-width:54px;font:700 8px var(--font-geist-mono), monospace;letter-spacing:.08em;text-align:right;text-transform:uppercase}.tool-row{flex-wrap:wrap;gap:7px;display:flex}.tool{color:#5d625f;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:7px;padding:8px 10px;display:inline-flex}.tool span{background:currentColor;border-radius:4px;width:14px;height:3px}.tool.cut span{background:var(--orange)}.tool.crease span{background:var(--teal)}.tool.roi span{background:#ffd25a2e;border:2px solid #d6a92f;height:10px}.tool.edit-tool span,.tool.erase span{color:#58636a;width:16px;height:16px;font:700 12px var(--font-geist-mono), monospace;background:0 0;place-items:center;display:inline-grid}.tool.edit-tool.active span,.tool.erase.active span{color:var(--orange-dark)}.tool.active{color:var(--ink);border-color:#858a86;box-shadow:inset 0 -2px}.tool.ghost{color:#7b807c;background:0 0}.tool:disabled{cursor:not-allowed;opacity:.4}.tool-actions{justify-content:flex-end;padding-top:1px}.tool-help{max-width:680px;color:var(--muted);text-align:right;margin:0;font-size:10px;line-height:1.55}.annotation-canvas-frame{min-width:0;margin-top:18px}.canvas-shell{background-color:#d8d9d5;background-image:linear-gradient(45deg,#ffffff38 25%,#0000 25%),linear-gradient(-45deg,#ffffff38 25%,#0000 25%);background-position:0 0;background-repeat:repeat;background-size:18px 18px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:1px solid #ced0cc;border-radius:8px;place-items:center;height:clamp(520px,72vh,920px);min-height:520px;display:grid;position:relative;overflow:hidden}.canvas-shell:focus-visible{outline-offset:2px;outline:3px solid #f0643c40}.annotation-canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;display:none;position:absolute;inset:0}.annotation-canvas.is-ready{display:block}.annotation-canvas.is-disabled{cursor:wait}.annotation-canvas.tool-select{cursor:default}.annotation-canvas.tool-pen,.annotation-canvas.tool-line{cursor:crosshair}.annotation-canvas.tool-erase{cursor:not-allowed}.annotation-canvas.is-pan-ready{cursor:grab}.annotation-canvas.is-panning{cursor:grabbing}.canvas-empty,.result-empty{color:#68716d;text-align:center;justify-items:center;gap:7px;display:grid}.canvas-empty span,.result-empty span{width:58px;height:58px;color:var(--orange);border:1px solid #c2c5c0;border-radius:50%;place-items:center;font-size:31px;display:grid}.canvas-empty small,.result-empty small{color:#8c928e}.right-rail{gap:16px;display:grid}.compact-panel{padding:20px}.compact-panel h3{margin-bottom:15px}.drop-field{width:100%;min-height:96px;color:var(--ink);text-align:left;cursor:pointer;background:#f1efe9;border:1px dashed #b6b4ac;border-radius:8px;grid-template-columns:36px 1fr auto;align-items:center;gap:11px;padding:13px;transition:all .2s;display:grid}.drop-field:hover,.drop-field.is-dragging{border-color:var(--orange);background:#fff8f3;transform:translateY(-1px)}.drop-field:disabled{cursor:wait;opacity:.55;transform:none}.drop-icon{width:34px;height:34px;color:var(--orange);background:#fff;border-radius:50%;place-items:center;font-size:21px;display:grid}.drop-copy{min-width:0}.drop-copy strong,.drop-copy small{display:block}.drop-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.drop-copy small{color:var(--muted);margin-top:4px;font-size:9px;line-height:1.45}.drop-action{color:var(--orange-dark);white-space:nowrap;font-size:10px}.load-existing{color:#52616a;border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;width:100%;margin-top:9px;padding:9px 11px;font-size:10px}.load-existing:hover{color:var(--ink);background:#f4f2ec;border-color:#9fa7a4}.load-existing:disabled{cursor:wait;opacity:.5}.metric-grid{border:1px solid var(--line);background:var(--line);border-radius:8px;grid-template-columns:1fr 1fr;gap:1px;margin:8px 0 18px;display:grid;overflow:hidden}.metric-grid div{background:#f6f4ef;padding:14px}.metric-grid strong,.metric-grid span{display:block}.metric-grid strong{font:700 22px var(--font-geist-mono), monospace}.metric-grid span{color:var(--muted);margin-top:4px;font-size:10px}.primary-action{color:#fff;background:var(--orange);cursor:pointer;border:0;border-radius:7px;width:100%;padding:13px 16px;font-weight:700;box-shadow:0 9px 22px #f0643c2e}.primary-action:hover{background:#db5531}.primary-action:disabled{cursor:not-allowed;opacity:.55}.extract-action{color:#73530d;cursor:pointer;background:#fff4c9;border:1px solid #dfbd5b;border-radius:7px;width:100%;margin-bottom:9px;padding:12px 14px;font-weight:700}.extract-action:hover{background:#ffedaa;border-color:#c99a1f}.extract-action:disabled{cursor:wait;opacity:.6}.extraction-preview img{object-fit:contain;background:#242b33;border:1px solid #37444f;border-radius:6px;width:100%;max-height:260px;margin-top:13px;display:block}.extraction-preview small{color:var(--muted);margin-top:9px;font-size:9px;line-height:1.55;display:block}.live-line-art-stage{background:#202a34;border:1px solid #37444f;border-radius:6px;justify-content:center;align-items:center;width:100%;max-height:360px;margin-top:13px;display:flex;overflow:hidden}.live-line-art-preview canvas{background:#202a34;width:auto;max-width:100%;height:auto;max-height:360px;display:block}.algorithm-preview-details{color:#5f6e76;margin-top:12px;font-size:9px}.algorithm-preview-details summary{border:1px solid var(--line);cursor:pointer;background:#f6f4ef;border-radius:5px;padding:7px 9px}.algorithm-preview-details[open] summary{color:var(--orange-dark)}.algorithm-preview-details img{margin-top:8px}.hint-card{color:#dce8e8;background:var(--navy-2);border-radius:10px;padding:17px 18px}.hint-card span{color:#79daca;font:700 10px var(--font-geist-mono), monospace;letter-spacing:.14em}.hint-card p{color:#a8bac2;margin:8px 0 0;font-size:11px;line-height:1.7}.train-screen{gap:22px;display:grid}.workflow-guide{color:#dce8e8;background:var(--navy-2);box-shadow:var(--shadow);border-radius:10px;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:16px;padding:18px 22px;display:grid}.workflow-guide div{grid-template-columns:auto 1fr;align-items:center;column-gap:11px;min-width:0;display:grid}.workflow-guide span{color:#79daca;font:700 17px var(--font-geist-mono), monospace;grid-row:1/3}.workflow-guide strong,.workflow-guide small{display:block}.workflow-guide strong{font-size:12px}.workflow-guide small{color:#91a6b2;margin-top:3px;font-size:9px;line-height:1.45}.workflow-guide i{color:var(--orange);font-style:normal}.training-hero{color:#fff;background:var(--navy);grid-template-columns:minmax(0,1fr) 300px;align-items:center;min-height:220px;padding:38px 42px;display:grid;position:relative;overflow:hidden}.training-hero:before{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 55%,#4a809329),repeating-linear-gradient(90deg,#0000 0 89px,#ffffff06 90px);position:absolute;inset:0}.training-copy{z-index:1;max-width:720px;position:relative}.training-copy .panel-kicker{color:#79daca}.training-copy p{color:#afbec4;max-width:650px;margin:14px 0 22px;line-height:1.8}.architecture-strip{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.architecture-strip span{color:#dce8e8;border:1px solid #ffffff26;border-radius:5px;padding:8px 10px;font-size:10px}.architecture-strip i{color:var(--orange);font-style:normal}.training-orbit{place-items:center;height:190px;display:grid;position:relative}.orbit-core{z-index:2;color:#fff;background:var(--orange);width:76px;height:76px;font:800 22px var(--font-geist-mono), monospace;border-radius:50%;place-items:center;display:grid;box-shadow:0 0 50px #f0643c59}.orbit-ring{border:1px solid #79daca66;border-radius:50%;position:absolute}.orbit-ring.one{width:142px;height:142px}.orbit-ring.two{width:205px;height:105px;transform:rotate(-24deg)}.training-grid{grid-template-columns:380px minmax(0,1fr);gap:22px;display:grid}.config-panel,.progress-panel{padding:24px}.field-label{color:#626965;gap:7px;margin-top:16px;font-size:11px;display:grid}.field-label input,.field-label select{width:100%;color:var(--ink);background:#fff;border:1px solid #ccc9c0;border-radius:6px;padding:11px 12px}.field-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.dataset-readiness{background:#fff4ed;border:1px solid #e7b79d;border-radius:7px;grid-template-columns:auto auto 1fr;align-items:center;gap:16px;margin-top:14px;padding:13px 14px;display:grid}.dataset-readiness.ready{background:#effaf7;border-color:#abd9ce}.dataset-readiness div{border-right:1px solid #1019231a;min-width:64px;padding-right:15px}.dataset-readiness strong,.dataset-readiness span{display:block}.dataset-readiness strong{font:700 19px var(--font-geist-mono), monospace}.dataset-readiness span{color:var(--muted);margin-top:2px;font-size:9px}.dataset-readiness p{color:#8b4a31;margin:0;font-size:9px;line-height:1.55}.dataset-readiness.ready p{color:#276b5c}.annotated-images-trigger{text-align:left;border:1px solid var(--orange);min-width:88px;color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;padding:8px 12px}.annotated-images-trigger:hover{background:#fff5ef}.dataset-readiness .annotated-images-trigger span{font-size:.875rem}.annotated-images-trigger small{color:var(--orange-dark);margin-top:6px;font-size:.8125rem;display:block}:is(.annotated-images-trigger:focus-visible,.gallery-select:focus-visible,.gallery-delete:focus-visible){outline:3px solid var(--orange);outline-offset:2px}.result-preview-dialog.annotation-gallery{width:min(1200px,100vw - 32px)}.annotation-gallery-shell{flex-direction:column;max-height:calc(100dvh - 44px);display:flex}.annotation-gallery .result-preview-header p{color:var(--muted);margin:6px 0 0;font-size:.875rem}.gallery-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 20px;display:flex}.gallery-toolbar p{color:var(--muted);margin:0;font-size:.875rem}.gallery-content{grid-template-columns:minmax(250px,32%) minmax(0,1fr);min-height:0;display:grid;overflow:auto}.gallery-list{border-right:1px solid var(--line);max-height:68dvh;margin:0;padding:12px;list-style:none;overflow:auto}.gallery-list li{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:8px;margin-bottom:8px;padding:8px;display:flex}.gallery-list li.is-selected{border-color:var(--orange);background:#fff4ed}.gallery-select{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;min-width:0;padding:0;display:flex}.gallery-thumbnail{background:#dde1e0;border-radius:4px;flex:0 0 78px;place-items:center;height:90px;display:grid;overflow:hidden}.gallery-thumbnail img{object-fit:contain;width:100%;height:100%}.gallery-item-copy{min-width:0}.gallery-item-copy strong{overflow-wrap:anywhere;font-size:.875rem;line-height:1.5;display:block}.gallery-item-copy small{color:var(--muted);margin-top:5px;font-size:.8125rem;line-height:1.5;display:block}.gallery-delete{color:#9f331b;cursor:pointer;background:#fff6f2;border:1px solid #e1aa99;border-radius:6px;flex:none;padding:8px 10px;font-size:.875rem}.gallery-delete:hover:not(:disabled){background:#ffe1d6}.gallery-delete:disabled{opacity:.5;cursor:not-allowed}.gallery-preview{min-width:0;padding:16px}.gallery-preview h4{overflow-wrap:anywhere;margin:0 0 12px;font-size:1rem}.gallery-preview-image{background:#dce0df;border-radius:8px;place-items:center;min-height:240px;display:grid;overflow:auto}.gallery-preview-image img{object-fit:contain;width:100%;height:52dvh}.gallery-legend{color:var(--muted);flex-wrap:wrap;gap:12px;margin:12px 0 0;font-size:.875rem;display:flex}.gallery-notice,.gallery-error{overflow-wrap:anywhere;margin:10px 20px;font-size:.875rem;line-height:1.6}.gallery-notice{color:#236951}.gallery-error{color:#a03620}.gallery-image-error{color:#8f442e;padding:8px;font-size:.8125rem}.gallery-empty{text-align:center;color:var(--muted);padding:44px 20px}.gallery-confirm{padding:24px;font-size:1rem;line-height:1.7;overflow:auto}.gallery-confirm h4{overflow-wrap:anywhere;margin-top:0}.gallery-confirm .gallery-error{margin:12px 0}.gallery-confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:24px;display:flex}@media (max-width:700px){.gallery-content{flex-direction:column;display:flex}.gallery-list{border-right:0;border-bottom:1px solid var(--line);flex:none;max-height:32dvh}.gallery-preview-image{min-height:140px}.gallery-preview-image img{height:35dvh}}.config-note{background:#f0eee8;border-radius:7px;gap:5px;margin:17px 0;padding:12px;display:grid}.config-note span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:9px}.config-note strong{font-size:10px;font-family:var(--font-geist-mono), monospace}.device-note{color:var(--muted);align-items:center;gap:8px;margin:0 0 14px;font-size:9px;line-height:1.5;display:flex}.device-dot{background:#e4944e;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 4px #e4944e21}.device-dot.gpu{background:#33b995;box-shadow:0 0 0 4px #33b99521}.job-state{color:#747a76;font:700 9px var(--font-geist-mono), monospace;text-transform:uppercase;background:#ece9e2;border-radius:999px;padding:7px 9px}.job-state.running{color:#9d3b21;background:#ffe3da}.job-state.cancelling{color:#8a5918;background:#fff0cc}.job-state.cancelled{color:#626965;background:#e5e5e2}.job-state.completed{color:#17725f;background:#dff6f0}.job-state.failed{color:#a52727;background:#f8dddd}.progress-main{margin-top:30px}.progress-value{font:700 clamp(48px, 7vw, 80px) var(--font-geist-mono), monospace;letter-spacing:-.08em}.progress-value small{color:var(--orange);margin-left:5px;font-size:20px}.progress-track{background:#e1ded6;border-radius:8px;height:8px;margin:15px 0 9px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--orange), #f4965c);height:100%;transition:width .4s;display:block}.progress-meta{color:var(--muted);font:10px var(--font-geist-mono), monospace;justify-content:space-between;gap:12px;display:flex}.live-metrics{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px;display:grid}.live-metrics div{border:1px solid var(--line);background:#f7f5f0;border-radius:7px;padding:15px}.live-metrics span,.live-metrics strong{display:block}.live-metrics span{color:var(--muted);font-size:10px}.live-metrics strong{font:700 18px var(--font-geist-mono), monospace;margin-top:8px}.terminal-line{color:#9fb7c1;background:var(--navy);font:10px var(--font-geist-mono), monospace;border-radius:6px;margin-top:18px;padding:12px 14px}.terminal-line span{color:#74dbc9}.cancel-action{color:#9d3b21;cursor:pointer;background:#fff5f1;border:1px solid #e3b6a7;border-radius:6px;margin-top:12px;padding:9px 12px;font-size:10px;font-weight:700}.cancel-action:hover{border-color:var(--orange);background:#ffebe3}.cancel-action:disabled{cursor:wait;opacity:.6}.infer-screen{gap:22px;display:grid}.inference-controls{grid-template-columns:minmax(270px,.72fr) minmax(640px,1.28fr);align-items:center;gap:clamp(24px,3vw,48px);padding:28px;display:grid}.inference-intro{min-width:0}.inference-controls p{max-width:570px;color:var(--muted);margin-bottom:0;line-height:1.7}.infer-form{grid-template-columns:minmax(240px,1.25fr) minmax(190px,.9fr) minmax(180px,auto);align-items:end;gap:12px;min-width:0;display:grid}.infer-form .drop-field{min-width:0;min-height:78px}.infer-form .field-label{min-width:0;margin:0}.infer-form .field-label select{text-overflow:ellipsis;min-height:46px}.infer-submit{white-space:nowrap;min-height:46px}.infer-busy-status{grid-column:1/-1;align-items:center;gap:12px;display:flex}.infer-busy-status small{min-width:0;color:var(--muted);flex:1;line-height:1.5}.infer-busy-status .cancel-action{flex:none;margin-top:0}.experiment-switch{color:#6f716d;border:1px solid var(--line);cursor:pointer;background:#f5f2eb;border-radius:7px;grid-column:1/-1;align-items:center;gap:10px;padding:10px 12px;display:flex}.experiment-switch.enabled{color:#87401f;background:#fff0e9;border-color:#efad94}.experiment-switch input{width:16px;height:16px;accent-color:var(--orange)}.experiment-switch-copy,.experiment-switch strong,.experiment-switch small{display:block}.annotation-options{border-top:1px solid var(--line);margin-top:18px}.roi-feedback{color:#244b60;overflow-wrap:anywhere;background:#edf4f8;border:1px solid #aac4d1;border-radius:7px;margin:10px 0;padding:12px;font-size:.875rem;line-height:1.65}.roi-feedback.error{color:#8f301b;background:#fff1ec;border-color:#dc9a86}.roi-feedback.warning{color:#74520a;background:#fff7d9;border-color:#d8bd67}.roi-feedback.success{color:#21624b;background:#eef8f2;border-color:#93c5b2}.annotation-options>summary{cursor:pointer;color:var(--ink);padding:14px 0;font-size:.875rem;font-weight:600}.annotation-options>summary:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:4px}.annotation-options-status{color:var(--orange);margin-left:8px;font-size:.8125rem;font-weight:400}.annotation-options-body{padding-bottom:4px}.annotation-options-body .field-help{font-size:.875rem;line-height:1.65}.annotation-options-body .field-label,.annotation-options-body .coverage-control{font-size:.875rem}.experiment-switch-copy{min-width:0}.experiment-switch strong{font-size:10px}.experiment-switch small{color:var(--muted);margin-top:2px;font-size:9px;line-height:1.4}.experimental-badge{color:#9d3b21;font:700 9px var(--font-geist-mono), monospace;background:#ffe3da;border-radius:999px;padding:7px 9px}.result-grid{grid-template-columns:minmax(0,1fr) 290px;gap:22px;display:grid}.result-viewer,.export-panel{padding:22px}.confidence{color:#17725f;font:700 11px var(--font-geist-mono), monospace}.result-stage{background:#d8d9d5;border:1px solid #ced0cc;border-radius:8px;place-items:center;min-height:520px;margin-top:18px;display:grid;overflow:hidden}.result-stage img{object-fit:contain;width:100%;max-height:680px;display:block}.export-row{text-align:left;cursor:pointer;width:100%;font:inherit}.result-preview-dialog{border:1px solid var(--line);width:min(1100px,100vw - 40px);max-width:none;max-height:calc(100dvh - 40px);color:var(--ink);background:var(--panel);border-radius:12px;margin:auto;padding:0;inset:0;box-shadow:0 24px 80px #0005}.result-preview-dialog::backdrop{background:#10202bd1}.result-preview-shell{flex-direction:column;max-height:calc(100dvh - 44px);display:flex}.result-preview-header{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.result-preview-header h3{margin:0;font-size:18px}.result-preview-header small{color:var(--muted);font-size:14px}.preview-close{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;flex:none;min-height:40px;padding:8px 14px}.result-preview-body{background:#d8d9d5;flex:auto;place-items:center;min-height:0;padding:12px;display:grid;overflow:auto}.result-preview-body img{object-fit:contain;max-width:100%;max-height:60dvh;display:block}.result-preview-footer{border-top:1px solid var(--line);flex-wrap:wrap;flex:none;align-items:center;gap:12px;max-height:25dvh;padding:16px 20px;display:flex;overflow:auto}.cad-export-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cad-export-actions small,.cad-export-actions p{width:100%;margin:0;font-size:14px;line-height:1.6}.cad-export-actions small{color:var(--muted)}.preview-download-status{flex-basis:100%;margin:0;font-size:14px;line-height:1.6}.result-stage.low-evidence{background:#efe9e2;border-color:#e5aa90;box-shadow:inset 0 0 0 3px #f0643c0f}.evidence-warning{color:#7b3a27;background:#fff2ec;border:1px solid #e7aa91;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;margin-top:14px;padding:16px 18px;display:grid}.evidence-warning strong{color:#8f351d;font-size:13px;display:block}.evidence-warning p{margin:6px 0 4px;line-height:1.6}.evidence-warning small{color:#8e695c;line-height:1.5}.evidence-actions{gap:8px;min-width:170px;display:grid}.evidence-actions .primary-action{padding:10px 12px;font-size:10px}.evidence-actions .load-existing{margin-top:0}.result-summary.warning strong{color:#b34a2c}.result-summary.warning span{color:#8b5949}.result-summary{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;margin:28px 0 18px;padding-bottom:20px;display:flex}.result-summary strong{font:700 44px var(--font-geist-mono), monospace}.result-summary span{color:var(--muted);font-size:11px}.export-row{color:var(--ink);border:1px solid var(--line);background:#f7f5f0;border-radius:7px;justify-content:space-between;align-items:center;margin-top:9px;padding:13px 12px;text-decoration:none;transition:all .18s;display:flex}.export-row:hover{border-color:var(--orange);transform:translate(2px)}.export-row.disabled{pointer-events:none;opacity:.45}.export-row strong,.export-row small{display:block}.export-row strong{font-size:11px}.export-row small{color:var(--muted);font:9px var(--font-geist-mono), monospace;margin-top:3px}.export-row b{color:var(--orange);font-size:18px}.export-note{color:var(--muted);margin-top:18px;font-size:10px;line-height:1.7}@media (max-width:1400px){.inference-controls{grid-template-columns:1fr}}@media (max-width:1180px){.annotate-screen,.result-grid{grid-template-columns:1fr}.right-rail{grid-template-columns:1fr 1fr}.hint-card{grid-column:1/-1}.infer-form{grid-template-columns:minmax(0,1fr) minmax(180px,auto)}.infer-form .drop-field{grid-column:1/-1}}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{width:100%;height:auto;padding:16px;position:static}.brand{padding-bottom:14px}.main-nav{grid-template-columns:repeat(3,1fr);margin-top:14px}.nav-item{grid-template-columns:1fr}.nav-index,.nav-item small,.side-card,.service-state{display:none}.topbar{min-height:90px}.training-grid,.workflow-guide{grid-template-columns:1fr}.workflow-guide i{display:none}.training-hero{grid-template-columns:1fr}.training-orbit{display:none}.infer-form{grid-template-columns:minmax(0,1fr) minmax(180px,auto)}.infer-form .drop-field{grid-column:1/-1}}@media (max-width:620px){.topbar{align-items:flex-start}.top-status>span:first-child{display:none}.screen{padding:18px 14px 36px}.annotation-panel,.compact-panel,.config-panel,.progress-panel,.result-viewer,.export-panel{padding:16px}.panel-head{flex-direction:column;align-items:flex-start}.tool-stack{justify-items:start;width:100%}.tool-group{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:5px;width:100%}.tool-group-label{text-align:left;min-width:0}.tool-actions{justify-content:flex-start}.tool-help{text-align:left}.right-rail{grid-template-columns:1fr}.hint-card{grid-column:auto}.canvas-shell{height:clamp(350px,62vh,640px);min-height:350px}.result-stage{min-height:350px}.training-hero{padding:28px 22px}.architecture-strip{display:none}.dataset-readiness{grid-template-columns:1fr 1fr}.dataset-readiness p{grid-column:1/-1}.field-pair,.live-metrics,.infer-form{grid-template-columns:1fr}.infer-form .drop-field{grid-column:auto}.infer-submit{white-space:normal}.infer-busy-status{flex-direction:column;align-items:stretch}.infer-busy-status .cancel-action{width:100%}.progress-meta{flex-direction:column}.evidence-warning{grid-template-columns:1fr}.evidence-actions{min-width:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
