:root{--ink:#192c37;--muted:#7b8993;--green:#16756c;--green-soft:#e7f3ef;--blue:#527697;--line:#e5eaee;--canvas:#f5f7f9;--orange:#b27531;--orange-soft:#fdf1e3;--shadow:0 5px 20px #20363a04}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--canvas);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink)}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent }button,select{cursor:pointer}button:disabled{cursor:default;opacity:.5}button{transition:background .15s,transform .15s}button:active{transform:translateY(1px)}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #82bdb5;outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.sidebar{position:fixed;inset:0 auto 0 0;width:214px;padding:35px 22px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:13px;margin:0 9px 55px;font-size:20px;letter-spacing:2px;font-weight:750;line-height:1.2}.brand-mark{display:grid;place-items:center;width:39px;height:43px;background:var(--green);color:white;border-radius:12px;font-size:29px;font-weight:400;letter-spacing:0}.brand-sub{display:block;font-size:10px;letter-spacing:3px;margin-top:5px;color:#668179}.nav-label{font-size:11px;color:#9aa5ae;margin:0 14px 13px;letter-spacing:2px}.nav-item{padding:13px 14px;margin-bottom:7px;border-radius:9px;color:#7b8791;display:flex;align-items:center;gap:12px;font-size:13px}.nav-item.active{background:var(--green-soft);color:var(--green);font-weight:650}.nav-item:hover{background:#f1f5f5}.nav-item span{font-size:19px;line-height:1}.sidebar-note{margin:35px 11px;font-size:12px;color:#536970}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#49a08a;margin-right:6px}.sidebar-note p{margin:9px 0 0 13px;color:#98a4ab;font-size:11px;line-height:1.8}.sidebar-bottom{margin:auto 12px 0;color:#a3adb4;font-size:9px;letter-spacing:1.4px}.sidebar-bottom span{display:block;font-size:10px;letter-spacing:0;margin-top:7px}
main{margin-left:214px;padding:0 42px;max-width:1680px}.topbar{height:84px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:#80909b;font-size:12px}.slash{color:#c1cbd1;padding:0 12px}.demo-badge{background:#edf4f1;border:1px solid #d8e8e2;color:var(--green);font-size:11px;letter-spacing:1px;border-radius:20px;padding:5px 13px}.hero{display:flex;justify-content:space-between;align-items:center;padding:34px 0 31px;gap:20px}.eyebrow{color:#86a09a;font-size:10px;letter-spacing:2px;font-weight:650}h1{font-size:clamp(24px,2.5vw,34px);line-height:1.35;font-weight:660;letter-spacing:-.7px;margin:10px 0 10px}.hero p{margin:0;color:#81909a;font-size:13px}.hero-note{display:flex;align-items:center;gap:12px;color:#65797e;font-size:12px}.hero-note>span{font-size:26px;color:#9bb8b2}.hero-note div>span{display:block;color:#a0adb4;font-size:10px;margin-top:4px}.panel{background:white;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow)}.setup{padding:25px 26px 0}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:21px}.section-heading h2{font-size:15px;font-weight:650;margin:0;display:flex;align-items:center;gap:12px}.step-number{font-size:11px;color:#a0b0b8;font-weight:500;font-variant-numeric:tabular-nums}.subtle{font-size:11px;color:#98a5ae}.source-grid{display:grid;grid-template-columns:1fr 28px 1fr;gap:13px;align-items:center}.source-card{background:#fbfcfc;border:1px solid #e4ebea;border-radius:10px;padding:18px}.source-heading{display:flex;gap:10px;align-items:center;font-size:13px;font-weight:600;margin-bottom:15px}.source-heading>div>span{display:block;color:#97a3ab;font-size:10px;font-weight:400;margin-top:3px}.source-letter{width:31px;height:31px;display:grid;place-items:center;background:var(--green-soft);border-radius:7px;color:var(--green);font-size:14px}.source-letter.blue{color:var(--blue);background:#eaf0f7}.local-tag{margin-left:auto;font-size:9px;color:#97a8a2;font-weight:400;white-space:nowrap}.source-card input{width:100%;padding:10px 11px;border:1px solid #dfe7e6;border-radius:6px;background:white;color:#5c717b;font-size:12px;min-width:0}.source-card p{color:#a1aab1;font-size:10px;margin:10px 0 0}.compare-bridge{font-size:25px;color:#a9b9bd;text-align:center}.config-row{display:flex;align-items:end;gap:22px;padding:23px 0 22px}.config-row fieldset{padding:0;margin:0;min-width:0;border:0;flex:1}.config-row legend{font-size:11px;color:#60727e;margin-bottom:9px;padding:0}.config-row legend span{color:#a7b1b7;margin-left:7px;font-size:10px}.dimension-options{display:flex;gap:8px;flex-wrap:wrap}.dimension-options label{cursor:pointer;display:flex;gap:6px;align-items:center;font-size:11px;color:#56746c;background:#f3f8f5;border:1px solid #e3eee8;border-radius:6px;padding:7px 10px}.dimension-options input{accent-color:var(--green);width:12px;height:12px;margin:0}.dimension-options label:has(input:not(:checked)){background:#fff;color:#96a0a7;border-color:var(--line)}.scenario-control{display:flex;flex-direction:column;gap:8px}.scenario-control label{font-size:11px;color:#60727e}select{border:1px solid #dfe6e9;border-radius:6px;background:#fff;color:#6f8089;padding:8px 26px 8px 10px;font-size:11px;height:34px;max-width:100%}.primary-button{background:var(--green);color:#fff;border:1px solid var(--green);border-radius:7px;padding:9px 18px;font-size:12px;white-space:nowrap;height:36px;font-weight:550;box-shadow:0 3px 7px #16756c16}.primary-button span{margin-left:22px}.primary-button:hover{background:#116258}.pipeline{border-top:1px solid #edf0f1;padding:12px 0;display:flex;align-items:center;gap:12px;color:#bdc6cb;font-size:10px}.pipeline-step::before{content:"○";margin-right:5px}.pipeline-step.complete{color:#64968a}.pipeline-step.complete::before{content:"✓"}.pipeline #run-status{margin-left:auto;color:#8d9fa4;font-size:10px}.error-message{border:1px solid #f2d6cf;background:#fff3ef;color:#ab584b;border-radius:7px;padding:11px;margin-bottom:16px;font-size:12px}
.result-section{padding-top:30px}.result-heading{margin-bottom:17px}.stats-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:15px;margin-bottom:22px}.stat-card{background:white;border:1px solid var(--line);border-radius:11px;padding:20px 21px;min-width:0}.stat-card.primary-stat{background:#edf5f2;border-color:#d6e8df}.stat-label{color:#82959b;font-size:11px;display:flex;justify-content:space-between}.stat-label>span{color:#a3b3b8}.stat-value{font-size:29px;font-weight:650;line-height:1.3;letter-spacing:-.6px;margin:10px 0 7px;font-variant-numeric:tabular-nums}.stat-value small{font-size:12px;font-weight:400;margin-left:4px;color:#a0aeb5}.primary-stat .stat-value{color:var(--green)}.stat-card.warn .stat-value{color:var(--orange)}.stat-note{font-size:10px;color:#98a5ad}.primary-stat .stat-note{color:#7b9c8f}progress{height:4px;width:100%;border:0;border-radius:5px;display:block;background:#dceae4;margin-top:10px;overflow:hidden}progress::-webkit-progress-bar{background:#dceae4}progress::-webkit-progress-value{background:#40927e;border-radius:5px}progress::-moz-progress-bar{background:#40927e}
.table-panel{overflow:hidden}.table-heading{padding:23px 24px 17px;display:flex;justify-content:space-between;align-items:center;gap:15px}.table-heading h3{margin:0;font-size:14px;font-weight:650;display:flex;align-items:center;gap:9px}.count-badge{background:#edf2f4;border-radius:5px;color:#7e939e;font-size:10px;font-weight:500;padding:1px 6px}.table-heading p{font-size:10px;color:#99a7af;margin:7px 0 0}.export-controls{display:flex;gap:8px;align-items:center}.secondary-button{background:white;border:1px solid #dfe6e9;border-radius:6px;color:#687e87;font-size:11px;padding:8px 12px;white-space:nowrap;height:34px}.secondary-button:hover{background:#f6f9fa}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:13px;padding:0 24px 17px}.filters{display:flex;gap:5px;flex-wrap:wrap}.filter{border:0;background:transparent;font-size:11px;padding:6px 9px;color:#8b9aa3;border-radius:5px;white-space:nowrap}.filter.active{background:#e9f3ef;color:var(--green);font-weight:600}.filter:hover{background:#f0f5f4}.filter span{font-size:10px;margin-left:5px;opacity:.7}.search-field{display:flex;gap:7px;align-items:center;border:1px solid #e1e8ec;border-radius:6px;padding:6px 9px;color:#9baab2;background:#fff}.search-field input{width:185px;min-width:0;border:0;outline:none;font-size:11px;color:#5c7480;background:transparent}.search-field:focus-within{outline:2px solid #82bdb5;outline-offset:1px}.search-field input::placeholder{color:#a7b2ba}.search-field>span{font-size:19px;line-height:1}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}thead{background:#f7f9fa}th{font-size:10px;font-weight:500;color:#91a1aa;padding:12px 16px;border-top:1px solid #edf1f3;border-bottom:1px solid #edf1f3}th:first-child{padding-left:24px}th>span:not(.sr-only){display:block;font-size:9px;color:#b4bfc5;margin-top:2px}td{border-bottom:1px solid #edf1f3;padding:15px 16px;font-size:11px;color:#6f818b}td:first-child{padding-left:24px}tbody tr:hover{background:#fbfdfc}.sample-info{display:flex;align-items:center;gap:11px}.sample-id{font:10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:#a0aeb6;display:block;margin-top:2px}.sample-title{font-size:12px;color:#425a66;font-weight:500}.sample-icon{display:grid;place-items:center;width:30px;height:34px;background:#f0f4f6;border:1px solid #e9eef0;border-radius:6px;color:#9aadb7;font-size:15px}.status{font-size:10px;border-radius:5px;padding:4px 7px;background:#edf5f0;color:#679080;display:inline-flex;align-items:center;gap:5px}.status::before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}.status.different{background:var(--orange-soft);color:var(--orange)}.status.onlyA,.status.onlyB{background:#edf2f8;color:#7d93a9}.score-pair{display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.score-pair .arrow{color:#c0cbd0;font-size:10px}.score-pair .changed{color:#b47b3e;font-weight:600}.score-pair .absent{color:#bdc7cd}.change-summary{font-size:10px;color:#91a0a8;max-width:210px;overflow:hidden;text-overflow:ellipsis}.change-summary.changed{color:#b08b5d}.detail-button{border:0;background:transparent;color:#86a2a7;font-size:14px;padding:6px}.detail-button:hover{color:var(--green);background:var(--green-soft);border-radius:5px}.table-footer{display:flex;justify-content:space-between;gap:14px;padding:13px 24px;font-size:9px;color:#a0aeb7}.empty-state{text-align:center;padding:36px;color:#95a6af}.empty-state>span{font-size:30px;color:#bfd0d4}.empty-state h3{font-size:14px;font-weight:500;margin:7px}.empty-state p{font-size:12px;margin:7px 0 18px}.method-note{font-size:10px;color:#9aabb2;line-height:1.8;margin:16px 2px 0}.method-note strong{color:#81959e;font-weight:600;margin-right:8px}.page-footer{padding:26px 0 24px;font-size:9px;color:#a8b5bc;display:flex;justify-content:space-between;gap:15px;letter-spacing:.2px}.footer-dot{margin:0 8px;color:#c5cfd4}
dialog{border:1px solid var(--line);border-radius:16px;width:min(860px,calc(100% - 32px));max-height:88vh;padding:27px;color:var(--ink);box-shadow:0 25px 100px #0d292a20}dialog::backdrop{background:#122c3755;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;align-items:center}.icon-button{border:0;border-radius:6px;background:#f1f5f5;color:#7b9099;width:29px;height:29px;font-size:20px}.dialog-title{font-size:24px;margin:12px 0 5px}.dialog-subtitle{font-size:12px;color:#94a3ac;margin:0 0 18px}.prompt-box{background:#f7f9fa;border:1px solid var(--line);border-radius:8px;padding:14px;margin-bottom:17px;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.prompt-box small{display:block;color:#9cacb3;font-size:10px;margin-bottom:5px}.detail-model{border-top:1px solid var(--line);padding-top:16px;margin-top:17px}.detail-model h3{font-size:14px;margin:0 0 12px}.response-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.response-card{border:1px solid var(--line);border-radius:8px;padding:13px;min-width:0}.response-card h4{color:var(--green);font-size:11px;font-weight:500;margin:0 0 8px}.response-card.right h4{color:var(--blue)}.response-card p{font-size:12px;color:#7b8e98;line-height:1.7;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.dimension-scores{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.dimension-score{font-size:10px;background:#f4f7f8;border-radius:5px;padding:5px 8px;color:#91a1aa}.dimension-score b{color:#5d7986;font-weight:600;margin-left:5px}.dimension-score.changed{background:var(--orange-soft)}.dimension-score.changed b{color:var(--orange)}.toast{position:fixed;bottom:25px;left:calc(50% + 107px);transform:translateX(-50%);padding:12px 19px;color:#f3fbf8;background:#235e57;border-radius:8px;font-size:12px;box-shadow:0 6px 24px #193f3a20;z-index:2;max-width:90%;text-align:center}
@media(min-width:1550px){main{padding:0 60px}.source-card{padding:21px}.hero{padding-top:40px;padding-bottom:36px}}
@media(max-width:1150px){.sidebar{width:176px;padding-left:15px;padding-right:15px}.brand{font-size:17px;gap:9px}.brand-mark{width:33px;height:36px;font-size:25px}.brand-sub{font-size:8px}.nav-item{font-size:11px;padding-left:12px;gap:8px}main{margin-left:176px;padding:0 24px}.hero-note{display:none}.setup{padding:20px 20px 0}.config-row{gap:15px}.primary-button{padding:9px 12px}.primary-button span{margin-left:12px}.stat-card{padding:16px}.stats-grid{gap:10px}.table-toolbar{align-items:start;flex-wrap:wrap}.search-field{margin-left:auto}.toast{left:calc(50% + 88px)}}
@media(max-width:850px){.sidebar{position:static;width:100%;height:65px;padding:0 20px;flex-direction:row;align-items:center;border-right:0;border-bottom:1px solid var(--line);gap:22px}.brand{margin:0;font-size:16px;gap:9px}.brand-sub{font-size:7px;margin-top:2px}.brand-mark{width:29px;height:31px;font-size:23px}.nav-item{margin:0;padding:8px 11px}.nav-label,.sidebar-note,.sidebar-bottom,.nav-item:not(.active){display:none}main{margin:0;padding:0 22px}.topbar{height:58px}.hero{padding:27px 0}.hero p{font-size:12px}.config-row{flex-wrap:wrap;align-items:end}.config-row fieldset{flex-basis:100%}.scenario-control{flex:1}.source-grid{grid-template-columns:1fr 20px 1fr;gap:7px}.source-card{padding:13px}.source-card input{font-size:10px}.source-heading{font-size:11px}.local-tag{display:none}.source-card p{font-size:9px}.source-heading>div>span{font-size:9px}.source-letter{width:27px;height:27px}.pipeline{gap:7px;flex-wrap:wrap}.pipeline #run-status{flex-basis:100%;margin-left:0}.section-heading>.subtle{font-size:9px}.stats-grid{grid-template-columns:1fr 1fr}.stat-value{font-size:27px}.table-heading{flex-wrap:wrap;padding:18px}.export-controls{margin-left:auto}.table-toolbar{padding:0 18px 15px}.filters{gap:3px}.filter{font-size:10px;padding:6px}.table-footer{padding:12px 18px;flex-wrap:wrap}.page-footer{flex-wrap:wrap}.toast{left:50%}.response-grid{grid-template-columns:1fr}}
@media(max-width:500px){main{padding:0 14px}.hero h1{font-size:24px}.hero p{line-height:1.8;max-width:290px}.setup{padding:17px 14px 0}.section-heading>.subtle{display:none}.source-grid{grid-template-columns:1fr;gap:10px}.compare-bridge{display:none}.source-card input{font-size:11px}.config-row{gap:15px}.stats-grid{gap:9px}.stat-card{padding:15px}.stat-label{font-size:10px}.stat-note{font-size:9px}.table-heading p{line-height:1.8}.export-controls{margin:0;width:100%}.export-controls select{flex:1}.search-field{width:100%;margin:0}.search-field input{width:100%}.table-toolbar{gap:12px}.page-footer{font-size:8px}.pipeline{font-size:9px;gap:5px}dialog{padding:18px}.dialog-title{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}button{transition:none}}

/* Portfolio navigation, local-only. */
.portfolio-return{position:fixed;right:18px;bottom:18px;z-index:30;display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border:1px solid #c9d1c2;border-radius:999px;background:#fffef5;color:#274237;text-decoration:none;font:500 12px/1.4 system-ui,sans-serif;box-shadow:0 3px 12px #14251a10}.portfolio-return:hover{background:#eaf0df}.portfolio-return:focus-visible{outline:3px solid #6f8b52;outline-offset:3px}@media(max-width:520px){.portfolio-return{right:12px;bottom:12px;padding:9px 12px;font-size:11px}}
