@font-face{font-family:LocalUI;src:local("Microsoft YaHei UI"),local("Microsoft YaHei");font-display:swap}
:root{--bg:#f5f6f2;--paper:#fff;--ink:#253c32;--muted:#89918a;--line:#e7eae3;--green:#356c54;--soft:#edf3ec;--sidebar:#233d32;--orange:#ad7b3e;--radius:13px;font-family:Inter,LocalUI,"Segoe UI",sans-serif;font-size:13px;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button{cursor:pointer}button,a{transition:background .15s,color .15s,border-color .15s}button{color:inherit}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid #84ad90;outline-offset:3px}input:focus,textarea:focus,select:focus{outline:2px solid #7ca98a;outline-offset:1px}button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}a{color:var(--green);text-decoration:none}[hidden]{display:none!important}.sidebar{width:216px;position:fixed;inset:0 auto 0 0;background:var(--sidebar);color:#d5e0d6;padding:32px 20px 18px;display:flex;flex-direction:column;z-index:4}.brand{display:flex;align-items:center;gap:12px;color:#f4f7ef;font-size:24px;font-weight:600;letter-spacing:2px;margin:0 8px 43px}.brand img{width:42px;height:42px}.brand-en{display:block;font-size:9px;font-weight:400;letter-spacing:2.5px;margin-top:3px;color:#a6b9aa}.workspace-label{font-size:10px;letter-spacing:1.8px;color:#8fa494;padding:0 13px;margin-bottom:17px;display:flex;align-items:center;justify-content:space-between}.workspace-label span{font-size:8px;letter-spacing:1px;border:1px solid #4a5d4f;padding:3px 4px;border-radius:3px}nav{display:flex;flex-direction:column;gap:8px}.nav-button{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:0;background:none;color:#b8c8bd;padding:13px 14px;border-radius:7px;font-size:13px}.nav-button:hover{background:#304d3e}.nav-button.active{background:#385746;color:#f4f7ef}.nav-button svg{width:17px;height:17px;stroke-width:1.3}.nav-dot{width:5px;height:5px;background:#c0d5ae;border-radius:50%;margin-left:auto}.sidebar-section{margin:37px 8px 0;border-top:1px solid #3a5141;padding-top:24px}.tiny-label{font-size:10px;letter-spacing:1px;color:#8fa494}.analysis-type{display:flex;align-items:center;gap:10px;margin-top:17px;font-size:12px}.tube-icon{font-size:27px;color:#aebfa9}.analysis-type small{display:block;font-size:8px;letter-spacing:.2px;color:#8ea293;margin-top:5px}.mini-badge{font-size:9px;color:#bdd1b4;background:#3c5540;padding:3px 5px;border-radius:4px;margin-left:auto}.sidebar-note{margin:auto 7px 25px;border-top:1px solid #3b5142;padding-top:24px}.note-orbit{width:41px;height:41px;border:1px solid #7f9a80;border-radius:50%;position:relative;margin-bottom:17px}.note-orbit:after{content:"";position:absolute;inset:8px;border:1px solid #7f9a80;border-radius:50%}.note-orbit span{width:7px;height:7px;background:#b4c6a4;position:absolute;right:0;top:3px;border-radius:50%}.sidebar-note strong{font-size:11px;font-weight:400;color:#c6d5c8}.sidebar-note p{font-size:10px;line-height:1.9;color:#93a99a;margin:11px 0}.text-button{padding:0;border:0;background:none;color:var(--green);font-size:11px}.text-button:hover{text-decoration:underline}.sidebar-note .text-button{color:#d0dec8;font-size:10px;margin-top:8px}.sidebar-note .text-button span{margin-left:18px}.sidebar-footer{display:flex;align-items:center;gap:7px;font-size:9px;color:#a4b6a8;border-top:1px solid #3b5142;padding:17px 7px 0}.sidebar-footer>span:last-child{margin-left:auto;font-size:8px;letter-spacing:1px}.online-dot{width:5px;height:5px;background:#a9c395;border-radius:50%}.app-shell{margin-left:216px}.topbar{height:69px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:#fafbf8}.breadcrumb{font-size:11px;color:#8b948c;display:flex;gap:15px}.breadcrumb span{color:#c2c8be}.breadcrumb strong{font-weight:400;color:#506153}.topbar-right{display:flex;gap:25px;align-items:center}.privacy-label{font-size:10px;color:#79877c;display:flex;align-items:center;gap:6px}.privacy-label svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.1}.version{font-size:9px;letter-spacing:.8px;color:#7f8b80;border-left:1px solid #dce2d8;padding-left:24px}main{padding:32px 36px 0;max-width:1740px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px}.eyebrow{font-size:9px;letter-spacing:2px;color:#8a9a87;font-weight:500}h1{font-size:26px;letter-spacing:.3px;line-height:1.45;margin:8px 0;font-weight:600}.heading-dot{color:#8ea37d}p{margin:0}.page-heading p{font-size:11px;color:#839080;line-height:1.8}.heading-actions{display:flex;align-items:center;gap:14px}.mode-switch{display:flex;gap:2px;background:#e8ece4;border:1px solid #e3e7dc;padding:3px;border-radius:7px}.mode-switch button{border:0;border-radius:4px;padding:8px 13px;background:transparent;color:#889180;font-size:11px;white-space:nowrap}.mode-switch button.selected{background:#fff;color:#356047}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:6px;padding:10px 15px;border:1px solid transparent;font-size:11px;font-weight:500;white-space:nowrap;line-height:1.4;text-decoration:none}.button.primary{background:var(--green);color:#fff;border-color:var(--green)}.button.primary:hover{background:#28573f}.button.secondary{background:#fff;border-color:#dce4d8;color:#4e6953}.button.secondary:hover{background:#f1f5ee}.button.subtle{background:transparent;color:#84947e;border:0}.full{width:100%}.notice{border:1px solid #e4dfc6;background:#f7f4e9;border-radius:7px;padding:11px 15px;display:flex;align-items:center;gap:10px;color:#948258;font-size:10px;margin-bottom:23px;line-height:1.65}.notice strong{font-weight:500;color:#857044}.notice-symbol{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:1px solid #ac9c6c;border-radius:50%;font:10px Georgia;flex-shrink:0}.notice button{background:none;border:0;font-size:10px;color:#8d784a;white-space:nowrap;margin-left:auto}.notice button span{margin-left:8px}.notice.real{background:#eef3e9;border-color:#dce6d4;color:#667e5a}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:23px}.metric{background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px 20px 14px;min-height:116px}.metric-label{display:flex;justify-content:space-between;gap:8px;color:#7c897b;font-size:10px;align-items:center;margin-bottom:12px}.metric-mark{font-size:9px;color:#bdc8b9;font-family:Consolas,monospace;letter-spacing:1px}.metric strong{font-size:29px;line-height:1.15;font-weight:500;letter-spacing:-.5px;font-family:"Segoe UI",LocalUI,sans-serif}.metric-unit{font-size:10px;color:#98a08d;margin-left:9px}.metric strong.metric-pair{font-size:20px;line-height:1.65;letter-spacing:0}.metric small{font-size:9px;color:#a0a795;display:block;margin-top:9px;line-height:1.5}.metric.quality-metric{background:#f0f4eb}.metric strong.quality-text{font-size:21px;line-height:1.55;color:#688054}.workbench-grid{display:grid;grid-template-columns:minmax(0,1fr) 282px;align-items:start;gap:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px;border-bottom:1px solid var(--line);min-height:63px}.panel-header>div:first-child{display:flex;align-items:center;gap:9px}.section-index{font-size:10px;color:#9fab93;font-family:Consolas,monospace;letter-spacing:1px;margin-right:1px}h2{margin:0;font-size:13px;font-weight:600}.badge{border-radius:4px;padding:3px 6px;background:#f4eee0;color:#9a8251;font-size:8px;letter-spacing:.5px;white-space:nowrap}.badge.neutral{background:#f0f3eb;color:#849278}.panel-actions{display:flex;gap:5px}.panel-actions .button{padding:6px 10px;font-size:10px}.panel-actions svg{width:13px;height:13px}.image-toolbar{display:flex;gap:9px;align-items:center;padding:10px 16px;background:#fafbf7;border-bottom:1px solid var(--line);font-size:9px;color:#8b9788}.tool-group{display:flex;gap:3px}.tool{background:none;border:1px solid transparent;color:#899680;border-radius:4px;padding:5px 7px;font-size:13px;display:flex;gap:5px;align-items:center}.tool span{font-size:10px}.tool.active{background:#edf2e8;color:#486745;border-color:#dde7d6}.toolbar-separator{height:16px;border-left:1px solid #e0e5da;margin:0 1px}.icon-button{border:0;background:none;width:25px;height:25px;font-size:17px;color:#7e8c79;border-radius:4px;display:inline-flex;align-items:center;justify-content:center}.icon-button:hover{background:#edf1e7}.fit-button{font-size:9px;margin-left:4px;white-space:nowrap}.image-dimensions{margin-left:auto;font-family:Consolas,monospace;font-size:9px}.image-stage{position:relative;overflow:auto;background:#e9ece5;min-height:180px;max-height:730px;line-height:0;padding:14px}.image-stage canvas{display:block;width:100%;height:auto;cursor:crosshair;touch-action:none}.image-stage canvas.select-mode{cursor:default}.stage-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;background:#eef1e9;line-height:1.5;color:#849079;font-size:11px}.spinner{display:inline-block;width:15px;height:15px;border:2px solid #d5decf;border-top-color:#597a53;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.image-caption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;font-size:8px;color:#a3ac9b;border-bottom:1px solid var(--line);line-height:1.8}.image-caption>span:first-child{display:flex;align-items:center;gap:5px}.legend-outline{width:9px;height:8px;border:1px dashed #7e9a73;display:inline-block}.legend-outline.inner{border:1px solid #7e9a73;margin-left:7px}.image-caption>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:40%}.image-tip{display:flex;gap:9px;align-items:center;padding:13px 16px;font-size:9px;color:#919b85;background:#fafbf7;line-height:1.7}.image-tip>span{font-size:8px;color:#77906b;background:#edf2e6;border-radius:3px;padding:2px 5px;white-space:nowrap}.count-pill{font-size:10px;color:#7b916e;background:#eef3e8;padding:3px 7px;border-radius:4px}.experiment-name{padding:17px 17px 12px}label{display:block;font-size:10px;color:#7c8b74;line-height:1.8}input:not([type=range]),select,textarea{background:#fafbf8;border:1px solid #e3e8de;border-radius:5px;padding:8px 10px;width:100%;color:#445a3d;font-size:11px;line-height:1.5;margin-top:5px}input::placeholder,textarea::placeholder{color:#b1baa8;font-size:10px}.roi-list{padding:0 11px;max-height:345px;overflow:auto;display:flex;flex-direction:column;gap:4px}.roi-item{display:flex;align-items:center;gap:9px;border:1px solid transparent;background:transparent;padding:10px 8px;border-radius:6px;cursor:pointer;min-height:51px}.roi-item:hover{background:#f7f9f3}.roi-item.selected{border-color:#d6e3cd;background:#f1f6ec}.roi-swatch{width:27px;height:30px;border-radius:4px;background:#e7ecdf;border:1px solid #00000009;position:relative;flex-shrink:0}.roi-id{font-size:9px;letter-spacing:.4px;position:absolute;inset:auto 0 -1px;text-align:center;background:#ffffffb8;line-height:13px;border-radius:0 0 3px 3px;color:#53684a}.roi-title{font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}.roi-subtitle{font-size:8px;color:#9da88e;margin-top:4px;font-family:Consolas,monospace}.control-pill{margin-left:auto;font-size:8px;border-radius:3px;padding:2px 5px;background:#e4eddb;color:#7e906f}.sample-status{margin-left:auto;width:5px;height:5px;border-radius:50%;background:#adc19c}.sample-status.caution{background:#c69f61}.sample-status.invalid{background:#b67059}.add-roi{display:block;width:calc(100% - 34px);margin:10px 17px 15px;border:1px dashed #dce6d3;background:none;border-radius:5px;padding:9px;color:#8a9c7b;font-size:10px}.add-roi:hover{background:#f3f6ee}.roi-editor{margin:0 17px 15px;padding-top:12px;border-top:1px solid var(--line)}.editor-title{display:flex;justify-content:space-between;font-size:10px;color:#6c805c;margin-bottom:9px}.danger{color:#a87058}.coordinate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0}.coordinate-grid input{padding:5px 3px;font-size:10px;text-align:center}.roi-editor .button{font-size:10px;padding:7px}.roi-editor>.text-button{display:block;margin-top:10px;font-size:9px}.roi-options{margin:0 17px;padding:14px 0;border-top:1px solid var(--line)}.roi-options>label{display:flex;justify-content:space-between;font-size:10px}.roi-options label>span{font-family:Consolas,monospace;color:#82976d}.roi-options p{font-size:9px;color:#a0aa94;line-height:1.8;margin-top:6px}input[type=range]{width:100%;height:4px;accent-color:#6b8d5e;margin:13px 0 3px;cursor:pointer}details summary{cursor:pointer;list-style:none}details summary::-webkit-details-marker{display:none}details summary:after{content:"＋";margin-left:auto;color:#9eac91;font-weight:400}details[open] summary:after{content:"−"}#research-parameters{margin-top:14px;font-size:10px;color:#94a283}#research-parameters summary{display:flex}#research-parameters>label{margin-top:8px}#research-parameters input{padding:5px 8px}.analyze-action{padding:15px 17px 16px;border-top:1px solid var(--line);background:#fafbf8}.analysis-status{font-size:8px;color:#a2ac97;display:block;text-align:center;margin-top:9px;line-height:1.7}.results-panel{margin-top:21px}.results-method{font-size:9px;color:#9eab93}.results-tabs{display:flex;gap:28px;padding:0 22px;border-bottom:1px solid var(--line)}.results-tabs button{padding:15px 0 13px;border:0;border-bottom:2px solid transparent;background:none;font-size:10px;color:#9aa58f;white-space:nowrap}.results-tabs button.active{color:#486941;border-color:#638550}.results-tabs button span{font-size:8px;margin-left:5px;background:#f3eee1;color:#ad915d;border-radius:3px;padding:1px 4px}.results-overview{display:grid;grid-template-columns:1.4fr 1fr;gap:35px;padding:26px 25px 27px}.chart-title{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:500;margin-bottom:20px}.chart-title span{font-weight:400;font-size:9px;color:#a0aa94}.bar-row{display:grid;grid-template-columns:72px 1fr 38px;gap:12px;align-items:center;margin:13px 0}.bar-name{font-size:10px;color:#7e8c72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-track{height:12px;background:#f4f6ef;border-radius:2px;position:relative;border-left:1px solid #e3e8dc}.bar-fill{height:100%;background:#9ab18a;border-radius:0 2px 2px 0;min-width:1px}.bar-fill.control{background:#d2dcc9}.bar-value{font:10px Consolas,monospace;color:#6f855c;text-align:right}.chart-scale{display:flex;justify-content:space-between;font-size:8px;color:#b1baa6;margin:12px 50px 0 84px;font-family:Consolas,monospace}.chart-axis{font-size:8px;color:#a7b29a;text-align:center;margin-top:7px}.closest-card{border-left:1px solid var(--line);padding-left:28px}.closest-eyebrow{font-size:9px;letter-spacing:.6px;color:#98a78a;margin-bottom:16px}.closest-title{font-size:16px;line-height:1.7;font-weight:500;color:#577149;margin-bottom:13px}.pair-swatches{display:flex;height:45px;border-radius:5px;overflow:hidden;margin-bottom:11px}.pair-swatches>span{width:50%;display:flex;align-items:center;justify-content:center;font-size:9px;color:#263b30;background:#e5eadf}.closest-reading{font-size:24px;color:#647d52;font-family:"Segoe UI",sans-serif;font-weight:400}.closest-reading small{font-size:9px;color:#98a48a;margin-left:9px}.closest-description{font-size:9px;line-height:1.9;color:#a0aa96;margin-top:8px}.results-footnote{border-top:1px solid var(--line);padding:13px 22px;color:#a2ab96;font-size:9px;line-height:1.8;background:#fcfcfa}.empty-result{padding:40px 24px;text-align:center;font-size:12px;color:#8b9b7d;line-height:1.9}.table-scroll{overflow:auto;padding:14px 20px 20px}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap;font-size:10px}th{background:#f7f9f2;color:#8c9b7e;font-weight:400;padding:12px 10px;border-bottom:1px solid #e7eddf}td{padding:12px 10px;color:#758869;border-bottom:1px solid #edf0e7;font-variant-numeric:tabular-nums}.table-swatch{display:inline-block;width:13px;height:13px;border-radius:3px;vertical-align:middle;margin-right:8px}.table-note{font-size:9px;line-height:1.8;color:#9ba88c;padding:0 25px 15px}.matrix-table td{min-width:80px;text-align:center}.matrix-table th{text-align:center}.matrix-table th:first-child{text-align:left}.quality-list{padding:10px 22px 21px}.quality-row{border-bottom:1px solid var(--line);padding:14px 0;display:grid;grid-template-columns:115px 1fr;gap:20px}.quality-row strong{font-size:10px;font-weight:500}.quality-row p{font-size:10px;line-height:1.9;color:#a08d6c}.quality-row small{display:block;margin-top:5px;color:#a4b196;font-size:9px}.status-pill{display:inline-block;border-radius:4px;padding:3px 6px;background:#eef3e7;color:#82996c;font-size:8px;margin-left:6px}.status-pill.caution{background:#f8f1e4;color:#b69a69}.status-pill.invalid{background:#faeee8;color:#b68167}.metadata-panel{margin-top:20px}.metadata-panel summary{display:flex;align-items:center;gap:10px;padding:20px}.metadata-panel summary strong{font-size:12px;font-weight:500}.details-hint{font-size:9px;color:#a2ad95;margin-left:10px}.metadata-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px;padding:0 23px 23px}.metadata-grid .wide{grid-column:1/-1}.image-provenance{padding:14px 23px;border-top:1px solid var(--line);font:9px/1.8 Consolas,LocalUI,monospace;color:#99a88a;overflow-wrap:anywhere}.page-footer{display:flex;justify-content:space-between;padding:27px 2px 23px;color:#b0baa3;font-size:8px;letter-spacing:.2px}.footer-divider{margin:0 10px;color:#c7cebc}.toast{position:fixed;right:30px;bottom:25px;padding:13px 20px;border:1px solid #d2deca;background:#edf3e8;color:#577b46;font-size:12px;border-radius:7px;z-index:20;max-width:min(480px,90vw);line-height:1.8}.toast.error{background:#fcf0e8;border-color:#eddbca;color:#a77554}dialog{padding:28px 30px;border:1px solid #dce5d3;border-radius:14px;width:min(700px,92vw);max-height:85vh;overflow:auto;color:var(--ink);background:#fff}dialog::backdrop{background:#172d225c}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-header h2{font-size:22px;margin-top:8px;font-weight:500}.dialog-description{font-size:11px;line-height:1.9;color:#95a386;margin:18px 0}.record-row{display:flex;gap:15px;align-items:center;border-top:1px solid var(--line);padding:17px 0}.record-main{flex:1;min-width:0}.record-main strong{font-size:12px;font-weight:500;display:block}.record-main small{font-size:9px;line-height:1.8;color:#9cab8d;display:block;margin-top:7px}.record-row .button{padding:7px 10px;font-size:10px}.guide-steps{padding-left:22px;margin:25px 0}.guide-steps li{margin:18px 0;padding-left:7px;color:#7c9270}.guide-steps strong{font-size:12px;font-weight:500}.guide-steps p{font-size:11px;color:#93a383;line-height:1.9;margin-top:6px}.guide-warning{padding:14px;background:#f7f3e7;border-radius:6px;font-size:10px;color:#a18a60;line-height:1.9}.guide-shortcuts{font-size:9px;color:#a4b294;margin-top:18px;line-height:1.9}.saved-symbol{width:48px;height:48px;border-radius:50%;background:#edf3e8;color:#6e9259;font-size:24px;display:flex;align-items:center;justify-content:center;margin:24px 0 15px}#export-dialog>p{font-size:11px;color:#93a083;line-height:1.9}.saved-path-label{margin-top:20px}.saved-path-label input{font-family:Consolas,monospace;font-size:10px}.export-file-list{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 25px}.export-file-list span{padding:5px 8px;background:#f3f6ed;border-radius:4px;font-size:9px;color:#8f9f7d}
@media(min-width:1550px){main{padding-top:38px}.image-stage{padding:20px}.workbench-grid{grid-template-columns:minmax(0,1fr) 308px}.roi-list{max-height:400px}.metric{min-height:124px}.results-overview{gap:65px}}
@media(max-width:1150px){.sidebar{width:180px;padding-left:13px;padding-right:13px}.app-shell{margin-left:180px}.brand{font-size:22px;margin-left:7px;gap:9px}.brand img{width:37px}.brand-en{font-size:8px}main{padding:26px 22px 0}.topbar{padding:0 22px}.page-heading{align-items:flex-start}.heading-actions{flex-direction:column-reverse;align-items:flex-end;gap:8px}.heading-actions>.primary{padding:9px 13px}.metric{padding:15px}.metrics{gap:10px}.metric small{font-size:8px}.workbench-grid{grid-template-columns:minmax(0,1fr) 255px;gap:14px}.panel-header{padding:15px}.panel-actions .subtle{display:none}.image-toolbar{padding-left:10px;gap:5px}.image-dimensions{display:none}.image-caption{font-size:7px}.results-overview{gap:20px}.closest-card{padding-left:18px}.metric-pair{font-size:16px!important}.metric strong{font-size:25px}}
@media(max-width:850px){.sidebar{width:70px;align-items:center;padding:25px 8px 15px}.brand{margin:0 0 35px}.brand>span,.workspace-label,.nav-button:not(.active),.nav-button .nav-dot,.sidebar-section,.sidebar-note,.sidebar-footer{display:none}.nav-button{font-size:0;padding:13px}.nav-button svg{width:20px;height:20px}.app-shell{margin-left:70px}.topbar-right .privacy-label{display:none}.topbar{height:57px}main{padding:22px 18px 0}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{min-height:105px}.workbench-grid{grid-template-columns:minmax(0,1fr) 245px;gap:12px}.page-heading h1{font-size:23px}.notice{font-size:9px}.notice button{display:none}.results-method{display:none}.results-tabs{gap:22px}.image-caption>span:last-child{display:none}.metadata-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.results-overview{grid-template-columns:1fr}.closest-card{border-left:0;border-top:1px solid var(--line);padding:22px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:6px 20px}.closest-title{grid-column:1;margin:0}.closest-eyebrow{grid-column:1;margin:0}.closest-card .pair-swatches{grid-column:2;grid-row:1/3;margin:0;height:60px}.closest-description{grid-column:1/-1}.details-hint{display:none}}
@media(max-width:640px){.sidebar{display:none}.app-shell{margin-left:0}.topbar{padding:0 17px;height:52px}.version{padding-left:0;border:0;font-size:8px}main{padding:22px 14px 0}.page-heading{display:block;margin-bottom:19px}.page-heading h1{font-size:25px}.heading-actions{flex-direction:row;align-items:center;justify-content:space-between;margin-top:18px}.eyebrow{font-size:8px}.notice{padding:11px;align-items:flex-start;margin-bottom:16px}.metrics{margin-bottom:16px}.metric strong{font-size:27px}.metric strong.metric-pair{font-size:18px!important}.metric strong.quality-text{font-size:20px}.workbench-grid{display:flex;flex-direction:column;gap:16px}.image-panel,.roi-panel{width:100%}.image-stage{padding:8px}.image-toolbar{padding:9px 10px}.panel-header{padding:16px}.image-dimensions{display:block;font-size:8px}.roi-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:260px}.roi-item{min-width:0}.roi-title{max-width:85px}.roi-subtitle{font-size:7px}.roi-options{padding-top:14px}.results-panel{margin-top:16px}.results-tabs{padding:0 16px;gap:24px}.results-overview{padding:22px 17px}.quality-row{grid-template-columns:90px 1fr;gap:12px}.metadata-panel{margin-top:16px}.metadata-grid{gap:12px;padding:0 17px 17px}.page-footer{gap:15px;line-height:1.8;font-size:7px}.page-footer>span:last-child{white-space:nowrap}dialog{padding:24px 20px}.record-row{gap:8px;flex-wrap:wrap}.record-main{min-width:100%}.toast{right:14px;bottom:14px}.roi-editor .coordinate-grid{gap:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.method-panel{margin-bottom:22px;padding:23px 25px}.method-heading{display:flex;justify-content:space-between;align-items:start;gap:16px}.method-heading h2{font-size:18px;line-height:1.6;margin:7px 0}.method-heading p{color:#8b9781;font-size:10px;line-height:1.8}.method-picker{display:grid;grid-template-columns:minmax(260px,1fr) 1.3fr;align-items:end;gap:25px;margin-top:19px}.method-picker select{font-size:13px;padding:11px 12px;background:#f5f8f0}.method-shortcuts{display:flex;gap:7px;flex-wrap:wrap}.method-chip{border:1px solid #dce6d4;border-radius:5px;padding:8px 10px;background:#fff;color:#7f926e;font-size:10px}.method-chip:hover,.method-chip.selected{background:#edf3e6;border-color:#9ab18b;color:#416735}.method-description{margin-top:18px;border-top:1px solid var(--line);padding-top:17px;line-height:1.9}.method-principle{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.method-category{font-size:9px;padding:2px 6px;background:#edf3e6;color:#789466;border-radius:3px}.method-principle strong{font-size:12px;font-weight:500}.method-principle>span:last-child{font-size:11px;color:#7b8d6c;margin-left:auto}.method-description p{font-size:11px;color:#8d7852;background:#f8f4e9;padding:9px 12px;margin:11px 0;border-radius:4px}.method-reference{display:flex;gap:14px;align-items:center;font-size:10px;color:#9aa58d}.method-reference a{font-size:10px;white-space:nowrap}.method-description>small{display:block;color:#9aa88d;font-size:9px;margin-top:7px}.method-path{display:flex;align-items:center;gap:9px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.method-path>span{font-size:9px;color:#9ba88e;line-height:1.9;margin-left:4px}.method-path .button:disabled{cursor:not-allowed}.instrument-intro{padding:18px 23px;background:#f4f7ee;color:#82946e;font-size:11px;line-height:1.9}.instrument-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:20px 23px}.instrument-actions>span{font-size:9px;color:#a0ac92;margin-left:auto}.instrument-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 22px;padding:0 23px 18px}.instrument-settings .check-label{grid-column:span 2;display:block;font-size:11px;line-height:1.9;color:#899a75}.instrument-settings .check-label:last-child{grid-column:span 1}.check-label input[type=checkbox]{display:inline-block;width:auto;margin:0 6px 0 0;accent-color:#587e47}.check-label small{display:block;font-size:9px;color:#a3ad96;margin-top:4px}.instrument-csv-label{padding:0 23px}.instrument-csv-label textarea{font:11px/1.9 Consolas,monospace;color:#506f43;background:#fafcf6;resize:vertical;min-height:140px}.instrument-run{display:flex;gap:15px;align-items:center;padding:17px 23px 22px;border-bottom:1px solid var(--line)}.instrument-run>span{font-size:9px;color:#a0ad91}.instrument-summary{display:flex;gap:30px;flex-wrap:wrap;padding:21px 24px;background:#f9fbf6;font-size:11px;color:#92a17e}.instrument-summary strong{font-size:18px;color:#617f4d;font-weight:500;margin-right:4px}.instrument-warnings{padding:15px 23px 0;font-size:10px;color:#a18d63;line-height:1.9}.instrument-warnings p{margin-bottom:5px}.instrument-chart{margin:0 24px 23px;border-top:1px solid var(--line);padding-top:20px;max-width:800px}.instrument-chart>p{font-size:9px;line-height:1.9;color:#a2af91;margin-top:12px}.instrument-chart .bar-row{grid-template-columns:105px 1fr 50px}.instrument-workspace .table-scroll td:last-child{max-width:330px;white-space:normal;font-size:9px;line-height:1.8}
@media(max-width:1100px){.method-picker{grid-template-columns:1fr;gap:13px}.method-heading>.badge{display:none}.method-path{flex-wrap:wrap}.method-path>span{flex-basis:100%;margin:2px 0 0}.method-reference{flex-wrap:wrap;gap:2px 14px}.method-principle>span:last-child{margin:0}.instrument-settings{grid-template-columns:repeat(2,minmax(0,1fr))}.instrument-settings .check-label:last-child{grid-column:span 2}.instrument-summary{gap:17px}}
@media(max-width:640px){.method-panel{padding:18px 16px}.method-heading h2{font-size:17px}.method-principle{gap:5px 9px}.method-principle strong{font-size:11px}.method-principle>span:last-child{flex-basis:100%;margin:3px 0 0}.method-chip{font-size:9px;padding:7px}.method-description p{font-size:10px}.method-reference{font-size:9px;overflow-wrap:anywhere}.method-path .button{font-size:10px;padding:9px}.instrument-actions,.instrument-intro{padding:17px}.instrument-actions .button{font-size:10px;padding:8px}.instrument-settings{padding:0 17px 17px;gap:12px}.instrument-csv-label{padding:0 17px}.instrument-settings>label:first-child{grid-column:1}.instrument-settings .check-label{grid-column:1/-1}.instrument-run{padding:15px 17px;flex-wrap:wrap}.instrument-summary{padding:17px;gap:14px}.instrument-warnings{padding:15px 17px 0}.instrument-chart{margin:0 17px 20px}.instrument-chart .chart-title{flex-wrap:wrap;gap:8px}}
