:root{--ink:#13233f;--muted:#68758b;--navy:#102e62;--blue:#2f6fed;--teal:#159783;--teal-soft:#e5f7f2;--orange:#e57b3a;--orange-soft:#fff0e5;--red:#c83d4b;--paper:#f3f6fb;--line:#d8e1ee;--white:#fff;--shadow:0 12px 34px rgba(25,48,84,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Microsoft JhengHei","Noto Sans TC",Arial,sans-serif;line-height:1.55}.topbar{height:58px;padding:0 3vw;background:#102541;color:white;display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:20}.topbar strong{font-size:17px}.product-mark{font-size:10px;letter-spacing:.15em;background:#38c8b3;color:#082c35;border-radius:99px;padding:5px 8px;font-weight:900;margin-right:10px}.subtitle{font-size:12px;color:#b9c9e1;margin-left:10px}main{max-width:1680px;margin:auto;padding:22px}.hero{background:linear-gradient(130deg,#102e62,#155084 68%,#168d83);color:white;border-radius:22px;padding:34px 42px;display:grid;grid-template-columns:1fr 1.25fr;gap:40px;align-items:center;box-shadow:var(--shadow)}.eyebrow{color:#45d8c3;letter-spacing:.14em;font-size:11px;font-weight:900;margin:0 0 7px}.hero h1{font-size:38px;line-height:1.2;margin:0 0 12px}.hero p{margin:0;color:#d8e7f7}.flow{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);padding:0;margin:0;gap:7px}.flow li{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:13px;padding:12px 9px;text-align:center;min-height:102px;display:flex;flex-direction:column;align-items:center;justify-content:center}.flow b{width:27px;height:27px;border-radius:50%;background:#58d7c4;color:#0d3f49;display:grid;place-items:center}.flow span{font-size:12px;margin-top:8px}.panel{background:white;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.controls{margin:16px 0;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:22px}.control-group,.document-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.controls label{font-size:12px;color:var(--muted)}button,.upload{border:1px solid #b9c8dd;background:#f8faff;color:#17385f;border-radius:10px;padding:9px 13px;font-weight:800;cursor:pointer;font-family:inherit}button:hover,.upload:hover{border-color:var(--blue);color:var(--blue)}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--blue);border-color:var(--blue);color:white}.primary:hover{color:white;background:#1f5cd1}.upload input{display:none}select,input,textarea{border:1px solid #b9c8dd;border-radius:9px;padding:8px;background:white;color:var(--ink);font-family:inherit}.document-line input{width:74px}.status{font-size:12px;color:var(--muted);margin:0;max-width:470px}.workspace{display:grid;grid-template-columns:1.05fr 1fr .72fr;gap:16px;align-items:start}.document-panel,.run-panel,.copilot-panel{padding:20px;min-height:680px}.section-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.section-head h2{font-size:21px;margin:0 0 13px}.badge{display:inline-flex;align-items:center;border-radius:99px;background:var(--teal-soft);color:#106858;padding:5px 9px;font-size:11px;font-weight:900}.badge.neutral{background:#edf1f7;color:#58677c}.badge.warn{background:#fff2d6;color:#8a5b0d}.badge.bad{background:#ffe4e7;color:#8b2934}.page-canvas{position:relative;min-height:560px;border-radius:12px;background:#e9eef6;overflow:auto;display:flex;align-items:flex-start;justify-content:center}.page-canvas img{display:block;width:100%;height:auto}.overlay{position:absolute;--overlay-tag:var(--teal);border:2px solid var(--teal);background:rgba(21,151,131,.09);border-radius:4px;cursor:pointer}.overlay.tool{--overlay-tag:var(--orange);border-color:var(--orange);background:rgba(229,123,58,.1)}.overlay span{position:absolute;top:-20px;left:-2px;background:var(--overlay-tag);color:white;border-radius:4px 4px 0 0;padding:2px 5px;font-size:9px;opacity:0;transition:opacity .12s ease;pointer-events:none;white-space:nowrap;z-index:5}
.overlay:hover span,.overlay:focus-visible span,.overlay.selected span{opacity:1}
.overlay:hover,.overlay:focus-visible{background:rgba(21,151,131,.18);z-index:4}
.overlay.tool:hover,.overlay.tool:focus-visible{background:rgba(229,123,58,.2)}
.overlay.needs-review{border-style:dashed;box-shadow:0 0 0 2px rgba(229,123,58,.25)}.hint{font-size:11px;color:var(--muted)}.empty{color:#8290a5;text-align:center;padding:80px 20px;margin:auto}.empty.compact{padding:35px 10px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:13px}.metrics>div{background:#f4f7fb;border-radius:11px;padding:10px}.metrics span{display:block;color:var(--muted);font-size:10px}.metrics b{font-size:20px}.blocks{display:flex;flex-direction:column;gap:10px;max-height:505px;overflow:auto;padding-right:3px}.block-card{border:1px solid var(--line);border-left:5px solid #9eabc0;border-radius:11px;padding:11px}.block-card.tool{border-left-color:var(--orange)}.block-card.approved{border-left-color:var(--teal);background:#f6fffc}.block-card.rejected{border-left-color:var(--red);opacity:.72}.block-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.block-title strong{font-size:13px}.block-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.text-box{background:#f5f7fb;border-radius:7px;padding:8px;white-space:pre-wrap;min-height:55px;font-size:11px;overflow-wrap:anywhere}.text-box.tool{background:var(--orange-soft)}.block-card textarea{width:100%;resize:vertical;font-size:12px}.block-actions{display:flex;gap:6px;margin-top:7px}.block-actions button{padding:5px 8px;font-size:11px}.review-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.release-box{margin-top:10px;background:var(--teal-soft);border-radius:9px;padding:10px;font-size:12px}.hidden{display:none}.policy-card{background:#f4f7fb;border-radius:12px;padding:12px;margin-bottom:12px;font-size:11px}.policy-card dl{display:grid;grid-template-columns:88px 1fr;margin:0}.policy-card dt{color:var(--muted)}.policy-card dd{margin:0;font-weight:700}.copilot-panel textarea{width:100%;resize:vertical;margin:6px 0 8px}.copilot-panel>button{width:100%}.examples{display:flex;flex-direction:column;gap:6px;margin:12px 0}.examples span{font-size:11px;color:var(--muted)}.examples button{text-align:left;font-size:10px;padding:7px;font-weight:600}details{border-top:1px solid var(--line);padding-top:10px}summary{cursor:pointer;font-size:12px;font-weight:800}pre{white-space:pre-wrap;max-height:260px;overflow:auto;background:#102541;color:#d7e4f4;padding:10px;border-radius:8px;font-size:9px}.guardrails{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.guardrails div{background:white;border:1px solid var(--line);border-radius:14px;padding:15px}.guardrails b{display:block;color:var(--teal);font-size:16px}.guardrails span{font-size:11px;color:var(--muted)}
.evidence-banner{font-size:11px;padding:9px 11px;border-radius:9px;background:#fff3df;border:1px solid #efc783;color:#774d0c;margin-bottom:7px}.eval-note{font-size:9px;color:var(--muted);margin:0 0 8px}
.studio{margin:16px 0;padding:22px}.studio-head{align-items:center}.studio-head h2{margin-bottom:4px}.studio-head p:not(.eyebrow){font-size:12px;color:var(--muted);margin:0}.studio-toolbar{display:grid;grid-template-columns:260px 1fr minmax(420px,1.4fr);gap:12px;align-items:start;background:#f5f8fc;border:1px solid var(--line);border-radius:13px;padding:12px;margin:12px 0}.studio-toolbar label{font-size:11px;color:var(--muted)}.studio-toolbar select{display:block;width:100%;margin-top:4px}.studio-stats{font-size:12px;color:var(--muted);padding:8px 10px;background:white;border-radius:9px;min-height:40px}.skill-editor{border:0;padding:0}.skill-form{display:grid;grid-template-columns:1fr 90px 110px;gap:8px;margin-top:8px}.skill-form label{display:flex;flex-direction:column}.skill-form input,.skill-form textarea{width:100%;margin-top:3px}.skill-form .wide{grid-column:1/-1}.skill-form button{justify-self:start}.studio-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:14px}.studio-card{border:1px solid var(--line);border-radius:14px;padding:16px;min-width:0}.studio-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.studio-card-title b{display:block;font-size:16px}.studio-card-title span{display:block;font-size:10px;color:var(--muted)}.qa-card>textarea{width:100%;resize:vertical;margin:5px 0 8px}.studio-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.studio-actions .rag-example{font-size:10px;padding:6px 8px}.studio-actions .primary{margin-left:auto}.answer-panel{margin-top:12px;padding:14px;border-radius:11px;background:#eef5ff;border-left:5px solid var(--blue);white-space:pre-wrap;font-size:14px}.answer-panel.warning{background:#fff4df;border-left-color:#e29a26}.empty-state{color:#8390a4;text-align:center;padding:22px}.citation-list{display:flex;flex-direction:column;gap:7px;margin:10px 0}.citation{border:1px solid #b8d8cf;background:#f1fcf8;border-radius:9px;padding:9px}.citation b{font-size:11px;color:#0f7463}.citation span{font-size:10px;color:var(--muted);margin-left:7px}.citation p{font-size:11px;margin:5px 0 0;white-space:pre-wrap}.test-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.test-controls label{font-size:10px;color:var(--muted)}.test-controls input{width:55px}.test-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;background:#f4f7fb;border-radius:10px;padding:10px;margin-bottom:10px;font-size:11px}.test-summary b{font-size:17px;display:block}.testcase-list{display:flex;flex-direction:column;gap:8px;max-height:520px;overflow:auto}.testcase{border:1px solid var(--line);border-radius:10px;padding:10px}.testcase.pass{border-left:5px solid var(--teal);background:#f4fdf9}.testcase.fail{border-left:5px solid var(--red);background:#fff7f8}.testcase-head{display:flex;justify-content:space-between;gap:8px;font-size:11px}.testcase textarea{width:100%;resize:vertical;margin-top:5px;font-size:11px}.testcase-meta{font-size:10px;color:var(--muted);margin-top:5px}.testcase-result{font-size:11px;margin-top:7px;padding:7px;background:#f4f7fb;border-radius:7px;white-space:pre-wrap}
.skill-lab-controls{display:grid;grid-template-columns:150px 180px 160px minmax(190px,1fr) minmax(260px,1.2fr);gap:10px;align-items:start;background:#f5f8fc;border:1px solid var(--line);border-radius:13px;padding:14px;margin:12px 0}.skill-lab-controls label{font-size:11px;color:var(--muted)}.skill-lab-controls select,.skill-lab-controls input{display:block;width:100%;margin-top:4px}.profile-picker{grid-row:span 2}.skill-lab-actions{grid-column:1/5;display:flex;align-items:end;gap:10px}.skill-lab-actions label{min-width:280px}.skill-eval-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:12px}.skill-eval-card{border:1px solid var(--line);border-left:5px solid var(--teal);border-radius:12px;padding:13px;min-width:0}.skill-eval-card.invalid{border-left-color:var(--red)}.skill-eval-card h3{font-size:14px;margin:0;overflow-wrap:anywhere}.skill-eval-meta{font-size:10px;color:var(--muted);margin:4px 0 8px}.skill-eval-card pre{max-height:220px;font-size:10px}.skill-eval-review{display:grid;grid-template-columns:90px 1fr;gap:7px;margin-top:9px}.skill-eval-review textarea{grid-column:1/-1;width:100%;resize:vertical}.skill-eval-review button{justify-self:start}
@media(max-width:1200px){.workspace{grid-template-columns:1fr 1fr}.copilot-panel{grid-column:1/-1}.hero{grid-template-columns:1fr}.controls{align-items:flex-start;flex-direction:column}.status{max-width:none}}
@media(max-width:1200px){.studio-grid{grid-template-columns:1fr}.studio-toolbar{grid-template-columns:1fr 1fr}.skill-editor{grid-column:1/-1}.skill-lab-controls{grid-template-columns:1fr 1fr}.profile-picker{grid-row:auto}.skill-lab-actions{grid-column:1/-1}}
@media(max-width:760px){main{padding:10px}.topbar .subtitle{display:none}.hero{padding:25px}.hero h1{font-size:28px}.flow{grid-template-columns:repeat(3,1fr)}.workspace{grid-template-columns:1fr}.copilot-panel{grid-column:auto}.metrics,.guardrails{grid-template-columns:1fr 1fr}.block-grid{grid-template-columns:1fr}.studio-toolbar{grid-template-columns:1fr}.skill-editor{grid-column:auto}.skill-form{grid-template-columns:1fr}.skill-form .wide{grid-column:auto}.studio-card-title{flex-direction:column}.test-summary{grid-template-columns:1fr 1fr}}
.studio-only-mode .hero,.studio-only-mode .controls,.studio-only-mode .workspace,.studio-only-mode .guardrails{display:none}.studio-only-mode main{padding-top:22px}.studio-only-mode .studio{margin-top:0}
.batch-lab{min-width:390px;max-width:600px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#f5f8fc}.batch-lab-head,.batch-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.batch-lab-head strong{font-size:13px}.batch-review-count{font-size:11px;color:var(--muted);font-weight:800}.pending-review-button{border:0;background:transparent;border-radius:7px;padding:3px 6px}.pending-review-button.has-pending{background:#fff2d6;color:#8a5b0d;text-decoration:underline;text-underline-offset:2px}.pending-review-button.has-pending:hover{border:0;background:#ffe5ad;color:#6f4705}.pending-review-button:disabled{opacity:1;cursor:default;text-decoration:none}.batch-actions{margin-top:8px}.batch-actions button{padding:6px 9px;font-size:11px}.batch-progress{margin:7px 0 0;color:var(--muted);font-size:11px;overflow-wrap:anywhere}@media(max-width:980px){.batch-lab{min-width:0;max-width:none;width:100%}}
.reviewer-hero{padding:26px 34px}.reviewer-hero h1{font-size:32px}.reviewer-controls{display:grid;grid-template-columns:auto auto 1fr;align-items:start}.reviewer-controls .status{grid-column:1/-1;max-width:none}.reviewer-workspace{display:grid;grid-template-columns:minmax(220px,.58fr) minmax(520px,1.55fr) minmax(300px,.82fr);gap:14px;align-items:start}.reviewer-column{padding:17px;height:calc(100vh - 92px);min-height:680px;position:sticky;top:74px;overflow:auto}.page-rail,.issue-column{scrollbar-width:thin}.queue-filters{display:flex;gap:5px;margin:7px 0 12px}.queue-filters button{padding:6px 8px;font-size:10px}.queue-filters button.active{background:var(--navy);border-color:var(--navy);color:white}.page-queue{display:flex;flex-direction:column;gap:7px}.page-row{display:grid;grid-template-columns:1fr auto;text-align:left;gap:2px 8px;padding:10px;width:100%;background:white}.page-row b{font-size:13px}.page-row span{font-size:10px;color:var(--muted)}.page-row small{grid-column:1/-1;color:#8490a2;font-size:9px}.page-row.active{border-color:var(--blue);background:#eef4ff;box-shadow:inset 4px 0 var(--blue)}.viewer-head{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;margin-bottom:12px}.viewer-head h2{font-size:19px;margin:0}.viewer-head>button{font-size:18px;padding:6px 11px}.viewer-column .page-canvas{min-height:620px;max-height:calc(100vh - 220px)}.page-image-wrap{position:relative;width:100%;touch-action:none}.overlay.selected{--overlay-tag:var(--blue);outline:4px solid rgba(47,111,237,.3);border-color:var(--blue);z-index:3}.draft-overlay{position:absolute;border:3px dashed var(--red);background:rgba(200,61,75,.1);pointer-events:none;z-index:4}.issue-column label{display:block;font-size:11px;color:var(--muted);margin:10px 0}.issue-column select,.issue-column input,.issue-column textarea{display:block;width:100%;margin-top:4px}.selected-block-detail{background:#f5f8fc;border:1px solid var(--line);border-radius:11px;padding:12px;min-height:95px}.selected-block-detail p{font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0}.selected-block-detail details{margin-top:8px}.bbox-readout{font-family:Consolas,monospace;font-size:10px;color:var(--muted);overflow-wrap:anywhere}.issue-column>#saveIssueBtn{width:100%}.page-issues{display:flex;flex-direction:column;gap:6px;margin:13px 0}.issue-card{border:1px solid var(--line);border-left:4px solid var(--orange);border-radius:8px;padding:8px}.issue-card strong{font-size:10px}.issue-card p{font-size:10px;margin:3px 0}.policy-details{margin-top:18px}.policy-details textarea{width:100%}.policy-details>button{width:100%}
@media(max-width:1200px){.reviewer-controls{grid-template-columns:1fr}.reviewer-controls .status{grid-column:auto}.reviewer-workspace{grid-template-columns:220px 1fr}.issue-column{grid-column:1/-1;height:auto;position:static}.reviewer-column{position:static;height:auto}.viewer-column .page-canvas{max-height:none}}
@media(max-width:760px){.reviewer-workspace{grid-template-columns:1fr}.reviewer-column{min-height:0}.page-rail{max-height:360px}.viewer-head{grid-template-columns:auto 1fr auto}.viewer-head .badge{grid-column:1/-1}.viewer-column .page-canvas{min-height:440px}}

/* ── P1-4 IDE-style reviewer: collapsible rail | PDF+bbox | OCR output + tuner ── */
.reviewer-workspace{grid-template-columns:220px minmax(460px,1.4fr) minmax(360px,1.05fr);position:relative;transition:grid-template-columns .22s ease}
.reviewer-workspace.rail-collapsed{grid-template-columns:0 minmax(460px,1.35fr) minmax(360px,1.05fr)}
.reviewer-workspace.rail-collapsed .page-rail{opacity:0;min-width:0;padding-left:0;padding-right:0;overflow:hidden;pointer-events:none}
.page-rail{transition:opacity .18s ease}
.rail-head{display:flex;align-items:center;justify-content:space-between}
.rail-toggle{position:absolute;left:220px;top:8px;z-index:6;width:22px;height:44px;padding:0;display:grid;place-items:center;border-radius:0 8px 8px 0;background:var(--navy);border-color:var(--navy);color:white;font-size:15px;line-height:1;transform:translateX(-11px)}
.rail-toggle:hover{background:#164a99;color:white}
.reviewer-workspace.rail-collapsed .rail-toggle{left:0;transform:translateX(0);border-radius:0 8px 8px 0}
.reviewer-workspace.rail-collapsed .rail-toggle::before{content:''}
.output-column{padding:0;display:flex;flex-direction:column;overflow:hidden}
.ide-tabs{display:flex;gap:0;border-bottom:1px solid var(--line);background:#f5f8fc;border-radius:18px 18px 0 0;flex-shrink:0}
.ide-tab{border:none;background:transparent;border-radius:0;border-bottom:2px solid transparent;padding:12px 15px;font-size:12px;font-weight:800;color:var(--muted);cursor:pointer}
.ide-tab:hover{color:var(--blue);border-color:transparent}
.ide-tab.active{color:var(--navy);border-bottom-color:var(--blue);background:white}
.ide-pane{padding:16px 18px;overflow:auto;flex:1;min-height:0}
.ide-pane[hidden]{display:none}
.output-body{display:flex;flex-direction:column;gap:12px}
.output-field{background:#f5f8fc;border:1px solid var(--line);border-radius:10px;padding:11px 13px}
.output-field .k{font-family:Consolas,monospace;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:800;margin-bottom:6px}
.output-field pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;font-family:Consolas,"Microsoft JhengHei",monospace;line-height:1.5;max-height:280px;overflow:auto}
.output-meta{display:flex;flex-wrap:wrap;gap:6px}
.output-meta .chip{font-family:Consolas,monospace;font-size:10px;font-weight:800;padding:3px 8px;border-radius:99px;background:#edf1f7;color:#58677c}
.output-meta .chip.good{background:var(--teal-soft);color:#106858}
.output-meta .chip.warn{background:#fff2d6;color:#8a5b0d}
.output-meta .chip.bad{background:#ffe4e7;color:#8b2934}
.document-memory-panel{margin-top:14px;border-top:1px solid var(--line);padding-top:14px}
.document-memory-body{display:flex;flex-direction:column;gap:9px}
.memory-section-card{background:#f5f8fc;border:1px solid var(--line);border-radius:10px;padding:11px}
.memory-section-details{padding:0;border-top:1px solid var(--line)}
.memory-section-details>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px}
.memory-section-details>summary::-webkit-details-marker{display:none}
.memory-section-details>summary::after{content:"＋";flex:0 0 auto;color:var(--blue);font-size:14px}
.memory-section-details[open]{padding-bottom:9px}
.memory-section-details[open]>summary{border-bottom:1px solid var(--line);margin-bottom:8px}
.memory-section-details[open]>summary::after{content:"−"}
.memory-section-summary-title{min-width:0;font-size:12px;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.memory-section-summary-meta{flex:0 0 auto;font-size:9px;color:var(--muted);font-weight:800}
.memory-source{font-family:Consolas,monospace;font-size:10px;color:var(--muted);margin:0 12px 8px}
.memory-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:8px 0}
.memory-section-details .memory-summary-grid{margin:8px 12px 0}
.memory-summary-grid div{background:white;border:1px solid var(--line);border-radius:8px;padding:8px;min-width:0}
.memory-summary-grid span{display:block;font-size:10px;color:var(--muted);font-weight:800}
.memory-summary-grid b{display:block;max-height:4.4em;overflow:auto;font-size:12px;color:var(--navy);overflow-wrap:anywhere}
.memory-object-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.document-graph-summary,.document-graph-relations{margin-top:9px}
.document-graph-head,.document-graph-validators{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.document-graph-details{margin-top:8px;background:white;border:1px solid var(--line);border-radius:8px;padding:8px 10px;max-height:220px;overflow:auto}
.document-graph-details>summary{font-family:Consolas,monospace;font-size:10px;font-weight:800;color:var(--navy);cursor:pointer}
.document-graph-details[open]>summary{margin-bottom:6px}
.document-graph-details code,.document-graph-unresolved code{display:block;font-family:Consolas,monospace;font-size:10px;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:4px}
.document-graph-unresolved{margin-top:8px;padding:8px 10px;border:1px solid #e9b970;border-radius:8px;background:#fff8e8;color:#765019}
.graph-unresolved-row{display:flex;flex-direction:column;gap:5px;padding:6px 0;border-top:1px dashed #e9c98a}
.graph-unresolved-row:first-child{border-top:none}
.graph-unresolved-row>code{display:block;font-family:Consolas,monospace;font-size:10px;color:#765019}
.graph-unresolved-actions{display:flex;flex-wrap:wrap;gap:5px}
.graph-unresolved-actions button{font-size:10px;padding:4px 8px;border:1px solid #c99b4a;background:#fff;color:#765019;border-radius:6px;cursor:pointer}
.graph-unresolved-actions button:hover:not(:disabled){background:#f4e6c8}
.graph-unresolved-actions button:disabled{opacity:.5;cursor:not-allowed}
.document-memory-facts{margin-top:9px}
.memory-facts-details{border-top:none;padding-top:0;background:#102541;border-radius:8px;padding:8px 10px;max-height:220px;overflow:auto}
.memory-facts-details>summary{font-family:Consolas,monospace;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:#9fb3cc;font-weight:800;list-style:revert}
.memory-facts-details[open]>summary{margin-bottom:6px}
.memory-facts-details code{display:block;font-family:Consolas,monospace;font-size:10px;white-space:pre-wrap;overflow-wrap:anywhere;color:#d7e4f4;margin-top:3px}
/* Keep the block review actions in view while scrolling the OCR output pane. */
.review-actions{position:sticky;top:0;z-index:6;background:white;padding:6px 0;border-bottom:1px solid var(--line)}
.tuner-hint{font-size:11px;color:var(--muted);margin:2px 0 12px}
.structured-query{margin:8px 0;background:#102541;border-radius:8px;padding:9px 11px}
.structured-query .k{font-family:Consolas,monospace;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#9fb3cc;font-weight:800;margin-bottom:5px}
.structured-query code{display:block;font-family:Consolas,monospace;font-size:11px;color:#8fd6c4;white-space:pre-wrap;overflow-wrap:anywhere}
.structured-query .structured-unknown{display:block;margin-top:6px;font-size:11px;color:#e9b970}
.governance-panel{margin-top:16px;border-top:1px solid var(--line);padding-top:10px}.governance-panel>summary{font-size:13px;font-weight:800;color:var(--navy)}.gov-section{margin:14px 0;padding:12px;background:#f5f8fc;border:1px solid var(--line);border-radius:12px}.gov-head{display:flex;flex-direction:column;margin-bottom:8px}.gov-head b{font-size:13px}.gov-head span{font-size:10px;color:var(--muted)}.gov-list{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}.gov-card{background:white;border:1px solid var(--line);border-radius:10px;padding:11px}.gov-card-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.gov-card-head b{font-size:12px}.gov-field{display:flex;flex-direction:column;gap:3px;font-size:10px;color:var(--muted);margin-bottom:7px}.gov-field>span{font-weight:700}.gov-field input,.gov-field textarea,.gov-field select{width:100%}.gov-field input[type=checkbox]{width:auto}.gov-meta{font-size:10px;color:var(--muted);margin:0 0 8px;overflow-wrap:anywhere}.gov-actions{display:flex;gap:6px;margin-top:6px}.gov-actions button{font-size:11px;padding:6px 9px}.gov-new-kind{display:flex;gap:6px}.gov-new-kind input{flex:1}
.output-column .skill-lab-controls{grid-template-columns:1fr 1fr;gap:9px}
.output-column .skill-lab-controls .profile-picker,.output-column .skill-lab-actions{grid-column:1/-1}
.output-column .skill-eval-results{margin-top:12px}
@media(max-width:1200px){.reviewer-workspace{grid-template-columns:200px 1fr}.reviewer-workspace.rail-collapsed{grid-template-columns:0 1fr}.output-column{grid-column:1/-1;height:auto;position:static;max-height:none}.rail-toggle{left:198px}.reviewer-workspace.rail-collapsed .rail-toggle{left:0}}
@media(max-width:760px){.reviewer-workspace,.reviewer-workspace.rail-collapsed{grid-template-columns:1fr}.rail-toggle{display:none}.output-column{grid-column:auto}.output-column .skill-lab-controls{grid-template-columns:1fr}}
.output-field.evidence-json summary{font-size:11px;font-weight:800;color:var(--muted);cursor:pointer}
.output-field.evidence-json pre{margin-top:8px}

/* ── Human-readable structured output: left-to-right parent → child trees ── */
.output-metadata-card{border:1px solid #cbdcf8;background:#eef5ff;border-radius:11px;padding:11px 12px}
.output-metadata-heading{font-size:11px;font-weight:900;color:var(--navy);margin-bottom:8px}
.output-metadata-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}
.output-metadata-grid>div{min-width:0;background:white;border:1px solid #dce7f7;border-radius:8px;padding:7px 8px}
.output-metadata-grid dt{font-size:9px;color:var(--muted);font-weight:800}
.output-metadata-grid dd{margin:2px 0 0;font-size:11px;color:var(--ink);font-weight:800;overflow-wrap:anywhere}
.structured-artifact{background:#f8fbff}
.structure-hint{font-size:10px;color:var(--muted);margin:0 0 8px}
.horizontal-tree-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding:6px 3px 12px;scrollbar-width:thin}
.horizontal-tree{display:flex;flex-direction:column;gap:12px;min-width:max-content;padding:3px}
.horizontal-tree-branch{display:flex;align-items:center;position:relative;min-width:max-content}
.horizontal-tree-node{position:relative;width:150px;max-width:190px;min-height:58px;display:flex;flex-direction:column;justify-content:center;background:white;border:1px solid #b9cae2;border-left:5px solid var(--blue);border-radius:10px;padding:9px 10px;box-shadow:0 5px 13px rgba(27,66,118,.07)}
.horizontal-tree-node .tree-node-key{display:block;font-size:9px;line-height:1.25;color:var(--muted);font-weight:900;overflow-wrap:anywhere}
.horizontal-tree-node .tree-node-value{display:block;margin-top:3px;font-size:11px;line-height:1.35;color:var(--navy);overflow-wrap:anywhere}
.horizontal-tree-node>small{font-size:9px;color:var(--teal);font-weight:800;margin-top:4px}
.horizontal-tree-branch.has-children>.horizontal-tree-node::after{content:"";position:absolute;width:12px;height:1px;background:#9db1cd;right:-12px;top:50%}
.tree-link-label{position:relative;margin:0 12px;padding:2px 5px;border-radius:99px;background:#edf3fc;color:#55708f;font-size:8px;font-weight:900;white-space:nowrap}
.tree-link-label::after{content:"";position:absolute;width:12px;height:1px;background:#9db1cd;right:-12px;top:50%}
.horizontal-tree-children{display:flex;flex-direction:column;gap:10px;position:relative;padding-left:22px}
.horizontal-tree-children::before{content:"";position:absolute;left:0;top:20px;bottom:20px;width:1px;background:#9db1cd}
.horizontal-tree-children>.horizontal-tree-branch::before{content:"";position:absolute;left:-22px;top:50%;width:22px;height:1px;background:#9db1cd}
.tree-cycle-warning{font-size:9px;color:var(--red);margin-left:10px}
.structured-raw{margin-top:8px;border-top:1px dashed var(--line);padding-top:7px}
.structured-raw>summary{font-size:10px;color:var(--muted)}
.structured-raw pre{margin:7px 0 0;max-height:220px}
.ocr-plain-text{background:white;border:1px solid var(--line);padding:10px 12px;border-radius:10px}
.ocr-plain-text>summary{font-size:11px;color:var(--muted);list-style-position:inside}
.ocr-plain-text[open]>summary{color:var(--navy);margin-bottom:8px}
.ocr-plain-text pre{margin:0;max-height:220px;font-size:10px}
.structure-section-heading{display:flex;flex-direction:column;gap:1px;margin:11px 0 7px}
.structure-section-heading b{font-size:12px;color:var(--navy)}
.structure-section-heading span{font-size:9px;color:var(--muted)}
.document-hierarchy-scroll{border:1px solid var(--line);background:linear-gradient(90deg,#f8fbff,#fff);border-radius:10px;padding:12px}
.graph-tree-node{width:178px;max-width:210px;border-left-color:var(--teal)}
.graph-tree-node.root{background:#102e62;border-color:#102e62;color:white}
.graph-tree-node.root .tree-node-key,.graph-tree-node.root>code{color:#b9cbe2}
.graph-tree-node.root .tree-node-value{color:white}
.graph-tree-node>code{font:8px/1.35 Consolas,monospace;color:#70829a;overflow-wrap:anywhere;margin-top:4px}
.graph-node-metadata{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.graph-node-metadata span{font-size:8px;background:#eef4fb;color:#55708f;border-radius:99px;padding:2px 5px;overflow-wrap:anywhere}
.graph-tree-node.root .graph-node-metadata span{background:rgba(255,255,255,.13);color:#dce7f5}
.graph-node-attributes{display:grid;gap:3px;margin:7px 0 0;padding-top:6px;border-top:1px dashed #d4deeb}
.graph-node-attributes>div{display:grid;grid-template-columns:minmax(46px,.7fr) minmax(0,1fr);gap:5px}
.graph-node-attributes dt{font-size:8px;color:var(--muted);overflow-wrap:anywhere}
.graph-node-attributes dd{font-size:9px;font-weight:800;margin:0;overflow-wrap:anywhere}
.graph-relation-list{display:flex;flex-direction:column;gap:7px}
.graph-relation-card{display:grid;grid-template-columns:minmax(90px,1fr) 76px minmax(90px,1fr);align-items:center;gap:6px;border:1px solid var(--line);background:#f8fbff;border-radius:9px;padding:8px 9px}
.graph-relation-card>strong{font-size:10px;color:var(--navy);overflow-wrap:anywhere}
.graph-relation-arrow{display:flex;flex-direction:column;align-items:center;color:var(--teal)}
.graph-relation-arrow span{font-size:8px;font-weight:900;text-align:center}
.graph-relation-arrow b{font-size:18px;line-height:1}
.graph-relation-card>small{grid-column:1/-1;font:8px/1.35 Consolas,monospace;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:520px){.output-metadata-grid{grid-template-columns:1fr}.graph-relation-card{grid-template-columns:minmax(70px,1fr) 64px minmax(70px,1fr)}}

/* ── Operator-first reviewer: one primary batch action, contextual tools ── */
.topbar-actions{display:flex;align-items:center;gap:8px}.view-link{color:#c8d7ea;text-decoration:none;border-radius:8px;padding:6px 9px;font-size:11px;font-weight:800}.view-link:hover{background:rgba(255,255,255,.1);color:white}.reviewer-only-mode #reviewerViewLink,.studio-only-mode #studioViewLink{background:rgba(255,255,255,.14);color:white}.reviewer-only-mode .reviewer-hero,.reviewer-only-mode .studio,.reviewer-only-mode .guardrails{display:none}
.reviewer-only-mode main{padding-top:12px}.reviewer-controls{grid-template-columns:minmax(360px,1fr) minmax(420px,1.1fr);gap:14px;align-items:center}.document-controls{display:flex;align-items:center;gap:12px;min-width:0}.document-line{flex:1;min-width:220px}.document-line label{display:flex;align-items:center;gap:8px;width:100%}.document-line select{width:100%;min-width:180px}.reviewer-controls .status{grid-column:1/-1;padding-top:2px}
.batch-lab{min-width:0;max-width:none;display:grid;grid-template-columns:1fr auto;gap:7px 12px;align-items:center}.batch-lab-head{grid-column:1/-1}.batch-progress{grid-column:1;margin:0}.batch-actions{grid-column:2;grid-row:2;position:relative;margin:0;flex-wrap:nowrap}.batch-advanced{position:relative;border:0;padding:0}.batch-advanced>summary{list-style:none;border:1px solid #b9c8dd;background:#f8faff;color:#17385f;border-radius:10px;padding:7px 10px;font-size:11px}.batch-advanced>summary::-webkit-details-marker{display:none}.batch-advanced-menu{position:absolute;right:0;top:calc(100% + 7px);z-index:30;width:250px;padding:10px;background:white;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:7px}.batch-advanced-menu button{text-align:left;font-size:11px;padding:7px 9px}.batch-technical-details{margin:3px 0 0;padding-top:7px;border-top:1px solid var(--line);font:9px/1.45 Consolas,monospace;color:var(--muted);overflow-wrap:anywhere}
.viewer-head{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;position:relative;padding-right:36px}.viewer-head>div:first-of-type{flex:1;min-width:120px}.page-actions{position:absolute;right:0;top:0;border:0;padding:0}.page-actions>summary{list-style:none;border:1px solid #b9c8dd;border-radius:9px;padding:5px 10px;cursor:pointer;font-weight:900}.page-actions>summary::-webkit-details-marker{display:none}.page-actions>button{position:absolute;right:0;top:calc(100% + 6px);z-index:12;width:150px;background:white;box-shadow:var(--shadow);font-size:11px}.review-actions[hidden]{display:none!important}
.output-context-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);background:#f5f8fc;border-radius:18px 18px 0 0;flex-shrink:0}.output-context-bar>strong{font-size:12px;color:var(--navy)}.output-context-bar>div{display:flex;gap:5px}.output-context-bar button{font-size:10px;padding:6px 8px}.pane-back{border:0;background:transparent;padding:0 0 10px;color:var(--blue);font-size:11px}.tuner-context{display:flex;flex-direction:column;gap:4px;padding:11px 12px;background:#eef5ff;border:1px solid #cbdcf8;border-radius:10px}.tuner-context strong{font-size:12px}.tuner-context span{font:10px/1.4 Consolas,monospace;color:var(--muted);overflow-wrap:anywhere}.compact-actions{display:flex;margin:10px 0;gap:8px;align-items:end}.compact-actions label{min-width:0;flex:1;font-size:10px;color:var(--muted)}.compact-actions select{display:block;width:100%;margin-top:3px}.skill-eval-advanced{margin:8px 0 12px}.skill-eval-advanced .skill-lab-controls{margin-bottom:0}.output-column .skill-eval-advanced .skill-lab-controls{grid-template-columns:1fr 1fr}.output-column .skill-eval-advanced .profile-picker{grid-column:1/-1}
@media(max-width:1200px){.reviewer-controls{grid-template-columns:1fr}.document-controls{flex-wrap:wrap}.batch-lab{width:100%}}
@media(max-width:760px){.topbar{padding:0 10px}.topbar>div:first-child,.topbar-actions #healthBadge{display:none}.topbar-actions{width:100%;justify-content:center}.reviewer-controls{padding:12px}.document-controls{align-items:stretch}.control-group,.document-line{width:100%}.batch-lab{grid-template-columns:1fr}.batch-progress,.batch-actions{grid-column:1;grid-row:auto}.batch-actions{justify-content:space-between}.viewer-head{flex-wrap:wrap}.viewer-head>div:first-of-type{min-width:calc(100% - 150px)}.output-context-bar{align-items:flex-start;flex-direction:column}.output-column .skill-eval-advanced .skill-lab-controls{grid-template-columns:1fr}}
