:root{color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#14241b;background:#f4f7f5}.page{max-width:1200px;margin:0 auto;padding:32px 24px}.app-head{display:flex;align-items:center;gap:10px;margin:0 0 8px}.app-logo{display:block;height:34px;width:auto}.beta-tag{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:#157347;padding:2px 8px;border-radius:4px}.app-ver{font-size:13px;color:#6b7d72}.app-footer{margin-top:32px;padding:14px 16px 4px;border-top:1px solid #e3ebe6;color:#87948c;font-size:11px;line-height:1.5;text-align:center}.app-footer p{margin:0 auto;max-width:760px}.toolbar{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;max-width:1080px;padding-right:16px}.step-analyzing{display:inline-flex;align-items:center;gap:8px}.spinner{flex:none;width:16px;height:16px;border:2px solid #cfe0d7;border-top-color:#157347;border-radius:50%;animation:blotto-spin .7s linear infinite}@keyframes blotto-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}.action-row{display:flex;align-items:stretch;flex-wrap:wrap;gap:8px}.action-row button.step{width:150px;min-height:54px;display:flex;align-items:center;justify-content:center;font-size:14px;white-space:normal;overflow-wrap:break-word;text-align:center;line-height:1.25;padding:8px 12px}button.primary{background:#157347;color:#fff;border:none;border-radius:6px;padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer}button.primary:hover{background:#11623c}button.primary:disabled{background:#9bbcab;cursor:default}button.primary.subdued{background:#d6ebe0;color:#157347}button.primary.subdued:hover{background:#c3e2d4}button.step{background:#fff;color:#157347;border:1px solid #b7cdc0;border-radius:6px;padding:9px 16px;font-size:14px;font-weight:600;cursor:pointer}button.step:hover:not(:disabled){background:#eef4f0}button.step:disabled{color:#a9bcb1;border-color:#dde6e0;cursor:default}button.danger{color:#c5341f;border-color:#e3b5ad}button.danger:hover:not(:disabled){background:#fdecea}.action-row button.step.active{background:#157347;color:#fff;border-color:#157347}.action-row button.step.active:hover:not(:disabled){background:#11623c}.action-row button.step.danger{background:#c5341f;color:#fff;border-color:#c5341f}.action-row button.step.danger:hover:not(:disabled){background:#a82a18}.action-row button.step.danger:disabled{background:#e9b7af;color:#fff;border-color:#e9b7af}button.primary.danger{background:#c5341f;color:#fff}button.primary.danger:hover{background:#a82a18}.assay{display:inline-flex;align-items:center;gap:8px;font-size:14px}.assay label{color:#4a5d53;font-weight:600}.assay select{font-size:14px;padding:7px 8px;border:1px solid #b7cdc0;border-radius:6px;background:#fff;color:#14241b;cursor:pointer}.image-frame{display:flex;flex-direction:column;width:100%}.roi-readout{align-self:flex-end;margin-top:6px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:#4a5d53}.surface3d-panel{margin-top:14px;border:1px solid #c9d6cf;border-radius:6px;overflow:hidden;background:#f4f7f5}.surface3d-wrap{position:relative;width:100%}.surface3d{width:100%}.surface3d canvas{display:block}.exposure-stack-panel{border:1px solid #cdd9d1;border-radius:8px;background:#fbfdfc;padding:12px 14px}.exposure-fold{align-self:flex-start;border:1px solid #cdd9d1;background:#f2f7f4;color:#24614a;font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:6px;cursor:pointer}.exposure-fold:hover{background:#e7efea;border-color:#b6c8bd}.exposure-stack-head{font-weight:600;font-size:13px;color:#14241b;margin-bottom:8px}.exposure-stack3d-wrap{position:relative}.exposure-stack3d{width:100%}.exposure-stack3d canvas{display:block;border-radius:6px;cursor:grab}.exposure-stack3d canvas:active{cursor:grabbing}.surface3d-reset{position:absolute;top:8px;right:8px;background:#ffffffe6;border:1px solid #cbd5cf;color:#14492f;border-radius:6px;font-size:12px;font-weight:600;padding:4px 10px;cursor:pointer}.surface3d-reset:hover{background:#fff}.surface3d-floor{position:absolute;top:8px;left:8px;background:#ffffffe6;border:1px solid #cbd5cf;color:#14492f;border-radius:6px;font-size:12px;font-weight:600;padding:4px 10px;cursor:pointer}.surface3d-floor:hover{background:#fff}.surface3d-hint{position:absolute;bottom:8px;left:8px;background:#fffc;color:#4a5d53;border-radius:5px;font-size:11px;padding:3px 8px;pointer-events:none}.alert{margin:0 0 16px;padding:11px 14px;border-radius:5px;font-size:13px;line-height:1.5}.alert.warn{background:#fdf6e3;border-left:3px solid #d9a300;color:#6b5400}.alert.error{background:#fdecea;border-left:3px solid #c5341f;color:#7a1e12}canvas.blot{border:1px solid #c9d6cf;border-radius:6px;background:#fff;display:block;cursor:crosshair}.logo-frame{border:1px solid #c9d6cf;border-radius:8px;background:#fff;padding:28px 28px 32px}.video-gallery{display:flex;flex-direction:column;gap:22px}.vg-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.vg-logo{width:150px;max-width:40%;height:auto}.vg-head-text h2{margin:0 0 3px;font-size:20px;color:#1f5a3a}.vg-head-text p{margin:0;color:#5f6f65;font-size:14px}.vg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.vg-card{display:flex;flex-direction:column;gap:8px;padding:0;border:none;background:none;text-align:left;cursor:pointer;font:inherit;color:inherit}.vg-card:disabled{cursor:default}.vg-thumb{position:relative;display:block;aspect-ratio:16 / 9;border-radius:8px;background:linear-gradient(135deg,#2f855a,#1f5a3a);background-size:cover;background-position:center;overflow:hidden;box-shadow:0 1px 3px #0000001f;transition:transform .12s ease,box-shadow .12s ease}.vg-card:not(:disabled):hover .vg-thumb{transform:translateY(-2px);box-shadow:0 4px 12px #0000002e}.vg-play{position:absolute;top:50%;left:50%;transform:translate(-40%,-50%);width:46px;height:46px;border-radius:50%;background:#ffffffeb;color:#1f5a3a;font-size:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000040}.vg-length{position:absolute;right:6px;bottom:6px;padding:1px 6px;border-radius:4px;background:#000000b8;color:#fff;font-size:11px;font-variant-numeric:tabular-nums}.vg-title{font-size:13.5px;font-weight:600;color:#24352c;line-height:1.3}.vg-logo-only{display:block;width:100%;max-width:380px;height:auto;margin:20px auto}.vg-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0f1914b8;display:flex;align-items:center;justify-content:center;padding:24px}.vg-modal{width:min(900px,100%);background:#10201a;border-radius:10px;overflow:hidden;box-shadow:0 12px 48px #00000080}.vg-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;color:#fff}.vg-modal-title{font-size:15px;font-weight:600}.vg-close{border:none;background:none;color:#cfe3d8;font-size:18px;cursor:pointer;line-height:1;padding:4px 6px}.vg-close:hover{color:#fff}.vg-modal-frame{position:relative;aspect-ratio:16 / 9;background:#000}.vg-modal-frame iframe,.vg-modal-frame video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none}.readout{margin:20px 0;display:flex;align-items:baseline;gap:10px;min-height:32px}.readout .label{color:#4a5d53}.readout .value{font-size:26px;font-weight:700;color:#157347;font-variant-numeric:tabular-nums}.readout .unit{color:#6b7d72;font-size:13px}.muted{color:#8a9a90}.info{margin-top:20px;padding:12px 14px;background:#eef4f0;border-left:3px solid #1f9d55;border-radius:4px;color:#41544a;font-size:13px;line-height:1.5}.info code{background:#dceae2;padding:1px 4px;border-radius:3px;font-size:12px}.info .flag{color:#c5341f;font-weight:700}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14241b73;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:#fff;border-radius:8px;padding:22px 24px;max-width:420px;box-shadow:0 12px 40px #00000040}.modal h2{margin:0 0 8px;font-size:18px;color:#14241b}.modal p{margin:0 0 18px;color:#4a5d53;font-size:14px;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.modal-warn{max-width:460px;border-top:4px solid #d9822b}.modal-warn h2{color:#8a5a1e}.modal-warn p{margin-bottom:12px}.modal-warn code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;background:#f4ede2;color:#7a5327;padding:1px 5px;border-radius:4px}.entry-choice{display:flex;flex-direction:column;gap:8px}.entry-prompt{font-size:14px;font-weight:600;color:#14241b}.entry-options{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap}.entry-options-solo .entry-btn{max-width:360px}.file-guide{margin-top:6px;max-width:480px;padding:10px 14px;background:#f4f8f5;border:1px solid #dbe7df;border-radius:8px;text-align:left}.fg-title{display:block;font-size:12.5px;font-weight:600;color:#2a4636;margin-bottom:6px}.fg-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.fg-row{display:flex;align-items:baseline;gap:8px;font-size:12.5px;color:#33463b}.fg-row code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;background:#0000000d;padding:1px 5px;border-radius:4px;color:#22402f}.fg-mark{flex:none;width:14px;text-align:center;font-weight:700}.fg-note{color:#64756a;font-size:11.5px}.fg-best .fg-mark{color:#1f9d57}.fg-good .fg-mark{color:#3fae7a}.fg-avoid .fg-mark{color:#c2681c}.fg-avoid code{color:#8a5a24;background:#f7ede0}.fg-avoid .fg-note{color:#8a6a3e}.fg-head{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6b8a52;margin-bottom:4px}.fg-rows+.fg-head{margin-top:12px}.entry-btn-recommended{position:relative;border:2.5px solid #cc6600;box-shadow:0 0 0 4px #cc660029;background:#fff4e6}.entry-btn-recommended:hover{background:#fde9d1}.folder-group{display:flex;align-items:center;gap:8px}.folder-nudge{display:flex;align-items:center;gap:6px}.folder-arrow{flex:none;fill:#c60;filter:drop-shadow(0 1px 1px rgba(120,70,15,.22))}.folder-nudge-msg{font-size:14px;line-height:1.2;color:#7a4f1a}.folder-nudge-msg strong{color:#c60;font-size:16px}@media(max-width:700px){.entry-options{flex-direction:column;align-items:stretch}.entry-or{align-self:flex-start}.folder-group{flex-direction:column;align-items:center;gap:4px}.folder-group .entry-btn{max-width:none;width:100%}.folder-arrow{transform:rotate(90deg)}}.entry-btn-badge{position:absolute;top:-11px;left:12px;font-size:10.5px;font-weight:800;letter-spacing:.03em;color:#fff;background:#c60;padding:2px 10px;border-radius:999px;box-shadow:0 1px 3px #5a370f59}.entry-btn{display:flex;flex-direction:column;gap:3px;text-align:left;background:#157347;color:#fff;border:1px solid #157347;border-radius:6px;padding:12px 16px;font-size:14px;font-weight:600;cursor:pointer;max-width:320px}.entry-btn:hover:not(:disabled){background:#11623c}.entry-btn:disabled{background:#9bbcab;border-color:#9bbcab;cursor:default}.entry-btn-title{font-size:15px;font-weight:700}.entry-btn-sub{font-size:11.5px;font-weight:400;opacity:.9;line-height:1.35}.entry-or{align-self:center;font-size:13px;color:#6b7d72}.action-row button.step.add-files{background:#157347;color:#fff;border-color:#157347}.action-row button.step.add-files:hover:not(:disabled){background:#11623c}.cm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#14241b73;display:flex;align-items:center;justify-content:center;z-index:60}.cm-panel{background:#fff;border-radius:8px;padding:28px 32px;width:min(880px,94vw);max-height:88vh;overflow-y:auto;box-shadow:0 12px 40px #00000040}.cm-head{font-size:18px;color:#14241b;margin-bottom:18px}.cm-channels{display:flex;flex-direction:column;gap:10px}.cm-channel{border:1px solid #dde6e0;border-radius:6px;padding:10px 12px}.cm-channel.cm-off{opacity:.5}.cm-channel-head{display:flex;align-items:center;gap:8px}.cm-swatch{width:14px;height:14px;border-radius:3px;border:1px solid rgba(0,0,0,.2);display:inline-block}.cm-channel-label{font-weight:600;font-size:17px;color:#14241b}.cm-modality{font-size:13px;text-transform:capitalize}.cm-role{margin-left:auto;font-size:14px;padding:3px 8px}.cm-exposures{margin-top:8px;display:flex;flex-direction:column;gap:3px}.cm-exposure{display:flex;align-items:center;gap:8px;font-size:14px;color:#4a5d53}.cm-exp-check{flex:none;margin:0;cursor:pointer}.cm-exposure.cm-exp-off{opacity:.4}.cm-exposure.cm-exp-off .cm-exp-check{opacity:1}.cm-exp-time{min-width:64px;font-variant-numeric:tabular-nums;color:#14241b}.cm-rendition{font-size:11px;padding:1px 6px;border-radius:3px;border:1px solid transparent}.cm-r-good{background:#eaf6ef;color:#157347;border-color:#b9ddc8}.cm-r-ok{background:#fdf6e3;color:#8a6d1f;border-color:#e7d8a8}.cm-r-bad{background:#fdecea;color:#c5341f;border-color:#e3b5ad}.cm-exp-file{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-stack-note{font-size:11px;margin-top:2px}.cm-excluded{margin-top:14px}.cm-excluded-list{margin:8px 0 0;padding-left:18px;font-size:12px;max-height:160px;overflow-y:auto}.cm-excluded-list li{margin:2px 0}.cm-ex-name{color:#14241b}.cm-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:18px}.blot-stack{display:flex;flex-direction:column;gap:22px;width:100%}.stack-channel{display:flex;flex-direction:column;gap:10px;border:1px solid #dbe4de;border-radius:10px;padding:14px 16px;background:#fff;max-width:calc(var(--main-max, 760px) + 320px)}.channel-body{display:grid;grid-template-columns:minmax(0,var(--main-max, 760px)) minmax(0,280px);gap:20px;align-items:start}.channel-main{display:flex;flex-direction:column;gap:8px;min-width:0}.quantify-panel{margin:4px 0 0;padding:12px 14px;border:1px solid #c9d6cf;border-radius:6px;background:#fbfdfc}.quantify-head{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}.quantify-head .muted{flex:1;font-size:12px}.quantify-status{font-size:12px;color:#6b8177;padding:8px 2px}.quantify-row{margin-bottom:14px}.quantify-row:last-child{margin-bottom:0}.quantify-row-label{font-size:12px;font-weight:600;color:#557;margin-bottom:2px}.qchart{position:relative;height:132px;margin:4px 0 0;border-bottom:2px solid #cfe0d7}.qcol{position:absolute;bottom:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;box-sizing:border-box}.qcol-bar{position:relative;width:74%;min-width:3px;min-height:2px;background:linear-gradient(180deg,#2bb673,#1f9d55);border-radius:2px 2px 0 0}.qcol-err{position:absolute;left:50%;transform:translate(-50%);width:0;border-left:1.5px solid #0c447c;pointer-events:none}.qcol-err:before,.qcol-err:after{content:"";position:absolute;left:-3px;width:6px;border-top:1.5px solid #0c447c}.qcol-err:before{top:0}.qcol-err:after{bottom:0}.qcol-label{font-size:11px;font-weight:600;color:#1f7a44;margin-top:3px;font-variant-numeric:tabular-nums}.qvols{position:relative;height:34px;margin-top:4px}.qvol-cell{position:absolute;top:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15;box-sizing:border-box;border-left:1px solid #e6eeea;font-size:11px;color:#234;font-variant-numeric:tabular-nums;white-space:nowrap}.qvol-unc{font-size:9.5px;color:#7a8f86}.qvol-none{font-size:10px;font-style:italic;color:#a06000}.qvol-cell:last-child{border-right:1px solid #e6eeea}.qvol-clip{display:block;font-size:9px;font-weight:600;color:#d68a00;cursor:help}.channel-aside{display:flex;flex-direction:column;gap:12px;min-width:0}.view-toggles{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:2px}.sub-toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#3a4a42;margin-bottom:2px;cursor:pointer}.polarity-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px;padding:7px 10px;background:#f4f8f5;border:1px solid #dbe7df;border-radius:7px}.polarity-msg{flex:1 1 240px;font-size:12.5px;line-height:1.4;color:#3a4a42}.polarity-msg strong{color:#14241b}.polarity-flip{flex:none;font-weight:600;white-space:nowrap}.polarity-tag{flex:none;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b8a52;background:#eaf2e2;padding:2px 7px;border-radius:999px}.bg-panel{border:1px solid #dbe4de;border-radius:8px;padding:12px 14px;background:#f8faf9;font-size:13px}.bg-head{color:#14241b;margin-bottom:8px}.channel-beta{margin:0;padding:9px 12px;border:1px solid #e7d9a8;border-radius:8px;background:#fdf8e9;color:#5b4a1e;font-size:12.5px;line-height:1.5}.channel-beta strong{color:#7a5c12}.bg-controls{display:flex;flex-direction:column;gap:8px;color:#3a4a42}.bg-controls select,.bg-controls input[type=number]{font-size:13px;padding:3px 6px;border:1px solid #cdd8d2;border-radius:5px}.bg-controls input[type=number]{width:56px}.bg-blurb{margin:8px 0 0;font-size:12px;line-height:1.45}.aside-summary-placeholder{border:1px dashed #cfdad4;border-radius:8px;padding:14px;font-size:13px;line-height:1.5;text-align:center}.summary-panel{display:flex;flex-direction:column;gap:0}.summary-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px;flex-wrap:wrap}.summary-head strong{color:#14241b;font-size:13px}.summary-head .muted{font-size:11px}.summary-facet+.summary-facet{margin-top:8px;padding-top:8px;border-top:1px solid #eef3f0}.summary-facet-head{font-size:12px;color:#14492f;font-weight:600;margin-bottom:2px}.summary-chart{display:block;width:100%;height:auto}.summary-chart .sc-axis{stroke:#a9bcb1;stroke-width:1}.summary-chart .sc-grid{stroke:#e2ebe6;stroke-width:1}.summary-chart .sc-tick{fill:#6b7d72;font-size:9px}.summary-chart .sc-tick-y{text-anchor:end}.summary-chart .sc-tick-x{text-anchor:middle}.summary-chart .sc-end-label{font-size:9px;font-weight:600;dominant-baseline:middle}.summary-chart .sc-plateau{stroke:#6b7d72;stroke-opacity:.5;stroke-width:1;stroke-dasharray:4 3}.summary-rowbox{border:1px solid #dde6e0;border-radius:8px;padding:8px 10px 10px;background:#fbfdfc}.summary-rowbox+.summary-rowbox{margin-top:10px}.summary-sub{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#a9bcb1;margin:4px 0 0}.summary-sub-final{color:#14492f;font-weight:600}.summary-sub-final-row{justify-content:space-between;margin-top:10px;padding-top:8px;border-top:1px solid #dbe4de}.consistency{font-size:10px;padding:1px 7px;border-radius:10px;font-weight:500;white-space:nowrap}.consistency.ok{background:#eaf3de;color:#3b6d11}.consistency.warn{background:#faeeda;color:#854f0b}.summary-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;font-size:11px;color:#6b7d72}.summary-legend span{display:flex;align-items:center;gap:4px}.summary-legend .dot{width:8px;height:8px;border-radius:50%;display:inline-block}.summary-legend .dot-ring{background:transparent;border:1.6px solid currentColor;box-sizing:border-box}.summary-caption{margin-top:6px;font-size:11px;line-height:1.4}.summary-bg-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:10px;color:#4a5a51;margin:3px 0 0}.summary-bg-legend .dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:3px;vertical-align:middle}.summary-caption.crosscheck{margin-top:4px;padding-top:4px;border-top:1px dashed #dbe4df;color:#4a5a51}.summary-mode{display:flex;align-items:center;gap:8px;margin:2px 0 8px}.summary-mode .mode-badge{font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;border:1px solid transparent}.summary-mode .mode-badge.cumulative{background:#eef3fb;color:#2a5aa0;border-color:#cfdcf0}.summary-mode .mode-badge.independent{background:#eef7f0;color:#2f7a45;border-color:#d3e8d9}.summary-mode .mode-pick{font-size:10px;padding:1px 4px;color:#5f6f65}.summary-scale{display:flex;align-items:center;gap:5px;font-size:11px;color:#6b7d72;margin-top:8px}.summary-scale select{font-size:10px;padding:1px 4px;color:#5f6f65}.berth-panel{display:flex;align-items:center;gap:8px;margin:8px 0;font-size:12px;color:#14241b;cursor:pointer}.berth-panel .berth-label{font-weight:600;white-space:nowrap}.berth-panel .berth-range{flex:1;min-width:0;accent-color:rgb(0,206,229)}.berth-panel .berth-val{font-size:11px;color:#5f6f65;min-width:34px;text-align:right}.toolbar .toolbar-right{margin-left:auto}.export-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.report-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;overflow:auto;background:#eef2f0;padding-bottom:48px}.report-watermark{position:fixed;top:0;right:0;bottom:0;left:0;z-index:900;display:flex;align-items:center;justify-content:center;pointer-events:none;-webkit-user-select:none;user-select:none}.report-watermark img{width:62%;max-width:560px;opacity:.07;transform:rotate(-20deg)}.report-toolbar{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:12px;padding:12px 20px;background:#fff;border-bottom:1px solid #dde6e0}.report-doc{max-width:1080px;margin:24px auto;padding:34px 44px;background:#fff;border:1px solid #dde6e0;border-radius:6px;color:#14241b}.report-head h1{font-size:21px;margin:0 0 8px}.report-meta{display:flex;gap:18px;font-size:12px;color:#5f6f65;margin-bottom:12px}.report-method{font-size:12.5px;line-height:1.5;color:#3a4a41;max-width:70ch;margin:0}.report-channel{margin-top:26px;border-top:1px solid #eef3f0;padding-top:16px;break-inside:avoid}.report-channel h2{font-size:15px;margin:0 0 10px}.report-source{font-size:12px;color:#55645b;margin:4px 0 0}.report-source strong{color:#16241b}.report-band-tag{display:inline-block;font-size:12px;font-weight:700;color:#fff;background:#2f9e5f;padding:1px 8px;border-radius:5px;margin-left:6px;vertical-align:middle}.report-warnings{margin:16px 0 4px;padding:10px 14px;border:1px solid #e8c98d;border-left:3px solid #d9822b;border-radius:0 7px 7px 0;background:#fdf5ea;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-warnings h3{margin:0 0 6px;font-size:13px;color:#8a5a1e}.report-warnings ul{margin:0;padding-left:18px}.report-warnings li{font-size:12px;line-height:1.5;color:#6b4d24;margin:3px 0}.report-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:20px;align-items:start}.report-col-main,.report-col-side{display:flex;flex-direction:column;gap:10px;min-width:0}.report-fig{margin:0}.report-fig figcaption{font-size:11px;color:#5f6f65;margin-top:4px}.report-3d{margin:8px 0 10px}.report-channel .norm-panel{margin-top:10px}.report-data-channel{margin-bottom:22px}.report-data-channel h3{font-size:14px;margin:0 0 8px;color:#14241b}.report-tables{margin-top:16px;overflow-x:auto}.report-table{border-collapse:collapse;font-size:11px;margin-bottom:14px;break-inside:avoid}.report-table caption{text-align:left;font-weight:600;font-size:12px;color:#3a4a41;padding:4px 0}.report-table th,.report-table td{border:1px solid #e2e9e5;padding:3px 7px;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.report-table th{background:#f2f7f4;color:#3a4a41;font-weight:600}.report-table .rt-band,.report-table .rt-data{text-align:left}.report-table .rt-band{font-weight:600}.report-table .rt-sub{display:block;font-size:9.5px;color:#7a8f86}.report-table .rt-nd{color:#a9bcb1}.report-provenance{margin:6px 0 20px;padding-bottom:16px;border-bottom:1px solid #dde6e0;font-size:11.5px;color:#5f6f65}.report-provenance h3{font-size:12.5px;margin:0 0 6px;color:#3a4a41}.report-provenance ul{margin:0;padding-left:18px}.report-provenance li{margin:2px 0}@media print{body.report-open>#root{display:none}.report-toolbar{display:none}.report-overlay{position:static;overflow:visible;background:#fff;padding:0}.report-doc{max-width:none;margin:0;padding:0;border:none;border-radius:0}.report-channel h2{break-after:avoid}.report-fig,.norm-panel,.quantify-panel,.summary-rowbox{break-inside:avoid}body.report-open,.report-overlay,.report-overlay *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-channel{break-before:page}.surface3d-reset,.surface3d-floor,.surface3d-hint,.summary-mode,.summary-scale,.qvols,.report-overlay select,.report-overlay input[type=range]{display:none!important}.report-tables{overflow:visible!important}.report-table{width:100%;table-layout:fixed;font-size:7.5px}.report-table th,.report-table td{padding:2px 3px;overflow:hidden;word-break:break-word}.report-table .rt-sub{font-size:7px}.report-fig-full canvas{max-height:280px;max-width:100%;width:auto;height:auto}.report-3d canvas{max-height:220px;max-width:100%;width:auto;height:auto}.report-stack3d canvas{max-height:150px;max-width:100%;width:auto;height:auto}.report-col-side .summary-chart{max-height:108px}.report-col-side .summary-panel{font-size:11px}}.report-stack3d{margin:0 0 12px}.report-stack3d canvas{border-radius:6px}.summary-sub-hint{font-weight:400;color:#8a9a90;font-size:10px}.summary-sub-row{display:flex;align-items:center;gap:6px;margin-top:4px}.summary-sub-row .summary-sub{margin:0}@media(max-width:860px){.channel-body{grid-template-columns:1fr}}.stack-channel-head{display:flex;align-items:center;gap:8px;border-bottom:1px solid #dde6e0;padding-bottom:4px}.swatch-dot{width:15px;height:15px;border-radius:3px;border:1px solid rgba(0,0,0,.3);display:inline-block;flex:0 0 auto}.exposure-column{display:flex;flex-direction:column;gap:16px}.crop-view{display:flex;flex-direction:column;gap:10px}.crop-view .surface3d-panel{margin-top:0}.step-next:disabled{background:#f0d9bf;color:#b08a5e;cursor:default}.chan-btn{background:#fff;border:1px solid #cdd8d2;color:#3a4a42;border-radius:5px;font-size:12px;font-weight:600;padding:3px 9px;cursor:pointer}.chan-btn:hover{background:#eef4f0}.chan-btn.danger{border-color:#e3b5ad;color:#c5341f}.chan-btn.danger:hover{background:#fdecea}.chan-btn.active{background:#157347;border-color:#157347;color:#fff}.chan-btn.active:hover{background:#0f5a37}.crop-trim-bar{align-items:center;gap:6px 12px}.crop-trim-hint{font-size:12px;color:#64756a}.stack-exp-count{font-size:12px;color:#6b7d72;font-variant-numeric:tabular-nums}.stack-exposure-head{align-items:center}.exp-actions{margin-left:auto;display:inline-flex;gap:6px}.exp-hidden-note{margin:6px 0 0;color:#8a9a90;font-size:12px;font-style:italic}.exp-note{margin:6px 0 0;padding:8px 10px;border-radius:5px;font-size:12px;line-height:1.45}.exp-note.warn{background:#fdf6e3;border-left:3px solid #d9a300;color:#6b5400}.stack-channel-label{font-weight:700;font-size:19px;color:#14241b}.channel-type{font-size:12px;color:#55665e;display:inline-flex;align-items:center;gap:4px}.channel-type select{font-size:13px;padding:3px 6px;border:1px solid #cdd8d2;border-radius:6px;background:#f6f9f7;color:#14241b}.channel-type select.type-unset{border-color:#c5341f;background:#fdecea;color:#c5341f;font-weight:500;animation:type-unset-pulse 1.6s ease-in-out infinite}@keyframes type-unset-pulse{0%,to{box-shadow:0 0 #c5341f00}50%{box-shadow:0 0 0 4px #c5341f2e}}.step-required{display:flex;align-items:flex-start;gap:8px;margin-top:8px;padding:9px 12px;background:#fdecea;border:1px solid #f0a99e;border-left:4px solid #c5341f;border-radius:6px;font-size:13px;line-height:1.35;color:#7a2417}.step-required strong{color:#c5341f}.step-required-arrow{flex:none;font-size:18px;font-weight:800;line-height:1.1;color:#c5341f;animation:step-required-bob 1.1s ease-in-out infinite}@keyframes step-required-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.channel-type select.type-unset,.step-required-arrow{animation:none}}.step-explain{flex-basis:100%;margin-top:2px;padding:8px 11px;font-size:12.5px;line-height:1.5;color:#7a5327;background:#fdf3e7;border-left:3px solid #e8821e;border-radius:0 6px 6px 0}.step-explain strong{color:#6f3f0f}.ink-orange{color:#d9741a;font-weight:600}.ink-cyan{color:#0a97ad;font-weight:600}.norm-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.norm-pick{font-size:12px;color:#14241b;font-weight:500;display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%}.norm-pick-label{font-weight:500}.norm-pick select{font-size:12px;padding:3px 6px;border:1px solid #cdd8d2;border-radius:6px;background:#fff;color:#14241b;font-weight:400;max-width:100%}.norm-head{align-items:flex-start}.norm-wait{font-size:12px}.norm-panel{border:1px solid #dde6e0;border-radius:8px;padding:10px 12px;background:#fbfdfc}.norm-row+.norm-row{margin-top:8px;padding-top:8px;border-top:1px solid #eef3f0}.norm-row-label{font-size:12px;color:#14492f;font-weight:600;margin-bottom:2px}.norm-bars{display:flex;gap:6px;align-items:flex-end}.norm-col{flex:1 1 0;display:flex;flex-direction:column;align-items:center;min-width:0}.norm-track{height:66px;display:flex;align-items:flex-end;justify-content:center;width:100%}.norm-bar{width:70%;max-width:22px;background:#2a78d6;border-radius:3px 3px 0 0}.norm-none{color:#a9bcb1;font-size:13px;align-self:center}.norm-val{font-size:10px;color:#14241b;margin-top:2px;font-variant-numeric:tabular-nums}.norm-lane{font-size:10px;color:#6b7d72}.stack-exposure{display:flex;flex-direction:column;gap:3px}.stack-exposure-head{display:flex;align-items:baseline;gap:12px}.stack-exp-time{font-weight:700;font-size:16px;font-variant-numeric:tabular-nums;color:#14241b}.sat-warn{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;background:#fdecea;border:1px solid #f0b0a8;border-radius:11px;color:#b3261e;font-size:12px;font-weight:600;cursor:help}.stack-exp-file{font-size:12px;color:#6b7d72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stack-canvas{display:block;width:100%;height:auto;border:1px solid #dde6e0;border-radius:4px;background:#fff}.stack-channel-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.step-box{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:4px 0 10px;padding:14px 16px;background:#fff4e8;border:1px solid #f1d2a8;border-radius:8px;color:#7a4a14;font-size:15px;line-height:1.5}.channel-step-host{margin:2px 0 4px}.step-box-title{flex:0 0 100%;margin:-1px 0 3px;font-size:18px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#c26a12}.tip-tag{font-weight:800;color:#b5651d;white-space:nowrap}.step-actions{display:inline-flex;align-items:center;gap:8px}.step-lead{flex:1 1 200px;color:#8a5a28}.step-lead strong{color:#6f3f0f}.step-note{flex:1 1 100%;font-size:12px;line-height:1.5;color:#9a6630;margin-top:2px}.step-note strong{color:#6f3f0f}.step-done{font-weight:700;color:#6f3f0f}.step-box .grid-ctl{font-weight:600;white-space:nowrap}.step-box input{width:3.5em;font-size:15px}.step-next{padding:10px 18px;background:#e8821e;color:#fff;border:none;border-radius:6px;font-size:15px;font-weight:700;cursor:pointer;white-space:nowrap}.step-next:hover{background:#cf7212}.step-back{padding:9px 14px;background:transparent;color:#a25a12;border:1px solid #e6c091;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.step-back:hover{background:#fbe7cd}.step-box .link-btn{color:#b5651d}
