:root{--ink:#252a30;--muted:#616b76;--line:#d6dce2;--accent:#285f98;--red:#a12822;--font:Arial,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;background:#f6f7f8;color:var(--ink);font:13px/1.5 var(--font);-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit}
button{cursor:pointer;background:#fff;color:#303943;border:1px solid #b9c2cb;border-radius:3px;padding:6px 11px;font-size:12px;line-height:1.45}
button:hover:not(:disabled){background:#edf1f5;border-color:#8998a6}
button:disabled{opacity:.45;cursor:default}
input,select,textarea{color:var(--ink);background:#fff;border:1px solid #bdc6cf;border-radius:2px}
select,input[type=text],input[type=number]{min-height:31px;padding:4px 7px;font-size:12px}
input[type=radio],input[type=checkbox]{accent-color:var(--accent)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #4f84bb;outline-offset:2px}
h1,h2,h3,p{margin-top:0}h2{margin:0;font-size:14px;font-weight:600}h3{font-size:13px;font-weight:600}
.header{height:56px;background:#fff;border-bottom:1px solid #cdd4dc;display:flex;align-items:center;gap:40px;padding:0 28px}
.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand h1{font-size:17px;margin:0;font-weight:600}.brand>span{font-size:11px;color:#697785;border-left:1px solid #cdd4dc;padding-left:12px}
.header nav{display:flex;align-self:stretch;gap:23px;align-items:center}.header nav a{color:#626e7b;font-size:12px;height:100%;display:flex;align-items:center;border-bottom:2px solid transparent}.header nav a.active{color:#244e7a;border-color:#2e6299}.header nav a:hover{text-decoration:none;color:#244e7a}.local-note{margin-left:auto;color:#6b7580;font-size:11px}
main{max-width:1450px;margin:0 auto;padding:22px 28px 0}.workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px;align-items:start}.controls,.results{min-width:0}
.panel{background:#fff;border:1px solid var(--line);border-radius:3px;overflow:hidden}.input-panel,.settings-panel{padding:17px}.settings-panel{margin-top:16px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-head>div{display:flex;align-items:center}
.text-btn{padding:0;border:0;background:transparent;color:var(--accent);font-size:12px}.text-btn:hover:not(:disabled){border:0;background:none;text-decoration:underline}.text-btn.muted{color:#65717d}.subtle{font-size:12px;color:var(--muted);margin:11px 0 13px}.data-labels{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;font-size:12px;color:#434c56}
textarea{display:block;width:100%;height:250px;resize:vertical;min-height:150px;padding:10px 11px;font:13px/1.75 Consolas,"SFMono-Regular",monospace;tab-size:10;white-space:pre;overflow:auto;background:#fff}textarea::placeholder{color:#89939e;white-space:pre-wrap}
.input-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0;color:#66727e;font-size:11px}.input-foot label{display:flex;align-items:center;gap:6px;white-space:nowrap}.input-foot select{font-size:12px;min-height:27px;padding:2px 5px;max-width:100px}
.micro{font-size:11px;line-height:1.7;color:var(--muted);margin:0}.input-format{margin-top:12px;border-top:1px solid #e6e9ed;padding-top:9px}.input-format summary{font-size:11px;cursor:pointer;color:#5a6877}.input-format p{padding-top:8px}.sample-tag{color:#745b29;background:#fff8e6;border-left:2px solid #c7a052;padding:7px 9px;margin-top:11px;font-size:11px}
.input-messages:empty{display:none}.input-error,.input-tip{margin-top:9px;padding:8px 10px;line-height:1.6;font-size:11px;border-left:2px solid #b66959;background:#fff5f2;color:#8e3b2e}.input-tip{color:#755e2f;background:#fff9e9;border-color:#bf9a45}
.tiny-tag{color:#6a7580;font-size:11px}.models{padding:0;border:0;margin:13px 0 0;display:grid;gap:0}.model-card{display:flex;align-items:flex-start;gap:8px;padding:10px 0;cursor:pointer;border-bottom:1px solid #edf0f2}.model-card:last-child{border-bottom:0}.model-card input{flex-shrink:0;margin:4px 0 0;width:13px;height:13px}.model-card strong{font-size:12px;font-weight:500}.model-card small{display:block;margin-top:4px;color:#68747f;font-size:11px;line-height:1.65}.model-note{margin:12px 0 13px;font-size:11px;line-height:1.7;color:#68747f}.fit-btn{width:100%;background:var(--accent);border:1px solid var(--accent);color:#fff;border-radius:3px;padding:8px 14px;font-size:13px;font-weight:500}.fit-btn:hover:not(:disabled){color:#fff;background:#1e4c7c;border-color:#1e4c7c}.method-label{text-align:center;margin-top:8px;font-size:10px}
.chart-panel{padding:17px 20px 13px}.chart-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.chart-head h2{font-size:14px}.chart-head h2>span{font-size:11px;font-weight:400;color:#6c7784;border-left:1px solid var(--line);padding-left:10px;margin-left:10px}.axis-control{display:flex}.axis-control button{border-radius:0;min-width:56px;padding:4px 12px;font-size:12px}.axis-control button:first-child{border-radius:3px 0 0 3px}.axis-control button:last-child{margin-left:-1px;border-radius:0 3px 3px 0}.axis-control button.selected{background:#e8eff7;border-color:#8ea9c7;color:#1e4f80;position:relative}
.axis-info{font-size:11px;line-height:1.7;color:#68747f;margin:12px 0}.figure-controls{display:flex;gap:14px;padding:12px 0;border-top:1px solid #e1e6eb;border-bottom:1px solid #e1e6eb;flex-wrap:wrap}.figure-controls label{display:flex;flex-direction:column;flex:1;min-width:140px;gap:5px;font-size:11px;color:#586571}.figure-controls select{width:100%;min-height:29px}.figure-controls select:disabled{color:#84909a;background:#f6f7f8}
.reference-panel{border-bottom:1px solid #e1e6eb;margin-top:0;background:#fff}.reference-panel summary{padding:11px 0;cursor:pointer;font-size:12px;color:#3f5469}.reference-panel summary span{font-size:11px;color:#7a8590;margin-left:10px}.reference-body{padding:6px 0 14px}.reference-upload{display:flex;gap:17px;align-items:center;margin-bottom:11px}.upload-button{display:inline-block;padding:6px 11px;border:1px solid #b9c2cb;background:#fff;border-radius:3px;color:#344250;font-size:12px;cursor:pointer}.upload-button:focus-within{outline:2px solid #4f84bb;outline-offset:2px}.reference-preview{display:flex;gap:12px;align-items:center;margin:12px 0}.reference-preview img{width:170px;height:115px;object-fit:contain;background:#fff;border:1px solid var(--line)}.reference-preview span{font-size:11px;color:#65717d;overflow-wrap:anywhere}.reference-prompt-label{display:block;font-size:11px;color:#586571;margin:13px 0 6px}.reference-prompt-row{display:flex;gap:7px}.reference-prompt-row input{min-width:0;flex:1}.reference-prompt-row button{white-space:nowrap}
.reference-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:14px}.reference-options label,.reference-titles label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#586571}.reference-options input,.reference-options select,.reference-titles input{width:100%;min-width:0}.reference-options input[type=color]{height:31px;padding:2px;background:#fff}.reference-titles{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:12px}.reference-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.reference-actions>span{flex-basis:100%;font-size:11px;color:#68747f;line-height:1.7}
.chart{width:100%;margin:10px auto 0;max-width:850px}.chart svg{display:block;width:100%;height:auto;max-height:470px}#residual-chart svg{display:block;width:100%;height:auto;max-height:230px}.figure-help{margin:4px 0 11px;font-size:11px}.zero-note{font-size:11px;line-height:1.7;color:#7b5d20;border-left:2px solid #bf9a45;background:#fff9ed;padding:8px 10px;margin-bottom:12px}
.chart-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #e3e7eb;padding-top:10px;flex-wrap:wrap}.legend{display:flex;align-items:center;flex-wrap:wrap;gap:17px;font-size:11px;color:#626e7b}.check-label{display:flex;align-items:center;gap:5px;white-space:nowrap;color:#53606d;font-size:11px}.check-label input{margin:0;width:13px;height:13px}.residual-heading{display:flex;gap:10px;justify-content:space-between;font-size:11px;color:#526171;border-top:1px solid #e3e7eb;padding-top:12px;margin-top:12px}.residual-heading span{color:#737f8b;font-size:10px}
.parameter-section{background:#fff;border:1px solid var(--line);border-radius:3px;margin-top:16px;padding:15px 20px}.parameter-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.parameter-head>span{font-size:11px;color:#68747f}.parameter-head>span.warn{color:#8b651f}.parameter-head>span.danger{color:var(--red)}
.result-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}.result-table th,.result-table td{text-align:left;padding:8px 10px;border-bottom:1px solid #e4e8ec;vertical-align:middle;overflow-wrap:anywhere}.result-table thead th{background:#f4f6f8;font-size:11px;font-weight:500;color:#617080;border-top:1px solid #d8dfe6}.result-table thead th:first-child{width:120px}.result-table thead th:nth-child(2){width:155px}.result-table tbody th{font-weight:500;color:#343e48}.result-table td:last-child{color:#677480;font-size:11px}.result-table .ic50-row th,.result-table .ic50-row .param-value{font-weight:600}.result-table .param-value{font-size:15px;font-family:Consolas,"SFMono-Regular",monospace;font-variant-numeric:tabular-nums;color:#263c51}.param-value small{font-family:var(--font);font-size:10px;font-weight:400;margin-left:5px;color:#677480}
.fit-meta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;font-size:11px;color:#667480;padding:10px 0}.fit-meta b{margin-left:6px;font-weight:500;color:#374859}.interpretation{border-top:1px solid #e7ebef;padding:10px 0 2px;color:#697582}.interpretation p{margin:0;font-size:11px;line-height:1.8}.interpretation b{font-weight:500;color:#435260}.diagnostics{display:grid;gap:7px;margin-top:9px}.diagnostics:empty{display:none}.diagnostic{display:flex;align-items:flex-start;gap:8px;background:#fff9ed;border-left:2px solid #bf9a45;color:#836326;font-size:11px;line-height:1.7;padding:8px 10px}.diagnostic.danger{background:#fff3ef;border-color:#b96858;color:#944536}.diagnostic.info{background:#f2f6fa;border-color:#7296bb;color:#536e8a}.diagnostic>span{font-size:12px;flex-shrink:0}
.export-row{border-top:1px solid #e3e7eb;padding-top:12px;margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.export-row>span{font-size:10px;color:#73808c;line-height:1.7}.export-row>div{display:flex;gap:8px}.export-row button{font-size:11px;padding:5px 10px}
.guide,.method-details{background:#fff;border-top:1px solid #d4dce4;border-bottom:1px solid #d4dce4;padding:0 15px;margin-top:22px}.guide summary,.method-details summary{padding:13px 0;font-size:12px;color:#435365;cursor:pointer}.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:7px 0 17px}.guide-grid h3{margin:0 0 8px}.guide-grid p{font-size:12px;line-height:1.9;color:#65727f;margin:0}.guide-grid b{font-weight:500;color:#354b62}.guide-foot{font-size:11px;line-height:1.8;margin-top:10px;color:#667786}.method-details{margin-top:10px}.method-body{padding:2px 0 15px;font-size:12px;line-height:1.9;color:#64727f}.method-body p{max-width:1100px}.equation{padding:10px 12px;font:14px/1.8 Consolas,monospace;background:#f4f6f8;color:#354b61;overflow:auto;margin-bottom:12px}.source-links{display:flex;gap:22px;font-size:11px;flex-wrap:wrap}
footer{display:flex;justify-content:space-between;gap:15px;padding:18px 0 24px;font-size:10px;line-height:1.7;color:#7a8793}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);padding:10px 17px;border:1px solid #344758;background:#344758;color:#fff;border-radius:3px;font-size:12px;line-height:1.7;max-width:90%;z-index:10}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(max-width:1100px){main{padding:18px 20px 0}.header{padding:0 20px}.workspace{grid-template-columns:290px minmax(0,1fr);gap:16px}.chart-panel,.parameter-section{padding-left:15px;padding-right:15px}.figure-controls{gap:10px}.figure-controls label{min-width:130px}.figure-controls label:last-child{flex-basis:100%}.result-table thead th:first-child{width:90px}.result-table thead th:nth-child(2){width:135px}.fit-meta{gap:13px}}
@media(max-width:800px){.header{gap:24px}.local-note{display:none}.header nav{margin-left:auto}.workspace{grid-template-columns:1fr}.controls{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:14px}.settings-panel{margin-top:0}.input-panel,.settings-panel{padding:15px}textarea{height:215px}.guide-grid{grid-template-columns:1fr;gap:22px}.figure-controls label:last-child{flex-basis:auto}.chart svg{max-height:470px}.results{margin-top:0}.export-row>span{flex-basis:100%}}
@media(max-width:540px){.header{padding:0 14px;height:53px;gap:15px}.brand{gap:8px}.brand h1{font-size:15px}.brand>span{padding-left:8px;font-size:10px}.header nav{gap:13px}.header nav a{font-size:11px}main{padding:14px 12px 0}.controls{grid-template-columns:1fr}.workspace{gap:14px}textarea{height:235px}.chart-panel,.parameter-section{padding:14px 12px}.chart-head h2>span{display:block;border:0;padding:0;margin:3px 0 0;font-size:10px}.axis-control button{padding:4px 9px;min-width:48px}.figure-controls{gap:10px}.figure-controls label{min-width:125px}.figure-controls label:last-child{flex-basis:100%}.reference-options{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-titles{grid-template-columns:1fr}.reference-panel summary span{display:none}.reference-preview img{width:130px;height:95px}.reference-prompt-row{flex-wrap:wrap}.reference-prompt-row input{flex-basis:100%}.reference-actions button{font-size:11px}.result-table th,.result-table td{padding:8px 7px}.result-table thead th:first-child{width:82px}.result-table thead th:nth-child(2){width:115px}.result-table .param-value{font-size:14px}.result-table td:last-child{font-size:10px}.param-value small{font-size:9px}.parameter-head>span{font-size:10px}.fit-meta{gap:10px;font-size:10px}.legend{gap:10px;font-size:10px}.check-label{font-size:10px}.residual-heading{flex-wrap:wrap}.export-row>span{font-size:10px}footer{flex-direction:column;gap:4px}.guide,.method-details{padding:0 12px}.equation{font-size:11px}}
.export-row .export-options{display:flex;gap:12px;flex-wrap:wrap;flex:1}.export-options label{font-size:11px;display:flex;flex-direction:column;gap:5px;color:#586571}.export-options select{font-size:11px;min-height:29px;max-width:210px}.export-options select:disabled{background:#f5f6f7;color:#8a939d}.export-row .export-buttons{align-self:flex-end;display:flex;gap:8px}.export-help{flex-basis:100%;font-size:10px;line-height:1.7}@media(max-width:540px){.export-row .export-options{flex-basis:100%;gap:8px}.export-options label:first-child{flex:1}.export-options select{width:100%;max-width:none}.export-row .export-buttons{margin-left:auto}}

/* Language selection stays separate from scientific inputs. */
.language-control{display:flex;align-items:center;gap:7px;white-space:nowrap;color:var(--muted);font-size:12px}.language-control select{width:100px}.header{gap:18px;flex-wrap:wrap}.header .local-note{margin-left:auto}.model-card strong,.model-card small{overflow-wrap:anywhere}.export-options{flex-wrap:wrap}html[lang=en] .controls{font-size:12px}@media(max-width:700px){.header{gap:10px}.header .local-note{display:none}.language-control{margin-left:auto}.language-control>span{display:none}.language-control select{width:91px}}
