:root{--bg:#f6f7f9;--surface:#fff;--border:#dfe3e8;--border-strong:#c4cad2;--text:#12131a;--text-muted:#5b6270;--text-faint:#878e9c;--accent:#1668c9;--accent-strong:#0f4f9e;--accent-soft:#e8f1fc;--ok:#1a7f4b;--ok-soft:#e6f5ec;--warn:#8a5a00;--warn-soft:#fdf3e0;--error:#b3261e;--error-soft:#fdecea;--radius:8px;--radius-sm:5px;--shadow:0 1px 2px #1018280f,0 1px 3px #1018281a;--tap:44px}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:#f6f7f9;background:var(--bg);color:#12131a;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.55;margin:0;overflow-x:hidden}.App{margin:0 auto;max-width:1100px;padding:16px max(16px,env(safe-area-inset-right)) 16px max(16px,env(safe-area-inset-left));width:100%}.app-header,header{margin-bottom:20px}.header-top{display:flex;flex-direction:column;gap:12px}.app-header h1,header h1{font-size:1.35rem;line-height:1.25;margin:0 0 4px;overflow-wrap:anywhere}.subtitle{color:#5b6270;color:var(--text-muted);font-size:.95rem;margin:0 0 8px}.tagline{color:#878e9c;color:var(--text-faint);font-size:.85rem;margin:0}.lang-switcher{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.lang-label{color:#5b6270;color:var(--text-muted);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}.lang-switcher button,.lang-switcher select{background:#fff;background:var(--surface);border:1px solid #c4cad2;border:1px solid var(--border-strong);border-radius:5px;border-radius:var(--radius-sm);color:#12131a;color:var(--text);cursor:pointer;font-size:.9rem;min-height:36px;padding:6px 12px}.lang-switcher button[aria-pressed=true]{background:#1668c9;background:var(--accent);border-color:#1668c9;border-color:var(--accent);color:#fff}.module-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;padding-bottom:4px}.module-nav button{background:#fff;background:var(--surface);border:1px solid #dfe3e8;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a;box-shadow:var(--shadow);color:#5b6270;color:var(--text-muted);cursor:pointer;flex:1 1 auto;font-size:.9rem;font-weight:500;min-height:44px;min-height:var(--tap);min-width:0;padding:10px 12px}.module-nav button.is-active,.module-nav button[aria-current=page]{background:#1668c9;background:var(--accent);border-color:#1668c9;border-color:var(--accent);color:#fff}.panel{background:#fff;background:var(--surface);border:1px solid #dfe3e8;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a;box-shadow:var(--shadow);min-width:0;padding:16px}.panel h2{font-size:1.1rem;margin:0 0 4px;overflow-wrap:anywhere}.panel-description,.panel>p{color:#5b6270;color:var(--text-muted);font-size:.9rem;margin:0 0 16px}.form-section{margin-bottom:16px;min-width:0}.input-options,.options-row{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.field{display:flex;flex-direction:column;gap:4px;margin-bottom:14px;min-width:0}.field-label{color:#12131a;color:var(--text);font-size:.85rem;font-weight:600}.field-hint{color:#878e9c;color:var(--text-faint);font-size:.78rem;line-height:1.4}.field textarea{background:#fcfcfd;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.45;min-height:140px;padding:10px;resize:vertical}.field input[type=number],.field input[type=text],.field select,.field textarea,input[type=number],input[type=text],select{border:1px solid #c4cad2;border:1px solid var(--border-strong);border-radius:5px;border-radius:var(--radius-sm);color:#12131a;color:var(--text);font-size:16px;width:100%}.field input[type=number],.field input[type=text],.field select,input[type=number],input[type=text],select{background:#fff;background:var(--surface);font-family:inherit;min-height:44px;min-height:var(--tap);padding:8px 10px}.field input:focus,.field textarea:focus,button:focus-visible,select:focus{outline:2px solid #1668c9;outline:2px solid var(--accent);outline-offset:1px}.checkbox{align-items:center;cursor:pointer;display:flex;font-size:.9rem;gap:8px;min-height:44px;min-height:var(--tap)}.checkbox input{flex:none;height:18px;margin:0;width:18px}.mode-picker{margin-bottom:16px}.mode-picker>.field-label{display:block;margin-bottom:6px}.tabs{display:flex;flex-wrap:wrap;gap:8px}.tab{background:#fff;background:var(--surface);border:1px solid #dfe3e8;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);box-shadow:0 1px 2px #1018280f,0 1px 3px #1018281a;box-shadow:var(--shadow);color:#5b6270;color:var(--text-muted);cursor:pointer;flex:1 1 220px;font-size:.95rem;font-weight:600;min-height:44px;min-height:var(--tap);min-width:0;padding:10px 14px;text-align:left}.tab:hover{border-color:#c4cad2;border-color:var(--border-strong)}.tab.active{background:#1668c9;background:var(--accent);border-color:#1668c9;border-color:var(--accent);color:#fff}.tab-sub{display:block;font-size:.76rem;font-weight:400;line-height:1.3;margin-top:3px;opacity:.85}.mode-banner{background:color-mix(in srgb,#1668c9 10%,#0000);background:color-mix(in srgb,var(--accent) 10%,#0000);border-left:3px solid #1668c9;border-left:3px solid var(--accent);border-radius:4px;color:#12131a;color:var(--text);font-size:.88rem;line-height:1.45;margin:0 0 14px;padding:10px 12px}.mode-banner.dsc{background:color-mix(in srgb,#d9534f 10%,#0000);border-left-color:#d9534f}.action-row{align-items:stretch;display:flex;gap:8px;margin-top:8px}.action-row .submit-btn{flex:1 1 auto;margin-top:0}.clear-btn{background:#fff;background:var(--surface);border:1px solid #c4cad2;border:1px solid var(--border-strong);border-radius:8px;border-radius:var(--radius);color:#5b6270;color:var(--text-muted);cursor:pointer;flex:0 0 auto;font-size:.95rem;font-weight:600;min-height:44px;min-height:var(--tap);padding:12px 18px;white-space:nowrap}.clear-btn:hover:not(:disabled){border-color:#d9534f;color:#d9534f}.clear-btn:disabled{cursor:not-allowed;opacity:.5}.submit-btn{background:#1668c9;background:var(--accent);border:none;border-radius:8px;border-radius:var(--radius);color:#fff;cursor:pointer;display:block;font-size:1rem;font-weight:600;margin-top:8px;min-height:44px;min-height:var(--tap);padding:12px 20px;width:100%}.submit-btn:hover:not(:disabled){background:#0f4f9e;background:var(--accent-strong)}.submit-btn:disabled{background:#c4cad2;background:var(--border-strong);cursor:not-allowed}.add-row-btn,.export-buttons button,.ghost,.link-btn{background:#fff;background:var(--surface);border:1px solid #c4cad2;border:1px solid var(--border-strong);border-radius:5px;border-radius:var(--radius-sm);color:#12131a;color:var(--text);cursor:pointer;font-family:inherit;font-size:.88rem;min-height:38px;padding:8px 14px}.link-btn{background:#0000;border-color:#0000;color:#1668c9;color:var(--accent);min-height:0;padding:4px 2px;text-decoration:underline}.export-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.file-drop-wrap{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;min-width:0}.file-drop{align-items:center;background:#fcfcfd;border:1.5px dashed #c4cad2;border:1.5px dashed var(--border-strong);border-radius:8px;border-radius:var(--radius);cursor:pointer;display:flex;gap:12px;min-height:44px;min-height:var(--tap);min-width:0;padding:14px}.file-drop.is-dragging{background:#e8f1fc;background:var(--accent-soft);border-color:#1668c9;border-color:var(--accent)}.file-drop.has-file{background:#e6f5ec;background:var(--ok-soft);border-color:#1a7f4b;border-color:var(--ok);border-style:solid}.file-drop-input{display:none}.file-drop-icon{color:#878e9c;color:var(--text-faint);flex:none;font-size:1.2rem}.file-drop.has-file .file-drop-icon{color:#1a7f4b;color:var(--ok)}.file-drop-text{display:flex;flex-direction:column;min-width:0}.file-drop-primary{font-size:.9rem;font-weight:500;overflow-wrap:anywhere}.file-drop-hint{color:#878e9c;color:var(--text-faint);font-size:.75rem}.file-drop-clear{align-self:flex-start;background:#0000;border:1px solid #dfe3e8;border:1px solid var(--border);border-radius:5px;border-radius:var(--radius-sm);color:#b3261e;color:var(--error);cursor:pointer;font-size:.8rem;min-height:32px;padding:4px 10px}.file-upload{background:#fcfcfd;border:1px dashed #c4cad2;border:1px dashed var(--border-strong);border-radius:8px;border-radius:var(--radius);cursor:pointer;display:inline-block;font-size:.9rem;padding:10px 15px}.file-upload input{display:none}.file-name{color:#5b6270;color:var(--text-muted);font-size:.8rem;overflow-wrap:anywhere}.metrics,.stat-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr);margin:16px 0}.metric-box,.stat{background:#fcfcfd;border:1px solid #dfe3e8;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);min-width:0;padding:12px;text-align:left}.stat-label{color:#5b6270;color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.stat-value{font-size:1.25rem;font-weight:600;overflow-wrap:anywhere}.stat-unit{color:#5b6270;color:var(--text-muted);font-size:.85rem;font-weight:400;margin-left:4px}.stat-note{color:#878e9c;color:var(--text-faint);font-size:.75rem;margin-top:2px}.flag{align-items:center;background:#f6f7f9;background:var(--bg);border:1px solid #dfe3e8;border:1px solid var(--border);border-radius:999px;color:#5b6270;color:var(--text-muted);display:inline-flex;font-size:.8rem;gap:6px;padding:4px 10px}.flag.on{background:#e6f5ec;background:var(--ok-soft);border-color:#b7e0c7;color:#1a7f4b;color:var(--ok)}.flags{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.two-col{grid-gap:16px;display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}.results,.results-section{border-top:1px solid #dfe3e8;border-top:1px solid var(--border);margin-top:20px;min-width:0;padding-top:16px}.results-head{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.results h3,.results-section h3{font-size:1rem;margin:0 0 8px}.chart-container,.plot{min-width:0;overflow:hidden;width:100%}.chart-container .js-plotly-plot,.plot .js-plotly-plot{width:100%!important}.table-wrap{-webkit-overflow-scrolling:touch;border:1px solid #dfe3e8;border:1px solid var(--border);border-radius:5px;border-radius:var(--radius-sm);margin:12px 0;max-width:100%;overflow-x:auto;width:100%}.data-table{border-collapse:collapse;font-size:.85rem;white-space:nowrap;width:100%}.data-table td,.data-table th{border-bottom:1px solid #dfe3e8;border-bottom:1px solid var(--border);padding:8px 10px;text-align:left}.data-table thead th{background:#f6f7f9;background:var(--bg);color:#5b6270;color:var(--text-muted);font-size:.75rem;letter-spacing:.03em;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0}.data-table tbody tr:last-child td{border-bottom:none}.error-message{background:#fdecea;background:var(--error-soft);border:1px solid #f3c3c0;border-radius:5px;border-radius:var(--radius-sm);color:#b3261e;color:var(--error);font-size:.88rem;margin:12px 0;overflow-wrap:anywhere;padding:10px 12px}.intro,.introduction,.note-box{background:#fdf3e0;background:var(--warn-soft);border:1px solid #f0dcb4;border-radius:5px;border-radius:var(--radius-sm);color:#5b6270;color:var(--text-muted);font-size:.85rem;line-height:1.5;margin:14px 0;padding:12px}.intro ul,.introduction ul{margin:8px 0 8px 18px;padding:0}.intro code,.introduction code,.note-box code{background:#0000000d;border-radius:3px;font-size:.85em;padding:1px 5px}.api-status{align-items:center;border-radius:5px;border-radius:var(--radius-sm);display:flex;font-size:.82rem;gap:8px;margin:0 0 14px;overflow-wrap:anywhere;padding:8px 12px}.api-status .dot{background:#878e9c;background:var(--text-faint);border-radius:50%;flex:none;height:8px;width:8px}.api-status.is-online{background:#e6f5ec;background:var(--ok-soft);color:#1a7f4b;color:var(--ok)}.api-status.is-online .dot{background:#1a7f4b;background:var(--ok)}.api-status.is-offline{background:#fdecea;background:var(--error-soft);color:#b3261e;color:var(--error)}.api-status.is-offline .dot{background:#b3261e;background:var(--error)}.preview-meta{color:#5b6270;color:var(--text-muted);font-size:.82rem;overflow-wrap:anywhere}.crosscheck{background:#e8f1fc;background:var(--accent-soft);border-left:3px solid #1668c9;border-left:3px solid var(--accent);border-radius:0 5px 5px 0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.88rem;padding:12px}.decisions,.log{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.5;max-height:320px;overflow:auto;overflow-wrap:anywhere}.assignment-block,.tagline{min-width:0;overflow-wrap:anywhere}.disclosure,.formula-block{background:#fff;background:var(--surface);border:1px solid #dfe3e8;border:1px solid var(--border);border-radius:5px;border-radius:var(--radius-sm);margin:12px 0;min-width:0}.disclosure-toggle,.formula-toggle{align-items:center;background:#0000;border:none;color:#12131a;color:var(--text);cursor:pointer;display:flex;font-family:inherit;font-size:.88rem;font-weight:500;gap:8px;min-height:44px;min-height:var(--tap);padding:10px 12px;text-align:left;width:100%}.disclosure-caret,.formula-caret{color:#878e9c;color:var(--text-faint);flex:none}.disclosure-hint{color:#878e9c;color:var(--text-faint);font-size:.75rem;font-weight:400;margin-left:auto;white-space:nowrap}.disclosure-body,.formula-body{color:#5b6270;color:var(--text-muted);font-size:.85rem;overflow-wrap:anywhere;padding:0 12px 12px}.formula-toggle-title{min-width:0}.formula{border-top:1px solid #dfe3e8;border-top:1px solid var(--border);padding:12px 0}.formula:first-child{border-top:none;padding-top:0}.formula-name{color:#12131a;color:var(--text);font-size:.85rem;font-weight:600}.formula-expression{background:#f6f7f9;background:var(--bg);border-radius:5px;border-radius:var(--radius-sm);margin:6px 0;overflow-x:auto;padding:8px 10px}.formula-expression code{color:#12131a;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;white-space:pre}.formula-symbols{font-size:.8rem;margin:8px 0 0}.formula-symbol{display:flex;gap:8px;padding:2px 0}.formula-symbol dt{color:#12131a;color:var(--text);flex:none;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:600;min-width:3.2em}.formula-symbol dd{margin:0;min-width:0}.formula-note{color:#878e9c;color:var(--text-faint);font-size:.8rem;line-height:1.45;margin:8px 0 0}.formula-reference{color:#5b6270;color:var(--text-muted);font-size:.78rem;line-height:1.45;margin:8px 0 0}.formula-reference-label{color:#12131a;color:var(--text);font-weight:600}.app-footer,footer{border-top:1px solid #dfe3e8;border-top:1px solid var(--border);color:#878e9c;color:var(--text-faint);font-size:.8rem;margin-top:28px;overflow-wrap:anywhere;padding-top:14px}.app-footer a,footer a{color:#1668c9;color:var(--accent)}@media (min-width:560px){.App{padding:20px}.header-top{align-items:flex-start;flex-direction:row;justify-content:space-between}.app-header h1,header h1{font-size:1.55rem}.input-options,.options-row{flex-direction:row;flex-wrap:wrap}.input-options>.field,.options-row>.field{flex:1 1 200px;margin-bottom:0}.metrics,.stat-grid,.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.module-nav button{flex:0 1 auto}.submit-btn{display:inline-block;min-width:180px;width:auto}.results-head{align-items:center;flex-direction:row;justify-content:space-between}}@media (min-width:900px){.App{padding:24px}.metrics,.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.panel{padding:20px}}@media (hover:none){.module-nav button:hover,.submit-btn:hover:not(:disabled){background:inherit}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media print{body{background:#fff}.api-status,.disclosure-toggle,.export-buttons,.file-drop-wrap,.formula-toggle,.module-nav,.submit-btn{display:none!important}.panel{border:none;box-shadow:none;padding:0}.disclosure-body,.formula-body{display:block!important}}.stat-footing{color:#5b6270;color:var(--text-muted,#6b7280);font-size:.78rem;margin-top:2px}.stat-footing.warn{color:#b45309;font-weight:600}.rung{border-radius:5px;border-radius:var(--radius-sm,5px);cursor:help;display:inline-block;font-size:.68rem;font-weight:600;letter-spacing:.02em;margin-left:6px;padding:0 6px;text-transform:uppercase;vertical-align:middle;white-space:nowrap}.rung-read{background:#e8f1fc;background:var(--accent-soft,#e8f1fc);color:#0f4f9e;color:var(--accent-strong,#0f4f9e)}.rung-formula{background:#eef0f4;color:#5b6270;color:var(--text-muted,#5b6270)}.rung-suggested{background:#fdf3e0;background:var(--warn-soft,#fdf3e0);color:#8a5a00;color:var(--warn,#8a5a00)}.claim{margin-top:6px}.claim-toggle{background:none;border:none;color:#1668c9;color:var(--accent,#1668c9);cursor:pointer;font:inherit;font-size:.78rem;padding:2px 0;text-align:left}.claim-toggle:hover{text-decoration:underline}.claim-caret{color:#878e9c;color:var(--text-faint,#878e9c);display:inline-block;width:1em}.claim-list{color:#5b6270;color:var(--text-muted,#5b6270);font-size:.78rem;line-height:1.45;margin:4px 0 0;padding-left:1.2em}.claim-list li{margin-bottom:3px}.claim-note{color:#8a5a00;color:var(--warn,#8a5a00);font-style:italic}.comparison-panel{border-top:1px solid #dfe3e8;border-top:1px solid var(--border,#dfe3e8);margin-top:24px;padding-top:18px}.comparison-intro{color:#5b6270;color:var(--text-muted,#5b6270);font-size:.86rem;margin:0 0 14px}.comparison-list{grid-gap:10px;display:grid;gap:10px}.comparison{background:#fff;background:var(--surface,#fff);border:1px solid #dfe3e8;border:1px solid var(--border,#dfe3e8);border-left-width:3px;border-radius:5px;border-radius:var(--radius-sm,5px);padding:10px 12px}.comparison.verdict-within{border-left-color:#1a7f4b;border-left-color:var(--ok,#1a7f4b)}.comparison.verdict-outside{background:#fdf3e0;background:var(--warn-soft,#fdf3e0);border-left-color:#8a5a00;border-left-color:var(--warn,#8a5a00)}.comparison.verdict-none{background:#fafbfc;border-left-color:#878e9c;border-left-color:var(--text-faint,#878e9c)}.comparison-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:8px}.comparison-icon{font-weight:700}.verdict-within .comparison-icon{color:#1a7f4b;color:var(--ok,#1a7f4b)}.verdict-outside .comparison-icon{color:#8a5a00;color:var(--warn,#8a5a00)}.verdict-none .comparison-icon{color:#878e9c;color:var(--text-faint,#878e9c)}.comparison-prop{font-weight:600}.comparison-verdict{color:#5b6270;color:var(--text-muted,#5b6270);font-size:.74rem;letter-spacing:.03em;text-transform:uppercase}.comparison-values{display:flex;flex-wrap:wrap;font-size:.86rem;gap:16px;margin-top:4px}.comparison-measured{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.comparison-range{color:#5b6270;color:var(--text-muted,#5b6270)}.comparison-method{color:#878e9c;color:var(--text-faint,#878e9c);font-style:normal}.comparison-note,.comparison-polymer,.comparison-reason,.comparison-source{color:#5b6270;color:var(--text-muted,#5b6270);font-size:.8rem;line-height:1.45;margin:6px 0 0}.comparison-note{color:#8a5a00;color:var(--warn,#8a5a00)}.comparison-polymer,.comparison-source{color:#878e9c;color:var(--text-faint,#878e9c)}.comparison-source-label{font-weight:600}
/*# sourceMappingURL=main.27d3ced1.css.map*/