*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font-family:"Segoe UI Variable","Segoe UI",Arial,sans-serif;font-size:13px;background:#f4f5f8;color:#253149;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background .18s,color .18s,box-shadow .18s}button:disabled{cursor:default;opacity:.42}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #4583fb;outline-offset:3px}button{color:inherit}input,select,textarea{color:#26334a}button .icon{pointer-events:none}.icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:18px;height:18px}.icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}.app-header{height:76px;display:flex;align-items:center;gap:28px;padding:0 24px;background:#fff;border-bottom:1px solid #e7eaf0}.brand{display:flex;align-items:center;gap:11px;flex:none}.brand img{border-radius:9px;object-fit:contain}.brand strong{font-size:19px;font-weight:650;letter-spacing:-.6px}.brand strong span{color:#7e8a9f;font-weight:450}.brand small{display:block;font-size:10px;color:#8c97a8;margin-top:2px;letter-spacing:.03em}.version{font-size:10px;border:1px solid #e2e8f1;color:#7b8ba3;padding:2px 5px;border-radius:4px;margin-left:2px}.document-name{min-width:0;flex:1;font-size:12px;text-align:center;color:#7b879a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-name #dirty-dot{font-size:9px;color:#4780dd;margin-left:7px}.header-actions{display:flex;align-items:center;gap:9px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;border:1px solid #dfe5ee;border-radius:9px;padding:10px 14px;font-weight:550;font-size:12px;white-space:nowrap;min-height:38px}.button:hover:not(:disabled){background:#f1f5fd;border-color:#c8d7f0}.button.primary{background:#2467ed;border-color:#2467ed;color:#fff;box-shadow:0 4px 10px #2467ed18}.button.primary:hover:not(:disabled){background:#1656d4}.icon-button{padding:9px;width:38px}.small{padding:9px 12px;min-height:36px}.full-width{width:100%}.workspace{height:calc(100% - 76px);display:grid;grid-template-columns:224px minmax(460px,1fr) 312px}.left-panel{display:flex;flex-direction:column;min-height:0;background:#fff;border-right:1px solid #e5e9f0}.panel-top{padding:28px 24px 23px}.eyebrow{font-size:9px;font-weight:650;letter-spacing:.16em;color:#97a1b4}.panel-top h1{margin:13px 0 12px;font-size:26px;line-height:1.2;font-weight:550;letter-spacing:-.9px}.panel-top p{margin:0;font-size:11px;line-height:1.75;color:#93a0b4}.tabs{display:flex;padding:0 14px;border-bottom:1px solid #e9ecf3;gap:4px}.tabs button{width:50%;background:none;border:0;border-bottom:2px solid transparent;padding:13px 8px;color:#8490a4;font-size:11px;font-weight:600}.tabs button[aria-selected=true]{border-bottom-color:#276be9;color:#276be9}.tabs button span{font-size:9px;background:#f0f3f8;border-radius:4px;padding:2px 5px;margin-left:4px;color:#7c8ca4}.list-pane{display:flex;flex-direction:column;flex:1;min-height:0}.search{height:36px;margin:16px 14px 10px;display:flex;align-items:center;gap:8px;padding:0 10px;background:#f5f7fb;border:1px solid #edf0f5;border-radius:7px;color:#97a4b7}.search .icon{width:14px;height:14px}.search input{width:100%;min-width:0;background:none;border:none;font-size:10px;outline:none}.search input::placeholder{color:#a0aabe}.layer-actions{display:flex;justify-content:space-between;padding:0 15px 12px;gap:6px}.layer-actions button{border:none;background:none;font-size:9px;color:#8a97ab;padding:0}.layer-actions button:hover{color:#2668df}.scroll-list{overflow:auto;flex:1;padding:0 9px 20px;scrollbar-width:thin;scrollbar-color:#d6dde7 transparent}.layer-row{display:flex;align-items:center;gap:8px;padding:9px 8px;border-radius:6px;min-height:35px}.layer-row:hover{background:#f5f7fb}.layer-row input{accent-color:#3477ee;flex:none;width:12px;height:12px;margin:0}.layer-dot{width:7px;height:7px;border-radius:50%;flex:none}.layer-row label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10px;cursor:pointer;color:#65748b}.layer-row .layer-total{font-size:8px;color:#a4aebe}.zone-list-tools{display:flex;justify-content:space-between;align-items:center;padding:16px 16px 14px;font-size:10px;color:#8997ad}.text-button{background:none;border:0;padding:0;font-size:11px;color:#3070de;text-align:left}.text-button:hover{text-decoration:underline}.zone-row{width:100%;display:flex;gap:10px;align-items:center;text-align:left;background:none;border:1px solid transparent;border-radius:8px;padding:11px 9px}.zone-row.active{background:#eff5ff;border-color:#cfe0fb}.zone-row:hover{background:#f4f7fd}.zone-color{width:25px;height:25px;border-radius:6px;flex:none;box-shadow:inset 0 0 0 1px #0000000c}.zone-row strong{display:block;font-size:11px;font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:144px}.zone-row small{display:block;color:#99a5b7;font-size:9px;margin-top:4px}.muted-empty{margin:22px 12px;color:#a2adbd;font-size:11px;line-height:1.8}.left-bottom{height:52px;flex:none;display:flex;align-items:center;gap:7px;border-top:1px solid #eceff5;padding:0 17px;font-size:10px;color:#91a0b5}.status-dot{width:5px;height:5px;border-radius:50%;background:#83a793}.left-bottom button{margin-left:auto;background:none;border:none;padding:0;color:#99a7bc}.left-bottom button .icon{width:15px;height:15px}.canvas-section{display:flex;flex-direction:column;min-width:0;min-height:0}.canvas-top{height:83px;flex:none;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:0 25px;border-bottom:1px solid #e4e8ee;background:#fafbfc}.canvas-top h2{font-size:13px;font-weight:550;margin:6px 0 0;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.view-switch{background:#edf0f5;padding:3px;border-radius:8px;display:flex;gap:1px}.view-switch button{background:none;border:none;padding:7px 10px;border-radius:6px;color:#8592a8;font-size:10px}.view-switch button.active{color:#306cdf;background:#fff;box-shadow:0 1px 3px #2d456111}.canvas-wrap{position:relative;min-height:0;flex:1;overflow:hidden}.canvas-wrap canvas{display:block;width:100%;height:100%;touch-action:none;outline:none;cursor:default}.canvas-wrap canvas[data-tool=hand]{cursor:grab}.canvas-wrap canvas[data-tool=polygon],.canvas-wrap canvas[data-tool=rectangle],.canvas-wrap canvas[data-tool=crop]{cursor:crosshair}.canvas-wrap canvas[data-tool=vertices]{cursor:crosshair}.empty-state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:radial-gradient(ellipse at 50% 38%,#fff9,#f4f5f850 62%)}.empty-visual{display:flex;align-items:center;justify-content:center;width:112px;height:112px;border:1px solid #dfe6f0;border-radius:25px;background:linear-gradient(140deg,#fff,#edf3fc);box-shadow:0 15px 60px #577aac0c;margin-bottom:33px;color:#7096d8;transform:rotate(-8deg)}.empty-visual .icon{width:64px;height:64px;transform:rotate(8deg)}.empty-visual .icon svg{stroke-width:.9}.empty-state .eyebrow{color:#7798cc;font-size:9px;letter-spacing:.2em}.empty-state h2{margin:15px 0 12px;font-size:26px;font-weight:550;letter-spacing:-.85px}.empty-state p{font-size:12px;line-height:1.8;color:#94a0b4;margin:0 0 24px}.empty-state .primary{padding:11px 24px;min-height:42px}.demo-button{border:0;background:none;padding:17px 5px;color:#8e9eb6;font-size:10px}.demo-button span{margin-left:7px}.demo-button:hover{color:#3171e4}.empty-steps{display:flex;gap:30px;font-size:10px;color:#a3afc0;margin-top:30px}.empty-steps b{font-size:9px;margin-right:5px;color:#87a2c8}.floating-tools{position:absolute;top:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:3px;padding:6px;background:#fffffff5;border:1px solid #dce3ed;border-radius:11px;box-shadow:0 5px 16px #283e6110}.floating-tools button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:none;border:0;border-radius:6px;color:#8493aa}.floating-tools button:hover{background:#eff4fd}.floating-tools button.active{background:#edf4ff;color:#2a6ae1}.floating-tools .icon{width:17px;height:17px}.tool-separator{height:20px;width:1px;margin:0 4px;background:#e7ebf2}.tool-hint{position:absolute;top:73px;left:50%;transform:translateX(-50%);background:#2e3f55f0;color:#fff;padding:8px 12px;border-radius:6px;font-size:10px;white-space:nowrap;pointer-events:none}.crop-badge{position:absolute;left:20px;bottom:18px;color:#987c51;background:#fff9ec;border:1px solid #ecddc4;padding:8px 10px;border-radius:6px;font-size:10px}.crop-badge button{border:0;background:none;font-size:10px;color:#987c51;text-decoration:underline;margin-left:12px}.canvas-footer{height:43px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fafbfc;border-top:1px solid #e3e7ef;padding:0 15px;color:#97a2b4;font-size:9px}.canvas-footer>div{display:flex;align-items:center;gap:12px}.canvas-footer select{border:0;background:none;font-size:9px;color:#6c7e98;padding:0 4px}.check{display:inline-flex;align-items:center;gap:5px;font-size:11px;cursor:pointer}.check input{accent-color:#3677e9;width:12px;height:12px;margin:0}.canvas-footer .check{font-size:9px}.history-buttons{gap:8px!important}.history-buttons button{padding:0;background:none;border:0;color:#8b9ab0;height:19px}.history-buttons .icon{width:15px;height:15px}.right-panel{background:#fff;border-left:1px solid #e5e9f0;display:flex;flex-direction:column;min-height:0}.right-tabs{height:58px;flex:none;display:flex;align-items:stretch;padding:0 22px;gap:25px;border-bottom:1px solid #e8ecf3}.right-tabs button{border:none;border-bottom:2px solid transparent;background:none;font-size:12px;font-weight:550;padding:0 0;color:#95a1b3}.right-tabs button[aria-selected=true]{border-bottom-color:#286bed;color:#286bed}.right-tabs button span{font-size:12px;margin-left:3px}.right-content{flex:1;overflow-y:auto;padding:25px 22px;scrollbar-width:thin;scrollbar-color:#dce2ec transparent}.right-content h3{font-size:20px;font-weight:550;letter-spacing:-.65px;margin:10px 0 16px}.selection-empty{padding-top:20px}.selection-empty>.icon{width:36px;height:36px;color:#b3c4de;stroke-width:1px;margin-bottom:11px}.selection-empty h3{font-size:19px}.selection-empty p{font-size:11px;line-height:1.9;color:#94a1b5;margin-bottom:16px}.selection-empty .button{margin:10px 0 17px;width:100%}.types-preview{display:flex;flex-wrap:wrap;gap:7px}.types-preview span{font-size:9px;color:#92a2b7;border:1px solid #e6ebf2;border-radius:5px;padding:4px 7px;background:#fafbfd}.field{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:550;color:#79889e;margin:16px 0}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #e0e6ef;border-radius:7px;background:#fbfcfe;padding:10px 11px;font-size:11px;outline:none;line-height:1.5;transition:border .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#8db4f5;background:#fff}.field input::placeholder,.field textarea::placeholder{color:#adb7c8;font-size:10px}.field textarea{resize:vertical;min-height:65px;max-height:260px}.field-row{display:flex;align-items:flex-end;gap:12px}.field-row>.field{flex:1;min-width:0}.field-row>.button{margin-bottom:16px;flex:none;font-size:10px}.section-label{font-size:9px;font-weight:650;color:#a1acc0;letter-spacing:.12em;margin:25px 0 0}.inspector-heading{display:flex;justify-content:space-between;align-items:center}.inspector-heading button{border:0;background:none;font-size:20px;color:#a7b3c5;padding:0 2px}.area-card{border:1px solid #e8edf4;background:#f8fafd;border-radius:8px;padding:14px 15px;margin:20px 0 24px}.area-card span{display:block;font-size:9px;color:#97a7be;margin-bottom:7px}.area-card strong{display:block;font-size:23px;font-weight:500;color:#496786;letter-spacing:-.6px}.area-card small{display:block;font-size:9px;color:#b0bbca;margin-top:7px}.material-swatch{height:70px;border:1px solid #ddd;background:#bf925f;border-radius:8px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;box-shadow:inset 0 0 0 1px #ffffff23;color:#fff}.material-swatch span{font-size:11px;font-weight:550;text-shadow:0 1px 4px #0000004d}.material-swatch input[type=color]{width:29px;height:29px;padding:1px;border:1px solid #ffffff80;background:transparent;border-radius:50%;cursor:pointer}.help-text{font-size:10px;line-height:1.85;color:#99a6b9;margin:13px 0 17px}.property-card{padding:15px;border:1px solid #e4eaf3;border-radius:8px;display:flex;flex-direction:column;gap:8px;margin:20px 0}.property-card span{font-size:9px;color:#acb7c8}.property-card strong{font-size:11px;font-weight:500;word-break:break-word;margin-bottom:8px}.zone-bottom-actions{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #edf0f5;padding-top:17px;margin-top:22px}.danger{color:#b27477}.render-intro{margin-top:-6px;margin-bottom:19px}.prompt-link{font-size:10px;display:flex;justify-content:space-between;width:100%;margin-top:-7px}.render-summary{display:flex;flex-direction:column;gap:7px;border:1px solid #e1eafa;border-radius:8px;background:#f5f8ff;color:#8aa1c3;padding:13px;font-size:10px;margin:9px 0 16px}.render-summary span:before{content:"✓";color:#6899dd;margin-right:7px}.fidelity-note{font-size:9px;margin:13px 0 28px}.result-heading{display:flex;align-items:baseline;justify-content:space-between;border-top:1px solid #eceff5;padding-top:0}.result-heading span{font-size:10px;color:#acb6c7}.results-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.results-list .muted-empty{margin:0}.result-thumb{position:relative;width:calc(50% - 5px);aspect-ratio:1;background:#f3f5f7;border:1px solid #e5eaf1;border-radius:7px;padding:0;overflow:hidden}.result-thumb img{width:100%;height:100%;object-fit:cover}.result-thumb span{position:absolute;bottom:5px;left:5px;right:5px;background:#ffffffeb;font-size:8px;padding:4px;border-radius:3px;text-align:left;color:#6d7e94}.loading-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f7f9fcf5;z-index:5}.loading-overlay strong{font-size:14px;font-weight:550;margin-top:18px}.loading-overlay p{color:#a0adbf;font-size:11px}.spinner{width:21px;height:21px;border:2px solid #dbe6f8;border-top-color:#3474e5;border-radius:50%;display:inline-block;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.render-progress{display:flex;align-items:center;gap:10px;border:1px solid #dce7f9;background:#f5f8fe;border-radius:8px;padding:12px;margin:10px 0}.render-progress .spinner{width:16px;height:16px;flex:none}.render-progress>div{flex:1;display:flex;flex-direction:column;gap:5px}.render-progress strong{font-size:10px;font-weight:500}.render-progress>div>span{font-size:9px;color:#89a0c1}.render-progress button{font-size:9px}.import-warning{display:flex;align-items:center;gap:8px;padding:9px 16px;background:#fff8e7;border-bottom:1px solid #f0e4c6;color:#a88f55;font-size:10px;flex:none;min-height:36px}.import-warning .icon{height:14px;width:14px}.import-warning>span:nth-child(2){flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.import-warning button{background:none;border:0;padding:0;font-size:10px;color:#a1813f;text-decoration:underline}.toast{position:fixed;bottom:65px;left:50%;transform:translateX(-50%);max-width:650px;z-index:20;background:#24354ef0;color:#fff;border-radius:9px;padding:13px 19px;font-size:12px;box-shadow:0 7px 25px #1b2a4222;line-height:1.7}.toast.error{background:#8f4850f5}.dialog{color:#253149;border:1px solid #e2e7ef;border-radius:17px;box-shadow:0 30px 100px #1327442a;padding:28px;width:490px;max-width:calc(100vw - 70px);max-height:calc(100vh - 70px);overflow:auto}.dialog::backdrop{background:#253c5659;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.dialog-heading h2{font-size:24px;font-weight:550;letter-spacing:-.8px;margin:10px 0 4px}.dialog-heading>.close-dialog,.dialog-heading>button{background:none;border:none;font-size:25px;color:#9dabbf;padding:0;margin-top:-5px}.dialog-intro{font-size:12px;line-height:1.9;color:#8a9ab1;margin:17px 0 20px}.dialog .field{font-size:11px;margin:18px 0}.dialog .field input,.dialog .field select{font-size:12px}.dialog .help-text{font-size:10px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.remember-key{font-size:11px;color:#7f90a8;margin-bottom:15px}#clear-key{font-size:10px;display:block;margin-bottom:16px}.text-dialog{width:690px}.text-dialog pre{font-family:"Segoe UI",Arial,sans-serif;font-size:11px;line-height:1.85;white-space:pre-wrap;word-break:break-word;color:#76889f;background:#f8fafd;border:1px solid #e8edf5;border-radius:9px;padding:20px;margin-top:23px}.export-dialog{width:530px}.export-choice{display:flex;width:100%;align-items:center;gap:14px;border:1px solid #e4eaf3;background:#fbfcfe;border-radius:10px;text-align:left;padding:17px;margin-top:14px}.export-choice:hover{background:#f1f6ff;border-color:#cbdcf7}.export-choice>.icon{width:25px;height:25px;color:#85a3d1}.export-choice>span:nth-child(2){flex:1}.export-choice strong{display:block;font-size:12px;font-weight:550}.export-choice small{display:block;font-size:10px;color:#9ba9bd;margin-top:6px;line-height:1.65}.export-choice b{color:#90a5c7;font-weight:400}.result-dialog{width:1120px;padding:23px}.result-image-wrap{position:relative;display:flex;justify-content:center;align-items:center;margin:20px 0;background:#f0f2f5;border:1px solid #e0e5ed;border-radius:10px;overflow:hidden;height:min(64vh,640px)}.result-image-wrap>img{width:100%;height:100%;object-fit:contain}.result-image-wrap #result-overlay{position:absolute;inset:0;mix-blend-mode:multiply;opacity:.65}.result-footer{display:flex;align-items:center;gap:20px;justify-content:space-between;color:#7e91ac}.result-footer .check{font-size:11px}.overlay-control{display:flex;align-items:center;gap:8px;font-size:10px}.overlay-control input{width:100px;accent-color:#397ae8}.result-footer .button{margin-left:auto}@media(max-width:1250px){.workspace{grid-template-columns:198px minmax(430px,1fr) 285px}.app-header{gap:15px;padding:0 18px}.brand strong{font-size:17px}.brand small{font-size:9px}.panel-top{padding-left:19px}.canvas-top{padding:0 18px;gap:10px}.canvas-top h2{max-width:220px}.canvas-top .eyebrow{font-size:8px}.view-switch button{padding:7px 8px;font-size:9px}.right-content{padding:23px 18px}.canvas-footer{padding:0 10px;gap:8px;font-size:8px}.canvas-footer>div{gap:8px}.canvas-footer .check{font-size:8px}.empty-state h2{font-size:23px}.empty-steps{gap:15px;font-size:9px}.header-actions{gap:7px}.header-actions .button{font-size:11px;padding:9px 11px}.header-actions .icon-button{padding:9px}.document-name{font-size:10px}.floating-tools{gap:1px}.floating-tools button{width:30px}.zone-row strong{max-width:118px}}@media(prefers-reduced-motion:reduce){button{transition:none}.spinner{animation-duration:1.5s}}

.demo-examples{display:flex;align-items:center;gap:18px}

/* Closed-contour review */
.detection-launch{padding:12px 14px 2px;flex:none}.detection-launch .button{width:100%;font-size:11px;color:#3a6fb8;background:#f5f8fe;border-color:#dbe6f6;min-height:35px}.detection-launch .icon{width:15px;height:15px}
.detection-dialog{width:980px;padding:26px 28px;overflow:hidden;display:none}.detection-dialog[open]{display:flex;flex-direction:column}.detection-dialog .dialog-intro{margin:12px 0 15px;font-size:11px}.detection-options{display:flex;align-items:center;gap:20px;flex-wrap:wrap;flex:none;padding:11px 13px;border:1px solid #e4eaf3;border-radius:8px;background:#f8fafd;color:#657996}.detection-options .check{font-size:10px}.detection-options>span{font-size:10px;margin-left:auto}.detection-status{font-size:10px;color:#8b9bb2;line-height:1.6;padding:12px 0;min-height:40px;flex:none}.detection-status.busy{color:#3470cd}.detection-status.busy:before{content:"";display:inline-block;width:11px;height:11px;vertical-align:-2px;border:2px solid #dbe6f8;border-top-color:#3474e5;border-radius:50%;margin-right:8px;animation:spin .8s linear infinite}
.detection-layout{display:grid;grid-template-columns:minmax(235px, .9fr) minmax(300px, 1.25fr);gap:19px;min-height:0;flex:1}.candidate-pane{display:flex;flex-direction:column;min-height:0;border:1px solid #e1e7f0;border-radius:10px;overflow:hidden}.candidate-actions{display:flex;justify-content:space-between;align-items:center;padding:13px 12px;background:#f8fafd;border-bottom:1px solid #e8edf4;color:#8293ab;flex:none}.candidate-actions .check,.candidate-actions>span{font-size:10px}.candidate-list{overflow:auto;max-height:380px;min-height:110px;scrollbar-width:thin;scrollbar-color:#d3dcec transparent}.candidate-row{display:flex;align-items:center;gap:5px;border-bottom:1px solid #edf1f6;padding:4px 9px}.candidate-row:last-child{border-bottom:none}.candidate-row.active{background:#eef4ff}.candidate-row>input{accent-color:#2a6feb;flex:none}.candidate-pick{display:flex;align-items:center;gap:10px;background:none;border:0;padding:10px 5px;text-align:left;min-width:0;flex:1}.candidate-pick:hover{color:#2467ed}.candidate-badge{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:#f0f3f8;color:#7b8daa;border:1px solid #e0e6ef;border-radius:7px;font-size:10px;flex:none}.candidate-row.active .candidate-badge{color:#2467ed;border-color:#c6d9fb;background:#fff}.candidate-description{min-width:0}.candidate-description strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:245px;font-size:11px;font-weight:550}.candidate-description small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:245px;margin-top:6px;font-size:9px;color:#96a5ba}.candidate-detail{display:flex;flex-direction:column;min-height:0;overflow:auto;scrollbar-width:thin}.candidate-preview-wrap{height:215px;min-height:160px;flex:none;position:relative;background:#f4f5f8;border:1px solid #e2e7ef;border-radius:10px;overflow:hidden}.candidate-preview-wrap canvas{width:100%;height:100%;display:block;cursor:grab}.preview-caption{position:absolute;bottom:8px;left:10px;font-size:9px;background:#ffffffeb;border:1px solid #e3e9f2;border-radius:5px;padding:5px 8px;color:#7890b2;pointer-events:none}.candidate-source{font-size:10px;line-height:1.6;color:#8c9cb3;margin:12px 0 6px;overflow-wrap:anywhere}.candidate-detail .field{margin:10px 0;font-size:10px}.candidate-detail .field-row{gap:10px;align-items:flex-start}.candidate-detail .field input,.candidate-detail .field select{font-size:11px;padding:8px 9px}.candidate-area{margin:4px 0;font-size:10px;color:#6585ad}.detection-dialog .dialog-actions{margin-top:18px;flex:none;align-items:center}.detection-selection{margin-right:auto;font-size:10px;color:#8295b0;line-height:1.6;max-width:230px}
@media(max-height:780px){.detection-dialog{padding:20px 24px;max-height:calc(100vh - 34px)}.detection-dialog .dialog-heading h2{font-size:22px;margin-top:6px}.detection-dialog .dialog-intro{margin:9px 0 10px}.candidate-preview-wrap{height:180px;min-height:150px}.candidate-list{max-height:290px}.detection-dialog .dialog-actions{margin-top:13px}.detection-status{padding:9px 0;min-height:34px}}

.reading-card{margin:0 13px 14px;padding:14px 12px;border:1px solid #dce7f7;border-radius:10px;background:linear-gradient(140deg,#f5f8ff,#fbfcff)}.reading-card strong{display:block;margin-top:8px;font-size:11px;font-weight:600;line-height:1.5;color:#2e5594}.reading-card p{margin:6px 0 12px;color:#8291a9;font-size:10px;line-height:1.65}.reading-actions{display:flex;gap:14px;flex-wrap:wrap}.reading-actions .text-button{font-size:10px}.reading-card.busy strong{color:#2467ed}.unit-suggestion{padding:8px 15px;background:#fff8e8;border-top:1px solid #efe0c0;font-size:10px;display:flex;gap:16px;align-items:center;color:#977843}.unit-suggestion .text-button{font-size:10px}.zone-origin{background:#f3f7fd;border-radius:7px;padding:10px;font-size:10px;line-height:1.7;color:#7b8fae}.automatic-reading{align-items:flex-start;line-height:1.6;white-space:normal}.automatic-reading input{margin-top:3px;flex:none}.settings-dialog{max-height:90vh}.settings-dialog form{max-height:85vh;overflow-y:auto;scrollbar-width:thin}.settings-dialog .field-row{margin-top:16px}.settings-dialog .dialog-actions{position:sticky;bottom:-1px;background:#fff;padding-top:14px}.panel-top{padding-top:22px;padding-bottom:20px}.panel-top h1{font-size:24px;margin-top:10px;margin-bottom:10px}
