:root{color:#1c2937;font-synthesis:none;text-rendering:optimizelegibility;--ink:#1c2937;--muted:#64727d;--line:#dbe3e5;--panel:#fff;--soft:#eef3f3;--accent:#176b68;--accent-dark:#0d4e4c;--accent-soft:#dff3f0;--warning:#8b5a13;--warning-soft:#fff3d9;--danger:#a13b3b;--danger-soft:#fde9e7;--shadow:0 18px 48px #24363c14;background:#f3f6f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#edf4f3 0,#f7f8f7 340px);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #176b6852}code{overflow-wrap:anywhere;color:#334f5a}h1,h2,h3,h4,p{margin-top:0}h1{color:#142d31;letter-spacing:-.045em;margin-bottom:18px;font-size:clamp(2rem,5vw,3.7rem);line-height:1.03}h2{color:#19363a;letter-spacing:-.025em;margin-bottom:14px}h3{color:#213e42}.application-frame{min-height:100vh}.app-header{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fafcfbf0;border-bottom:1px solid #1c3f411f;justify-content:space-between;align-items:center;min-height:74px;padding:10px max(24px,50vw - 690px);display:flex;position:sticky;top:0}.brand-button{color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:5px;display:flex}.brand-button span:last-child{gap:2px;display:grid}.brand-button small{color:var(--muted);font-size:.72rem}.brand-mark{color:#fff;background:var(--accent);letter-spacing:.08em;border-radius:12px;place-items:center;width:42px;height:42px;font-size:.76rem;font-weight:800;display:grid}.main-nav{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.main-nav button{color:#536368;background:0 0;border:1px solid #0000;border-radius:10px;padding:9px 14px}.main-nav button:hover,.main-nav .nav-active{color:var(--accent-dark);background:var(--accent-soft);border-color:#c9dedb}.page-shell{width:min(1380px,100% - 48px);margin:0 auto;padding:52px 0 80px}.page-intro{max-width:800px;margin-bottom:34px}.page-intro>p:last-child,.hero-copy{color:var(--muted);font-size:1.08rem;line-height:1.7}.eyebrow{color:var(--accent);letter-spacing:.13em;text-transform:uppercase;margin-bottom:9px;font-size:.74rem;font-weight:800}.panel,.hero-panel,.confirmation-card,.candidate-panel,.review-header{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:20px}.panel{padding:26px}.hero-panel{background:linear-gradient(135deg,#fff 0%,#f4fbf9 100%);grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:38px;margin-bottom:28px;padding:clamp(30px,6vw,68px);display:grid}.hero-panel h1{max-width:780px}.hero-copy{max-width:680px}.hero-metric,.revision-card{min-height:170px;color:var(--accent-dark);background:var(--accent-soft);text-align:center;border:1px solid #cfe3e0;border-radius:18px;align-content:center;place-items:center;display:grid}.hero-metric span,.revision-card span{color:#4b6c6c;letter-spacing:.05em;text-transform:uppercase;font-size:.78rem;font-weight:700}.hero-metric strong,.revision-card strong{font-size:4rem;line-height:1}.button-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button-row.compact button{padding:8px 12px}button{color:#284246;background:#fff;border:1px solid #bccacc;border-radius:10px;padding:10px 15px;font-weight:700}button:hover:not(:disabled){background:#f4f9f8;border-color:#7ca5a3}.primary-button{color:#fff;border-color:var(--accent);background:var(--accent)}.primary-button:hover:not(:disabled){border-color:var(--accent-dark);background:var(--accent-dark)}.danger-button{color:#fff;border-color:var(--danger);background:var(--danger)}.text-danger{color:var(--danger);background:0 0;border:0;margin-top:18px;padding-left:0}.supporting-note,.boundary-note,.empty-copy{color:var(--muted);font-size:.86rem;line-height:1.6}.section-heading,.review-toolbar,.candidate-title,.review-header,.knowledge-intro{justify-content:space-between;align-items:center;gap:18px;display:flex}.section-heading h2,.review-toolbar h2,.candidate-title h3{margin-bottom:0}.workspace-summary{margin-bottom:28px}.metric-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0;display:grid}.metric-grid div{border:1px solid var(--line);background:#fafcfc;border-radius:14px;padding:18px}.metric-grid dt{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:700}.metric-grid dd{color:#173c3e;margin:4px 0 0;font-size:2rem;font-weight:800}.demo-progress ol{gap:10px;margin:20px 0 0;padding:0;list-style:none;display:grid}.demo-progress li{border:1px solid var(--line);border-radius:13px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px;display:grid}.demo-progress li span:nth-child(2){gap:3px;display:grid}.demo-progress small,.candidate-list small,.entity-list small,td small,.insight-list span{color:var(--muted);font-size:.75rem;display:block}.document-order{width:38px;height:38px;color:var(--accent-dark);background:var(--accent-soft);border-radius:11px;place-items:center;font-weight:900;display:grid}.status-chip,.phase-badge{color:#40565a;text-transform:capitalize;background:#edf1f1;border-radius:999px;width:fit-content;padding:5px 9px;font-size:.72rem;font-weight:800;display:inline-flex}.status-applied,.status-accepted,.status-merged,.status-complete{color:#17613f;background:#def3e7}.status-entity_review,.status-relationship_review,.status-pending{color:#2e5780;background:#e4effa}.status-complete_not_applied,.status-blocked{color:var(--warning);background:var(--warning-soft)}.status-rejected{color:#7d4141;background:var(--danger-soft)}.confirmation-card{z-index:50;width:min(540px,100% - 32px);padding:30px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 30px 90px #17272b47}.feedback{z-index:15;width:min(1380px,100% - 48px);box-shadow:var(--shadow);border:1px solid;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:20px;margin:12px auto -20px;padding:14px 18px;display:flex;position:sticky;top:74px}.feedback p{margin:4px 0}.feedback-success,.feedback-info{background:#eaf7f3;border-color:#bddcd4}.feedback-warning{background:var(--warning-soft);border-color:#ead19a}.feedback-error{background:var(--danger-soft);border-color:#edbab5}.centered-state{text-align:center;align-content:center;place-items:center;min-height:100vh;padding:32px;display:grid}.centered-state p{max-width:620px;color:var(--muted)}.loading-indicator{border:4px solid #cde0de;border-top-color:var(--accent);border-radius:50%;width:44px;height:44px;margin-bottom:20px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.busy-overlay{z-index:100;color:#fff;box-shadow:var(--shadow);background:#183f42;border-radius:999px;padding:12px 18px;font-weight:700;position:fixed;bottom:22px;right:22px}.two-column-layout{grid-template-columns:1fr 1fr;align-items:start;gap:22px;display:grid}.document-card{border:1px solid var(--line);background:#f9fcfb;border-radius:15px;grid-template-columns:auto 1fr;align-items:start;gap:14px;padding:18px;display:grid}.document-card .primary-button{grid-column:1/-1}.compact-progress{gap:7px;margin:20px 0 0;padding:0;list-style:none;display:grid}.compact-progress li{border-bottom:1px solid var(--line);justify-content:space-between;padding:9px 0;font-size:.82rem;display:flex}.form-stack{gap:14px;display:grid}.form-stack label,fieldset{color:#3e5558;gap:6px;font-size:.83rem;font-weight:700;display:grid}input,textarea,select{width:100%;color:var(--ink);background:#fff;border:1px solid #bfcacc;border-radius:9px;padding:10px 11px}textarea{resize:vertical;line-height:1.5}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-error{color:var(--danger);margin:0;font-weight:700}.callout{border-radius:11px;padding:13px 15px;line-height:1.55}.warning-callout{color:#6f4b16;background:var(--warning-soft);border:1px solid #edd9ad}.info-callout{color:#24546b;background:#eaf5fa;border:1px solid #c5dfea}.review-header{margin-bottom:24px;padding:24px 28px}.review-header h1{margin-bottom:8px;font-size:2rem}.review-header p{color:var(--muted);margin-bottom:0}.phase-badge{padding:8px 13px;font-size:.78rem}.review-toolbar{margin-bottom:18px;padding:0 4px}.review-layout{grid-template-columns:330px minmax(0,1fr);align-items:start;gap:20px;display:grid}.candidate-list{gap:8px;display:grid;position:sticky;top:100px}.candidate-list button{text-align:left;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;padding:14px;display:grid}.candidate-list button>span:first-child{gap:4px;display:grid}.candidate-list button>small{grid-column:1/-1}.candidate-list .candidate-selected,.entity-list .entity-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 4px 0 0 var(--accent)}.candidate-panel{padding:26px}.candidate-title{border-bottom:1px solid var(--line);padding-bottom:18px}.detail-list{gap:0;margin:20px 0;display:grid}.detail-list div{border-bottom:1px solid #edf0f0;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:10px 0;display:grid}.detail-list dt{color:var(--muted);font-size:.78rem;font-weight:700}.detail-list dd{margin:0}.subpanel{border:1px solid var(--line);background:#fafcfc;border-radius:13px;margin-top:18px;padding:17px}.subpanel h3,.subpanel h4{margin-bottom:12px}blockquote{color:#445d61;border-left:3px solid #a9cfca;margin:10px 0;padding-left:14px;line-height:1.5}blockquote cite{color:var(--muted);margin-top:4px;font-size:.74rem;display:block}.action-row{margin-top:20px}.reviewed-note{color:#315c4a;background:#eaf6ef;border-radius:10px;margin:20px 0 0;padding:14px}.attribute-row{grid-template-columns:1fr 130px 1fr auto;align-items:end;gap:8px;margin-bottom:9px;display:grid}fieldset{border:1px solid var(--line);border-radius:10px;padding:13px}.phase-footer{border:1px solid var(--line);background:#fff;border-radius:15px;justify-content:flex-end;align-items:center;gap:18px;margin-top:20px;padding:18px;display:flex}.phase-footer p{color:var(--muted);margin:0}.completion-panel{text-align:center;max-width:720px;margin:70px auto}.knowledge-intro{max-width:none}.revision-card{width:150px;min-height:120px}.revision-card strong{font-size:2.8rem}.knowledge-metrics{margin:0 0 22px}.type-statistics{grid-template-columns:repeat(5,1fr);gap:10px;margin:0;display:grid}.type-statistics div{background:var(--soft);text-align:center;border-radius:10px;padding:13px}.type-statistics dt{color:var(--muted);font-size:.75rem}.type-statistics dd{color:var(--accent-dark);margin:4px 0 0;font-size:1.5rem;font-weight:800}.insight-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:20px;margin:22px 0;display:grid}.insight-item{border-top:1px solid var(--line);padding:14px 0}.insight-item ul,.insight-list,.source-list{gap:8px;padding:0;list-style:none;display:grid}.insight-item li{display:grid}.insight-list li{background:var(--soft);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px;display:grid}.insight-list code{grid-column:1/-1}.knowledge-browser{grid-template-columns:330px minmax(0,1fr);gap:24px;margin-bottom:22px;display:grid}.knowledge-browser>aside{border-right:1px solid var(--line);padding-right:22px}.entity-list{gap:7px;display:grid}.entity-list button{text-align:left;justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.entity-list button>span:first-child{gap:3px;display:grid}.attribute-cards{gap:10px;display:grid}.attribute-cards article{background:#fff;border-radius:10px;padding:13px}.attribute-cards ul{padding-left:20px}.relationship-columns{grid-template-columns:1fr 1fr;gap:20px;display:grid}.relationship-columns ul{padding-left:20px}.source-list li{background:#fff;border-radius:10px;padding:10px}.source-list blockquote{margin:0 0 5px}.relationship-table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--line);text-align:left;padding:12px}th{color:var(--muted);text-transform:uppercase;font-size:.75rem}.empty-state{color:var(--muted);text-align:center;padding:24px}.export-panel{margin-bottom:22px}.export-metrics{grid-template-columns:repeat(3,1fr)}.json-preview{color:#dcebea;white-space:pre;background:#173237;border:1px solid #cbd8d9;border-radius:12px;max-height:460px;margin:18px 0 0;padding:18px;font-size:.78rem;line-height:1.55;overflow:auto}.search-controls,.graph-controls{margin-bottom:22px}.search-query-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.search-query-row label{gap:6px;font-size:.84rem;font-weight:700;display:grid}.filter-grid{grid-template-columns:1fr 1.4fr;align-items:start;gap:16px;margin-top:18px;display:grid}.filter-grid fieldset{flex-wrap:wrap;gap:8px 14px;display:flex}.check-label,.orphan-toggle{color:#3e5558;align-items:center;gap:7px;font-size:.8rem;font-weight:700;display:inline-flex}.check-label input,.orphan-toggle input{width:auto}.search-layout{grid-template-columns:390px minmax(0,1fr);align-items:start;gap:22px;display:grid}.search-results,.relationship-selection-list{gap:8px;display:grid}.search-results button,.relationship-selection-list button{text-align:left;gap:7px;width:100%;display:grid}.search-results button>span:first-child{gap:3px;display:grid}.search-results .entity-selected,.relationship-selection-list button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 4px 0 0 var(--accent)}.match-list{flex-wrap:wrap;gap:5px;display:flex}.match-list small{color:#355d60;background:#edf4f3;border-radius:999px;padding:4px 7px}.graph-controls .filter-grid{grid-template-columns:1fr 1fr auto}.orphan-toggle{border:1px solid var(--line);border-radius:10px;align-self:center;padding:14px}.graph-legend{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.graph-legend span{border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:.74rem;font-weight:800}.legend-character{background:#e1f1fa}.legend-organization{background:#e8f4e8}.legend-location{background:#fff0dc}.legend-scene{background:#eee8fa}.legend-item{background:#f8e8ed}.graph-panel{margin-bottom:22px}.graph-scroll{border:1px solid var(--line);background-color:#f9fcfc;background-image:radial-gradient(#d8e5e4 1px,#0000 1px);background-size:20px 20px;border-radius:14px;max-width:100%;max-height:680px;overflow:auto}.knowledge-graph{min-width:590px;display:block}.graph-edge{cursor:pointer}.graph-edge line{stroke:#789296;stroke-width:2.2px}.graph-edge text{paint-order:stroke;fill:#3f5a5d;stroke:#f9fcfc;stroke-width:6px;text-anchor:middle;font-size:12px;font-weight:800}.graph-edge path{fill:#789296}.graph-edge-selected line{stroke:var(--danger);stroke-width:4px}.graph-edge:focus-visible line{stroke:var(--accent-dark);stroke-width:4px}.graph-node{cursor:pointer}.graph-node rect{stroke:#8aa5a6;stroke-width:2px;fill:#fff}.graph-node text{pointer-events:none;fill:#29494d;font-size:11px}.graph-node .graph-node-name{font-size:14px;font-weight:900}.graph-node-character rect{fill:#e1f1fa}.graph-node-organization rect{fill:#e8f4e8}.graph-node-location rect{fill:#fff0dc}.graph-node-scene rect{fill:#eee8fa}.graph-node-item rect{fill:#f8e8ed}.graph-node-selected rect,.graph-node:focus-visible rect{stroke:var(--accent-dark);stroke-width:5px}.graph-detail-layout{grid-template-columns:.8fr 1.2fr;align-items:start;gap:22px;margin-bottom:22px;display:grid}.relationship-selection-list button{grid-template-columns:minmax(0,1fr) auto;align-items:center}.graph-entity-detail{margin-bottom:22px}@media (width<=920px){.page-shell{width:min(100% - 28px,1380px);padding-top:32px}.app-header{align-items:flex-start;padding:10px 14px}.brand-button small{display:none}.main-nav button{padding:8px}.hero-panel,.two-column-layout,.review-layout,.knowledge-browser,.insight-grid,.search-layout,.graph-detail-layout{grid-template-columns:1fr}.hero-metric{min-height:110px}.candidate-list{grid-template-columns:repeat(2,minmax(0,1fr));position:static}.knowledge-browser>aside{border-right:0;border-bottom:1px solid var(--line);padding:0 0 20px}.metric-grid{grid-template-columns:repeat(2,1fr)}.type-statistics{grid-template-columns:repeat(3,1fr)}.graph-controls .filter-grid{grid-template-columns:1fr 1fr}.orphan-toggle{align-self:stretch}}@media (width<=620px){.brand-button strong{font-size:.82rem}.brand-mark{width:34px;height:34px}.hero-panel,.panel,.candidate-panel{padding:20px}.hero-panel,.section-heading,.review-toolbar,.candidate-title,.review-header,.knowledge-intro,.phase-footer{flex-direction:column;align-items:stretch}.candidate-list,.metric-grid,.type-statistics,.form-row,.relationship-columns,.filter-grid,.graph-controls .filter-grid,.search-query-row,.export-metrics{grid-template-columns:1fr}.app-header{flex-direction:column;align-items:stretch}.main-nav{justify-content:flex-start}.demo-progress li{grid-template-columns:auto 1fr}.demo-progress .status-chip{grid-column:2}.attribute-row{grid-template-columns:1fr}}
