:root{color:#253d39;font-synthesis:none;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;background:#f5f6f2;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;justify-content:center;align-items:center;gap:7px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,rect:focus-visible{outline-offset:3px;outline:3px solid #a8c8bf}button{color:inherit;background:0 0;border:0}a{color:inherit;text-decoration:none}input,select{color:#233f38;background:#fff;border:1px solid #d9e1db;border-radius:7px;min-width:0;padding:9px 10px}input[type=checkbox]{accent-color:#22796c;flex-shrink:0;width:14px;height:14px}input[type=range]{accent-color:#287a6e;border:0;height:4px;padding:0}kbd{color:#536a61;background:#f9faf8;border:1px solid #dce3de;border-radius:4px;padding:3px 6px;font-size:11px}.topbar{background:#fff;border-bottom:1px solid #e2e7e1;justify-content:space-between;align-items:center;height:76px;padding:0 42px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand strong{letter-spacing:-.8px;font-size:23px;font-weight:650}.brand-mark{background:#1f6e62;border-radius:9px;justify-content:center;align-items:center;gap:3px;width:35px;height:35px;display:flex;transform:rotate(-3deg)}.brand-mark span{background:#e2f1de;border-radius:4px;width:4px;height:15px}.brand-mark span:nth-child(2){height:22px}.brand-mark span:nth-child(3){height:11px}.brand-caption{color:#7c8a83;letter-spacing:.4px;border-left:1px solid #dfe5dd;margin-left:3px;padding-left:13px;font-size:12px}.header-actions{align-items:center;gap:24px;display:flex}.local-badge{color:#73867d;align-items:center;gap:7px;font-size:11px;display:flex}.local-badge>span{background:#71a182;border-radius:50%;width:6px;height:6px}.text-button{color:#6a7c73;padding:6px 0;font-size:12px}.text-button:hover,.text-button.active{color:#206b5e}.icon-button{color:#6d7f76;border-radius:6px;padding:7px}.icon-button:hover{background:#edf2ed}.primary,.secondary{border-radius:7px;min-height:37px;padding:10px 15px;font-size:12px;font-weight:550}.primary{color:#fff;background:#246f61;border:1px solid #246f61}.primary:hover{background:#1a5e51}.secondary{color:#405c50;background:#fff;border:1px solid #d6dfd7}.secondary:hover{background:#f3f6f2;border-color:#bdcdbf}.full{width:100%}.muted{color:#849087;font-size:11px}main{max-width:1560px;margin:0 auto;padding:0 42px}.welcome{max-width:1150px;margin:64px auto 0}.eyebrow{letter-spacing:1.9px;color:#6c8a74;font-size:9px;font-weight:650}.welcome h1{letter-spacing:-1.7px;margin:18px 0 17px;font-size:47px;font-weight:550;line-height:1.45}.welcome h1 span{color:#497764}.welcome-copy>p{color:#7c887e;font-size:14px;line-height:1.9}.welcome-tags{gap:24px;margin:22px 0 30px;display:flex}.welcome-tags>span{color:#748579;align-items:center;gap:7px;font-size:11px;display:flex}.welcome-tags svg{color:#709482}.welcome-grid{grid-template-columns:1.45fr 1fr;gap:24px;display:grid}.upload-card{background:linear-gradient(130deg,#fff,#fcfdf9);border:1.5px dashed #bacbbd;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;min-height:330px;padding:32px;display:flex}.upload-icon{color:#5d8b72;background:#edf3e9;border-radius:17px;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:18px;display:flex}.upload-card h2{margin:0 0 8px;font-size:19px;font-weight:550}.upload-card>p{color:#8b968d;margin-bottom:22px;font-size:12px}.file-note{color:#99a097;margin:13px 0 24px;font-size:10px}.example-link{color:#6f8a75;border-top:1px solid #edf0e9;gap:8px;padding:17px 30px 0;font-size:11px}.workflow-card{background:#eaf0e7;border:1px solid #e0e6db;border-radius:13px;padding:26px 31px}.mini-caption{letter-spacing:1px;color:#81917d;font-size:10px}.mini-visual{justify-content:center;align-items:center;gap:22px;height:101px;display:flex}.mini-visual>svg{color:#a6b59f}.mini-blot{background:#f9faf5;border:1px solid #dae2d4;border-radius:4px;grid-template-columns:repeat(3,22px);gap:10px 8px;padding:12px;display:grid;box-shadow:0 4px 10px #566b4e08}.mini-blot i{filter:blur(1px);background:#334136;border-radius:50%;height:6px}.mini-bars{border-bottom:1px solid #a5b59c;align-items:flex-end;gap:4px;height:76px;padding:0 8px;display:flex}.mini-bars i{border-radius:2px 2px 0 0;width:13px}.workflow-card ol{flex-direction:column;gap:19px;margin:16px 0 20px;padding:0;list-style:none;display:flex}.workflow-card li{align-items:center;gap:15px;display:flex}.workflow-card li>b{color:#91a28c;font-size:10px}.workflow-card strong{font-size:12px;font-weight:550;display:block}.workflow-card small{color:#8b9884;margin-top:5px;font-size:10px;display:block}.workflow-foot{color:#9aa58f;border-top:1px solid #dbe3d4;margin-bottom:0;padding-top:14px;font-size:10px}.page-footer{color:#8b988d;border-top:1px solid #e4e9e0;justify-content:space-between;align-items:center;margin:36px 0 24px;padding-top:18px;font-size:10px;display:flex}.page-footer>span:first-child{color:#849580;font-size:12px;font-weight:550}.version{color:#a5ada0;margin-left:6px;font-size:9px;font-weight:400}.page-footer .text-button{color:#869782;font-size:10px}.workspace-heading{justify-content:space-between;align-items:center;gap:16px;padding:29px 0 23px;display:flex}.workspace-heading .eyebrow{font-size:8px}.workspace-heading h1{letter-spacing:-.5px;word-break:break-all;margin:9px 0;font-size:23px;font-weight:550;line-height:1.3}.workspace-heading p{color:#91a091;margin:0;font-size:11px}.workspace-heading p span{color:#b7c0b2;margin:0 10px}.workspace-actions{flex-shrink:0;gap:9px;display:flex}.analysis-toolbar{justify-content:space-between;align-items:center;gap:15px;margin:0 0 20px;display:flex}.analysis-toolbar-left{align-items:center;gap:13px;display:flex}.destination{color:#8e9e91;flex-wrap:wrap;align-items:center;gap:5px;max-width:490px;font-size:10px;display:flex}.destination button{color:#507963;padding:0;font-size:10px}.destination small{border-left:1px solid #d7dfd4;margin-left:4px;padding-left:8px;font-size:9px}.manual-tools{gap:19px;display:flex}.work-grid{grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);align-items:start;gap:22px;display:grid}.card{background:#fff;border:1px solid #dfe6dc;border-radius:11px;overflow:hidden;box-shadow:0 4px 16px #3b543808}.card-header{border-bottom:1px solid #eef1ea;justify-content:space-between;align-items:center;gap:8px;padding:18px 20px 15px;display:flex}.card h2{align-items:center;gap:10px;margin:0;font-size:13px;font-weight:600;display:flex}.section-number{color:#93aa95;letter-spacing:.4px;font-size:9px}.toggle{color:#899b8b;align-items:center;gap:5px;font-size:10px;display:flex}.image-tools{justify-content:space-between;align-items:center;padding:10px 18px;display:flex}.roi-key{gap:13px;display:flex}.roi-key span{color:#8b9a8b;align-items:center;gap:5px;font-size:9px;display:flex}.roi-key i{border:1px solid #148677;width:9px;height:7px;display:block}.roi-key i.ref{border-color:#b77725}.roi-key i.bg{border:1px dashed #6387aa}.zoom-controls{color:#8b9c8c;align-items:center;gap:7px;font-size:10px;display:flex}.zoom-controls button{padding:4px}.image-viewport{scrollbar-width:thin;background:repeating-conic-gradient(#fafbf8 0% 25%,#f2f5ef 0% 50%) 50%/16px 16px;min-height:340px;max-height:640px;padding:24px 22px;display:block;overflow:auto}.source-stage{touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;width:100%;max-height:none;display:block;box-shadow:0 2px 14px #2d3d2420}.source-stage rect[role=button]{cursor:move}.source-stage.drawing{cursor:crosshair}.image-footer{color:#a2aea0;justify-content:space-between;align-items:center;gap:10px;padding:13px 18px;font-size:9px;display:flex}.image-footer label{align-items:center;gap:10px;display:flex}.image-footer input{width:90px}.image-footer label span{color:#7f977f;min-width:30px}.result-tabs{border-bottom:1px solid #edf1e9;gap:24px;padding:0 20px;display:flex}.result-tabs>button{color:#879984;padding:14px 0;font-size:11px;position:relative}.result-tabs .selected{color:#326f53;border-bottom:2px solid #387a5f}.result-tabs i{background:#cb9354;border-radius:50%;width:5px;height:5px}.status-badge{color:#a78f51;background:#f9f1df;border-radius:5px;align-items:center;gap:4px;padding:4px 7px;font-size:9px;display:flex}.status-badge.checked{color:#65895d;background:#e9f4e7}.chart-scroll{padding:10px 6px 0;overflow:auto}.chart-scroll>svg{min-width:490px;display:block}.normalization-summary{color:#8fa088;border-top:1px solid #edf0e7;flex-wrap:wrap;align-items:center;gap:9px;margin:0 21px;padding:15px 0;font-size:10px;display:flex}.normalization-summary strong{color:#5f7758;margin-right:auto;font-size:10px;font-weight:400}.normalization-summary select{max-width:160px;padding:5px 7px;font-size:10px}.chart-note{color:#95a08c;margin:0 21px 15px;font-size:10px;line-height:1.8}.quality-note{color:#ab8c4f;background:#fcf6e9;border-radius:6px;justify-content:space-between;width:calc(100% - 40px);margin:0 20px 15px;padding:10px 12px;font-size:10px;display:flex}.review-action{background:#fcfdf9;border-top:1px solid #edf1e8;padding:13px 18px}.review-action label{color:#819179;align-items:center;gap:7px;font-size:10px;display:flex}.empty-result{text-align:center;color:#8ca185;min-height:405px;padding:55px 20px}.empty-result>div{color:#84a076;background:#f6f9f1;border:1px solid #e0e9db;border-radius:50%;justify-content:center;align-items:center;width:66px;height:66px;display:inline-flex}.empty-result h3{color:#6a8060;margin:19px 0 10px;font-size:15px;font-weight:500}.empty-result p{color:#9ca78f;font-size:11px;line-height:1.9}.empty-result button{margin-top:13px}.roi-inspector{background:#f7faf5;border-top:1px solid #e4ebde;padding:13px 18px}.inspector-heading{justify-content:space-between;align-items:center;display:flex}.inspector-heading strong{font-size:11px;font-weight:550}.inspector-tabs{flex-wrap:wrap;gap:7px;margin:8px 0 14px;display:flex}.inspector-tabs button{color:#7d9570;background:#edf3e8;border-radius:4px;padding:5px 8px;font-size:9px}.inspector-tabs .selected{color:#fff;background:#6b8e5d}.rect-fields{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.rect-fields label{color:#8b9d7c;align-items:center;gap:7px;font-size:10px;display:flex}.rect-fields input{width:100%;padding:6px;font-size:11px}.inspector-bottom{justify-content:space-between;align-items:center;gap:10px;margin:10px 0 1px;display:flex}.inspector-bottom small{color:#93a183;font-size:9px}.danger-text{color:#b7836c;font-size:10px}.mapping-panel{max-height:650px;padding:17px 20px;overflow:auto}.mapping-title{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.mapping-title strong{font-size:11px;font-weight:550}.mapping-title .text-button{font-size:10px}.lane-inputs{grid-template-columns:1fr;gap:7px;margin-bottom:22px;display:grid}.lane-inputs label{color:#9aa88d;align-items:center;gap:10px;font-size:10px;display:flex}.lane-inputs input{flex:1;width:100%;padding:7px 8px;font-size:11px}.protein-mapping{background:#fdfefb;border:1px solid #e4ebdd;border-radius:7px;margin-bottom:9px;padding:10px}.protein-name{gap:7px;display:flex}.protein-name input{flex:1;padding:7px;font-size:11px}.protein-name select{padding:5px;font-size:10px}.ref-select{color:#8a9c7c;align-items:center;gap:12px;margin:8px 0;font-size:10px;display:flex}.ref-select select{flex:1;padding:5px;font-size:10px}.band-links{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.band-links button{color:#6f8d5a;background:#eef4e6;border-radius:4px;padding:4px 7px;font-size:9px}.band-links .missing{color:#ac8c5c;background:#faf2e7;border:1px dashed #ded1b1}.measurement-card{margin-top:23px}.table-scroll{overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:11px}th{text-align:left;color:#8fa086;background:#f8faf5;border-bottom:1px solid #e9eee2;padding:12px 16px;font-size:9px;font-weight:500}td{color:#6d825f;border-bottom:1px solid #eef2e8;padding:12px 16px}tr:last-child td{border-bottom:0}tbody tr{cursor:pointer}tbody tr:hover{background:#fafcf6}td strong{color:#4a6840;font-size:11px;font-weight:550;display:block}td small{color:#9aa98b;margin-top:4px;font-size:9px;display:block}.relative-value{color:#3c7954;font-weight:550}.measurement-warning{white-space:normal;color:#ad8f58;min-width:160px;max-width:260px;font-size:9px;line-height:1.6}.session-warnings{color:#a38e61;flex-direction:column;gap:5px;margin-top:15px;font-size:10px;line-height:1.7;display:flex}.export-menu{position:relative}.dropdown{z-index:10;background:#fff;border:1px solid #dde6d7;border-radius:9px;min-width:200px;padding:6px;position:absolute;top:44px;right:0;box-shadow:0 10px 30px #243a2420}.dropdown button{color:#5d7951;border-radius:4px;justify-content:flex-start;width:100%;padding:10px 12px;font-size:11px;display:flex}.dropdown button:hover{background:#f1f6eb}.message{border-radius:7px;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;padding:11px 15px;font-size:11px;line-height:1.7;display:flex}.message button{flex-shrink:0}.message.error{color:#ab624f;background:#fff0eb;border:1px solid #f0d7cd}.message.info{color:#6c8857;background:#edf4e7;border:1px solid #dce8d3}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:30;background:#1d302850;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#fff;border:1px solid #e5ebdd;border-radius:15px;width:480px;max-height:90vh;padding:28px;overflow:auto;box-shadow:0 25px 90px #17251830}.modal.compact{width:420px}.modal-heading{justify-content:space-between;align-items:center;display:flex}.modal-heading h2{letter-spacing:-.4px;margin:7px 0 0;font-size:21px;font-weight:550}.modal>p{color:#87977b;margin:18px 0 22px;font-size:11px;line-height:1.8}.modal form>label,.two-fields>label{color:#667f56;flex-direction:column;gap:8px;margin-bottom:17px;font-size:11px;font-weight:550;display:flex}.modal input:not([type=checkbox]){border-color:#dce5d3;padding:11px;font-size:12px}.field-hint{color:#a2ac93;font-size:10px;font-weight:400}.modal form>.checkbox-line{flex-direction:row;align-items:center;font-size:10px}.settings-note{color:#92a17d;background:#f5f8ef;border-radius:7px;gap:10px;margin-bottom:20px;padding:12px;font-size:10px;line-height:1.8;display:flex}.settings-note svg{flex-shrink:0;margin-top:2px}.two-fields{grid-template-columns:1fr 1fr;gap:15px;display:grid}.form-error{color:#a66046;margin-bottom:16px;font-size:11px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=1400px){.welcome{margin-top:80px}.welcome-grid{grid-template-columns:1.5fr 1fr}.welcome h1{font-size:51px}.image-viewport{min-height:380px}.chart-scroll{padding-top:25px}}@media (width<=1050px){main,.topbar{padding:0 24px}.header-actions{gap:15px}.work-grid{grid-template-columns:1fr}.image-viewport{min-height:260px;max-height:620px}.image-viewport>div{max-width:1000px;margin:auto}.workspace-heading h1{font-size:20px}.welcome{margin-top:42px}.welcome h1{font-size:42px}.welcome-grid{grid-template-columns:1.3fr 1fr}.workflow-card{padding:23px}.analysis-toolbar{flex-wrap:wrap}.destination{max-width:400px}.chart-scroll{padding:14px 20px}.chart-scroll svg{max-height:550px}}@media (width<=650px){main{padding:0 15px}.topbar{height:64px;padding:0 15px}.brand-caption,.local-badge,.header-actions>.text-button{display:none}.brand strong{font-size:21px}.welcome{margin-top:36px}.welcome h1{font-size:36px}.welcome-copy>p{font-size:12px}.welcome-grid{grid-template-columns:1fr}.welcome-tags{gap:15px}.upload-card{padding:28px 15px}.workflow-card{display:none}.workspace-heading{flex-direction:column;align-items:flex-start}.workspace-actions{align-self:flex-end}.workspace-heading h1{font-size:19px}.analysis-toolbar-left{flex-wrap:wrap}.manual-tools{gap:20px}.destination{font-size:9px}.page-footer>span:nth-child(2){display:none}.card-header{padding:15px}.image-viewport{min-height:210px;padding:12px}.image-footer{padding:12px}.normalization-summary{gap:7px}.rect-fields{gap:6px}.rect-fields label{gap:3px}.rect-fields input{padding:5px;font-size:10px}.modal{padding:24px 20px}.chart-scroll{padding:0}.header-actions{gap:9px}.desktop-only{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.selection-help{color:#647867;margin:0;padding:0 18px 12px;font-size:11px;line-height:1.7}.multi-inspector{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.multi-inspector>span{flex:1;font-size:11px}.source-stage:focus-visible{outline-offset:3px;outline:2px solid #147f70}.quality-review{margin:0 20px 16px;font-size:11px;line-height:1.65}.quality-review p{margin:5px 0}.quality-review ul{margin:8px 0 0;padding:0;list-style:none}.quality-review li+li{border-top:1px solid #e5e8df;margin-top:10px;padding-top:10px}.control-required,.calculation-blockers{color:#795821;background:#fff9ed;border:1px solid #eddbb7;border-radius:7px;margin:8px 0;padding:12px}.quality-advisories{color:#586c60;background:#f8faf7;border:1px solid #dce5de;border-radius:7px;padding:10px 12px}.quality-advisories summary,.measurement-details summary,.session-warnings summary{cursor:pointer}.issue-count{color:#758575;margin-left:8px;font-size:10px;display:inline-block}.issue-targets{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.issue-targets button{color:#356b57;background:#fff;border:1px solid #d9e1d8;border-radius:4px;padding:3px 6px;font-size:10px}.panel-repair{border-top:1px solid #dce5de;margin-top:12px;padding-top:8px}.panel-repair .secondary{margin-top:5px;font-size:11px}.checks-clear{color:#39775c}.calculation-reason{display:block}.measurement-details{color:#617564;margin-top:3px}.measurement-details p{margin:5px 0}.session-warnings{color:#73816f;display:block}.draw-tool-banner,.missing-bands-strip{color:#326d55;background:#edf6f0;border:1px solid #c9dfd2;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;padding:12px 16px;font-size:12px;display:flex}.draw-tool-banner>div{flex:1}.draw-tool-banner p{margin:5px 0 0;font-size:11px}.missing-bands-strip .secondary{padding:5px 8px;font-size:11px}.inline-warning{color:#9d662e!important}.manual-tools{flex-wrap:wrap;justify-content:flex-end}.modal label select,.modal label input{min-width:0}.overlap-control{color:#647867;align-items:center;gap:7px;padding:0 18px 15px;font-size:11px;display:flex}.measurement-mode{color:#586c60;background:#f4f8f4;border:1px solid #dce5de;border-radius:7px;margin:12px 20px 0;padding:12px;font-size:11px}.measurement-mode label{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.measurement-mode select{background:#fff;border:1px solid #dce5de;border-radius:4px;flex:1;min-width:180px;padding:6px}.measurement-mode p{margin:8px 0 0;line-height:1.7}.background-repair .secondary{margin:4px 0;font-size:11px}.normalization-summary{flex-wrap:wrap}.normalization-summary .text-button{font-size:11px}.pixel-information{color:#64756c;background:#fafcfb;border:1px solid #e1e7e3;border-radius:7px;margin-top:10px;padding:10px 12px}.pixel-information summary{cursor:pointer}.chart-style-controls{color:#586c60;border:1px solid #dce5de;border-radius:7px;margin:12px 20px;padding:12px;font-size:12px}.chart-style-controls summary{cursor:pointer}.chart-style-controls>label{align-items:center;gap:12px;margin:12px 0;display:flex}.chart-style-controls select{background:#fff;border:1px solid #dce5de;border-radius:4px;padding:6px}.lane-color-controls{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;max-height:240px;display:grid;overflow:auto}.lane-color-controls label{align-items:center;gap:8px;min-width:0;display:flex}.lane-color-controls span{overflow-wrap:anywhere}.lane-color-controls input{cursor:pointer;background:#fff;border:1px solid #dce5de;border-radius:4px;flex-shrink:0;width:36px;height:28px;padding:2px}.chart-style-controls p{margin-bottom:0;font-size:11px;line-height:1.7}.language-switch{border:1px solid var(--line,#dbe4de);color:inherit;font:inherit;background:#fff;border-radius:7px;max-width:110px;padding:6px 8px;font-size:12px}.language-switch:focus-visible{outline-offset:2px;outline:2px solid #24776f}html[lang=en] .chart-card .section-heading{flex-wrap:wrap}
