:root{color:#1f2933;background:#eef1f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}button,input,select,textarea,.icon-button{font:inherit}button,.file-button{min-height:36px;border:1px solid #c7cfda;border-radius:8px;background:#fff;color:#1f2933;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;text-align:center;white-space:nowrap}button:hover,.file-button:hover{border-color:#7b8798}button:disabled{color:#8c97a8;cursor:not-allowed;background:#f3f5f7}button.active,.primary-button,button.primary-button,.primary-file{background:#185c6f;border-color:#185c6f;color:#fff}button.active:hover,.primary-button:hover,button.primary-button:hover,.primary-file:hover{border-color:#0f4554}input,select,textarea{width:100%;min-height:36px;border:1px solid #c7cfda;border-radius:8px;background:#fff;color:#1f2933;padding:5px 9px}textarea{min-height:118px;resize:vertical;line-height:1.45}input[type=range]{padding:0}label{display:grid;gap:5px;color:#465364;font-size:12px}label span,dt,.eyebrow{color:#657286;font-size:11px;font-weight:700;letter-spacing:0;text-transform:uppercase}.app{display:grid;grid-template-rows:auto 1fr;height:100%;min-height:0}.app-header{display:flex;align-items:center;justify-content:flex-start;gap:14px;border-bottom:1px solid #d6dce4;background:#fbfcfd;padding:13px 18px}.app-header h1{font-size:18px;line-height:1.2;margin:0;flex:0 0 auto;white-space:nowrap}.app-title-button{min-height:0;border:0;border-radius:4px;background:transparent;color:#111827;padding:2px 0;font-size:18px;font-weight:800;line-height:1.2}.app-title-button:hover{border-color:transparent;color:#185c6f}.app-actions{display:inline-flex;align-items:center;gap:6px}.icon-button{width:36px;min-width:36px;height:36px;min-height:36px;border:1px solid #c7cfda;border-radius:8px;background:#fff;color:#1f2933;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;position:relative;overflow:hidden;font-size:18px;font-weight:700;line-height:1}.icon-button:hover{border-color:#7b8798}.header-demo-button{min-width:64px;font-weight:700}.app-info-button{margin-left:auto;font-family:Georgia,Times New Roman,serif;font-style:italic}.file-icon-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.workspace{min-height:0;display:grid;grid-template-columns:minmax(0,1fr);background:#e5e9ee}.workspace.with-preview{grid-template-columns:320px minmax(0,1fr) 300px}.control-panel{grid-column:1;min-height:0;overflow:auto;border-right:1px solid #d3dae4;background:#f6f8fa;padding:14px}.control-panel section,.advanced-details{margin:0 0 12px}.export-preview-panel{grid-column:3;grid-row:1;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:12px;border-left:1px solid #d3dae4;background:#fbfcfd;padding:14px}.workflow-hero,.focus-card,.status-card{border:1px solid #d8dee7;border-radius:8px;background:#fff;padding:12px}.workflow-hero{display:grid;gap:11px}.panel-heading{display:grid;gap:3px}.panel-heading h2{margin:0;color:#1f2933;font-size:17px;line-height:1.25}.hero-copy,.muted,.status-text{margin:0;color:#657286;font-size:12px;line-height:1.45}.status-text{color:#354253}.button-row,.color-row,.marker-row,.export-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.button-row.centered{justify-content:center}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.meta-list,.compact-metrics{display:grid;gap:7px;margin:0}.meta-list div,.compact-metrics div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px}.meta-list dd,.compact-metrics dd{min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#263247;font-size:12px}.workflow-checklist{display:flex;align-items:flex-end;gap:0;padding:0 4px;border-bottom:1px solid #c7cfda}.control-panel .workflow-checklist{margin-bottom:0}.review-step{position:relative;width:auto;flex:1 1 0;min-height:36px;display:flex;align-items:center;justify-content:center;margin-bottom:-1px;border:1px solid #d8dee7;border-bottom:0;border-radius:8px 8px 0 0;background:#eef2f6;color:#566375;box-shadow:none;padding:0 14px;text-align:center;font-weight:700}.review-step:hover{border-color:#d8dee7;background:#eef2f6}.review-step.active{border-color:#c7cfda;border-bottom-color:#fff;background:#fff;color:#185c6f;box-shadow:none}.workflow-checklist+.focus-card{border-top-left-radius:0;border-top-right-radius:0}.review-step.active .step-copy strong,.review-step.active .step-copy span,.review-step.active .step-state{color:#fff}.step-dot,.toolbar-dot,.status-light{width:9px;height:9px;border-radius:50%;background:#a0aabc}.review-step.good .step-dot{background:#1e7f56}.review-step.review .step-dot{background:#bd6b00}.review-step.missing .step-dot{background:#b83f46}.step-copy{min-width:0;display:grid;gap:3px}.step-copy strong{color:#1f2933;font-size:13px}.step-copy span,.step-state{color:#687589;font-size:12px}.step-state{justify-self:end}.focus-card{display:grid;gap:12px}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.grid-four{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.axis-review{display:grid;gap:8px;border-top:1px solid #e4e8ee;padding-top:10px}.axis-review:first-child{border-top:0;padding-top:0}.axis-review-header{display:grid;grid-template-columns:1fr 104px;align-items:center;gap:8px}.axis-review-header strong{color:#1f2933;font-size:13px}.tick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.marker-row button{flex:1 1 76px}.tool-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.tool-row button{min-width:0;padding:0 6px}.segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:6px}.mask-tools{display:grid;gap:10px;border-top:1px solid #e4e8ee;padding-top:10px}.series-list{display:grid;gap:7px}.series-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:6px}.series-tabs{display:flex;flex-wrap:wrap;gap:7px}.series-tabs button{min-height:34px;border-radius:999px;padding:0 10px}.series-tabs button.active{background:#185c6f;border-color:#185c6f;color:#fff}.series-chip{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;justify-content:stretch;text-align:left}.series-chip span:nth-child(2){overflow:hidden;text-overflow:ellipsis}.series-delete-button{min-width:42px;padding:0;font-weight:700}.series-add-button{width:100%;justify-content:center;font-weight:700}.clear-points-row{padding-top:2px}.selected-series{display:grid;gap:8px;border-top:1px solid #e4e8ee;padding-top:10px}.color-row{color:#4d5a6c;font-size:12px}.color-swatch{width:24px;height:24px;flex:0 0 auto;border:1px solid #aeb8c6;border-radius:6px}.color-swatch.small{width:16px;height:16px;border-radius:4px}.empty-note{border:1px dashed #cbd4df;border-radius:8px;color:#657286;font-size:12px;padding:12px;text-align:center}.export-actions button{flex:1 1 130px}.preview-summary{display:grid;gap:3px;border:1px solid #d8dee7;border-radius:8px;background:#fff;padding:10px}.preview-summary strong{color:#1f2933;font-size:14px}.preview-summary span{color:#657286;font-size:12px;line-height:1.35}.data-preview{display:grid;gap:8px;border-top:1px solid #e4e8ee;padding-top:10px}.data-preview.standalone{min-height:0;height:100%;overflow:auto;border:1px solid #d8dee7;border-radius:8px;background:#fff;padding:8px}.data-preview-header{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#354253;font-size:12px}.data-preview table{width:100%;border-collapse:collapse;font-size:12px}.data-preview th,.data-preview td{border-bottom:1px solid #e4e8ee;padding:6px 4px;text-align:right}.data-preview th{position:sticky;top:0;z-index:1;background:#fff}.data-preview th:first-child,.data-preview td:first-child{text-align:left}.data-preview td:first-child{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-list,.issue-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.note-list li,.issue-list li{border-radius:8px;color:#4d5a6c;background:#f4f6f8;font-size:12px;line-height:1.35;padding:8px}.issue-list .error{background:#fff1f2;color:#a31634}.issue-list .warning{background:#fff7ed;color:#9a3412}.checkbox-row{display:flex;align-items:center;gap:8px}.checkbox-row input{width:auto}details{border:1px solid #d8dee7;border-radius:8px;background:#fff;padding:9px 10px}summary{cursor:pointer;color:#354253;font-size:12px;font-weight:700}.details-content{display:grid;gap:9px;padding-top:10px}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mode-grid.compact{grid-template-columns:repeat(2,1fr)}.status-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:start}.status-light{margin-top:5px;background:#1e7f56}.status-light.running,.toolbar-dot.running{background:#bd6b00}.viewer-wrap{grid-column:1;grid-row:1;min-width:0;min-height:0;display:grid;grid-template-rows:auto 1fr;background:#dfe5ec}.workspace.with-preview .viewer-wrap{grid-column:2}.viewer-toolbar{min-height:42px;display:flex;align-items:center;justify-content:flex-start;gap:12px;border-bottom:1px solid #cbd3df;background:#fbfcfd;color:#465364;font-size:12px;padding:0 14px}.viewer-toolbar span{display:inline-flex;align-items:center;gap:7px}.viewer-toolbar .viewer-toolbar-status{display:block;min-width:0;flex:1 1 auto;overflow:hidden;color:#657286;text-overflow:ellipsis;white-space:nowrap}.viewer-toolbar-button{min-height:28px;margin-left:auto;padding:0 12px;border-radius:7px;font-size:12px;font-weight:700}.viewer-toolbar-confirm{display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:0 14px;border-radius:7px;border:1px solid #1e7f56;background:#d6f0e1;color:#135b3d;font-size:12px;font-weight:700;cursor:pointer}.viewer-toolbar-confirm:hover{background:#c0e7d0}.toolbar-dot{background:#1e7f56}.viewer-body{min-height:0;display:grid;grid-template-columns:minmax(0,1fr)}.viewer-body.with-pdf-review{grid-template-columns:148px minmax(0,1fr)}.pdf-review-controls{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:0;border-right:1px solid #cbd3df;background:#f6f8fa;padding:12px 10px}.pdf-thumbnail-strip{display:flex;flex-direction:column;gap:8px;min-height:0;overflow-x:hidden;overflow-y:auto;padding:2px 2px 8px}.pdf-thumbnail-strip button{position:relative;width:100%;min-height:92px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:3px;border-color:#cbd4df;padding:5px;background:#fff}.pdf-thumbnail-strip button.active{border-color:#185c6f;box-shadow:0 0 0 2px #185c6f29}.pdf-thumbnail-strip img,.pdf-thumb-placeholder{width:100%;height:64px;object-fit:contain;border:1px solid #e4e8ee;background:#fff}.pdf-thumb-placeholder{display:block;background:linear-gradient(90deg,rgb(24 92 111 / 6%) 1px,transparent 1px),linear-gradient(rgb(24 92 111 / 6%) 1px,transparent 1px),#f8fafc;background-size:10px 10px}.pdf-thumb-label{color:#354253;font-size:11px;font-weight:700;line-height:1;text-align:center}.pdf-thumb-badge{position:absolute;right:4px;top:4px;min-width:18px;height:18px;border-radius:999px;display:grid;place-items:center;background:#185c6f;color:#fff;font-size:10px;font-weight:800}.pdf-confirm-row{display:grid;gap:8px}.pdf-review-step{color:#617089;font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase}.pdf-review-hint{color:#4d5a6c;font-size:12px;line-height:1.35}.pdf-confirm-row button{width:100%;min-width:0;min-height:38px}.viewer-canvas{min-height:0;min-width:0;display:flex;flex-direction:column}.viewer-scroll{min-height:0;flex:1 1 auto;overflow:auto;display:grid;place-items:center;padding:26px}.pdf-guidance-banner{display:flex;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid #c9d4e3;background:linear-gradient(90deg,#eef4ff,#f6f9ff);color:#1f2a37;flex:0 0 auto}.pdf-guidance-banner.stage-plot{background:linear-gradient(90deg,#fff6e5,#fffaf0);border-bottom-color:#e6c896}.pdf-guidance-step{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:#ffffffb3;color:#1d4ed8;white-space:nowrap}.pdf-guidance-banner.stage-plot .pdf-guidance-step{color:#a16207}.pdf-guidance-text{display:flex;flex-direction:column;gap:2px;line-height:1.35}.pdf-guidance-text strong{font-size:14px;font-weight:600}.pdf-guidance-text span{font-size:12px;color:#4d5a6c}.viewer-stage{position:relative;margin:0 auto;background:#fff;box-shadow:0 18px 40px #25303f33}.viewer-stage img,.viewer-overlay{position:absolute;inset:0;display:block;-webkit-user-select:none;user-select:none}.viewer-overlay{touch-action:none;cursor:crosshair}.viewer-loupe{position:absolute;border:2px solid #185c6f;border-radius:50%;box-shadow:0 12px 28px #25303f3d;pointer-events:none;z-index:4;overflow:hidden}.viewer-loupe-overlay{position:absolute;inset:0;pointer-events:none}.demo-tour-highlight{position:fixed;pointer-events:none;border-radius:8px;box-shadow:0 0 0 3px #1d4ed8,0 0 0 9999px #0f172a47;z-index:49;animation:demo-tour-pulse 1.4s ease-in-out infinite}@keyframes demo-tour-pulse{0%,to{box-shadow:0 0 0 3px #1d4ed8,0 0 0 9999px #0f172a47}50%{box-shadow:0 0 0 5px #60a5fa,0 0 0 9999px #0f172a47}}.demo-tour-bubble{position:fixed;z-index:50;display:flex;flex-direction:column;gap:6px;padding:6px 8px 6px 10px;border-radius:8px;background:#1d4ed8;color:#fff;font-size:12px;font-weight:500;box-shadow:0 8px 20px #1118274d;max-width:min(360px,calc(100vw - 32px));white-space:normal;line-height:1.3}.demo-tour-bubble.has-video{width:min(680px,max(520px,46vw));max-width:calc(100vw - 32px);padding:10px;background:#1d4ed8;box-shadow:0 18px 42px #11182757}.demo-tour-topline,.demo-tour-footer{display:flex;align-items:center;gap:8px}.demo-tour-topline{justify-content:space-between}.demo-tour-footer{min-width:0}.demo-tour-video{display:block;width:100%;aspect-ratio:1440 / 936;object-fit:cover;border-radius:7px;background:#111827}.demo-tour-counter{font-variant-numeric:tabular-nums;font-size:10px;font-weight:700;padding:2px 6px;border-radius:999px;background:#ffffff38;flex:0 0 auto}.demo-tour-text{flex:1 1 auto;min-width:0}.demo-tour-link{background:transparent;border:0;color:#fffc;font-size:11px;font-weight:600;cursor:pointer;padding:4px 6px;border-radius:4px}.demo-tour-link:hover{background:#ffffff24;color:#fff}.demo-tour-nav-button{background:#ffffff2e;border:0;color:#fff;font-size:12px;font-weight:700;min-width:68px;height:24px;padding:0 10px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.demo-tour-nav-button:hover{background:#ffffff4d}.info-dialog-backdrop{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:20px;background:#0f172a61}.info-dialog{width:min(460px,calc(100vw - 40px));max-height:calc(100vh - 40px);overflow:auto;border:1px solid #c7cfda;border-radius:8px;background:#fff;box-shadow:0 24px 60px #0f172a52;padding:16px}.info-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.info-dialog-header h2{margin:0;color:#1f2933;font-size:17px;line-height:1.25}.info-dialog-intro{margin:0 0 14px;color:#465364;font-size:13px;line-height:1.55}.info-dialog-close{width:32px;min-width:32px;height:32px;min-height:32px}.feedback-form{display:grid;gap:12px}.reply-checkbox{display:flex;grid-template-columns:none;align-items:center;gap:8px;color:#465364}.reply-checkbox input{width:auto;min-height:0}.reply-checkbox span{color:#465364;font-size:12px;font-weight:700;text-transform:none}.form-error{margin:0;color:#b42318;font-size:12px;line-height:1.35}.support-divider{height:1px;margin:16px 0;background:#e4e8ee}.coffee-support,.coffee-button-slot{min-height:44px;display:flex;align-items:center}.coffee-fallback{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #000000;border-radius:6px;background:#fd0;color:#000;padding:0 14px;font-weight:700;text-decoration:none}@media(max-width:760px){.demo-tour-bubble{left:16px!important;right:16px;bottom:16px;top:auto!important;transform:none!important;max-width:none}.demo-tour-bubble.has-video{width:auto}}@media(prefers-reduced-motion:reduce){.demo-tour-highlight{animation:none}.demo-tour-video{display:none}}.viewer-loupe:after{content:"";position:absolute;left:0;top:50%;width:100%;border-top:1px solid rgb(24 92 111 / 68%)}.viewer-loupe:before{content:"";position:absolute;left:50%;top:0;height:100%;border-left:1px solid rgb(24 92 111 / 68%)}.inactive-layer{opacity:.48;pointer-events:none}.viewer-empty{grid-column:1;grid-row:1;display:grid;place-items:center;min-height:0;background:linear-gradient(90deg,rgb(24 92 111 / 5%) 1px,transparent 1px),linear-gradient(rgb(24 92 111 / 5%) 1px,transparent 1px),#e4e9ee;background-size:28px 28px;color:#334155;padding:28px}.empty-dropzone{position:relative;width:min(520px,100%);display:grid;justify-items:center;gap:12px;border:1px dashed #9eabbc;border-radius:8px;background:#ffffffc2;padding:34px 24px;text-align:center;cursor:pointer}.empty-dropzone:hover{border-color:#185c6f;background:#ffffffe0}.empty-dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.drop-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#185c6f;color:#fff;font-size:28px;line-height:1}.empty-dropzone h2{margin:0;font-size:24px}.empty-dropzone p{margin:0;color:#657286;font-size:13px}.plot-region{fill:none;stroke:#185c6f;stroke-dasharray:8 5;vector-effect:non-scaling-stroke;pointer-events:none}.region-edge-hit{fill:transparent;stroke:transparent;pointer-events:all;cursor:move}.region-handle{fill:#fff;stroke:#185c6f;vector-effect:non-scaling-stroke;pointer-events:all}.handle-n,.handle-s{cursor:ns-resize}.handle-e,.handle-w{cursor:ew-resize}.handle-nw,.handle-se{cursor:nwse-resize}.handle-ne,.handle-sw{cursor:nesw-resize}.preview-raw{fill:none;stroke:#0f766e;vector-effect:non-scaling-stroke;opacity:.3}.preview-point{fill:none;stroke:#0f766e;vector-effect:non-scaling-stroke;pointer-events:none}.mask-stroke{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.mask-stroke.add{stroke:#0f766e;opacity:.24}.mask-stroke.erase{stroke:#fff;opacity:.78}.draggable-point{cursor:grab;pointer-events:all}.draggable-point:active{cursor:grabbing}@media(max-width:900px){.workspace{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}.workspace.with-preview{grid-template-columns:1fr;grid-template-rows:minmax(360px,50vh) auto minmax(0,42vh)}.viewer-wrap,.viewer-empty{grid-column:1;grid-row:1}.viewer-body.with-pdf-review{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.pdf-review-controls{grid-template-columns:156px minmax(0,1fr);grid-template-rows:auto;border-right:0;border-bottom:1px solid #cbd3df}.pdf-thumbnail-strip{flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:2px 2px 4px}.pdf-thumbnail-strip button{min-width:74px;min-height:76px}.pdf-thumbnail-strip img,.pdf-thumb-placeholder{height:48px}.export-preview-panel{grid-column:1;grid-row:3;max-height:260px;border-left:0;border-top:1px solid #d3dae4}.control-panel{grid-column:1;grid-row:2;border-left:0;border-top:1px solid #d3dae4}.workspace.with-preview .control-panel{grid-column:1;grid-row:2;border-right:0}}
