.analysis-viz{display:grid;gap:16px;color:#253a32}.analysis-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px;background:linear-gradient(110deg,#ecf6ee,#f8fbf7);border:1px solid #dbe9df;border-radius:12px}.analysis-summary h3{font-size:25px;margin:7px 0 8px;overflow-wrap:anywhere}.summary-sub{font-size:13px;color:#5c7265;overflow-wrap:anywhere}.summary-separator{padding:0 8px;color:#9bb4a4}.summary-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px;white-space:nowrap}.review-status{font-size:12px;font-weight:700;color:#216c55;background:#dff0e7;border-radius:20px;padding:7px 11px}.review-status.review-needed{background:#fff1de;color:#a26114}.review-note{margin:12px 0 0;font-size:12px;color:#9a631c}.viz-main-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:16px;align-items:start}.viz-side{display:grid;gap:16px}.viz-card{border:1px solid #e3ebe5;border-radius:11px;padding:19px;min-width:0;background:#fff}.viz-card h4{font-size:15px;margin:0 0 16px;color:#294639}.viz-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.viz-heading span{font-size:11px;color:#99aa9f}.axis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.axis-card{min-width:0;border:1px solid #dce9df;background:#f9fcfa;border-radius:9px;padding:14px}.axis-top{display:flex;align-items:center;gap:9px}.axis-top strong{font-size:19px}.axis-top span:not(.axis-label){font-size:11px;color:#899b90}.axis-label{display:grid;place-items:center;flex:none;background:#dcefe3;color:#127251;font-weight:800;width:28px;height:28px;border-radius:7px}.axis-meta{display:grid;gap:6px;margin:14px 0}.axis-meta>div{display:flex;justify-content:space-between;gap:7px;font-size:11px;overflow-wrap:anywhere}.axis-meta small{color:#8da093;flex:none}.source-tag{font-size:10px;padding:3px 6px;border:1px solid #c9e2d2;background:#eef8f0;border-radius:5px;color:#327553;white-space:nowrap}.source-tag.source-inferred{border-color:#e7d1a8;background:#fff7e8;color:#94611e}.tolerance-line,.axis-maximum,.pending-standard{font-size:11px;line-height:1.5;margin:9px 0;padding:8px;border-radius:6px;background:#f0f5f1}.pending-standard{background:#fff7e8;color:#8e651f}.confidence-line{display:flex;flex-wrap:wrap;gap:5px 12px;font-size:10px;color:#75877c;margin-top:11px}.evidence-detail{margin-top:12px;border-top:1px solid #e3eae4;padding-top:9px;font-size:11px}.evidence-detail summary,.candidate-list summary{cursor:pointer;color:#32795d}.evidence-content{color:#60786a;line-height:1.5}.evidence-content p{margin:6px 0}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.info-grid>div{min-width:0}.info-grid small{display:block;color:#8da093;font-size:11px;margin-bottom:6px}.info-grid strong{display:block;font-size:13px;overflow-wrap:anywhere}.info-grid .source-tag{display:inline-block;margin-top:5px}.meta-line{font-size:11px;color:#657b6d;margin:13px 0 0;overflow-wrap:anywhere}.material-confidence{margin-top:14px}.volume-number{font-size:30px;color:#146f52}.volume-number small{font-size:14px}.volume-formula{font-size:12px;color:#506f5b;overflow-wrap:anywhere}.volume-note{font-size:11px;color:#91a296;margin:10px 0 0}.count{display:inline-block;font-size:10px;color:#5b9875;background:#eaf5ec;padding:3px 6px;border-radius:12px;margin-left:4px}.viz-table-wrap{overflow:auto}.viz-table{width:100%;min-width:620px}.viz-table th,.viz-table td{white-space:normal;vertical-align:top}.viz-table td{font-size:12px;overflow-wrap:anywhere}.viz-table td small{display:block;color:#96a79b;font-size:10px}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.feature-card{padding:13px;border:1px solid #e3ece4;border-radius:8px;background:#fbfdfb;min-width:0}.feature-title{display:flex;align-items:start;justify-content:space-between;gap:6px}.feature-card strong{font-size:13px;overflow-wrap:anywhere}.feature-card p{font-size:11px;color:#627a69;margin:9px 0;line-height:1.55;overflow-wrap:anywhere}.candidate-group{margin-top:14px}.candidate-group h5{font-size:11px;color:#5a7964;margin:0 0 8px}.candidate-list{display:grid;gap:7px}.candidate-list article{border:1px solid #e7ede7;border-radius:7px;padding:10px 12px;font-size:12px}.candidate-list article>div{display:flex;justify-content:space-between;gap:8px}.candidate-list article span{font-size:10px;color:#8b9b8e}.candidate-list details{margin-top:7px;font-size:11px}.candidate-list details p{line-height:1.5;color:#65796b;margin:7px 0 0}.warnings-panel ul{margin:0;padding-left:21px;color:#6a735f;font-size:12px;line-height:1.7}.warnings-panel li+li{margin-top:6px}@media(max-width:1000px){.viz-main-grid{grid-template-columns:1fr}}@media(max-width:700px){.analysis-summary{display:block}.summary-actions{align-items:flex-start;margin-top:15px}.axis-grid{grid-template-columns:1fr}.info-grid{grid-template-columns:1fr 1fr}}@media(max-width:450px){.info-grid{grid-template-columns:1fr}.viz-heading{display:block}.viz-heading span{display:block;margin-bottom:12px}}.viz-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.material-name{display:block;font-size:29px;color:#176f50;margin-bottom:12px}.demo-quote{margin-top:18px;padding:14px 16px;background:#fff;border:1px solid #d9e8df;border-radius:9px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.demo-quote span{font-size:12px;color:#567361;font-weight:700}.demo-quote strong{font-size:23px;color:#126e50}.demo-quote small{font-size:12px;color:#7c8f80}.candidate-list{display:flex;flex-wrap:wrap}.candidate-list article{min-width:140px;background:#f9fcfa}.candidate-list article>div{display:grid;gap:4px}.analysis-summary{background:#f6faf7}.axis-top strong{font-size:24px}.analysis-viz .viz-table{min-width:0}.analysis-viz .viz-table th,.analysis-viz .viz-table td{white-space:normal}@media(max-width:700px){.viz-pair{grid-template-columns:1fr}.analysis-viz .viz-table,.analysis-viz .viz-table tbody,.analysis-viz .viz-table tr,.analysis-viz .viz-table td{display:block;width:100%}.analysis-viz .viz-table thead{display:none}.analysis-viz .viz-table tr{border:1px solid #e3ece4;border-radius:8px;padding:10px;margin-bottom:10px}.analysis-viz .viz-table td{border:0;padding:5px 3px;font-size:12px}.analysis-viz .viz-table td:nth-child(1){font-size:16px}.analysis-viz .viz-table td:nth-child(2):before{content:"类型 / 含义  ";color:#819689}.analysis-viz .viz-table td:nth-child(3):before{content:"信息来源  ";color:#819689}.analysis-viz .viz-table td:nth-child(4):before{content:"文字置信度  ";color:#819689}.analysis-viz .viz-table td:nth-child(5):before{content:"语义置信度  ";color:#819689}.analysis-viz .axis-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.analysis-viz .axis-card{padding:8px}.analysis-viz .axis-top{display:block}.analysis-viz .axis-top strong{font-size:15px}.analysis-viz .axis-meta,.analysis-viz .axis-card .confidence-line{display:none}.analysis-viz .axis-maximum,.analysis-viz .pending-standard{font-size:10px}.analysis-viz .axis-top span:not(.axis-label){display:block;font-size:10px}}@media(max-width:480px){.analysis-viz .axis-grid{grid-template-columns:1fr}.analysis-viz .axis-card{padding:12px}.analysis-viz .axis-top{display:flex}.analysis-viz .axis-top strong{font-size:21px}}.client-app,.login-page{min-height:100vh;background:#f5f8f6;color:#24392f}.client-kicker{font-size:11px;font-weight:800;letter-spacing:2px;color:#218160}.client-header{max-width:1160px;margin:auto;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dfe9e3}.client-header h1{font-size:22px;margin:4px 0 0}.client-menu-wrap{position:relative}.client-avatar{width:40px;height:40px;border-radius:50%;background:#dceee4;color:#186c4f;font-weight:800}.client-menu{position:absolute;right:0;top:48px;width:170px;padding:9px;border:1px solid #dae7de;border-radius:10px;box-shadow:0 12px 26px #24433420;background:#fff;z-index:3;display:grid}.client-menu strong{padding:9px;font-size:12px;color:#687b6f}.client-menu button{border:0;text-align:left;background:transparent}.client-main{max-width:1160px;margin:auto;padding:32px 24px 64px;display:grid;gap:24px}.client-panel,.client-results{background:#fff;border:1px solid #e1eae3;border-radius:14px;padding:24px;min-width:0}.client-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.client-section-head h2{font-size:20px;margin:5px 0 0}.client-drop{border:1.5px dashed #a4c8b3;background:#f8fbf8;border-radius:12px;padding:42px 20px;text-align:center;display:grid;justify-items:center;gap:10px}.client-drop>span{font-size:32px;color:#278864}.client-drop strong{font-size:17px}.client-drop p{font-size:13px;color:#82978a;margin:0 0 6px}.client-drop button{min-width:150px;padding:11px}.client-file{display:flex;justify-content:space-between;gap:12px;overflow-wrap:anywhere;font-size:14px;padding:8px 0 15px}.client-file span{color:#728779;white-space:nowrap}.client-preview{background:#f3f5f3;border:1px solid #e6ebe6;border-radius:10px;max-height:620px;overflow:auto;text-align:center}.client-preview img{max-width:100%;height:auto;display:block;margin:auto}.client-pages{display:flex;gap:6px;overflow:auto;padding:0 0 12px}.client-pages button{white-space:nowrap}.client-pages .chosen{background:#168464;color:#fff}.client-primary{width:100%;padding:13px 18px}.analyze-client{margin-top:18px;font-size:15px}.client-progress{font-size:13px;color:#47735a}.client-progress.spinner{display:inline-flex;align-items:center;gap:8px}.client-progress.spinner:before{content:"";width:14px;height:14px;border:2px solid rgba(71,115,90,.25);border-top-color:#47735a;border-radius:50%;animation:ai-demo-spin .8s linear infinite;flex:none}@keyframes ai-demo-spin{to{transform:rotate(360deg)}}.client-error{background:#fff2ec;color:#9f4230;border-radius:8px;padding:12px;margin-top:14px;font-size:13px}.client-error button{margin-left:10px}.client-history-list{display:grid;gap:8px}.client-history-list button{text-align:left;padding:14px;display:grid;gap:5px}.client-history-list span{font-size:12px;color:#799082}.login-page{display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);background:#fff;border:1px solid #e1eae3;border-radius:16px;padding:34px;box-shadow:0 18px 40px #1d463315}.login-card h1{font-size:30px;margin:8px 0}.login-card>p{font-size:14px;color:#708274;margin:0 0 27px}.login-card label{display:block;font-weight:700;font-size:13px;margin:0 0 18px}.login-card input{width:100%;border:1px solid #d6e3da;border-radius:8px;padding:11px;margin-top:7px;outline:none}.login-card input:focus{border-color:#208d67}.password-field{display:flex;align-items:center;position:relative}.password-field input{padding-right:63px}.password-field button{position:absolute;right:5px;top:12px;border:0;font-size:12px;padding:5px}.login-card .client-primary{margin-top:6px}@media(max-width:600px){.client-header{padding:16px}.client-main{padding:18px 12px 40px}.client-panel,.client-results{padding:16px}.client-header h1{font-size:19px}.client-section-head h2{font-size:18px}.client-preview{max-height:430px}.login-card{padding:25px}}.login-card h1{margin:0 0 28px}:root{font-family:Inter,Microsoft YaHei,system-ui,sans-serif;color:#20302e;background:#f4f7f5}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid #d7e1dc;background:#fff;border-radius:8px;color:#28564d;padding:8px 12px}button:hover{border-color:#2a806a;background:#f4faf7}button:disabled{opacity:.45;cursor:not-allowed}.app{max-width:1880px;margin:auto;padding:28px 32px 60px}header{display:flex;justify-content:space-between;align-items:end;padding:8px 2px 28px;border-bottom:1px solid #dce6e1}.eyebrow{color:#148467;font-size:11px;font-weight:800;letter-spacing:2.5px}h1{font-size:30px;letter-spacing:-1px;margin:8px 0 5px}header p{color:#687a73;margin:0;font-size:14px}.header-mark{color:#83928d;font-size:12px;text-align:right}.header-mark strong{display:block;color:#1e6958;font-size:15px;margin-top:5px}nav{display:flex;gap:5px;margin:22px 0 18px}nav button{border:0;background:transparent;color:#6c7d76;padding:10px 18px;font-weight:700}nav button.active{background:#e1f0e9;color:#12674e}.status{background:#e9f4ee;color:#276a53;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:14px;display:flex;align-items:center;gap:8px}.dot{background:#3ca36c;width:7px;height:7px;border-radius:50%}.dot.bad{background:#d34a4a}.error{background:#fff0ed;color:#a4322b;padding:12px 16px;border-radius:8px;margin-bottom:14px;display:flex;justify-content:space-between}.error button{border:0;background:transparent;color:inherit;padding:0}.workspace{display:grid;grid-template-columns:minmax(280px,1fr) minmax(360px,1.12fr) minmax(350px,1.14fr);gap:16px;align-items:start}.panel{background:#fff;border:1px solid #e1e9e5;border-radius:14px;box-shadow:0 4px 18px #1b4b3710;padding:20px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px}.panel-head>div{display:flex;align-items:center;gap:10px}.step{width:28px;height:28px;background:#dff1e8;border-radius:8px;display:grid;place-items:center;color:#158264;font-size:12px;font-weight:800}.panel h2{font-size:17px;margin:0}.hint,.muted{color:#8a9a92;font-size:12px}.drop{border:1.5px dashed #a9c6b7;background:#f8fcf9;border-radius:10px;padding:35px 15px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:7px;cursor:pointer}.drop:hover{border-color:#258769;background:#f0f9f3}.upload-icon{font-size:30px;color:#1b8c68;line-height:1}.drop strong{font-size:14px}.drop small{color:#8a9990}.file-summary{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #edf1ed;margin-top:18px;padding-bottom:12px;font-size:12px;overflow-wrap:anywhere}.file-summary span{color:#8a9a92;white-space:nowrap}.pages{display:flex;gap:6px;overflow:auto;padding:13px 0}.pages button{font-size:12px;padding:6px 9px;white-space:nowrap}.pages .chosen{background:#168464;color:#fff;border-color:#168464}.preview{border:1px solid #e3e9e5;background:#f3f5f3;border-radius:8px;min-height:260px;max-height:540px;overflow:auto;display:flex;align-items:start;justify-content:center}.preview img{max-width:100%;height:auto;display:block}.image-meta{font-size:11px;color:#8a9a92;margin-top:9px}.setup label{display:block;color:#566d61;font-size:12px;font-weight:700;margin:13px 0 7px}.setup select,.setup textarea,.form-grid input,.form-grid textarea{display:block;width:100%;border:1px solid #dce5df;border-radius:8px;padding:10px 11px;margin-top:7px;color:#253a31;background:#fff;outline:none}.setup textarea,.form-grid textarea{resize:vertical;line-height:1.55}.setup select:focus,.setup textarea:focus,.form-grid input:focus,.form-grid textarea:focus{border-color:#1a986d;box-shadow:0 0 0 3px #1a986d18}.inline-actions{display:flex;gap:6px;flex-wrap:wrap}.inline-actions button{font-size:12px;padding:6px 9px}.prompt-foot{display:flex;justify-content:space-between;align-items:center;color:#9aa69e;font-size:11px}.setup details{margin:16px 0;font-size:12px;color:#54816e}.setup details pre{max-height:160px;overflow:auto;white-space:pre-wrap;color:#456354;background:#f6f9f6;padding:10px;border-radius:7px}.primary{background:#147c5d;color:#fff;border-color:#147c5d;font-weight:700}.primary:hover{background:#0e6c50;color:#fff}.analyze{width:100%;display:flex;justify-content:space-between;padding:12px 16px;margin-top:16px}.badge{color:#0a8a5e;background:#e6f5ec;border-radius:20px;padding:5px 9px;font-size:11px}.badge.failed{color:#c44532;background:#fff0eb}.empty{min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9daaa3;text-align:center}.empty div{font-size:42px;color:#b7d0bf}.empty strong{color:#667b6f;font-size:15px}.empty p{font-size:12px}.result-tabs{display:flex;gap:4px;overflow:auto;border-bottom:1px solid #e6ede8;margin-bottom:12px}.result-tabs button{border:0;border-radius:0;background:transparent;white-space:nowrap;color:#899b90;font-size:12px;padding:9px 8px}.result-tabs button.active{color:#087d59;border-bottom:2px solid #087d59}.result-body{max-height:680px;overflow:auto}.result-body pre,.compare pre,.version-list pre{font-family:Consolas,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;background:#f7faf8;border:1px solid #e6eee8;padding:14px;border-radius:8px;margin:0}.metrics>div{padding:11px 0;border-bottom:1px solid #edf1ee;display:flex;justify-content:space-between;gap:16px;font-size:13px}.metrics b{font-weight:600;text-align:right;white-space:pre-wrap;overflow-wrap:anywhere}.history,.config-page{min-height:400px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:#778a7d;font-size:11px;text-transform:uppercase;letter-spacing:.6px}th,td{border-bottom:1px solid #edf1ee;padding:13px 10px;white-space:nowrap}td small{display:block;color:#9aa99f;margin-top:3px}.compare{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.compare article,.config-card{border:1px solid #e2ebe5;border-radius:10px;padding:16px;min-width:0}.compare h3,.config-card h3{font-size:15px;margin:0 0 6px}.compare p,.config-card p{font-size:12px;color:#839288;overflow-wrap:anywhere}.compare pre{max-height:500px;overflow:auto}.config-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;margin-top:22px}.config-card>div:first-child{display:flex;justify-content:space-between}.config-card>div:first-child span{font-size:11px;color:#8da296}.config-card h3{margin-top:18px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#18332891;display:grid;place-items:center;padding:20px;z-index:5}.modal{background:#fff;border-radius:14px;padding:22px;width:min(720px,100%);max-height:90vh;overflow:auto;box-shadow:0 15px 50px #0b211c4d}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-head h2{font-size:20px;margin:0}.modal-head button{border:0;font-size:24px;padding:0 6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label{font-size:12px;color:#50665a;font-weight:700}.form-grid .wide{grid-column:1/-1}.form-grid .check{display:flex;align-items:center;gap:7px}.form-grid .check input{width:auto;margin:0}.modal-actions{display:flex;justify-content:end;gap:8px;margin-top:22px}.version-list{display:grid;gap:12px;max-height:55vh;overflow:auto}.version-list article{border:1px solid #e4ebe5;padding:13px;border-radius:8px}.version-list article>div:first-child{display:flex;justify-content:space-between;margin-bottom:8px;font-size:12px}.version-list article>div:first-child span{color:#9aa99e}.version-list pre{max-height:130px;overflow:auto;margin-bottom:9px}@media(max-width:1200px){.workspace{grid-template-columns:1fr 1fr}.results{grid-column:1/-1}}@media(max-width:760px){.app{padding:16px}header{display:block}.header-mark{display:none}.workspace,.compare{grid-template-columns:1fr}.results{grid-column:auto}.form-grid{grid-template-columns:1fr}}.result-warning{background:#fff4e7;border:1px solid #f1d4a4;border-radius:8px;color:#905313;padding:16px;font-size:13px;line-height:1.6}.workspace.has-result{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace.has-result .results{grid-column:1/-1}.result-body.visual-result-body{max-height:none;overflow:visible}@media(max-width:760px){.workspace.has-result{grid-template-columns:1fr}.workspace.has-result .results{grid-column:auto}}
