@charset "UTF-8";
:root{--ink:#183e34;--text:#283d36;--muted:#7d8981;--line:#e4e8e0;--bg:#f7f8f3;--lime:#dbe8b2;--green:#315c49;--orange:#d0985a;--side:222px;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--text);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:14px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #98b99c;outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}button{border:0;background:none}input[type=number]::-webkit-inner-spin-button{opacity:0}input[type=number]:hover::-webkit-inner-spin-button{opacity:1}[hidden]{display:none!important}.shell{min-height:100vh}.sidebar{width:var(--side);height:100vh;position:fixed;top:0;left:0;background:#eff2e9;border-right:1px solid var(--line);padding:34px 19px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:10px;padding:0 14px}.brand img{width:37px;height:37px}.brand>span{font-family:Georgia,serif;font-size:35px;letter-spacing:-1.7px;color:var(--ink);line-height:1}.brand-dot{color:#82975c}.side-caption{font-size:11px;color:#788774;letter-spacing:1.4px;margin:15px 0 39px 16px}.sidebar nav{display:grid;gap:9px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;padding:14px 12px;border-radius:9px;color:#6c7b6f;font-size:12px;text-align:left;transition:background .15s}.nav-item:hover{background:#e5ebdf}.nav-item.selected{background:#e0e8d6;color:#214b39;font-weight:600}.nav-glyph{font-size:20px;width:22px;line-height:1}.nav-dot{margin-left:auto;width:5px;height:5px;border-radius:50%;background:#42653b}.count{margin-left:auto;font-size:10px;color:#89947e}.external{margin-left:auto;font-size:16px}.side-bottom{margin-top:auto;padding:22px 15px 0}.mini-flower{font-size:36px;color:#a1b27e;margin-bottom:10px}.side-bottom>div:nth-child(2){font-size:18px;line-height:1.8;color:#8b9984;font-weight:300}.side-bottom strong{color:#51684b;font-weight:500}.side-bottom p{font-size:10px;color:#95a08d;margin:19px 0 24px}.version{border-top:1px solid #dfe5d8;padding-top:16px;font-size:10px;letter-spacing:.4px;color:#83917b;display:flex;gap:7px;align-items:center}.version span{width:5px;height:5px;background:#78985a;border-radius:50%}.workspace{margin-left:var(--side)}.topbar{height:79px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 43px;background:#fafbf7}.breadcrumb{font-size:11px;color:#768576}.breadcrumb span{margin:0 13px;color:#bdc5b5}.top-actions{display:flex;align-items:center;gap:25px}.text-button{font-size:12px;color:#64765d;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.6;padding:4px 0}.text-button:hover{color:#214e37}.institution{font-size:10px;color:#8c9688;letter-spacing:.5px;border-left:1px solid var(--line);padding-left:24px}.avatar{border:1px solid #d9e2cd;background:#ebf0e3;width:30px;height:30px;border-radius:50%;font-size:10px;display:grid;place-items:center;color:#7b8e6a}main{max-width:1500px;margin:auto;padding:37px 43px 0}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:31px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#839473;font-weight:600;display:flex;align-items:center;gap:7px}.eyebrow>span{width:4px;height:4px;background:#7b9464;border-radius:50%}h1{font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:31px;letter-spacing:-1px;font-weight:500;line-height:1.5;margin:9px 0 7px;color:#274638}h1 span{color:#6c8653}h1+p{font-size:12px;color:#8a9485;margin:0}.button{border-radius:7px;display:inline-flex;align-items:center;justify-content:center;gap:13px;font-size:12px;font-weight:500;line-height:1.2;padding:14px 21px;min-height:43px;transition:background .15s,transform .15s;white-space:nowrap}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--ink);color:#fff}.button.primary:hover{background:#285744}.button.outline{border:1px solid #dbe2d4;background:#fcfdf9;color:#586e4c}.button.small{min-height:35px;font-size:11px;padding:11px 16px}.button.full{width:100%}.experiment-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 1px;margin-bottom:26px}.experiment-title{display:flex;align-items:center;gap:10px;min-width:0}.experiment-title input{padding:0;background:none;border:0;color:#586551;font-size:12px;outline:none;width:240px;min-width:120px}.folder-icon{font-size:22px;color:#82926e}.pill{font-size:9px;letter-spacing:.3px;padding:3px 8px;border-radius:4px;background:#e9eedf;color:#73845c;white-space:nowrap}.pill.neutral{background:#eceee7;color:#8e9785}.save-label{font-size:10px;color:#a0aa98}.steps{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid #e0e7d8;border-radius:9px;background:#fff;overflow:hidden;margin-bottom:27px}.step{padding:18px 22px;display:flex;text-align:left;align-items:center;gap:12px;position:relative;color:#9da893;background:#fcfdf9;min-width:0}.step.active{background:#f0f4e7;color:#335c3e}.step-number{height:27px;width:27px;display:grid;place-items:center;flex-shrink:0;border:1px solid #dce4d4;border-radius:50%;font-size:12px;background:#f8faf4;color:#9eac91}.step.active .step-number{background:#355b40;color:#fff;border-color:#355b40}.step strong{font-size:12px;display:block;font-weight:500}.step small{font-size:9px;display:block;margin-top:4px;color:#a0ad92}.step.active small{color:#839675}.step-chevron{margin-left:auto;color:#bac5ae;font-size:24px;font-weight:200}.upload-layout{display:grid;grid-template-columns:minmax(0,1fr) 228px;gap:24px}.upload-main{padding:26px;background:#fff;border:1px solid #e4e9dc;border-radius:11px;min-width:0}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:23px}h2,h3,p{margin-top:0}h2{font-size:16px;letter-spacing:-.3px;font-weight:500;line-height:1.5;margin-bottom:6px}h3{font-size:15px;font-weight:500;line-height:1.5;margin-bottom:6px}.section-head p{font-size:10px;color:#98a18f;margin-bottom:0;line-height:1.9}.subtle-pill{font-size:9px;color:#99a589;background:#f3f6ed;padding:5px 9px;border-radius:5px;white-space:nowrap}.upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.upload-card{border:1px dashed #d9e0d0;border-radius:8px;position:relative;cursor:pointer;transition:border .2s,background .2s;display:flex;flex-direction:column;min-width:0;background:#fdfefb;min-height:253px;overflow:hidden}.upload-card:hover{background:#f5f8ed;border-color:#8ca875}.card-top{padding:12px;display:flex;align-items:center;justify-content:space-between;gap:5px;position:relative;z-index:1}.phase-badge{font-family:Georgia,serif;font-size:13px;color:#6c8259}.phase-tag{font-size:8px;background:#eff3e7;padding:3px 6px;border-radius:4px;color:#95a581}.upload-content{padding:12px 4px 21px;text-align:center}.upload-symbol{height:35px;width:35px;display:grid;place-items:center;background:#eff4e5;color:#90a770;font-size:24px;border-radius:50%;font-weight:200;margin:0 auto 13px}.upload-content strong{font-size:11px;font-weight:500;display:block;color:#5e7053}.upload-content p{font-size:8px;color:#a3ad97;margin:7px 2px 13px;white-space:normal}.choose-file{font-size:9px;border:1px solid #e0e7d6;background:white;color:#82936c;border-radius:4px;display:inline-block;padding:6px 9px}.card-foot{border-top:1px dashed #e4e9dd;margin-top:auto;padding:9px 11px;display:flex;align-items:center;gap:6px;color:#a6b099;font-size:8px;min-height:32px;z-index:1;background:#fdfefb}.phase-dot{width:4px;height:4px;background:#c5cfba;border-radius:50%;flex-shrink:0}.phase-file{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview{height:169px;overflow:hidden;position:relative}.preview img{width:100%;height:100%;object-fit:cover}.upload-card.loaded{border-style:solid;border-color:#d9e4ce}.upload-card.loaded .phase-dot{background:#6e9053}.upload-card.loaded .card-foot{color:#6b8950}.upload-card.loaded .card-top{background:#f5f8ef}.upload-hint{font-size:9px;color:#a9b19f;margin:15px 0 24px}.probe-details{border:1px solid #e6ebde;border-radius:7px;background:#fcfdf9}.probe-details summary{display:flex;align-items:center;gap:12px;padding:15px;cursor:pointer;list-style:none}.probe-details summary::-webkit-details-marker{display:none}.summary-icon{font-size:19px;color:#8a9d74;width:20px}.probe-details[open] .summary-icon{transform:rotate(45deg)}.probe-details summary strong{font-weight:500;font-size:11px;color:#778b63}.probe-details summary p{margin:4px 0 0;font-size:9px;color:#a3ad97}.probe-details summary>.subtle-pill{margin-left:auto}.probe-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:4px 15px 17px}.probe-card{border:1px dashed #d9e2cd;display:block;min-height:104px;padding:10px 7px;border-radius:6px;cursor:pointer;background:#fff;text-align:center;min-width:0;position:relative;overflow:hidden}.probe-card strong{font-size:10px;font-weight:500;display:block}.probe-card p{font-size:8px;color:#a3ac99;margin:5px 0 10px}.probe-card span{font-size:9px;color:#91a276}.probe-card.loaded{background:#eef3e5;border-style:solid}.probe-card img{width:100%;height:61px;object-fit:cover;margin-top:5px;border-radius:3px}.temperature-inputs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 15px 16px;gap:8px}.temperature-inputs label{font-size:8px;color:#98a28d}.temperature-inputs input{width:46px;border:1px solid #e0e5d9;background:white;border-radius:4px;padding:3px;font-size:10px;color:#6c805b}.temperature-confirm{display:flex;gap:11px;align-items:flex-start;padding:23px 0 19px}.temperature-confirm input{accent-color:#416b4c;margin:3px 0 0;width:14px;height:14px;cursor:pointer}.temperature-confirm label{cursor:pointer}.temperature-confirm strong{display:block;font-size:10px;font-weight:500;color:#718064}.temperature-confirm small{display:block;font-size:9px;color:#aab29f;margin-top:5px}.panel-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;gap:10px}.panel-footer>.text-button{font-size:10px}.panel-footer .button{font-size:10px;padding:13px 17px}.protocol-card{background:#ebf0df;border:1px solid #e0e8d2;border-radius:11px;padding:26px 22px;color:#617450;align-self:stretch;position:relative;overflow:hidden}.protocol-label{font-size:9px;letter-spacing:1px;color:#8da074}.protocol-card h3{font-size:24px;color:#526e42;font-weight:400;line-height:1.65;margin:13px 0 25px;letter-spacing:-.5px}.timeline{position:relative;margin-left:5px}.timeline:before{content:"";position:absolute;width:1px;background:#c8d5b4;top:8px;bottom:30px;left:0}.timeline>div{padding-left:20px;margin-bottom:24px;position:relative}.timeline i{position:absolute;width:6px;height:6px;border-radius:50%;border:1px solid #aebe98;background:#ebf0df;left:-2.5px;top:5px}.timeline span{font-size:10px;color:#8d9e77}.timeline small{display:block;font-size:8px;color:#a7b391;margin-top:4px}.timeline .highlight span{font-weight:500;color:#617e45}.timeline .highlight i{background:#7f9a5b;border-color:#7f9a5b}.protocol-bottom{font-size:10px;color:#9dab8a;border-top:1px solid #d6e0c7;padding-top:17px;line-height:1.9;margin-top:6px}.page-footer{margin-top:36px;padding:22px 0 25px;display:flex;justify-content:space-between;font-size:8px;color:#b0b7a7;border-top:1px solid #e5e9df;letter-spacing:.4px}.page-footer>span:first-child{font-family:Georgia,serif;font-size:12px;color:#8b9a7e}.page-footer>span:first-child span{font-family:system-ui;font-size:8px;margin-left:9px;color:#aab49e}.notice{margin-bottom:22px;border-radius:7px;display:flex;align-items:center;gap:12px;padding:11px 15px;background:#f5eddb;border:1px solid #eadebf;color:#938057;font-size:10px}.notice>span{font-size:9px;background:#eaddb7;color:#877240;padding:3px 6px;border-radius:3px}.notice>.text-button{margin-left:auto;font-size:10px;color:#8d7d53}.annotation-layout{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:22px}.canvas-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;align-self:start}.canvas-head{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-bottom:1px solid var(--line)}.window-tabs{display:flex;gap:3px;background:#f2f5eb;border-radius:6px;padding:3px}.window-tabs button{font-size:10px;color:#8b997d;padding:7px 10px;border-radius:4px}.window-tabs button.active{background:white;color:#42613b;box-shadow:0 1px 3px #2030210c}.muted{font-size:9px;color:#a8b29e}.canvas-container{background:#e5e8de;position:relative;min-height:230px;display:flex;align-items:center;justify-content:center}.canvas-container canvas{display:block;width:100%;height:auto;touch-action:none;cursor:crosshair}.canvas-empty{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;color:#8b9780;background:#f2f5ec}.canvas-bottom{display:flex;align-items:center;gap:17px;padding:12px 15px;font-size:8px;color:#97a18d;flex-wrap:wrap}.canvas-bottom>span{display:flex;align-items:center;gap:5px}.legend-dot{width:5px;height:5px;border-radius:50%;display:inline-block}.legend-dot.green{background:#719d5d}.legend-dot.orange{background:#d49d58}.legend-dot.dark{background:#35493a}.annotation-status{margin-left:auto}.annotation-controls{background:#fff;padding:23px 19px;border:1px solid var(--line);border-radius:10px;align-self:start}.annotation-controls h2{font-size:15px}.control-intro{font-size:9px;color:#9ca88d;margin:7px 0 22px}.tool{display:flex;align-items:center;gap:9px;border:1px solid #e7ebdf;border-radius:7px;padding:12px 9px;width:100%;margin-bottom:10px;text-align:left;color:#9aa68d;background:#fdfefb}.tool.selected{border-color:#a7ba8b;background:#f0f5e8;color:#527244}.tool strong{font-size:10px;font-weight:500;display:block;color:#6a7c5a}.tool small{font-size:8px;display:block;margin-top:5px;color:#a1ac95;line-height:1.8}.tool>span:last-child{margin-left:auto;font-size:15px}.tool-index{border:1px solid #dfe5d5;font-size:9px;border-radius:50%;width:19px;height:19px;flex-shrink:0;display:grid;place-items:center}.selected .tool-index{background:#668554;color:#fff;border-color:#668554}.tool-actions{display:flex;justify-content:space-between;margin-bottom:15px}.tool-actions .text-button{font-size:9px}.tool-hint{font-size:9px;color:#a1aa96;background:#f7f9f1;border-radius:6px;padding:11px;line-height:1.9;margin-bottom:19px}.settings-details{font-size:10px;color:#8d9d7b;margin-bottom:23px;border-top:1px solid var(--line);padding-top:14px}.settings-details summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between}.settings-details .tool{margin-top:14px}.compact{padding:9px}.setting-field{display:flex;justify-content:space-between;align-items:center;font-size:9px;margin-top:13px;color:#8d9b7e;gap:5px}.setting-field input{width:55px;font-size:10px;padding:5px;border:1px solid #dfe6d5;background:#fcfdf9;border-radius:4px;color:#6f8758}.settings-details p{font-size:8px;line-height:1.8;color:#aab29e;margin:11px 0 0}.back{margin-top:10px;font-size:10px}.pending-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:70px 30px;text-align:center;min-height:400px}.pending-card .eyebrow{display:block;margin:23px 0 13px}.pending-card h2{font-size:22px;font-weight:400}.pending-card p{color:#9ca68f;font-size:12px}.spinner{width:32px;height:32px;border:2px solid #e4ebda;border-top-color:#6d9054;border-radius:50%;animation:spin .8s linear infinite;margin:auto}.progress-track{width:280px;height:4px;border-radius:4px;background:#eff3e7;margin:28px auto;overflow:hidden}.progress-track i{height:100%;background:#7e9c63;display:block;width:0;transition:width .4s}.result-status{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:10px}.result-status>div:first-child{display:flex;align-items:center;gap:15px}.status-indicator{width:42px;height:42px;border-radius:50%;background:#e3edd6;color:#648a46;display:grid;place-items:center;font-size:20px}.result-status h2{font-size:22px;font-weight:400;margin:6px 0 0}.result-actions{display:flex;gap:9px}.result-context{color:#98a48c;font-size:10px;margin-bottom:23px;padding-left:57px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:23px}.metric{background:#fff;border:1px solid var(--line);border-radius:9px;padding:22px 20px;position:relative;overflow:hidden}.metric:first-child{background:#edf3e1;border-color:#dfe7d3}.metric-label{font-size:10px;color:#829672;display:flex;justify-content:space-between;gap:5px;position:relative;z-index:1}.metric-label>span{font-size:10px;color:#b0bd9d;font-family:Georgia,serif}.metric strong{font-family:Georgia,"Microsoft YaHei",serif;font-size:34px;line-height:1.3;letter-spacing:-.6px;color:#365740;display:inline-block;margin:17px 5px 12px 0;font-weight:400}.metric .metric-unit{font-size:10px;color:#9daf89}.metric p{font-size:8px;color:#a5b095;margin:0;position:relative;z-index:1}.metric-decoration{height:90px;width:90px;border:1px solid #d9e4c7;position:absolute;right:-25px;bottom:-27px;border-radius:50%}.metric-decoration:before{content:"";position:absolute;inset:12px;border:1px solid #d9e4c7;border-radius:50%}.check-metric strong{font-family:system-ui;font-size:16px;letter-spacing:0;margin-top:24px;min-height:36px;line-height:1.5}.results-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:20px;margin-bottom:23px}.chart-card,.checks-card,.comparison-card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:24px}.response-chart{height:215px;display:flex;align-items:center;justify-content:center}.response-chart svg{width:100%;height:100%;overflow:visible}.chart-legend{display:flex;align-items:center;justify-content:center;font-size:9px;gap:23px;color:#9fad92;margin-top:10px}.chart-legend>span{display:flex;align-items:center;gap:6px}.chart-legend i{width:5px;height:5px;background:#67874d;border-radius:50%}.chart-legend i.line{width:13px;height:1px;background:#bdcfa9;border-radius:0}.check-row{display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid #f0f3ea;padding:14px 0}.check-row>span{background:#edf4e4;border-radius:50%;color:#78a056;font-size:10px;display:grid;place-items:center;width:18px;height:18px;flex-shrink:0}.check-row.pending>span{background:#f5efdf;color:#b8a170}.check-row strong{font-size:10px;font-weight:500;color:#748a63;display:block}.check-row small{font-size:8px;color:#a6b197;line-height:1.8;display:block;margin-top:4px}.checks-note{font-size:9px;color:#a6b294;line-height:1.9;margin-top:17px}.comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.compare-image{border-radius:7px;border:1px solid #e7ecdf;overflow:hidden;background:#f8faf4}.compare-image img{width:100%;aspect-ratio:1.313;object-fit:contain;background:#e5eadc;display:block;cursor:pointer}.compare-image>div{padding:12px;display:flex;justify-content:space-between;color:#81956e;font-size:10px}.compare-image small{font-size:9px;color:#a9b699}.outcome-card{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:23px;border:1px solid #e1e7d7;background:#f0f4e8;border-radius:9px;padding:25px}.outcome-card h3{font-size:16px;color:#607d48;margin:7px 0}.outcome-card p{font-size:10px;color:#9baa88;margin:0}.outcome-card>div:last-child{display:flex;align-items:flex-end;flex-direction:column;gap:13px}.outcome-card select{color:#71855e;padding:10px 18px 10px 10px;border:1px solid #dbe4ce;background:#fbfdf7;border-radius:5px;font-size:11px;min-width:190px}.outcome-card a{font-size:9px}.drawer-overlay{position:fixed;inset:0;background:#122b2355;z-index:30;display:flex;justify-content:flex-end;backdrop-filter:blur(3px)}.drawer{width:410px;background:#fbfcf8;padding:30px;height:100%;overflow-y:auto;box-shadow:-20px 0 60px #182f2115}.drawer-head{display:flex;justify-content:space-between;align-items:center}.drawer h2{font-size:21px;font-weight:400}.icon-button{font-size:23px;font-weight:200;color:#9aaa8c;padding:3px 9px}.drawer>p{font-size:11px;color:#9eaa91;margin:15px 0 24px}.record-item{width:100%;background:#fff;border:1px solid #e3e9da;text-align:left;border-radius:8px;padding:17px;margin-bottom:10px;cursor:pointer}.record-item:hover{border-color:#a5ba8a}.record-item strong{font-weight:500;font-size:13px;color:#688253;display:block}.record-item p{font-size:10px;color:#a6b097;margin:8px 0}.record-item small{font-size:9px;color:#a6b197}.empty-records{border:1px dashed #dbe3d2;border-radius:8px;text-align:center;padding:45px 15px;color:#a6b398;font-size:12px}dialog{border:1px solid #dce5d1;border-radius:13px;background:#fcfdf9;max-width:560px;width:90%;padding:30px;box-shadow:0 30px 100px #112e251f;color:var(--text)}dialog::backdrop{background:#173d3259;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{font-size:22px;font-weight:400}.guide-list{list-style:none;padding:0;counter-reset:guide;margin:23px 0}.guide-list li{position:relative;padding-left:37px;counter-increment:guide;margin-bottom:23px}.guide-list li:before{content:counter(guide);position:absolute;left:0;top:0;border:1px solid #d4e0c6;background:#eaf1e1;color:#78995b;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font-size:10px}.guide-list strong{font-size:12px;font-weight:500;color:#6d8957}.guide-list p{color:#9aa88b;font-size:11px;line-height:1.9;margin:6px 0}.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);max-width:min(600px,90vw);padding:13px 20px;background:#244c3f;color:white;border-radius:8px;box-shadow:0 10px 40px #15372a22;font-size:12px;z-index:100}.upload-overlay{position:fixed;inset:0;background:#f7faf2d9;backdrop-filter:blur(5px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:80}.upload-overlay .spinner{margin:0 0 22px}.upload-overlay strong{font-size:18px;font-weight:400;color:#688950}.upload-overlay p{font-size:11px;color:#a1af90;margin-top:12px}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1450px){main{padding-left:56px;padding-right:56px}.upload-layout{grid-template-columns:minmax(0,1fr) 250px}.upload-card{min-height:275px}.upload-content{padding-top:24px;padding-bottom:29px}.preview{height:195px}.upload-content p{font-size:9px}.upload-content strong{font-size:13px}.upload-main{padding:30px}.protocol-card{padding:30px 26px}.sidebar{padding-top:36px}.metric strong{font-size:40px}}
@media(max-width:1150px){:root{--side:185px}.sidebar{padding:30px 12px}.brand{padding:0 10px}.brand>span{font-size:31px}.brand img{width:32px;height:32px}.side-caption{font-size:9px;margin-left:11px}.nav-item{font-size:11px;padding:13px 10px;gap:7px}.topbar{padding:0 27px}.institution{display:none}main{padding:30px 27px 0}.upload-layout{grid-template-columns:minmax(0,1fr) 190px;gap:17px}.upload-main{padding:21px}.protocol-card{padding:24px 17px}.protocol-card h3{font-size:21px}.upload-grid{gap:8px}.upload-content p{font-size:8px;min-height:25px}.save-label{font-size:9px;max-width:200px;text-align:right}.annotation-layout{grid-template-columns:minmax(0,1fr) 245px;gap:16px}.metric{padding:18px 14px}.metric strong{font-size:29px}.results-layout{gap:15px;grid-template-columns:1.3fr 1fr}.chart-card,.checks-card,.comparison-card{padding:20px}.step{padding:17px 15px}.step strong{font-size:11px}.step small{font-size:8px}.experiment-title input{width:210px}}
@media(max-width:900px){:root{--side:72px}.sidebar{padding:25px 10px;align-items:center}.brand{padding:0}.brand>span,.side-caption,.sidebar .nav-item:not(.selected),.nav-dot,.side-bottom{display:none}.sidebar nav{margin-top:45px;width:100%}.nav-item{font-size:0;padding:13px;justify-content:center}.nav-glyph{font-size:22px}.brand img{width:38px;height:38px}.upload-layout{grid-template-columns:minmax(0,1fr)}.protocol-card{display:none}.save-label{display:none}.annotation-layout{grid-template-columns:minmax(0,1fr) 230px}.annotation-controls{padding:19px 14px}.metric-grid{gap:10px}.metric-label{font-size:9px}.metric p{font-size:8px}.metric strong{font-size:28px}.check-metric strong{font-size:13px}.result-context{font-size:9px}.step small{font-size:8px}}
@media(max-width:650px){:root{--side:0px}.sidebar{display:none}.topbar{height:59px;padding:0 18px}.breadcrumb{font-size:10px}.breadcrumb:before{content:'bloom.';font-family:Georgia,serif;font-size:23px;letter-spacing:-1px;color:#244f3b;margin-right:15px}.top-actions{gap:12px}.avatar{display:none}.top-actions .text-button{font-size:10px}main{padding:24px 15px 0}.page-heading{margin-bottom:21px;gap:10px;align-items:flex-start}h1{font-size:25px;letter-spacing:-.8px;margin-top:8px}h1+p{font-size:10px;line-height:1.9;max-width:255px}.eyebrow{font-size:8px;letter-spacing:1.3px}.page-heading>.button{font-size:10px;padding:10px 12px;gap:5px;min-height:35px;margin-top:22px}.experiment-bar{padding:12px 0;margin-bottom:18px}.experiment-title input{width:207px;font-size:11px}.experiment-title{gap:6px}.steps{margin-bottom:19px}.step{padding:14px 8px;gap:7px;justify-content:center}.step strong{font-size:9px}.step small{display:none}.step-number{width:22px;height:22px;font-size:10px}.step-chevron{display:none}.upload-main{padding:19px 14px}.section-head{margin-bottom:18px}h2{font-size:15px}.section-head p{font-size:9px;max-width:245px}.section-head .subtle-pill{font-size:8px;padding:4px 6px}.upload-grid{gap:7px}.upload-card{min-height:222px}.card-top{padding:9px}.phase-badge{font-size:12px}.phase-tag{font-size:7px;padding:2px 3px}.upload-content{padding:12px 3px 17px}.upload-content strong{font-size:10px}.upload-content p{font-size:7px;min-height:28px;line-height:1.9}.upload-symbol{width:29px;height:29px;font-size:20px}.choose-file{font-size:8px;padding:5px}.card-foot{font-size:7px;padding:8px}.upload-hint{font-size:8px;margin-bottom:19px;line-height:1.9}.preview{height:143px}.probe-details summary{padding:12px 9px;gap:7px}.probe-details summary strong{font-size:10px}.probe-details summary p{font-size:8px;max-width:190px;line-height:1.8}.probe-details summary .subtle-pill{font-size:7px;padding:4px}.summary-icon{font-size:17px;width:15px}.probe-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:4px 10px 12px}.probe-card{min-height:90px}.temperature-inputs{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 12px 15px;row-gap:10px}.temperature-confirm{gap:8px;padding:18px 0}.temperature-confirm strong{font-size:9px}.temperature-confirm small{font-size:8px;line-height:1.8}.temperature-confirm input{width:12px;height:12px}.panel-footer>.text-button{font-size:9px}.panel-footer .button{font-size:9px;padding:12px 13px}.panel-footer{padding-top:17px}.annotation-layout{grid-template-columns:1fr;gap:14px}.canvas-head{padding:10px}.window-tabs button{font-size:9px;padding:6px 9px}.canvas-bottom{gap:12px;font-size:7px}.annotation-controls{padding:19px}.annotation-controls>h2{font-size:16px}.annotation-controls .tool strong{font-size:11px}.annotation-controls .tool small{font-size:9px}.tool-hint{font-size:10px}.control-intro{font-size:10px;margin-bottom:15px}.tool{padding:12px}.tool-index{width:22px;height:22px}.notice{font-size:9px;line-height:1.9;padding:10px;gap:7px;flex-wrap:wrap}.notice>.text-button{font-size:9px;margin-left:0}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.metric{padding:18px 16px}.metric strong{font-size:32px;margin-bottom:9px}.check-metric strong{font-size:14px}.metric-label{font-size:10px}.results-layout{grid-template-columns:1fr;gap:15px;margin-bottom:15px}.result-status{align-items:flex-start;gap:8px}.result-status h2{font-size:18px}.status-indicator{width:32px;height:32px;font-size:15px}.result-status>div:first-child{gap:10px}.result-status .eyebrow{font-size:7px}.result-actions{flex-direction:column;gap:6px}.result-actions .button{font-size:8px;padding:8px 10px;min-height:28px}.result-context{padding-left:0;font-size:9px;line-height:1.9;margin-bottom:19px}.comparison-card{padding:18px 14px}.comparison-grid{gap:7px}.compare-image>div{padding:9px 7px;font-size:8px;flex-direction:column;gap:4px}.compare-image small{font-size:7px}.comparison-card .section-head .text-button{font-size:8px}.comparison-card .section-head p{font-size:8px;max-width:190px}.outcome-card{padding:20px;flex-direction:column;align-items:stretch;gap:18px}.outcome-card>div:last-child{align-items:flex-start}.outcome-card select{width:100%;font-size:11px}.page-footer{font-size:7px;gap:15px;margin-top:25px;align-items:flex-start;line-height:1.8}.page-footer>span:first-child{font-size:11px;flex-shrink:0}.page-footer>span:first-child span{display:block;margin:4px 0 0;font-size:7px}.drawer{width:100%;max-width:400px;padding:25px}.pending-card{padding:65px 15px}.pending-card p{font-size:10px}.progress-track{width:220px}dialog{padding:24px}.dialog-head h2{font-size:20px}.guide-list p{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.spinner{animation-duration:1.8s}.button:hover{transform:none}}
/* Research edition: readable diagnostics, exact-coordinate zoom and data provenance. */
.metadata-block{border:1px solid var(--line);background:#fcfdf9;border-radius:9px;margin:-10px 0 24px;padding:13px 17px}.metadata-block summary{cursor:pointer;color:#59734e;font-size:12px;list-style:none;display:flex;justify-content:space-between}.metadata-block summary span{font-size:11px;color:#98a38e}.metadata-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:17px}.metadata-grid label{font-size:11px;color:#819474;display:flex;flex-direction:column;gap:6px}.metadata-grid input,.metadata-grid select{width:100%;min-width:0;padding:9px;border:1px solid #dfe6d5;border-radius:5px;background:white;color:#496541;font-size:12px}.metadata-grid .wide{grid-column:span 2}.metadata-block .text-button{margin-top:14px}.probe-extra{padding:0 16px 16px;border-top:1px solid #e6ebde}.probe-extra>p{font-size:11px;color:#879578;margin:13px 0 0;line-height:1.8}.probe-extra .metadata-grid{grid-template-columns:1fr 1fr}.canvas-container{display:block;max-height:580px;overflow:auto;overscroll-behavior:contain}.canvas-container canvas{max-width:none}.canvas-toolbar{display:flex;justify-content:space-between;gap:9px;flex-wrap:wrap;background:#fafcf6;border-bottom:1px solid var(--line);padding:9px 12px;font-size:11px}.canvas-toolbar>div{display:flex;align-items:center;gap:7px}.canvas-toolbar button{padding:5px 8px;border:1px solid #e0e6d8;border-radius:4px;background:#fff;color:#738a61}.canvas-toolbar button:hover{background:#eaf2df}.canvas-toolbar span{font-variant-numeric:tabular-nums;color:#91a27e;min-width:40px;text-align:center}.filmstrip{display:flex;overflow-x:auto;gap:8px;padding:10px 12px;background:#f7faf1;border-bottom:1px solid var(--line)}.filmstrip:empty{display:none}.filmstrip button{width:63px;flex-shrink:0;padding:3px;border:1px solid #dfe7d4;border-radius:5px;background:#fff;color:#8da177;font-size:10px}.filmstrip button.active{border-color:#64874d;box-shadow:0 0 0 1px #64874d}.filmstrip img{width:55px;height:42px;object-fit:cover;display:block}.filmstrip span{display:block;margin:3px 0}.image-quality{padding:15px;border-top:1px solid var(--line);background:#f4f8ec;font-size:12px;color:#678150}.image-quality strong{font-weight:500}.quality-stats{display:flex;gap:15px;flex-wrap:wrap;margin:10px 0}.quality-stats span{font-size:11px;color:#8a9c75}.quality-stats b{color:#60794c;font-variant-numeric:tabular-nums}.image-quality p{font-size:11px;line-height:1.8;margin:0;color:#91a17d}.diagnostic-card{margin-top:23px;background:white;border:1px solid var(--line);border-radius:9px;padding:24px}.diagnostic-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-bottom:25px}.diagnostic-grid h4{margin:0 0 10px;color:#6a8457;font-weight:500;font-size:13px}.diagnostic-grid dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:11px;margin:0 0 20px}.diagnostic-grid dt{color:#8ea17d}.diagnostic-grid dd{margin:0;text-align:right;color:#637c51;font-variant-numeric:tabular-nums}.budget-bars>div{display:grid;grid-template-columns:75px 1fr 70px;gap:10px;align-items:center;margin:8px 0;font-size:10px;color:#8b9f78}.budget-bars i{display:block;width:var(--budget);height:5px;background:#b7c99d;border-radius:4px}.budget-bars b{font-weight:400;text-align:right;color:#7a9366}.diagnostic-card details summary{cursor:pointer;color:#688252;font-size:12px}.table-scroll{overflow:auto;border:1px solid #e4eadd;border-radius:6px;margin:15px 0 20px}.table-scroll table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:11px}.table-scroll th{font-size:10px;font-weight:500;background:#f1f5e9;color:#7e946a;text-align:left;padding:12px 13px}.table-scroll td{padding:12px 13px;border-top:1px solid #edf1e6;color:#839774;font-variant-numeric:tabular-nums}.table-link{color:#3d6d48;text-align:left;max-width:280px;white-space:normal}.subnote{font-size:11px;line-height:1.9;color:#9aab86;margin:15px 0 0}.section-spaced{margin-top:28px!important}.result-actions{flex-wrap:wrap;justify-content:flex-end}#researchDialog{width:min(1050px,94vw);max-width:1050px;padding:28px;max-height:90vh;overflow:auto;border:1px solid #dce4d2;border-radius:16px;background:#fbfdf7;color:var(--ink)}#researchDialog::backdrop{background:#163e3366;backdrop-filter:blur(5px)}#researchDialog .dialog-head{margin-bottom:20px}#researchDialog .dialog-head h2{font-size:23px;font-weight:400;margin:8px 0 0}.research-tabs{display:flex;gap:8px;overflow:auto;border-bottom:1px solid #dfe8d5;padding-bottom:13px;margin-bottom:23px}.research-tabs button{padding:8px 14px;font-size:12px;white-space:nowrap;border-radius:6px;color:#8a9f76;background:#f0f5e7}.research-tabs button.active{background:#345d42;color:white}.research-intro{font-size:13px;line-height:1.9;color:#8b9e78;max-width:800px}.sample-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:23px}.sample-card{text-align:left;background:white;border:1px solid #dde7d1;border-radius:9px;padding:17px;overflow:hidden;transition:border-color .15s}.sample-card:hover{border-color:#839f65}.sample-card strong{display:block;color:#607e4a;font-size:14px;font-weight:500;margin:15px 0 7px}.sample-card p{font-size:11px;line-height:1.8;color:#96a783;min-height:40px;margin:0 0 13px}.sample-card>span{font-size:11px;color:#6e8b54}.sample-card img,.sample-art{width:100%;height:105px;object-fit:cover;object-position:center 36%;border-radius:5px;background:#eef4e3}.sample-art{display:grid;place-items:center;color:#8aa666;font-size:45px;font-family:Georgia,serif;font-weight:400;background:radial-gradient(ellipse at 55% 100%,#c0d3a0,transparent 52%),#f1f6e8}.readiness-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:10px 0 24px}.readiness-grid>div{padding:20px;border:1px solid #dce6cf;border-radius:8px;background:#eef4e3}.readiness-grid strong{font:34px/1.3 Georgia,serif;color:#5d7f43;display:block}.readiness-grid span{font-size:11px;color:#96a87e;margin-top:7px;display:block}.research-callout{background:#eaf2dc;border:1px solid #d6e3c3;color:#738f59;padding:16px;border-radius:7px;font-size:12px;line-height:1.9;margin-bottom:20px}.source-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.source-list article{padding:20px;border:1px solid #e1e9d7;border-radius:8px;background:#fff}.source-list article>div{display:flex;justify-content:space-between;align-items:center}.source-list h3{font-size:13px;line-height:1.8;color:#698750;margin:14px 0 7px}.source-list p{font-size:11px;color:#99a986;line-height:1.9;margin:0}.source-year{font-size:10px;color:#9fad8c}.regression-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px;color:#8a9f74}.regression-list span{color:#6b9650;margin-right:12px}.protocol-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:23px}.protocol-grid article{padding:20px;background:#fff;border:1px solid #e1e8d8;border-radius:8px}.protocol-grid article>span{font-size:10px;letter-spacing:1px;color:#9eb189}.protocol-grid h3{font-size:15px;color:#718d58;margin:10px 0}.protocol-grid p{font-size:12px;line-height:1.9;color:#98a985;margin:0}.loading-copy{color:#8c9e79;font-size:13px;padding:25px 0}.nav-item{font-size:13px}.side-caption{font-size:12px}.section-head p,.upload-content p,.tool small,.tool-hint,.control-intro,.checks-note,.check-row small,.metric p,.upload-hint,.temperature-confirm small{font-size:11px}.upload-content strong,.choose-file,.tool strong,.check-row strong,.temperature-confirm strong{font-size:12px}.step small,.probe-details summary p{font-size:10px}.step strong{font-size:13px}.card-foot,.phase-tag,.probe-card p,.temperature-inputs label,.probe-card span{font-size:10px}.probe-card strong,.probe-details summary strong{font-size:12px}.save-label{font-size:11px}.metric-grid{gap:12px}.metric{padding:21px 17px}.result-context{font-size:12px;line-height:1.8}.demo-notice{font-size:12px;flex-wrap:wrap}.demo-notice #demoDescription{background:none;color:#9a875e;padding:0;flex:1;font-size:11px}.tool-actions{flex-wrap:wrap;gap:8px}.tool-actions .text-button{font-size:10px}.institution{font-size:11px}.page-footer{font-size:10px}.experiment-title input{font-size:13px}.setting-field{font-size:11px}.settings-details p{font-size:10px}.temperature-inputs{grid-template-columns:1fr 1fr}.temperature-inputs input{width:65px;font-size:12px}.canvas-bottom{font-size:10px}.metric-label{font-size:12px}.check-metric strong{font-size:15px}.outcome-card p{font-size:12px}.comparison-grid small{font-size:11px}
@media(max-height:800px){.side-bottom{padding-top:10px}.side-bottom .mini-flower,.side-bottom p{display:none}.side-bottom>div:nth-child(2){font-size:14px}.side-caption{margin-bottom:25px}.sidebar{padding-top:25px}.nav-item{padding:12px}}
@media(max-width:1100px){.sample-grid{grid-template-columns:repeat(2,1fr)}.metadata-grid{grid-template-columns:1fr 1fr}.result-actions .button{font-size:10px;padding:10px}.institution{display:none}.metric-label{font-size:10px}.upload-main{padding:20px}.protocol-card{padding:22px 18px}.topbar{padding:0 28px}}
@media(max-width:700px){#researchDialog{padding:20px;max-height:94vh}.research-tabs{gap:5px}.research-tabs button{padding:8px 10px;font-size:11px}.source-list,.protocol-grid,.diagnostic-grid{grid-template-columns:1fr}.readiness-grid{grid-template-columns:1fr 1fr}.sample-grid{gap:12px}.sample-card{padding:13px}.sample-card strong{font-size:12px}.metadata-grid{gap:11px}.canvas-container{max-height:65vh}.diagnostic-card{padding:18px}.metadata-grid input{font-size:11px}.sample-card img,.sample-art{height:85px}.regression-list{grid-template-columns:1fr}.result-context{padding-left:0}.result-status{align-items:flex-start;flex-direction:column}.result-actions{width:100%;justify-content:flex-start}.nav-item{font-size:11px}.metric-label{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation-duration:0.01ms!important}}
