:root{--bg:#f6f7f4;--surface:#ffffff;--ink:#1c2420;--muted:#647067;--line:#d9dfd7;--green:#2f7d5c;--blue:#3f6fb5;--rose:#ba4d65;--gold:#a66d17;--shadow:0 16px 40px rgba(29,41,36,0.08)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 32px;background:linear-gradient(135deg,rgba(24,33,29,.96),rgba(50,41,48,.96)),#18211d;color:#fff}.privacy-chip{display:inline-flex;align-items:center;min-height:34px;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:7px 12px;background:rgba(255,255,255,.08);color:#f0d9a1;font-size:13px;font-weight:700;white-space:nowrap}.eyebrow{margin:0 0 4px;color:#b8cabd;font-size:12px;text-transform:uppercase}h1,h2,p{margin:0}h1{font-size:28px;font-weight:760}.topbar-copy{margin-top:6px;color:#f0d9a1;font-size:14px;line-height:1.4}h2{font-size:17px;font-weight:720}main{padding:24px 32px 40px}.app-shell{max-width:1440px;margin:0 auto}.empty-view,.error-view,.loading-view,.result-view{display:none}.app-shell.is-empty .empty-view,.app-shell.is-error .error-view,.app-shell.is-loading .loading-view,.app-shell.is-result .result-view{display:block}.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);grid-gap:22px;gap:22px;align-items:stretch}.error-card,.hero-copy,.loading-card,.result-hero,.upload-card{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.hero-copy{min-height:360px;padding:42px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(135deg,rgba(24,33,29,.94),rgba(51,42,46,.91)),#18211d;color:#fff}.hero-copy h2{max-width:620px;margin-top:8px;font-size:58px;line-height:1.08;font-weight:820;letter-spacing:0}.hero-copy p:not(.eyebrow){max-width:680px;margin-top:18px;color:#e6eee7;font-size:18px;line-height:1.65}.upload-card{padding:28px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}.upload-icon{display:inline-grid;place-items:center;inline-size:54px;block-size:54px;border-radius:8px;background:#f7f2e8;color:var(--gold);font-weight:820;letter-spacing:0}.upload-card h3{margin:20px 0 0;font-size:24px;line-height:1.25}.upload-card p{margin-top:10px;color:var(--muted);font-size:14px;line-height:1.6}.analysis-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin:16px 0 0;padding:0;list-style:none}.analysis-flow li{min-width:0;padding:10px;border:1px solid #e6ebe5;border-radius:8px;background:#fbfcfa}.analysis-flow span{display:block;color:var(--green);font-size:11px;font-weight:820;line-height:1}.analysis-flow strong{display:block;margin-top:6px;color:var(--ink);font-size:12px;line-height:1.35}.upload-button{justify-content:center;inline-size:100%;min-height:52px;font-size:16px}.upload-button.is-waiting{border-color:#cad3c8;background:#e9eee8;color:#445149;cursor:wait}.privacy-line{padding-top:14px;border-top:1px solid #edf0ec}.llm-ready-panel{display:grid;grid-gap:12px;gap:12px;padding:14px;border:1px solid #dfe5dd;border-radius:8px;background:#fbfcfa}.llm-ready-panel.ready{border-color:rgba(47,125,92,.4);background:#f0faf4}.llm-ready-panel.loading{border-color:rgba(63,111,181,.35);background:#f3f7fe}.llm-ready-panel.blocked,.llm-ready-panel.error{border-color:rgba(186,77,101,.35);background:#fff4f6}.llm-ready-panel strong{display:block;font-size:14px}.llm-ready-panel p{margin-top:5px;color:var(--muted);font-size:13px;line-height:1.45}.llm-ready-progress{overflow:hidden;block-size:8px;border-radius:999px;background:#e3e9e1}.llm-ready-progress i{display:block;inline-size:0;block-size:100%;border-radius:inherit;background:var(--green);transition:inline-size .2s ease}.llm-ready-panel.loading .llm-ready-progress i{background:var(--blue)}.environment-panel{display:grid;grid-gap:10px;gap:10px;padding:14px;border:1px solid #e4e9e2;border-radius:8px;background:#fbfcfa}.environment-panel.ready{border-color:rgba(47,125,92,.35);background:#f2faf5}.environment-panel.limited{border-color:rgba(166,109,23,.35);background:#fff8eb}.environment-panel.blocked{border-color:rgba(186,77,101,.35);background:#fff4f6}.environment-panel strong{display:block;font-size:14px}.environment-panel p{margin-top:5px;color:var(--muted);font-size:13px;line-height:1.45}.environment-facts{display:flex;flex-wrap:wrap;gap:6px}.environment-facts span{display:inline-flex;align-items:center;min-height:24px;border:1px solid #dfe5dd;border-radius:999px;padding:3px 8px;background:#fff;color:#334039;font-size:12px}.model-panel{display:grid;grid-gap:12px;gap:12px;padding:14px;border:1px solid #e4e9e2;border-radius:8px;background:#fbfcfa}.model-panel strong,.model-select-label span{display:block;font-size:13px;font-weight:800}.model-panel p{margin-top:5px;color:var(--muted);font-size:13px;line-height:1.45}.model-options{display:grid;grid-gap:8px;gap:8px}.model-option{display:grid;grid-template-columns:auto 1fr;grid-gap:8px;gap:8px;align-items:start;padding:10px;border:1px solid #e6ebe5;border-radius:8px;background:var(--surface)}.model-option input{margin-top:3px}.model-option strong{font-size:13px}.model-option small{display:block;margin-top:3px;color:var(--muted);font-size:12px;line-height:1.35}.model-option.is-disabled{opacity:.58}.preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:18px}.mini-insight,.preview-card{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.preview-card{min-height:172px;padding:18px}.preview-card span{color:var(--gold);font-size:12px;font-weight:800}.preview-card strong{display:block;margin-top:28px;font-size:18px;line-height:1.3}.preview-card p{margin-top:10px;color:var(--muted);font-size:13px;line-height:1.55}.export-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:8px;background:#f7f2e8}.export-guide strong{display:block;font-size:14px}.export-guide p{margin-top:6px;color:var(--muted);font-size:13px;line-height:1.5}.error-view,.loading-view{max-width:840px;margin:40px auto 0}.error-card,.loading-card{padding:28px}.error-card h2,.loading-card h2,.result-hero h2{margin-top:4px;font-size:30px;line-height:1.2}.error-card p:not(.eyebrow){margin:12px 0 20px;color:var(--muted);line-height:1.6}.result-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:18px;padding:22px}.result-hero p:not(.eyebrow){margin-top:8px;color:var(--muted);font-size:14px;line-height:1.5}.conversation-type-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}.conversation-type-badge{display:inline-flex;align-items:center;min-height:30px;border:1px solid rgba(47,125,92,.24);border-radius:999px;padding:6px 11px;background:#eef8f2;color:var(--green);font-size:12px;font-weight:760;white-space:nowrap}.conversation-type-summary p{flex:1 1 260px;min-width:0;margin:0;color:var(--muted);font-size:13px;line-height:1.45}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.model-select-label{display:grid;grid-gap:4px;gap:4px}.model-select-label select{min-height:38px;border:1px solid var(--line);border-radius:6px;padding:7px 32px 7px 10px;background:var(--surface);color:var(--ink)}#zipInput{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:1px solid var(--line);border-radius:6px;padding:8px 14px;background:var(--surface);color:var(--ink);cursor:pointer;text-decoration:none}.button.primary{background:#f0c15b;color:#1c2420;border-color:#f0c15b;font-weight:700}.button.subtle{background:#edf1ed;border-color:#dfe5dd;color:#334039}.button:disabled{cursor:not-allowed;opacity:.58}.settings-menu{position:relative}.settings-menu>summary{list-style:none}.settings-menu>summary::-webkit-details-marker{display:none}.settings-menu-body{position:absolute;z-index:8;right:0;top:calc(100% + 8px);display:grid;min-width:270px;grid-gap:8px;gap:8px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.key-flow-card,.period-controls,.progressive-section,.scene-section,.scene-workspace{margin-top:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.key-flow-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr) auto;grid-gap:20px;gap:20px;align-items:center;padding:26px;border-color:rgba(47,125,92,.35);background:linear-gradient(120deg,#f2faf5,#fff)}.key-flow-copy h2{margin-top:4px;font-size:24px}.key-flow-copy>p:not(.eyebrow){margin-top:10px;line-height:1.6}.key-flow-safety{color:#785519;font-size:13px}.flow-meta{display:flex;flex-wrap:wrap;gap:7px}.flow-meta span{border:1px solid #dce6de;border-radius:999px;padding:5px 9px;background:#fff;color:#405047;font-size:12px}.flow-actions{display:grid;grid-gap:8px;gap:8px}.period-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 16px}.period-controls>span{font-weight:750}.period-controls [role=group]{display:flex;gap:6px}.period-button{border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:#fff;cursor:pointer}.period-button.active{border-color:var(--green);background:#eef8f2;color:var(--green);font-weight:700}.period-comparison{display:flex;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:12px}.period-comparison span{border-left:1px solid #dce2da;padding-left:6px}.period-comparison span:first-child{border-left:0;padding-left:0;color:var(--ink);font-weight:700}.scene-section,.scene-workspace{padding:22px}.scene-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:16px}.scene-card{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid #dfe5dd;border-radius:8px;background:#fbfcfa}.scene-card.active{border:2px solid var(--green);background:#f1faf4}.scene-card h3,.scene-card p{margin:0}.scene-card p{min-height:65px;color:#3f4c44;font-size:14px;line-height:1.5}.scene-card small{color:var(--muted);line-height:1.4}.scene-card>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.scene-card .button{min-height:34px;padding:6px 9px;font-size:12px}.scene-question{color:var(--green);font-size:12px;font-weight:800}.scene-workspace-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.scene-workspace-heading p{margin-top:7px;color:var(--muted);line-height:1.5}.scene-workspace-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);grid-gap:16px;gap:16px;margin-top:18px}.evidence-panel,.scene-graph-wrap{min-width:0;border:1px solid #e0e5df;border-radius:8px;background:#fcfdfb}.scene-graph-wrap canvas{display:block;width:100%;min-height:440px;border-bottom:1px solid #e0e5df;outline-offset:-3px}.evidence-panel{padding:18px}.evidence-panel h2{margin-bottom:14px}.scene-detail{display:grid;grid-gap:15px;gap:15px}.scene-detail h3,.scene-detail p{margin:0}.scene-detail>div>strong{display:block;margin-bottom:6px;font-size:13px}.scene-detail p{color:#455149;font-size:14px;line-height:1.55}.scene-detail .quote{margin-top:8px;padding:10px;border-left:3px solid var(--green);background:#f3f8f4}.scene-detail .quote small,.scene-detail .quote strong{color:var(--muted);font-size:11px}.graph-alternative-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px;padding:10px}.graph-alternative-list h3{grid-column:1/-1;margin:0 0 3px;font-size:13px}.graph-alternative-list button{text-align:left;border:1px solid #dfe5dd;border-radius:6px;padding:8px;background:#fff;cursor:pointer}.graph-alternative-list span{display:block;margin-top:3px;color:var(--muted);font-size:11px}.scene-timeline{margin-top:16px;padding-top:14px;border-top:1px solid #e2e7e1}.timeline-bars{display:flex;align-items:flex-end;gap:7px;min-height:86px;margin-top:10px}.timeline-bars button{display:grid;grid-template-rows:60px auto;grid-gap:4px;gap:4px;border:0;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.timeline-bars i{align-self:flex-end;width:20px;height:var(--bar);min-height:4px;border-radius:4px 4px 0 0;background:var(--green)}.progressive-section{overflow:hidden}.progressive-section>summary{display:flex;justify-content:space-between;gap:12px;padding:17px 20px;cursor:pointer;font-weight:760}.progressive-section>summary small{color:var(--muted);font-weight:400}.progressive-section>:not(summary){margin-left:18px;margin-right:18px}.expert-graph-controls{margin-top:0;padding:18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:1120px){.key-flow-card,.scene-workspace-grid{grid-template-columns:1fr}.scene-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.result-hero,.scene-workspace-heading{align-items:stretch;flex-direction:column}.scene-cards{grid-template-columns:1fr}.key-flow-card,.scene-section,.scene-workspace{padding:16px}.scene-graph-wrap canvas{min-height:330px}.graph-alternative-list{grid-template-columns:1fr}.settings-menu-body{left:0;right:auto}.progressive-section>summary{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.history-evidence-note{padding:9px;border:1px solid #ead5a8;border-radius:6px;background:#fff9e9;color:#80550b!important;font-size:12px!important}.status-band{display:flex;justify-content:space-between;gap:20px;padding:18px 20px;margin-top:18px;margin-bottom:20px;background:#f7f2e8;border:1px solid var(--line);border-radius:8px}.status-band #privacyNote,.status-band span{display:block;margin-top:4px;color:var(--muted);font-size:14px}.progress-panel{padding:16px 18px;margin-bottom:20px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.progress-head strong{font-size:14px}.progress-head span{color:var(--muted);font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.progress-track{block-size:10px;margin-top:10px;overflow:hidden;border-radius:999px;background:#e8ede7}.progress-track i{display:block;inline-size:0;block-size:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--gold));transition:inline-size .18s ease}.progress-panel p{margin-top:8px;color:var(--muted);font-size:13px}.loading-interpretation-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin:0 0 20px;padding:0;list-style:none}.loading-interpretation-steps li{min-width:0;padding:11px;border:1px solid #dce5dc;border-radius:8px;background:#fbfcfa;color:var(--muted)}.loading-interpretation-steps li.active{border-color:#9db8de;background:#f1f6fd;color:var(--ink);box-shadow:inset 3px 0 0 var(--blue)}.loading-interpretation-steps li.complete{border-color:#b8d8c2;background:#eff9f1;color:#21633e}.loading-interpretation-steps small,.loading-interpretation-steps span,.loading-interpretation-steps strong{display:block}.loading-interpretation-steps span{color:inherit;font-size:11px;font-weight:800}.loading-interpretation-steps strong{margin-top:4px;font-size:13px;line-height:1.35}.loading-interpretation-steps small{margin-top:5px;color:inherit;font-size:11px;line-height:1.4}.result-progress-panel{margin-top:-8px}.result-progress-panel:not(.active){display:none}.ontology-reading{margin:20px 0;padding:20px;overflow:hidden;border:1px solid #cedbd1;border-radius:10px;background:radial-gradient(circle at 92% 4%,rgba(166,109,23,.13),transparent 28%),linear-gradient(135deg,#f1f8f2,#fffdf8 68%);box-shadow:var(--shadow)}.ontology-reading-heading{margin-bottom:16px}.ontology-trust-summary{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.trust-badge{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid #d6ddd5;border-radius:999px;background:rgba(255,255,255,.76);color:#526057;font-size:12px;font-weight:720;white-space:nowrap}.trust-badge.ok{border-color:#b8d8c2;background:#eff9f1;color:#21633e}.trust-badge.warning{border-color:#ead5a8;background:#fff9e9;color:#80550b}.ontology-pathways{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:8px;gap:8px}.ontology-pathway,.ontology-pathway-empty{min-width:0;padding:14px;border:1px solid #dce5dc;border-radius:8px;background:rgba(255,255,255,.82)}.ontology-pathway.inference{border-top:3px solid var(--gold)}.ontology-pathway.observation{border-top:3px solid var(--blue)}.ontology-pathway.empty{border-top:3px solid #aeb9b0}.interpretation-step{min-height:178px}.interpretation-arrow{color:#8a998d;font-size:22px;font-weight:700}.interpretation-step-button{display:grid;width:100%;grid-gap:5px;gap:5px;margin-top:11px;padding:0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.interpretation-step-button strong{font-size:15px}.interpretation-step-button span{overflow:hidden;color:var(--green);font-size:13px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.interpretation-step-button:focus-visible strong,.interpretation-step-button:hover strong{color:var(--blue);text-decoration:underline}.interpretation-step-button:focus-visible{outline:3px solid rgba(63,111,181,.18);outline-offset:3px}.pathway-meta{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px;font-weight:720}.pathway-meta span:last-child{color:var(--green);white-space:nowrap}.pathway-flow{display:flex;align-items:center;gap:6px;min-height:72px;margin-top:10px;overflow-x:auto}.path-step{flex:0 0 auto;max-width:125px;border:1px solid #dfe5dd;border-radius:7px;padding:8px;background:#fbfcfa;color:var(--ink);text-align:left;cursor:pointer}.path-step:focus-visible,.path-step:hover{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px rgba(63,111,181,.14)}.path-step.outcome{border-color:rgba(166,109,23,.38);background:#fff9ed}.path-step strong,.path-type{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.path-step strong{margin-top:3px;font-size:13px}.path-type{color:var(--muted);font-size:10px}.path-arrow{flex:0 0 auto;color:#9aa59c;font-size:16px}.ontology-pathway p,.ontology-reading-footnote{color:var(--muted);font-size:12px;line-height:1.5}.ontology-pathway p{margin-top:10px}.ontology-reading-footnote{margin-top:13px}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px}.insight-cards,.metrics-grid{display:grid;gap:14px;margin-bottom:20px}.insight-cards{grid-template-columns:1.25fr repeat(3,minmax(0,1fr));grid-gap:14px}.secondary-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:20px}.detail-panel,.graph-panel,.history-panel,.insight-card,.lens-panel,.metric,.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.lens-panel{padding:18px;margin-bottom:20px}.history-panel{margin-top:18px;padding:18px}.compact-history{margin-top:0;margin-bottom:20px}.history-list{display:grid;grid-gap:10px;gap:10px}.history-empty{border:1px dashed #dfe5dd;border-radius:8px;color:var(--muted);font-size:13px}.history-empty,.history-item{padding:14px;background:#fbfcfa}.history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center;border:1px solid #e4e9e2;border-radius:8px}.history-item strong{display:block;font-size:15px;line-height:1.35}.history-item p{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.45}.history-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.history-meta span{display:inline-flex;align-items:center;min-height:24px;border:1px solid #e0e6de;border-radius:999px;padding:3px 8px;color:#334039;background:#fff;font-size:12px}.history-actions{gap:8px;flex-wrap:wrap}.history-actions,.history-clear-actions{display:flex;justify-content:flex-end}.chat-widget{position:fixed;right:22px;bottom:22px;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:12px;pointer-events:none}.chat-launcher,.chat-panel{pointer-events:auto;box-shadow:0 18px 50px rgba(28,36,32,.22)}.chat-launcher{display:inline-flex;align-items:center;gap:11px;min-height:62px;border:1px solid rgba(28,36,32,.16);border-radius:999px;padding:10px 16px 10px 10px;background:#1c2420;color:#fff;cursor:pointer}.chat-launcher:focus-visible,.chat-launcher:hover{transform:translateY(-1px)}.chat-launcher-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#d9f36a;color:#1c2420;font-size:14px;font-weight:800}.chat-launcher small,.chat-launcher strong{display:block;text-align:left}.chat-launcher strong{font-size:14px}.chat-launcher small{margin-top:2px;color:rgba(255,255,255,.72);font-size:12px}.chat-panel{display:none;width:min(420px,calc(100vw - 32px));height:min(660px,calc(100vh - 118px));border:1px solid rgba(28,36,32,.14);border-radius:8px;background:var(--surface);overflow:hidden}.chat-widget.open .chat-panel{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto}.chat-widget.open .chat-launcher{display:none}.chat-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid #e4e9e2;background:#fbfcfa}.chat-header h2{margin-top:4px;font-size:18px;line-height:1.2}.chat-icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #dfe5dd;border-radius:50%;background:#fff;color:#334039;font-size:22px;line-height:1;cursor:pointer}.chat-status{padding:10px 16px;border-bottom:1px solid #edf1ed;color:var(--muted);background:#fff;font-size:12px;line-height:1.45}.chat-suggestions{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px 0;max-height:92px;overflow:auto}.chat-chip{min-height:32px;border:1px solid #dfe5dd;border-radius:999px;padding:6px 10px;background:#fbfcfa;color:#334039;font-size:12px;cursor:pointer}.chat-chip:focus-visible,.chat-chip:hover{border-color:var(--green);color:var(--green)}.chat-messages{min-height:0;overflow:auto;padding:14px;background:#fbfcfa}.chat-empty{color:var(--muted);font-size:13px;line-height:1.5}.chat-message{max-width:88%;margin-bottom:12px;padding:11px 12px;border-radius:8px;font-size:13px;line-height:1.55;white-space:pre-wrap}.chat-message.streaming:after{content:"";display:inline-block;width:6px;height:1em;margin-left:3px;vertical-align:-2px;border-radius:999px;background:#8b6f49;animation:chat-caret .9s steps(2,start) infinite}.chat-message.user{margin-left:auto;background:#1c2420;color:#fff}.chat-message.assistant{border:1px solid #e9dfce;background:#fff8ef;color:#2f3a34}.chat-message.system{max-width:none;border:1px solid #dfe5dd;background:#edf1ed;color:var(--muted)}.chat-message.typing{color:var(--muted)}.chat-evidence{margin-top:10px;padding-top:8px;border-top:1px solid #ead9c4}.chat-evidence strong{display:block;margin-bottom:6px;font-size:12px}.chat-evidence p{margin-top:6px;color:#574940;font-size:12px}.chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:8px;gap:8px;padding:12px 14px 14px;border-top:1px solid #e4e9e2;background:#fff}.chat-form input{min-width:0;min-height:40px;border:1px solid var(--line);border-radius:6px;padding:8px 11px;background:#fff;color:var(--ink)}.chat-form input:disabled{background:#edf1ed;color:var(--muted)}.node-ai-read-button,.node-chat-button{width:100%;margin-top:12px}.node-ai-read-button+.node-chat-button{margin-top:6px}@keyframes chat-caret{50%{opacity:0}}.lens-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.lens-card{min-height:132px;padding:14px;border:1px solid #dfe5dd;border-radius:8px;background:#fbfcfa;color:var(--ink);text-align:left;cursor:pointer}.lens-card.active{border-color:#1c2420;box-shadow:inset 0 0 0 1px #1c2420}.lens-card span{display:inline-flex;align-items:center;gap:6px;color:var(--gold);font-size:12px;font-weight:800}.lens-emoji{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#f7f2e8;line-height:1}.lens-card strong{display:block;margin-top:8px;font-size:16px;line-height:1.3}.lens-card p{margin-top:7px;color:var(--muted);font-size:12px;line-height:1.45}.metric{padding:16px;position:relative;overflow:hidden}.metric:after{content:"";position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:3px;background:linear-gradient(90deg,var(--green),var(--gold),var(--rose))}.metric span{display:block;color:var(--muted);font-size:13px}.metric strong{display:block;margin-top:8px;font-size:28px}.insight-card{min-height:132px;padding:16px;border-left:4px solid var(--green)}.insight-card.primary-card{border-left-color:var(--rose)}.insight-card span{display:block;color:var(--muted);font-size:13px}.insight-card .insight-label,.mini-insight .insight-label{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:13px}.insight-label-main{display:inline-flex;align-items:center;gap:6px;min-width:0}.insight-label-main span{display:inline}.insight-label-main .insight-emoji{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#f2f6ef;font-size:13px;line-height:1;flex:0 0 auto}.info-button{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;width:20px;height:20px;border:1px solid #d7ded5;border-radius:50%;padding:0;background:#fbfcfa;color:#526057;font-size:12px;font-weight:800;line-height:1;cursor:help}.info-button:after{content:attr(data-tooltip);position:absolute;right:-2px;bottom:calc(100% + 8px);z-index:20;width:min(260px,72vw);padding:9px 10px;border:1px solid rgba(28,36,32,.12);border-radius:8px;background:#1c2420;color:#fff;box-shadow:0 12px 30px rgba(28,36,32,.22);font-size:12px;font-weight:520;line-height:1.45;text-align:left;white-space:normal;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .15s ease,transform .15s ease}.info-button:focus-visible,.info-button:hover{border-color:var(--green);color:var(--green)}.info-button:focus-visible:after,.info-button:hover:after{opacity:1;transform:translateY(0)}.insight-card strong{display:block;margin-top:8px;font-size:19px;line-height:1.28}.insight-card p{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.45}.insight-process-link{margin-top:10px;border:0;padding:0;background:transparent;color:var(--blue);font-size:12px;font-weight:760;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.insight-process-link:focus-visible{outline:3px solid rgba(63,111,181,.24);outline-offset:3px}.mini-insight{padding:16px}.mini-insight span{display:block;color:var(--muted);font-size:13px}.mini-insight .insight-label{display:flex}.mini-insight strong{display:block;margin-top:6px;font-size:17px}.mini-insight p{margin-top:7px;color:var(--muted);font-size:13px;line-height:1.45}.mini-insight .insight-process-link{margin-top:9px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:18px;gap:18px;min-height:620px}.ontology-explorer{margin:20px 0;padding:18px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#f8fbf8,#fffdf9);box-shadow:var(--shadow)}.ontology-explorer-body{margin-top:16px}.ontology-status{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.ontology-badge{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border:1px solid #d9e0d8;border-radius:999px;background:#fff;color:var(--muted);font-size:12px}.ontology-badge.ok{border-color:#b9d8c4;background:#eff9f1;color:#21633e}.ontology-badge.warning{border-color:#ead5a8;background:#fff9e9;color:#8a5b09}.ontology-explorer-grid{display:grid;grid-template-columns:.85fr 1.1fr 1fr;grid-gap:12px;gap:12px}.ontology-pane,.ontology-rdf-preview{padding:14px;border:1px solid #e0e6df;border-radius:7px;background:rgba(255,255,255,.76)}.ontology-pane h3,.ontology-rdf-preview h3{font-size:14px}.ontology-class-tree ul{margin:8px 0 0;padding:0;list-style:none}.ontology-class-tree li{margin-top:7px;padding-left:calc(var(--ontology-depth, 0) * 12px)}.ontology-class-tree li ul{margin-left:10px;border-left:1px solid #dce5dc}.ontology-class-name{border:0;padding:0;background:transparent;color:inherit;cursor:pointer;font-size:13px;font-weight:700}.ontology-class-name.active,.ontology-class-name:hover{color:var(--blue);text-decoration:underline}.ontology-class-tree small,.ontology-inference-item span,.ontology-relation-item small,.ontology-validation-copy{display:block;margin-top:2px;color:var(--muted);font-size:11px}.ontology-provenance,.ontology-relation-list{display:grid;grid-gap:8px;gap:8px}.ontology-inference-item,.ontology-relation-item{padding:9px;border:1px solid #e3e8e2;border-radius:6px;background:#fff}.ontology-inference-item.active,.ontology-relation-item.active{border-color:#9db8de;box-shadow:inset 3px 0 0 var(--blue)}.ontology-relation-item code,.ontology-relation-item span,.ontology-relation-item strong{display:block}.ontology-inference-item button,.ontology-relation-item button{border:0;padding:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.ontology-inference-item button span,.ontology-inference-item button strong{display:block}.ontology-relation-item strong{font-size:12px}.ontology-relation-item code{margin-top:3px;color:#3f6fb5;font-size:11px}.ontology-inference-item p,.ontology-relation-item span{margin-top:4px;color:var(--muted);font-size:11px;line-height:1.45}.ontology-provenance h4{margin-top:6px;font-size:12px}.ontology-violations p{margin-top:5px;padding:7px;border-radius:5px;background:#fff7e8;color:#80550b;font-size:12px}.ontology-rdf-preview{display:grid;grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);grid-gap:14px;gap:14px;margin-top:12px}.ontology-rdf-preview p{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.5}.ontology-rdf-preview pre{max-height:300px;margin:0;overflow:auto;padding:12px;border-radius:6px;background:#18211d;color:#e8f0e8;font-size:11px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.detail-panel,.graph-panel,.panel{padding:18px}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.panel-heading p{margin-top:4px;color:var(--muted);font-size:13px}.legend{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;white-space:nowrap}.legend span{display:inline-block;inline-size:10px;block-size:10px;border-radius:50%}.legend .person{background:var(--green)}.legend .topic{background:var(--blue)}.legend .emotion{background:var(--rose)}.legend .pattern{background:var(--gold)}.legend .behavior{background:#7b5fa8}.legend .rhythm{background:#4f8c9d}.filter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.graph-view-tabs{display:inline-flex;gap:3px;margin-bottom:12px;padding:3px;border:1px solid #dce3db;border-radius:8px;background:#f2f5f1}.graph-view-tab{min-height:32px;border:0;border-radius:5px;padding:6px 10px;background:transparent;color:var(--muted);font-size:12px;font-weight:720;cursor:pointer}.graph-view-tab.active{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(29,41,36,.14)}.graph-view-tab:focus-visible{outline:3px solid rgba(63,111,181,.26);outline-offset:1px}.filter-tab{display:inline-flex;align-items:center;gap:5px;min-height:32px;border:1px solid var(--line);border-radius:999px;padding:6px 11px;background:#fbfcfa;color:var(--muted);font-size:12px;cursor:pointer}.filter-tab.active{background:#1c2420;border-color:#1c2420;color:#fff}#graphCanvas{inline-size:100%;block-size:570px;display:block;border:1px solid #e3e7e0;border-radius:6px;background:#fbfcfa}.detail-panel{overflow:auto}.empty{margin-top:12px;color:var(--muted);font-size:14px;line-height:1.55}.detail-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.node-read{margin-top:12px;padding:12px;border:1px solid #e8d8cb;border-radius:6px;background:#fff8ef}.node-read strong{display:block;margin-bottom:5px;font-size:13px}.node-read p{color:#574940;font-size:13px;line-height:1.5}.pill{border-radius:999px;padding:4px 8px;background:#edf1ed;color:var(--muted);font-size:12px}.kv{display:grid;grid-template-columns:110px 1fr;grid-gap:8px;gap:8px;margin-top:14px;font-size:13px}.kv dt{color:var(--muted)}.kv dd{margin:0;word-break:break-word}.evidence{margin-top:16px}.evidence h3{margin:0 0 10px;font-size:14px}.detail-panel h2,.evidence h3,.graph-panel h2,.panel h2{letter-spacing:0}.quote{padding:10px 0;border-top:1px solid #edf0ec}.quote strong{display:block;font-size:12px}.quote p{margin-top:4px;color:#38423c;font-size:13px;line-height:1.45;white-space:pre-wrap}.insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:18px;gap:18px}.insight-grid,.lens-detail-panel{margin-top:18px}.lens-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:14px}.lens-detail{padding:14px;border:1px solid #edf0ec;border-radius:8px;background:#fbfcfa}.lens-detail span{display:block;color:var(--muted);font-size:12px}.lens-detail strong{display:block;margin-top:6px;font-size:15px}.lens-detail p{margin-top:6px;color:var(--muted);font-size:12px;line-height:1.45}.bar-list,.guide-grid,.response-list,.word-cloud{margin-top:14px}.bar-row{margin-bottom:12px}.bar-row header{display:flex;justify-content:space-between;gap:12px;font-size:13px}.bar{margin-top:6px;block-size:8px;overflow:hidden;border-radius:999px;background:#ecefeb}.bar i{display:block;block-size:100%;background:var(--green)}.bar-row.topic .bar i{background:var(--blue)}.bar-row.emotion .bar i{background:var(--rose)}.response-item{padding:10px 0;border-top:1px solid #edf0ec;font-size:13px}.response-item strong{display:block;margin-bottom:4px}.response-item span{display:block;color:var(--muted)}.word-cloud{display:flex;gap:8px;flex-wrap:wrap}.word-cloud span{display:inline-flex;align-items:center;min-height:28px;padding:5px 8px;border:1px solid #e2e7e0;border-radius:999px;color:#2f3a34;background:#fafbf9;font-size:13px}.guide-panel{margin-top:18px}.guide-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.guide-item{padding:12px;border:1px solid #e4e9e2;border-radius:6px;background:#fafbf9}.guide-item strong{display:block;margin-bottom:6px}.guide-item p{color:var(--muted);font-size:13px;line-height:1.45}@media (max-width:1120px){.export-guide,.hero,.insight-cards,.lens-cards,.lens-detail-grid,.preview-grid,.secondary-insights{grid-template-columns:1fr}.hero-copy h2{font-size:46px}.insight-grid,.ontology-explorer-grid,.ontology-rdf-preview,.workspace{grid-template-columns:1fr}.loading-interpretation-steps,.ontology-pathways{grid-template-columns:repeat(2,minmax(0,1fr))}.interpretation-arrow{display:none}.detail-panel{max-height:none}.guide-grid,.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.history-item,.panel-heading,.result-hero,.status-band,.topbar{align-items:stretch}.panel-heading,.result-hero,.status-band,.topbar{flex-direction:column}.history-item{grid-template-columns:1fr}.history-actions,.history-clear-actions{justify-content:flex-start}.topbar,main{padding-inline:16px}.error-card,.hero-copy,.loading-card,.result-hero,.upload-card{padding:20px}.hero-copy{min-height:320px}.hero-copy h2{font-size:38px}.hero-copy p:not(.eyebrow){font-size:16px}.analysis-flow,.guide-grid,.insight-cards,.lens-cards,.lens-detail-grid,.metrics-grid,.secondary-insights{grid-template-columns:1fr}.chat-widget{right:12px;bottom:12px;left:12px}.chat-launcher{width:100%;justify-content:flex-start}.chat-panel{width:100%;height:min(620px,calc(100vh - 24px))}.chat-form{grid-template-columns:minmax(0,1fr) auto}#chatClearButton{grid-column:1/-1}.chat-message{max-width:100%}.legend{flex-wrap:wrap;white-space:normal}.ontology-trust-summary{justify-content:flex-start}.loading-interpretation-steps,.ontology-pathways{grid-template-columns:1fr}.interpretation-step{min-height:0}}