@font-face{font-family:Pretendard Variable;font-weight:45 920;font-style:normal;font-display:swap;src:url(./PretendardVariable-CJuje-Rk.woff2)format("woff2-variations")}:root{color:#1c2430;font-synthesis:none;text-rendering:optimizelegibility;--bg:#f5f7fb;--surface:#fff;--ink:#1c2430;--muted:#667085;--line:#dde4ef;--blue:#287fae;--blue-soft:#e9f4fa;--orange:#f29f67;--orange-soft:#fff3e9;--danger:#c64a50;--shadow:0 12px 28px #19273e0f;background:#f5f7fb;font-family:Pretendard Variable,Pretendard,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 84% 0%, #5ea6c614, transparent 26rem), var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;color:inherit}.shell{width:min(1240px,100% - 48px);margin:0 auto}.home-shell{flex-direction:column;min-height:100vh;padding:42px 0 28px;display:flex}.hero{margin-bottom:28px}.eyebrow,.card-kicker{color:var(--blue);letter-spacing:.17em;margin:0 0 8px;font-size:11px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.035em;margin-bottom:9px;font-size:clamp(30px,4vw,42px);line-height:1.08}.subtitle{color:var(--muted);margin-bottom:0;font-size:16px}.tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.home-card{border:1px solid var(--line);background:var(--surface);min-height:380px;box-shadow:var(--shadow);border-radius:18px;flex-direction:column;gap:27px;padding:30px;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.active-tool:hover{border-color:#a9cadd;transform:translateY(-4px);box-shadow:0 18px 36px #19273e1a}.tool-card-top{justify-content:space-between;align-items:center;display:flex}.tool-number{color:#b5c0cf;letter-spacing:.12em;font-size:13px;font-weight:800}.available-pill,.soon-pill,.source-badge{letter-spacing:.08em;border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:10px;font-weight:800;display:inline-flex}.available-pill{color:#1e6e96;background:var(--blue-soft)}.soon-pill{color:#7b8491;background:#eef1f5}.home-card h2{letter-spacing:-.025em;margin-bottom:11px;font-size:25px}.home-card p:not(.card-kicker){max-width:500px;color:var(--muted);line-height:1.65}.home-card ul{color:#4b5665;gap:8px;margin:auto 0 0;padding:0;font-size:13px;list-style:none;display:grid}.home-card li:before{content:"";background:#8cb9ce;border-radius:50%;width:6px;height:6px;margin:0 10px 2px 0;display:inline-block}.card-arrow{color:var(--blue);border-top:1px solid #edf0f5;justify-content:space-between;align-items:center;padding-top:18px;font-size:13px;font-weight:750;display:flex}.card-arrow b{font-size:20px;transition:transform .2s}.active-tool:hover .card-arrow b{transform:translate(4px)}.card-arrow.muted{color:#9aa4b2}.upcoming-tool{box-shadow:none;background:repeating-linear-gradient(135deg,#fff 0 9px,#fbfcfe 9px 18px)}.placeholder-lines{gap:9px;margin-top:auto;display:grid}.placeholder-lines span{background:#edf1f6;border-radius:9px;height:9px}.placeholder-lines span:nth-child(2){width:78%}.placeholder-lines span:nth-child(3){width:54%}footer{color:#98a2b3;margin-top:auto;padding-top:38px;font-size:12px}.analysis-shell{padding:30px 0 70px}.tool-header{justify-content:space-between;align-items:flex-end;gap:24px;min-height:150px;padding-bottom:24px;display:flex}.tool-header h1{font-size:clamp(28px,3.5vw,38px)}.back-link{color:var(--muted);margin-bottom:22px;font-size:13px;font-weight:650;text-decoration:none;display:inline-block}.back-link:hover{color:var(--blue)}.status-line span{background:#4da071;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #4da0711f}.section-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:18px;margin-bottom:18px;padding:26px}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.section-heading>div:first-child{align-items:center;gap:12px;display:flex}.section-heading h2,.results-title h2{letter-spacing:-.02em;margin:0;font-size:20px}.section-heading>p{color:var(--muted);margin:0;font-size:13px}.step{width:34px;height:26px;color:var(--blue);letter-spacing:.08em;background:#edf5f9;border-radius:8px;place-items:center;font-size:11px;font-weight:850;display:inline-grid}.input-mode-grid{grid-template-columns:.9fr 1.2fr .9fr;gap:14px;display:grid}.input-card{background:#fbfcfe;border:1px solid #e1e7f0;border-radius:14px;flex-direction:column;align-items:flex-start;min-height:245px;padding:20px;display:flex}.input-card.dragging{border-color:var(--blue);background:#f2f9fc;box-shadow:inset 0 0 0 2px #287fae1f}.input-icon{color:var(--blue);letter-spacing:.12em;background:#eaf3f8;border-radius:6px;margin-bottom:23px;padding:6px 8px;font:800 10px/1 Pretendard Variable,sans-serif}.input-card h3{margin-bottom:8px;font-size:16px}.input-card p{color:var(--muted);margin-bottom:18px;font-size:12px;line-height:1.6}.input-card textarea{resize:vertical;width:100%;min-height:78px;color:var(--ink);background:#fff;border:1px solid #d9e1ec;border-radius:9px;outline:none;margin-bottom:12px;padding:10px;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.input-card textarea:focus{border-color:#75aecb;box-shadow:0 0 0 3px #287fae1a}.secondary-button,.primary-button{cursor:pointer;border-radius:9px;min-height:38px;padding:0 15px;font-size:12px;font-weight:750}.secondary-button{background:#fff;border:1px solid #cdd8e5;margin-top:auto}.secondary-button:hover{color:var(--blue);border-color:#8ab4ca}.primary-button{border:1px solid var(--blue);background:var(--blue);color:#fff}button:disabled{opacity:.45;cursor:not-allowed}.keyboard-hint{color:#536174;letter-spacing:.08em;background:#fff;border:1px solid #d9e1ec;border-bottom-width:3px;border-radius:9px;margin-top:auto;padding:10px 14px;font-size:11px;font-weight:800}.status-line{color:#526071;background:#f5f8fb;border-radius:9px;align-items:center;gap:10px;margin-top:16px;padding:11px 13px;font-size:12px;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.heading-actions{color:var(--muted);align-items:center;font-size:12px;gap:12px!important;display:flex!important}.review-section{padding:0;overflow:hidden}.review-heading{margin:0;padding:18px 24px}.review-toggle{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;min-width:0;padding:0;display:flex}.review-heading-copy{gap:3px;display:grid}.review-heading-copy strong{letter-spacing:-.02em;font-size:18px}.review-heading-copy small{color:var(--muted);font-size:10px;font-weight:650}.review-chevron{color:#7b8798;margin-left:3px;font-size:21px;line-height:1;transition:transform .18s;transform:rotate(-90deg)}.review-chevron.open{transform:rotate(0)}.review-body{border-top:1px solid #edf0f5;padding:18px 24px 24px}.source-badge{color:#436277;background:#edf4f8}.text-button{color:var(--blue);cursor:pointer;background:0 0;border:0;padding:4px 2px;font-size:12px;font-weight:750}.precision-warning,.error-banner{background:var(--orange-soft);color:#875331;border:1px solid #f0d2bb;border-radius:10px;margin-bottom:14px;padding:12px 14px;font-size:12px;line-height:1.55}.message-list{background:#fffaf6;border-left:3px solid #d19a72;margin-bottom:14px;padding:10px 14px}.message-list p{color:#7a5740;margin:3px 0;font-size:12px}.table-wrap{border:1px solid #e2e7ef;border-radius:11px;overflow-x:auto}.data-table{border-collapse:collapse;white-space:nowrap;font-variant-numeric:tabular-nums;width:100%;font-size:12px}.data-table th{color:#687487;letter-spacing:.045em;text-align:right;text-transform:uppercase;background:#f7f9fc;padding:11px 12px;font-size:10px;font-weight:800}.data-table th:nth-child(2),.data-table td:nth-child(2){text-align:left}.data-table td{text-align:right;border-top:1px solid #edf0f4;padding:9px 12px}.data-table tbody tr:hover{background:#fafcff}.input-data-table input{text-align:right;width:128px;font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:6px;outline:none;padding:7px 8px}.input-data-table td:nth-child(2) input{text-align:left;width:90px}.input-data-table input:hover,.input-data-table input:focus{background:#fff;border-color:#cbd7e4}.input-data-table input.invalid-cell{background:#fff4f4;border-color:#e1a6a9}.low-confidence{background:#fffaf5}.row-delete{color:#a07175;cursor:pointer;background:0 0;border:0;border-radius:7px;width:27px;height:27px;font-size:18px}.row-delete:hover{background:#fff0f0}.review-actions{justify-content:space-between;align-items:center;margin-top:14px;display:flex}.settings-grid{grid-template-columns:1fr 1fr 1fr;gap:14px;display:grid}.settings-grid>label,.inference-panel{background:#fbfcfe;border:1px solid #e1e7f0;border-radius:12px;min-height:112px;padding:15px}.settings-grid label>span,.inference-panel>span{color:#596678;margin-bottom:9px;font-size:11px;font-weight:750;display:block}.settings-grid select,.number-with-unit{background:#fff;border:1px solid #d5deea;border-radius:8px;outline:none;width:100%;height:38px}.settings-grid select{padding:0 10px}.number-with-unit{align-items:center;display:flex}.number-with-unit input{background:0 0;border:0;outline:none;flex:1;min-width:0;height:100%;padding:0 10px}.number-with-unit b{color:#8390a2;padding:0 11px;font-size:11px}.settings-grid small{color:#8a95a4;margin-top:8px;font-size:10px;display:block}.inference-panel{background:#f2f8fb;flex-direction:column;justify-content:center;display:flex}.inference-panel strong{font-size:17px}.results-section{margin-top:32px}.results-title{justify-content:space-between;align-items:center;gap:12px;margin:0 0 15px 4px;display:flex}.results-title-copy{align-items:center;gap:12px;display:flex}.results-title p{color:var(--muted);margin:4px 0 0;font-size:11px}.report-button{color:#286f94;cursor:pointer;background:#fff;border:1px solid #b8cad8;border-radius:9px;min-height:38px;padding:0 15px;font-size:11px;font-weight:800}.report-button:hover{border-color:var(--blue);background:#f5fafc}.print-report-header{display:none}.fit-summary{grid-template-columns:repeat(6,1fr);padding:20px 24px;display:grid}.fit-summary>div{border-right:1px solid #e7ebf1;padding:4px 15px}.fit-summary>div:last-child{border-right:0}.fit-summary span,.metric-card span{color:#788496;letter-spacing:.035em;margin-bottom:7px;font-size:10px;font-weight:700;display:block}.fit-summary strong{font-variant-numeric:tabular-nums;font-size:14px}.metric-grid{grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:18px;display:grid}.metric-card{border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:16px;box-shadow:0 8px 18px #19273e09}.metric-card strong{font-variant-numeric:tabular-nums;font-size:16px}.chart-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.chart-card{flex-direction:column;min-width:0;margin-bottom:18px;display:flex}.card-title{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:16px;display:flex}.card-title p{color:var(--blue);letter-spacing:.14em;margin-bottom:4px;font-size:9px;font-weight:850}.card-title h3{margin-bottom:0;font-size:17px}.card-title>span{color:#98a2b3;font-size:10px}.interactive-chart svg{aspect-ratio:680/430;touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;width:100%;height:auto;display:block}.interactive-chart{flex-direction:column;flex:1;display:flex}.interactive-chart svg.is-pan{cursor:grabbing}.interactive-chart svg.is-orbit{cursor:ew-resize}.chart-toolbar{color:#7d8999;justify-content:space-between;align-items:center;gap:12px;min-height:32px;margin:-5px 0 8px;font-size:9px;display:flex}.chart-toolbar button{color:#526174;cursor:pointer;background:#fff;border:1px solid #dbe3ed;border-radius:7px;flex:none;padding:5px 8px;font-size:9px;font-weight:750}.chart-toolbar button:hover{color:var(--blue);border-color:#9fbccc}.chart-background{fill:#fbfcfe}.chart-grid-line{stroke:#e8edf5;stroke-width:1px;stroke-dasharray:3 5}.chart-axis-line{stroke:#cfd8e5;stroke-width:1.2px}.chart-zero-line{stroke:#8d99aa;stroke-width:1.4px}.chart-tick,.chart-axis-label{fill:#667085;font-variant-numeric:tabular-nums;font-size:11px}.chart-axis-label{font-size:10px;font-weight:650}.error-series-line{fill:none;stroke:var(--blue);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.error-series-line.comparison{stroke:#e4804f}.error-trend-line{fill:none;stroke:#176b98;stroke-width:2px;stroke-dasharray:8 5;opacity:.85}.error-trend-line.comparison{stroke:#c85f31}.error-compensated-line{fill:none;stroke:#dc3f4f;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.error-compensated-line.comparison{stroke:#a91f35}.error-compensated-point{fill:#fff;stroke:#dc3f4f;stroke-width:2px;cursor:help}.error-compensated-point.comparison{stroke:#a91f35}.error-compensated-point:hover{r:6px;fill:#ffe8eb}.error-series-point{fill:var(--blue);stroke:#fff;stroke-width:2px}.error-series-point.comparison{fill:#e4804f}.error-series-point:hover{r:7px;fill:#176b98}.error-series-point.comparison:hover{fill:#ca6638}.chart-data-tooltip rect{fill:#fffffff7;stroke:#b8cad8;stroke-width:1px;filter:drop-shadow(0 7px 12px #19273e24)}.chart-data-tooltip.comparison rect{stroke:#e4a180}.chart-data-tooltip text{fill:#566376;font-variant-numeric:tabular-nums;font-size:9px}.chart-data-tooltip .chart-data-tooltip-title{fill:#273242;font-size:10px;font-weight:800}.chart-data-tooltip.primary .chart-data-tooltip-title{fill:#286f94}.chart-data-tooltip.comparison .chart-data-tooltip-title{fill:#bd6136}.chart-analysis-panel{background:#f8fafc;border:1px solid #e0e7f0;border-radius:11px;margin-top:14px;overflow:hidden}.chart-analysis-toggle{cursor:pointer;align-items:center;gap:11px;min-height:58px;padding:11px 13px;display:flex}.chart-analysis-toggle input{opacity:0;width:1px;height:1px;position:absolute}.analysis-switch{background:#c8d1dc;border-radius:999px;flex:none;width:34px;height:19px;transition:background .18s;position:relative}.analysis-switch i{background:#fff;border-radius:50%;width:13px;height:13px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #19273e33}.chart-analysis-toggle input:checked+.analysis-switch{background:var(--blue)}.chart-analysis-toggle input:checked+.analysis-switch i{transform:translate(15px)}.chart-analysis-toggle input:focus-visible+.analysis-switch{outline-offset:2px;outline:3px solid #287fae2e}.analysis-toggle-copy{gap:3px;display:grid}.analysis-toggle-copy strong{color:#344052;font-size:11px}.analysis-toggle-copy small{color:#7c899a;font-size:9px}.chart-analysis-results{border-top:1px solid #e2e8f0}.analysis-resolution-row{border-bottom:1px solid #e2e8f0;grid-template-columns:minmax(155px,.55fr) 1fr;align-items:end;gap:14px;padding:12px 13px;display:grid}.analysis-resolution-row label{gap:6px;display:grid}.analysis-resolution-row label>span{color:#596678;font-size:9px;font-weight:750}.analysis-resolution-row input{color:#273242;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #ccd7e4;border-radius:8px;outline:none;width:100%;height:34px;padding:0 10px;font-size:11px}.analysis-resolution-row input:focus{border-color:#75aecb;box-shadow:0 0 0 3px #287fae1a}.analysis-resolution-row p{color:#7c899a;margin:0 0 8px;font-size:8px;line-height:1.5}.analysis-result-row{color:#687587;font-variant-numeric:tabular-nums;grid-template-columns:minmax(70px,.32fr) 1fr;align-items:center;gap:12px;min-height:42px;padding:9px 13px;font-size:9px;display:grid}.analysis-result-row+.analysis-result-row{border-top:1px solid #e7ecf2}.analysis-result-row>strong{color:#286f94;font-size:10px}.analysis-result-row.comparison>strong{color:#bd6136}.analysis-result-row b{color:#273242;font-size:10px}.analysis-result-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;display:grid}.analysis-result-metrics span{gap:3px;display:grid}.zoom-selection{fill:#287fae1f;stroke:#287fae;stroke-width:1.2px;stroke-dasharray:5 4;pointer-events:none}.geometry-background{stroke:#e5eaf2;stroke-width:1px}.geometry-axis line{stroke-width:1.4px;opacity:.72}.geometry-axis text{font-size:10px;font-weight:800}.fit-plane{fill:#5699b914;stroke:none}.fit-circle{fill:none;stroke:#77aeca;stroke-width:2px;stroke-dasharray:7 5}.zero-radius{stroke:var(--orange);stroke-width:2.2px}.fit-center line,.fit-center circle{stroke:#344052;stroke-width:1.6px;fill:#fff}.geometry-point circle{stroke:#fff;stroke-width:2px}.geometry-point circle.is-zero-point{stroke:var(--orange);stroke-width:2.8px}.geometry-label{fill:#617083;font-size:10px;font-weight:650}.chart-legend{color:#778397;flex-wrap:wrap;justify-content:center;gap:18px;margin-top:10px;font-size:10px;display:flex}.chart-legend span{align-items:center;gap:6px;display:flex}.legend-line{border-top:2px dashed #77aeca;width:18px;display:inline-block}.legend-line.zero{border-top-style:solid;border-color:var(--orange)}.legend-line.error{border-top-style:solid;border-color:var(--blue)}.legend-line.comparison{border-color:#e4804f;border-top-style:solid}.legend-line.compensated{border-color:#dc3f4f;border-top-style:solid}.legend-line.compensated.comparison{border-color:#a91f35}.analysis-result-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;width:100%;min-width:0;display:grid}.analysis-result-metrics span{overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;display:flex}.analysis-result-metrics b{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;max-width:100%;font-size:clamp(.78rem,1.4vw,.92rem);line-height:1.25}.analysis-result-metrics .metric-label{font-style:normal}.analysis-resolution-row sub,.analysis-result-metrics sub{vertical-align:sub;font-size:.72em;line-height:0}.compensation-method-selector{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;display:grid}.compensation-method-selector label{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:11px;align-items:center;gap:9px;min-width:0;padding:10px 12px;font-size:.82rem;font-weight:700;display:flex}.compensation-method-selector input{accent-color:#dc3f4f;flex:none}.prediction-method-group{background:#fbfcfe;border:1px solid #e3e8ef;border-left:4px solid #dc3f4f;border-radius:12px;gap:8px;padding:12px;display:grid}.prediction-method-group h4{color:var(--text);margin:0;font-size:.9rem}.error-compensated-line.best-fit{stroke:#dc3f4f}.error-compensated-line.peak-to-peak{stroke:#ef6c32}.error-compensated-line.rms-error{stroke:#a91f35}.error-compensated-line.comparison{stroke-dasharray:7 4}.legend-line.compensated.best-fit{border-color:#dc3f4f}.legend-line.compensated.peak-to-peak{border-color:#ef6c32}.legend-line.compensated.rms-error{border-color:#a91f35}.legend-line.compensated.comparison{border-top-style:dashed}.compensation-method-selector label.best-fit{border-left:4px solid #d73027}.compensation-method-selector label.peak-to-peak{border-left:4px solid #2563eb}.compensation-method-selector label.rms-error{border-left:4px solid #078267}.compensation-method-selector label.best-fit input{accent-color:#d73027}.compensation-method-selector label.peak-to-peak input{accent-color:#2563eb}.compensation-method-selector label.rms-error input{accent-color:#078267}.prediction-method-group.best-fit{border-left-color:#d73027}.prediction-method-group.peak-to-peak{border-left-color:#2563eb}.prediction-method-group.rms-error{border-left-color:#078267}.error-compensated-line.best-fit{stroke:#d73027;stroke-dasharray:none}.error-compensated-line.peak-to-peak{stroke:#2563eb;stroke-dasharray:10 5}.error-compensated-line.rms-error{stroke:#078267;stroke-dasharray:2 5}.error-compensated-line.best-fit.comparison{stroke-dasharray:12 4}.error-compensated-line.peak-to-peak.comparison{stroke-dasharray:10 3 2 3}.error-compensated-line.rms-error.comparison{stroke-dasharray:2 3 9 3}.error-compensated-point.best-fit{stroke:#d73027}.error-compensated-point.peak-to-peak{stroke:#2563eb}.error-compensated-point.rms-error{stroke:#078267}.error-compensated-point.best-fit:hover{fill:#ffebe9}.error-compensated-point.peak-to-peak:hover{fill:#eaf1ff}.error-compensated-point.rms-error:hover{fill:#e5f7f1}.error-compensated-point.best-fit.comparison{fill:#d73027;stroke:#fff}.error-compensated-point.peak-to-peak.comparison{fill:#2563eb;stroke:#fff}.error-compensated-point.rms-error.comparison{fill:#078267;stroke:#fff}.legend-line.compensated.best-fit{border-color:#d73027;border-top-style:solid}.legend-line.compensated.peak-to-peak{border-color:#2563eb;border-top-style:dashed}.legend-line.compensated.rms-error{border-color:#078267;border-top-style:dotted}.analysis-mode-selector{background:#eef3f8;border:1px solid #dce4ee;border-radius:14px;grid-template-columns:repeat(2,minmax(190px,1fr));gap:6px;margin-top:20px;padding:5px;display:inline-grid}.analysis-mode-selector button{color:#647184;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:flex-start;gap:3px;padding:11px 14px;display:flex}.analysis-mode-selector button.active{color:var(--text);background:#fff;box-shadow:0 3px 10px #2030481a}.analysis-mode-selector strong{font-size:.86rem}.analysis-mode-selector small{color:var(--muted);font-size:.68rem}.paired-paste-hint{color:var(--muted);margin-top:9px;display:block}.paired-review-body{gap:14px;display:grid}.paired-input-table{min-width:1040px}.paired-input-table input{min-width:94px}.paired-result-table{min-width:960px}.line-pair-segment{stroke-width:3px;stroke-linecap:round;opacity:.88}.line-pair-segment.is-zero-line{stroke-width:5px;filter:drop-shadow(0 0 3px #e9803473)}.line-pair-geometry circle{stroke:#fff;stroke-width:1.5px}.orientation-triad line{stroke-width:2.4px}.orientation-triad text{font-size:12px;font-weight:850}.legend-line.paired-line{border-color:#327da5;border-top-style:solid}@media (width<=760px){.analysis-mode-selector{grid-template-columns:1fr;width:100%;display:grid}}.shared-dataset-grid{gap:16px;display:grid}.shared-dataset-grid.single{grid-template-columns:minmax(0,1fr)}.shared-dataset-grid.paired{grid-template-columns:repeat(2,minmax(0,1fr))}.dataset-panel{background:#fbfcfe;border:1px solid #dfe6ef;border-radius:15px;min-width:0;padding:18px;transition:border-color .18s,box-shadow .18s,background .18s}.dataset-panel.dragging{background:#f3f9fc;border-color:#287fae;box-shadow:0 0 0 3px #287fae1a}.dataset-panel-header{align-items:center;gap:11px;margin-bottom:13px;display:flex}.dataset-panel-header>span{background:var(--blue);color:#fff;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;font-size:.75rem;font-weight:850;display:grid}.dataset-panel-header h3{margin:0 0 3px;font-size:1rem}.dataset-panel-header p{color:var(--muted);margin:0;font-size:.72rem}.dataset-input-grid{grid-template-columns:minmax(150px,.8fr) minmax(230px,1.2fr);gap:10px;display:grid}.dataset-drop-zone,.dataset-paste-zone{background:#fff;border:1px dashed #cbd7e4;border-radius:11px;flex-direction:column;align-items:flex-start;min-width:0;min-height:116px;padding:14px;display:flex}.dataset-drop-zone strong{font-size:.78rem}.dataset-drop-zone small{color:var(--muted);margin:4px 0 12px;font-size:.68rem}.dataset-drop-zone .secondary-button{margin-top:auto}.dataset-paste-zone textarea{resize:vertical;flex:1;width:100%;min-height:62px}.dataset-paste-zone .secondary-button{margin-top:8px}.dataset-review{border-top:1px solid #e5eaf1;margin-top:12px;padding-top:10px}.dataset-manual-add{margin-top:10px}.dataset-panel.compact{padding:13px}.dataset-panel.compact .dataset-input-grid{grid-template-columns:1fr}.dataset-panel.compact .dataset-drop-zone{min-height:90px}.dataset-panel.compact .dataset-paste-zone{min-height:100px}.comparison-trial-list{gap:16px;display:grid}.comparison-trial-card{background:#f8fafc;border:1px solid #dfe6ef;border-radius:16px;padding:18px}.comparison-trial-header,.comparison-trial-header>div{justify-content:space-between;align-items:center;gap:11px;display:flex}.comparison-trial-header>div>span{color:#fff;border-radius:11px;place-items:center;width:38px;height:38px;font-weight:850;display:grid}.comparison-trial-header h3{margin:0;font-size:1rem}.comparison-trial-header small{color:var(--muted)}.trial-mode-selector{background:#eaf0f5;border-radius:10px;gap:4px;margin:13px 0;padding:4px;display:inline-flex}.trial-mode-selector button{color:#657286;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 11px;font-weight:750}.trial-mode-selector button.active{color:var(--text);background:#fff;box-shadow:0 2px 8px #1f30461a}.comparison-shape-summary{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:18px;display:grid}.shape-result-card{flex-direction:column;gap:6px;margin:0;padding:15px;display:flex}.shape-result-card span{font-size:.72rem;font-weight:800}.shape-result-card strong{font-size:.83rem}.shape-result-card small{color:var(--muted)}.wide-summary{min-width:0}.comparison-target-tabs{flex-wrap:wrap;gap:5px;display:flex}.comparison-target-tabs button{color:#667386;cursor:pointer;background:#fff;border:1px solid #d9e2ec;border-radius:8px;padding:7px 10px;font-weight:750}.comparison-target-tabs button.active{border-color:var(--blue);background:var(--blue);color:#fff}.card-title select{min-width:200px}.multi-error-series-line{fill:none;stroke-width:2.3px;stroke-linecap:round;stroke-linejoin:round}.multi-error-series-point{stroke:#fff;stroke-width:1.6px;cursor:help}.multi-error-series-point:hover{r:6px}.multi-series-legend{flex-wrap:wrap}.print-comparison-pages{display:none}@media (width<=900px){.shared-dataset-grid.paired,.dataset-input-grid,.comparison-summary-grid{grid-template-columns:1fr}}@media print{.screen-geometry-card,.screen-detail-card{display:none!important}.print-comparison-pages{display:block}.print-detail-page,.print-geometry-page{break-before:page;page-break-before:always}.print-detail-page h2,.print-geometry-page h2{margin:0 0 4mm;font-size:14pt}.print-geometry-page .chart-toolbar,.print-geometry-page .chart-analysis-panel{display:none!important}}.legend-line.baseline{border-color:#8d99aa;border-top-style:solid}.legend-dot{background:var(--blue);border-radius:50%;width:7px;height:7px}.result-table-card{margin-bottom:0}.result-table td:nth-child(n+3){font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.zero-row{background:#fff9f4!important}.positive-error{color:#a74a2b;font-weight:700}.negative-error{color:#27769e;font-weight:700}.compare-input-grid,.compare-review-grid,.comparison-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.compare-input-card{background:#fbfcfe;border:1px solid #dfe6ef;border-radius:15px;outline:none;min-width:0;padding:20px;transition:border-color .18s,box-shadow .18s,background .18s}.compare-input-card:focus,.compare-input-card:focus-within,.compare-input-card.dragging{background:#f5fafc;border-color:#70a9c6;box-shadow:0 0 0 3px #287fae1a}.compare-input-heading{align-items:center;gap:12px;margin-bottom:15px;display:flex}.compare-input-heading>span{color:#fff;background:#287fae;border-radius:11px;place-items:center;width:38px;height:38px;font-size:12px;font-weight:850;display:grid}.compare-input-card:nth-child(2) .compare-input-heading>span{background:#e4804f}.compare-input-heading h3{margin:0 0 3px;font-size:17px}.compare-input-heading p{color:var(--muted);margin:0;font-size:10px}.compare-drop-zone{background:#fff;border:1px dashed #cbd7e4;border-radius:11px;flex-direction:column;align-items:flex-start;min-height:118px;padding:17px;display:flex}.compare-drop-zone strong{font-size:12px}.compare-drop-zone small{color:#8390a2;margin:4px 0 12px;font-size:9px}.compare-drop-zone .secondary-button{margin-top:auto}.compare-paste-row{grid-template-columns:1fr auto;gap:9px;margin-top:11px;display:grid}.compare-paste-row textarea{resize:vertical;background:#fff;border:1px solid #d9e1ec;border-radius:9px;outline:none;min-width:0;height:64px;padding:9px;font:10px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace}.compare-paste-row textarea:focus{border-color:#75aecb}.compare-paste-row .secondary-button{align-self:stretch;margin:0}.compare-paste-hint{color:#8a95a4;margin-top:8px;font-size:9px;display:block}.compare-status{color:#526879;background:#edf4f8;border-radius:8px;margin-top:10px;padding:8px 10px;font-size:10px}.comparison-review-area{margin-bottom:18px}.comparison-section-title{align-items:center;gap:12px;margin:0 0 12px 4px;display:flex}.comparison-section-title h2{margin:0;font-size:20px}.compare-review-card{padding:0;overflow:hidden}.compare-review-toggle{text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:17px 19px;display:flex}.compare-review-toggle>span{gap:4px;display:grid}.compare-review-toggle strong{font-size:15px}.compare-review-toggle small{color:var(--muted);font-size:9px}.compare-review-toggle b{color:var(--blue);font-size:10px}.compare-review-body{border-top:1px solid #edf0f5;padding:16px 18px 18px}.compare-empty-review{color:#8a95a4;border:1px dashed #d4dce7;border-radius:14px;min-height:72px;padding:20px;font-size:11px}.comparison-settings-grid{grid-template-columns:1fr 1fr 1.25fr}.comparison-inference strong{font-size:14px}.comparison-summary-grid{margin-bottom:18px}.comparison-summary-card{min-width:0;margin:0}.comparison-summary-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:11px}.comparison-summary-table th,.comparison-summary-table td{text-align:right;border-top:1px solid #edf0f4;padding:8px 7px}.comparison-summary-table thead th{color:#7a8798;border-top:0;font-size:9px}.comparison-summary-table th:first-child{text-align:left}.comparison-summary-table tbody th{color:#596678;font-weight:650}.comparison-error-card{width:100%}.comparison-result-table td:nth-child(n+4){font-family:ui-monospace,SFMono-Regular,Consolas,monospace}@media (width<=1050px){.input-mode-grid,.settings-grid{grid-template-columns:1fr 1fr}.capture-card,.inference-panel{grid-column:1/-1;min-height:150px}.fit-summary{grid-template-columns:repeat(3,1fr)}.fit-summary>div:nth-child(3){border-right:0}.fit-summary>div:nth-child(-n+3){padding-bottom:15px}.fit-summary>div:nth-child(n+4){border-top:1px solid #e7ebf1;padding-top:15px}.metric-grid{grid-template-columns:repeat(4,1fr)}.comparison-summary-grid{grid-template-columns:1fr}}@media (width<=760px){.shell{width:min(100% - 26px,1240px)}.home-shell{padding-top:26px}.tool-grid,.chart-grid,.input-mode-grid,.settings-grid,.compare-input-grid,.compare-review-grid{grid-template-columns:1fr}.home-card{min-height:350px;padding:23px}.tool-header{flex-direction:column;align-items:flex-start;padding:24px 0}.section-card{border-radius:15px;padding:18px}.section-heading{flex-direction:column;align-items:flex-start}.heading-actions{flex-wrap:wrap;width:100%}.capture-card,.inference-panel{grid-column:auto}.fit-summary{grid-template-columns:repeat(2,1fr)}.fit-summary>div{border:0!important;border-bottom:1px solid #e7ebf1!important;padding:12px 8px!important}.fit-summary>div:nth-last-child(-n+2){border-bottom:0!important}.metric-grid{grid-template-columns:repeat(2,1fr)}.chart-toolbar{align-items:flex-start}.chart-toolbar span{max-width:230px;line-height:1.45}.review-heading{flex-direction:row;align-items:center}.review-heading .heading-actions strong{display:none}.review-body{padding:15px 18px 18px}.results-title{align-items:flex-start}.report-button{flex:none}.compare-paste-row{grid-template-columns:1fr}.compare-paste-row .secondary-button{min-height:38px}.analysis-resolution-row,.analysis-result-row{grid-template-columns:1fr;gap:8px}.analysis-result-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{@page{size:A4 portrait;margin:10mm}:root,body{color:#1c2430;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff!important}.tool-header,.input-section,.review-section,.settings-section,.comparison-input-section,.comparison-review-area,.comparison-settings-section,.results-title,.chart-toolbar{display:none!important}.chart-analysis-panel{break-inside:avoid}.shell.analysis-shell{width:100%;margin:0;padding:0}.results-section{margin:0}.print-report-header{border-bottom:2px solid #287fae;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:4mm;margin-bottom:5mm;padding-bottom:4mm;display:flex}.print-report-header p{color:#287fae;letter-spacing:.13em;margin:0 0 2mm;font-size:7pt;font-weight:850}.print-report-header h1{margin:0 0 1.5mm;font-size:19pt}.print-report-header>div>span{color:#667085;font-size:8pt}.print-report-header dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5mm 6mm;width:100%;min-width:0;margin:0;display:grid}.print-report-header dl>div{grid-template-columns:25mm 1fr;gap:2mm;display:grid}.print-report-header dt{color:#788496;font-size:7pt;font-weight:700}.print-report-header dd{color:#273242;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:7.5pt;font-weight:650;overflow:hidden}.section-card,.metric-card{box-shadow:none;border-color:#d9e0e9}.fit-summary{break-inside:avoid;margin-bottom:3mm;padding:3mm 2mm}.fit-summary>div{padding:1mm 3mm}.fit-summary span,.metric-card span{margin-bottom:1mm;font-size:6.5pt}.fit-summary strong,.metric-card strong{font-size:9pt}.metric-grid{break-inside:avoid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2mm;margin-bottom:3mm}.metric-card{padding:3mm}.chart-grid{break-inside:auto;grid-template-columns:1fr;gap:4mm}.chart-card{break-inside:avoid;margin:0;padding:4mm}.card-title{margin-bottom:2mm}.card-title h3{font-size:10pt}.card-title p,.card-title>span{font-size:6pt}.interactive-chart svg{width:auto;max-width:100%;height:72mm;margin:0 auto}.chart-legend{min-height:4mm;margin-top:1mm;font-size:6pt}.result-table-card{break-before:page;box-shadow:none;margin:0;padding:5mm}.comparison-summary-grid{grid-template-columns:1fr;gap:3mm}.comparison-summary-card{break-inside:avoid}.comparison-error-card{break-before:page}.comparison-geometry-grid{break-inside:auto}.comparison-geometry-grid .chart-card{break-inside:avoid}.comparison-result-table-card{break-before:page}.comparison-summary-table{font-size:7pt}.comparison-summary-table th,.comparison-summary-table td{padding:1.6mm 2mm}.result-table-card .card-title{margin-bottom:3mm}.table-wrap{overflow:visible}.data-table{font-size:6.5pt}.data-table thead{display:table-header-group}.data-table th{padding:2.1mm 2.4mm;font-size:6pt}.data-table td{padding:1.8mm 2.4mm}.data-table tr{break-inside:avoid}}@media (prefers-reduced-motion:no-preference){.home-card,.section-card{animation:.45s both reveal}.tool-grid .home-card:nth-child(2),.review-section,.settings-section,.results-section{animation-delay:60ms}@keyframes reveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
