:root{--ink:#171713;--muted:#686860;--line:#deded4;--paper:#f7f7f1;--white:#fff;--lime:#dfff4f;--lime-dark:#bdda2f;--blue:#3457ff;--red:#d9392f;--amber:#fff2b4;--shadow:0 18px 60px rgba(28,29,23,.09)}
.text-error{color:var(--red)}.result-detail{display:grid;gap:5px;color:var(--muted);font-size:12px;margin-top:12px}
[hidden]{display:none!important}
.pipeline-panel{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;margin:18px 0 0}.pipeline-step{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.pipeline-step>span{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:800}.pipeline-step p{margin:3px 0;color:var(--muted);font-size:13px}.pipeline-arrow{font-size:24px;color:var(--muted)}.pipeline-note{margin:8px 4px 18px}.question-toolbar{display:flex;justify-content:space-between;align-items:end;gap:18px}.question-toolbar h2{margin-bottom:4px}.question-filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.question-filters input{min-width:210px}.question-stem-cell{white-space:normal;min-width:320px;max-width:620px}.compact-heading{margin:10px 0 0}.compact-heading h2{margin:0}dialog:has(.question-detail){width:min(980px,94vw);max-height:92vh}.question-detail h2{padding-right:35px;line-height:1.45}.question-detail h3{margin:26px 0 10px}.admin-option{padding:14px;border:1px solid var(--line);border-radius:10px;margin:9px 0}.admin-option.correct{border-color:#1d9c62;background:#f0fbf5}.admin-option p{margin:6px 0 0;color:var(--muted);font-size:13px}.answer-badge{background:#1d9c62;color:#fff;font-size:11px;padding:3px 7px;border-radius:20px;margin-left:7px}.answer-summary{background:#f0fbf5;border-left:4px solid #1d9c62;padding:15px;margin-top:16px}.evidence-quote{color:var(--muted)}.detail-stats{display:flex;gap:8px;flex-wrap:wrap}.detail-stats span{background:var(--paper);border-radius:8px;padding:8px 12px;font-size:13px}.question-detail details{margin-top:15px}.question-detail summary{cursor:pointer}.question-detail pre{white-space:pre-wrap;word-break:break-word;background:#161616;color:#eee;padding:14px;border-radius:9px;font-size:12px;max-height:280px;overflow:auto}@media(max-width:900px){.pipeline-panel{grid-template-columns:1fr}.pipeline-arrow{transform:rotate(90deg);justify-self:center}.pipeline-step{grid-template-columns:auto 1fr}.pipeline-step button{grid-column:1/-1}.question-toolbar{align-items:start;flex-direction:column}.question-filters{justify-content:flex-start}}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;line-height:1.55}button,input,select,textarea{font:inherit}button{border:1px solid var(--line);background:var(--white);padding:10px 16px;border-radius:9px;cursor:pointer;color:var(--ink)}button:hover{border-color:var(--ink)}button.primary{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:700}button.primary:hover{background:#333}.wide{width:100%}.topbar{height:68px;padding:0 4vw;display:flex;align-items:center;border-bottom:1px solid var(--line);background:rgba(247,247,241,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{font-weight:850;text-decoration:none;color:var(--ink);letter-spacing:-.03em;font-size:20px}.brand span{background:var(--lime);padding:4px 7px;border-radius:5px;margin-right:5px}.topbar nav{display:flex;gap:6px;margin-left:50px}.topbar nav button{border:none;background:transparent}.topbar nav button.active{background:var(--white);box-shadow:0 2px 12px #0000000d}.account{margin-left:auto;display:flex;gap:12px;align-items:center;color:var(--muted);font-size:14px}main{max-width:1360px;margin:auto;padding:0 4vw 80px}.auth-layout{min-height:calc(100vh - 68px);display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);align-items:center;gap:8vw}.auth-copy h1,.hero h1,.section-heading h1{font-size:clamp(42px,5.5vw,82px);line-height:1.05;letter-spacing:-.055em;margin:14px 0 26px}.auth-copy h1 strong{box-shadow:inset 0 -.48em var(--lime);font-weight:850}.auth-copy>p:last-of-type{font-size:18px;color:var(--muted);max-width:760px}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:800;color:var(--blue)}.trust-grid{display:flex;gap:38px;margin-top:54px}.trust-grid div{display:grid}.trust-grid b{font-size:34px;letter-spacing:-.04em}.trust-grid span{font-size:12px;color:var(--muted)}.auth-card,.panel{background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.auth-card{padding:26px}.tab-row{display:grid;grid-template-columns:1fr 1fr;background:var(--paper);border-radius:9px;margin-bottom:28px}.tab-row button{border:0;background:transparent}.tab-row button.active{background:var(--white);box-shadow:0 2px 8px #00000012}.auth-card label,.setup-panel label,.field{display:grid;gap:7px;font-size:13px;font-weight:700;margin-bottom:18px}input,select,textarea{background:#fff;border:1px solid var(--line);border-radius:9px;padding:12px 13px;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3457ff18}.fineprint,.muted{font-size:12px;color:var(--muted)}.form-error{color:var(--red);font-size:13px;min-height:20px}.view{padding-top:52px}.hero.compact{padding:30px 0}.hero.compact h1,.section-heading h1{font-size:clamp(38px,4.5vw,66px);margin:8px 0}.hero.compact>p:last-child{color:var(--muted)}.setup-panel{padding:24px;display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end}.setup-panel label{margin:0}.question-card{padding:30px;margin-top:20px}.question-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.chip{padding:4px 9px;border-radius:20px;background:#eeeef0;font-size:12px;color:var(--muted)}.chip.state{background:var(--lime)}.question-card h2{font-size:23px;line-height:1.45;margin:12px 0 24px}.option{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);padding:14px;border-radius:10px;margin:9px 0;background:#fff;cursor:pointer}.option:has(input:checked){border-color:var(--blue);background:#f5f7ff}.option input{margin-top:4px}.option.correct{border-color:#1d9c62;background:#f0fbf5}.option.incorrect{border-color:var(--red);background:#fff4f2}.option-review{display:block;font-size:12px;color:var(--muted);margin-top:5px}.answer-panel{margin-top:20px;border-top:1px solid var(--line);padding-top:20px}.evidence-card{background:var(--paper);border-left:4px solid var(--blue);padding:14px;margin:10px 0;font-size:13px}.question-actions{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.progress{height:6px;background:var(--line);border-radius:8px;overflow:hidden}.progress span{display:block;height:100%;background:var(--lime-dark)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}.section-heading h1{font-size:52px}.button-row{display:flex;gap:8px}.notice{padding:15px;border-radius:9px;margin:16px 0}.notice.warning{background:var(--amber);border:1px solid #dec75f}.notice.error{background:#fff0ee;border:1px solid #e6a49e;color:#8a211b}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.metric{background:var(--white);border:1px solid var(--line);border-radius:13px;padding:19px}.metric b{display:block;font-size:30px;letter-spacing:-.04em}.metric span{font-size:12px;color:var(--muted)}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{padding:22px}.panel h2{margin-top:0}.list-item{border-top:1px solid var(--line);padding:14px 0}.list-item:first-child{border-top:0}.list-item-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.list-item p{margin:5px 0;color:var(--muted);font-size:13px}.admin-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-top:30px}.admin-tabs button{border:0;background:transparent;border-radius:8px 8px 0 0}.admin-tabs button.active{background:var(--white);font-weight:700}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;margin-top:15px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:11px 13px;border-bottom:1px solid #ecece5;white-space:nowrap}th{background:#fafaf5;color:var(--muted);position:sticky;top:0}.bar-cell{min-width:160px}.mini-bar{height:7px;background:#eee;border-radius:8px;overflow:hidden}.mini-bar span{height:100%;background:var(--blue);display:block}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#aaa;margin-right:6px}.status-dot.completed,.status-dot.recruitment_available{background:#19a364}.status-dot.failed,.status-dot.quarantined,.status-dot.source_invalid{background:var(--red)}.status-dot.running{background:var(--blue)}dialog{border:0;border-radius:16px;padding:0;box-shadow:0 30px 100px #0004;width:min(620px,90vw)}dialog::backdrop{background:#1118;backdrop-filter:blur(4px)}#modal-form{padding:28px;position:relative}.dialog-close{position:absolute;right:15px;top:15px;border:0;font-size:24px;padding:2px 10px}.dialog-fields{display:grid;gap:14px}.dialog-fields label{display:grid;gap:6px;font-size:13px;font-weight:700}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;border-radius:9px;padding:11px 18px;z-index:100;box-shadow:var(--shadow)}.candidate-shell{max-width:900px;margin:55px auto}.candidate-header{text-align:center;margin-bottom:30px}.candidate-header h1{font-size:48px;letter-spacing:-.04em}.timer{position:sticky;top:82px;margin-left:auto;background:var(--ink);color:#fff;padding:9px 14px;border-radius:8px;width:max-content;z-index:5}.empty{color:var(--muted);padding:24px;text-align:center}.score-ring{width:140px;height:140px;border-radius:50%;display:grid;place-items:center;margin:20px auto;background:conic-gradient(var(--lime-dark) calc(var(--score)*1%),#eee 0);position:relative}.score-ring:after{content:"";position:absolute;inset:12px;background:white;border-radius:50%}.score-ring b{z-index:1;font-size:38px}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.result-grid div{padding:15px;background:var(--paper);border-radius:9px;text-align:center}@media(max-width:900px){.auth-layout{grid-template-columns:1fr;padding:60px 0}.auth-copy h1{font-size:48px}.auth-card{margin-bottom:40px}.metric-grid{grid-template-columns:1fr 1fr}.two-column{grid-template-columns:1fr}.setup-panel{grid-template-columns:1fr}.topbar nav{margin-left:15px}.section-heading{align-items:start;gap:18px;flex-direction:column}.button-row{flex-wrap:wrap}}@media(max-width:560px){main{padding-left:18px;padding-right:18px}.topbar{padding:0 18px}.topbar nav button{padding:8px}.brand{font-size:0}.brand span{font-size:18px}.trust-grid{gap:17px}.metric-grid{grid-template-columns:1fr 1fr}.question-card{padding:20px}.result-grid{grid-template-columns:1fr}.account span{display:none}}
[class="framework-research-panel"]{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:16px}.framework-research-panel>div{max-width:850px}.framework-research-panel h2{margin:2px 0 8px}.framework-research-panel p{margin:0}@media(max-width:760px){.framework-research-panel{align-items:stretch;flex-direction:column}}
