:root{--paper:#f7f2e8;--paper2:#fbf8f1;--surface:#fffdf8;--ink:#242a22;--muted:#747168;--line:#e2d8c8;--line2:#ece5d9;--gold:#c99735;--gold-dark:#8f681f;--gold-soft:#f4e4bc;--moss:#42583b;--moss2:#718064;--moss-soft:#e7ece2;--danger:#9c5047;--shadow:0 16px 46px rgba(64,48,27,.08);--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:var(--sans)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}.masthead{height:70px;padding:0 26px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(251,248,241,.9);backdrop-filter:blur(14px);position:sticky;top:0;z-index:30}.brand{display:flex;align-items:center;gap:12px}.brand-mark{font:31px/.9 var(--serif);letter-spacing:-.06em;color:var(--moss)}.brand-copy{display:flex;flex-direction:column;font-size:8px;line-height:1.3;text-transform:uppercase;letter-spacing:.1em;color:#6b6a63}.top-actions{display:flex;align-items:center;gap:8px}.collection-control{height:36px;display:flex;align-items:center;gap:6px;padding:3px 4px 3px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.collection-label{color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.collection-control select{max-width:170px;height:28px;border:0;outline:0;background:transparent;color:var(--moss);font-size:10px;font-weight:700}.collection-add{width:27px;height:27px;display:grid;place-items:center;border:1px solid var(--line2);border-radius:50%;background:var(--paper2);color:var(--gold-dark);font-size:16px;line-height:1}.collection-add:hover{background:var(--gold-soft)}.connection{display:flex;align-items:center;gap:7px;margin-right:5px;color:var(--muted);font-size:10px}.connection i{width:8px;height:8px;border-radius:50%;background:#aaa}.connection i.ok{background:#61a05f;box-shadow:0 0 0 3px rgba(97,160,95,.1)}.connection i.error{background:#bb665d}.quiet{border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:var(--surface);font-size:10px;font-weight:700}.shell{width:min(1060px,calc(100% - 36px));margin:0 auto;padding-bottom:130px}.welcome{min-height:calc(100vh - 190px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:70px 0}.kicker,.eyebrow{font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark)}.welcome h1{max-width:800px;margin:12px 0 18px;font:500 clamp(42px,6vw,72px)/1 var(--serif);letter-spacing:-.045em}.welcome>p{max-width:680px;margin:0;color:var(--muted);font:17px/1.55 var(--serif)}.starter-grid{width:min(780px,100%);display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:34px}.starter-grid button{padding:17px;border:1px solid var(--line);border-radius:14px;background:rgba(255,253,248,.7);text-align:left}.starter-grid button:hover{background:var(--surface);border-color:#cfbf9f;transform:translateY(-1px)}.starter-grid b{display:block;font:600 16px var(--serif)}.starter-grid span{display:block;margin-top:6px;color:var(--muted);font-size:10px;line-height:1.45}.conversation{padding:34px 0 12px}.turn{display:grid;grid-template-columns:88px minmax(0,1fr);gap:24px;margin:0 0 34px}.turn-label{padding-top:5px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;text-align:right}.user-turn .turn-content{font:500 24px/1.35 var(--serif);letter-spacing:-.015em}.assistant-turn{padding-bottom:34px;border-bottom:1px solid var(--line)}.assistant-turn .turn-label{color:var(--moss)}.assistant-content{min-width:0}.assistant-head{display:flex;align-items:center;gap:9px;margin-bottom:15px}.status{padding:5px 8px;border-radius:999px;background:var(--moss-soft);color:var(--moss);font-size:8px;font-weight:800;letter-spacing:.07em}.status.partial{background:#f2ead9;color:#8a6926}.resolved-query{color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.answer-paragraph{margin:0 0 18px;font:18px/1.64 var(--serif);color:#292d28}.answer-heading{margin:24px 0 10px;font:600 21px/1.3 var(--serif);letter-spacing:-.01em;color:#292d28}.answer-heading:first-child{margin-top:0}.answer-list{margin:0 0 20px;padding-left:24px;font:18px/1.6 var(--serif);color:#292d28}.answer-list li{margin:5px 0}.answer-list strong,.answer-heading strong{font-weight:700}.answer-paragraph em,.answer-list em{font-style:italic}.dataset-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#f8f4eb;color:var(--muted);font-size:9px}.dataset-status.complete{background:var(--moss-soft);border-color:#cfd8ca;color:var(--moss)}.dataset-status.incomplete{background:#f5ecda;border-color:#e2d1aa;color:#7d6228}.dataset-status button{border:0;background:transparent;color:inherit;font-size:8px;font-weight:800;text-decoration:underline;text-underline-offset:2px}.dataset-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:9px 0;border-top:1px solid var(--line2);font-size:9px}.dataset-row b{font:600 14px var(--serif)}.dataset-row span{color:var(--muted);text-align:right}.dataset-row small{grid-column:1/-1;color:var(--muted);line-height:1.45}.dataset-row.possible b{color:var(--gold-dark)}.dataset-row.rejected{opacity:.7}.answer-paragraph strong{font-weight:700}.citation{display:inline-grid;place-items:center;min-width:21px;height:19px;margin:0 2px;border:0;border-radius:5px;background:var(--gold-soft);color:var(--gold-dark);font:800 9px var(--sans);vertical-align:2px}.inline-viz{margin:22px 0 26px;border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden;box-shadow:0 6px 20px rgba(63,48,28,.04)}.viz-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:15px 17px 11px;border-bottom:1px solid var(--line2)}.viz-head span{display:block;color:var(--gold-dark);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.viz-head h3{margin:4px 0 0;font:500 18px var(--serif)}.viz-head button{border:0;background:transparent;color:var(--muted);font-size:10px;font-weight:700}.timeline-compact{display:flex;gap:0;overflow-x:auto;padding:18px 18px 22px}.time-item{position:relative;flex:0 0 170px;padding:24px 14px 0 0;border-top:1px solid #cdbf9f}.time-item::before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;background:var(--gold);border:2px solid var(--surface);box-shadow:0 0 0 1px #c69b45}.time-item b{display:block;font-size:10px;color:var(--gold-dark)}.time-item strong{display:block;margin-top:6px;font-size:11px;line-height:1.35}.time-item span{display:block;margin-top:4px;color:var(--muted);font-size:9px}.graph-compact{height:280px;background:radial-gradient(circle at center,#fffdf8,#f7f0e4)}.graph-compact svg{width:100%;height:100%;display:block}.g-edge{stroke:#af9462;stroke-width:1.3}.g-edge-label{font:700 7px var(--sans);fill:#806c47;text-anchor:middle;paint-order:stroke;stroke:#fffdf8;stroke-width:3px}.g-node circle{fill:#f7e5b8;stroke:var(--gold);stroke-width:1.4}.g-node.focus circle{fill:var(--moss);stroke:var(--moss)}.g-node text{font:700 8px var(--sans);text-anchor:middle;paint-order:stroke;stroke:#fffdf8;stroke-width:3px;fill:var(--ink)}.map-compact{display:grid;grid-template-columns:minmax(0,1fr) 220px;min-height:290px}.map-canvas{background:linear-gradient(180deg,#faf6ed,#f3ecde)}.map-canvas svg{width:100%;height:290px;display:block}.map-grid line{stroke:#ddd3c4;stroke-dasharray:2 7}.map-point circle{fill:var(--gold);stroke:white;stroke-width:3}.map-point text{font:700 9px var(--sans);paint-order:stroke;stroke:#faf6ed;stroke-width:3px}.map-list{padding:15px;border-left:1px solid var(--line2);background:#fcfaf5}.map-list b{font:500 17px var(--serif)}.map-list span{display:block;margin-top:6px;color:var(--muted);font-size:9px}.map-list ul{margin:14px 0 0;padding:0;list-style:none}.map-list li{padding:7px 0;border-top:1px solid var(--line2);font-size:10px}.source-strip{display:flex;gap:7px;overflow-x:auto;margin:20px 0 0;padding-bottom:4px}.source-pill{flex:0 0 auto;max-width:260px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fbf8f1;text-align:left}.source-pill b{display:block;font-size:10px;color:var(--moss);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-pill span{display:block;margin-top:3px;color:var(--muted);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.turn-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.turn-meta span{padding:5px 8px;border-radius:999px;background:#f1ede4;color:var(--muted);font-size:8px}.followups{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.followups button{padding:8px 11px;border:1px solid #d8cbae;border-radius:999px;background:rgba(255,253,248,.7);color:#63502a;font-size:9px}.followups button:hover{background:var(--gold-soft)}.thinking{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px}.thinking-dots{display:flex;gap:4px}.thinking-dots i{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:pulse 1.2s infinite}.thinking-dots i:nth-child(2){animation-delay:.2s}.thinking-dots i:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}.composer-wrap{position:fixed;z-index:25;left:0;right:0;bottom:0;padding:16px 18px 14px;background:linear-gradient(0deg,var(--paper) 68%,rgba(247,242,232,0))}.composer{width:min(860px,calc(100% - 36px));min-height:58px;margin:0 auto;display:grid;grid-template-columns:26px 1fr 44px;align-items:center;gap:8px;padding:7px 8px 7px 15px;border:1px solid #d4b66e;border-radius:16px;background:var(--surface);box-shadow:0 12px 38px rgba(90,65,25,.12)}.spark{color:var(--gold)}.composer textarea{resize:none;max-height:130px;border:0;outline:0;background:transparent;font:17px/1.4 var(--serif)}.send{width:42px;height:42px;border:0;border-radius:50%;background:var(--gold);color:white;font-size:20px}.send:disabled{opacity:.5}.composer-note{text-align:center;margin-top:6px;color:#9a9589;font-size:8px}.drawer{position:fixed;right:0;top:0;z-index:60;width:min(430px,92vw);height:100vh;transform:translateX(104%);transition:.2s;background:var(--surface);border-left:1px solid var(--line);box-shadow:-20px 0 50px rgba(40,32,20,.12)}.drawer.open{transform:translateX(0)}.backdrop{position:fixed;inset:0;z-index:55;background:rgba(40,35,28,.2);opacity:0;pointer-events:none;transition:.2s}.backdrop.open{opacity:1;pointer-events:auto}.drawer-head{height:82px;padding:17px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line2)}.drawer-head h2{margin:4px 0 0;font:500 22px var(--serif)}.drawer-head button{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:white;font-size:19px}.drawer-body{height:calc(100vh - 82px);overflow:auto;padding:20px}.detail-block{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line2)}.detail-block h3{margin:0 0 9px;font:500 17px var(--serif)}.detail-block blockquote{margin:0;padding:12px 14px;border-left:2px solid var(--gold);background:#faf5eb;font:13px/1.55 var(--serif)}.detail-row{display:flex;justify-content:space-between;gap:20px;padding:7px 0;font-size:9px}.detail-row span{color:var(--muted)}.settings-form{display:flex;flex-direction:column;gap:15px}.settings-form label{display:flex;flex-direction:column;gap:6px}.settings-form label>span{font-size:9px;color:var(--muted);font-weight:700}.settings-form input,.settings-form select{min-height:40px;border:1px solid var(--line);border-radius:9px;background:white;padding:0 9px}.settings-form .check{flex-direction:row;align-items:center}.gold-button{min-height:42px;border:1px solid #d1ae58;border-radius:10px;background:linear-gradient(#f7dda0,#e7b94f);font-weight:700}@media(max-width:760px){.brand-copy,.connection span,.collection-label{display:none}.collection-control{padding-left:5px}.collection-control select{max-width:118px}.top-actions{gap:5px}.quiet{padding:7px 9px}.shell{width:min(100% - 22px,1060px)}.starter-grid{grid-template-columns:1fr}.turn{grid-template-columns:1fr;gap:6px}.turn-label{text-align:left}.user-turn .turn-content{font-size:21px}.assistant-turn{padding-bottom:26px}.map-compact{grid-template-columns:1fr}.map-list{border-left:0;border-top:1px solid var(--line2)}.composer{width:calc(100% - 18px)}.welcome h1{font-size:46px}.welcome{padding-bottom:110px}}

/* Progressive knowledge-answer feedback */
.progress-card{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border:1px solid rgba(90,72,35,.18);border-radius:16px;background:rgba(252,249,239,.72);max-width:760px}
.progress-card b{display:block;font-size:.92rem;margin-bottom:4px}.progress-card p{margin:0;color:var(--muted,#6b665c);line-height:1.45}.progress-spinner{width:19px;height:19px;border-radius:50%;border:2px solid rgba(90,72,35,.18);border-top-color:currentColor;animation:mkp-spin .9s linear infinite;flex:0 0 auto;margin-top:2px}.progress-counts{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.progress-counts span{font-size:.76rem;padding:4px 8px;border-radius:999px;background:rgba(90,72,35,.08)}
@keyframes mkp-spin{to{transform:rotate(360deg)}}
.coverage-status{margin:8px 0 18px;padding:11px 13px;border-radius:12px;background:rgba(111,96,47,.065);display:grid;gap:8px}.coverage-status>div:first-child{display:flex;justify-content:space-between;gap:14px;align-items:baseline;flex-wrap:wrap}.coverage-status b{font-size:.83rem}.coverage-status span{font-size:.75rem;color:var(--muted,#6b665c)}.coverage-bar{height:4px;background:rgba(111,96,47,.13);border-radius:99px;overflow:hidden}.coverage-bar i{display:block;height:100%;background:currentColor;opacity:.58;border-radius:99px;min-width:3px}
.answer-feedback{margin-top:14px;padding-top:10px;border-top:1px solid rgba(90,72,35,.12);display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.76rem;color:var(--muted,#6b665c)}.answer-feedback button{border:1px solid rgba(90,72,35,.18);background:transparent;border-radius:999px;padding:4px 10px;cursor:pointer}.answer-feedback button:hover{background:rgba(90,72,35,.07)}
.learning-status{margin:-6px 0 18px;padding:9px 12px;border-left:2px solid rgba(111,96,47,.34);background:rgba(255,253,248,.58);display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.learning-status b{font-size:.76rem;color:var(--moss)}.learning-status span{font-size:.73rem;color:var(--muted)}
.frontend-warning{margin:0 0 14px;padding:9px 12px;border-radius:10px;background:rgba(194,116,74,.09);border:1px solid rgba(194,116,74,.2);color:#8b5138;font-size:.78rem;line-height:1.5}
.map-route line{stroke:var(--moss);stroke-width:2;opacity:.72}.map-route.exact line{stroke-dasharray:5 4}.map-route.sequence line{stroke-dasharray:2 6;opacity:.42}.map-route path{fill:var(--moss)}
.answer-feedback [data-feedback-reason]{font-size:.72rem;padding:5px 9px}
.map-land{opacity:.66;pointer-events:none}

/* Structured exhaustive timeline */
.timeline-exhaustive .viz-head p{margin:7px 0 0;color:var(--muted);font-size:9px;line-height:1.4}.timeline-groups{max-height:680px;overflow:auto;padding:8px 18px 18px}.timeline-group{border-bottom:1px solid var(--line2)}.timeline-group summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 2px;cursor:pointer;list-style:none}.timeline-group summary::-webkit-details-marker{display:none}.timeline-group summary b{font:600 17px var(--serif)}.timeline-group summary span{color:var(--muted);font-size:9px}.timeline-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:12px 2px 14px;border-top:1px solid var(--line2)}.timeline-date{color:var(--gold-dark);font-size:10px;font-weight:800;line-height:1.4}.timeline-row-body strong{display:block;font:600 14px/1.35 var(--serif)}.timeline-row-body span{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.4}.timeline-row-body small{display:block;margin-top:7px;color:#5e5a51;font:11px/1.45 var(--serif);max-width:760px}.timeline-drawer-event{padding:10px 0 13px;border-top:1px solid var(--line2)}.timeline-drawer-event>b{display:block;font:600 14px/1.4 var(--serif)}.timeline-drawer-event>span{display:block;margin-top:4px;color:var(--muted);font-size:9px}.timeline-drawer-event blockquote{margin-top:9px}
@media(max-width:760px){.timeline-row{grid-template-columns:1fr;gap:5px}.timeline-groups{max-height:560px;padding-left:13px;padding-right:13px}}

/* Presentation polish: animated MKP triangle loader + discoverable visualizations */
.progress-orbit{position:relative;width:38px;height:34px;flex:0 0 38px;margin-top:1px;animation:mkp-loader-rotate 4.8s linear infinite}
.progress-orbit i{position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(201,151,53,.09);animation:mkp-triangle-orbit 1.85s ease-in-out infinite, mkp-triangle-glow 1.85s ease-in-out infinite}
.progress-orbit i:nth-child(1){animation-delay:0s,0s}
.progress-orbit i:nth-child(2){animation-delay:-.62s,-.62s}
.progress-orbit i:nth-child(3){animation-delay:-1.24s,-1.24s}
@keyframes mkp-loader-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes mkp-triangle-orbit{0%,100%{transform:translate(0,-12px) scale(.9)}33.333%{transform:translate(-11px,10px) scale(1.02)}66.666%{transform:translate(11px,10px) scale(.96)}}
@keyframes mkp-triangle-glow{0%,100%{background:#d3a23f;opacity:.62;box-shadow:0 0 0 3px rgba(211,162,63,.12)}33.333%{background:#c7774d;opacity:1;box-shadow:0 0 0 5px rgba(199,119,77,.12)}66.666%{background:#a86a32;opacity:.84;box-shadow:0 0 0 4px rgba(168,106,50,.1)}}
.explore-tools{margin:20px 0 2px;padding:14px 0 2px;border-top:1px solid var(--line2)}
.explore-label{display:block;margin-bottom:9px;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.explore-actions{display:flex;flex-wrap:wrap;gap:8px}
.explore-button{min-width:150px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:10px 12px;border:1px solid #d9ccb0;border-radius:11px;background:rgba(255,253,248,.72);text-align:left}
.explore-button:hover{background:var(--surface);border-color:#c7ad72;transform:translateY(-1px)}
.explore-button b{grid-column:1;font:600 14px var(--serif);color:var(--ink)}
.explore-button small{grid-column:1;color:var(--muted);font-size:8px;margin-top:2px}
.explore-button i{grid-column:2;grid-row:1/3;color:var(--gold-dark);font-style:normal;font-size:15px}
@media(prefers-reduced-motion:reduce){.progress-orbit{animation:none}.progress-orbit i{animation:none}.progress-orbit i:nth-child(1){transform:translate(0,-12px);background:#d3a23f}.progress-orbit i:nth-child(2){transform:translate(-11px,10px);background:#c7774d}.progress-orbit i:nth-child(3){transform:translate(11px,10px);background:#a86a32}.explore-button:hover{transform:none}}

/* Temporary frontend authentication */
.user-chip{max-width:160px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,253,248,.72);color:var(--moss);font-size:9px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.login-page{min-height:100vh;background:radial-gradient(circle at 50% 12%,rgba(222,196,132,.18),transparent 34%),var(--paper);display:grid;place-items:center;padding:24px}
.login-shell{width:min(430px,100%)}
.login-card{padding:36px 38px 40px;border:1px solid #d8cbae;border-radius:22px;background:rgba(255,253,248,.92);box-shadow:0 22px 70px rgba(70,54,24,.12)}
.login-brand{display:flex;align-items:center;gap:11px;margin-bottom:36px}.login-brand .brand-copy{display:flex}
.login-card .kicker{display:block;margin-bottom:10px}.login-card h1{margin:0;font:500 46px/1.02 var(--serif);letter-spacing:-.025em}.login-card>p{margin:12px 0 27px;color:var(--muted);font:14px/1.55 var(--serif)}
.login-form{display:flex;flex-direction:column;gap:17px}.login-form label{display:flex;flex-direction:column;gap:7px}.login-form label span{font-size:9px;font-weight:800;color:var(--muted);letter-spacing:.04em}.login-form input{height:46px;border:1px solid var(--line);border-radius:11px;background:white;padding:0 12px;font:15px var(--sans);outline:none}.login-form input:focus{border-color:#c59a39;box-shadow:0 0 0 3px rgba(197,154,57,.1)}
.login-form .gold-button{margin-top:3px;font-size:11px}.login-form .gold-button:disabled{opacity:.65}.login-error{min-height:17px;margin:-5px 0 -3px;color:#8a3d32;font-size:10px;line-height:1.4}
@media(max-width:760px){.user-chip{display:none}.login-card{padding:30px 25px 32px}.login-card h1{font-size:40px}.login-page{padding:14px}}
/* v15.0.12 cross-interview connection explorer */
.connection-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 16px}.connection-summary-card{border:1px solid var(--line);border-radius:11px;background:#fffaf0;padding:11px 12px;display:flex;flex-direction:column;gap:3px}.connection-summary-card b{font:600 13px/1.25 var(--serif)}.connection-summary-card span{font-size:9px;color:var(--muted)}.connection-controls{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:7px;position:sticky;top:-20px;z-index:2;background:var(--surface);padding:4px 0 10px}.connection-controls input,.connection-controls select{min-height:38px;border:1px solid var(--line);border-radius:9px;background:white;padding:0 9px;font:10px var(--sans);min-width:0}.connection-count{font-size:9px;color:var(--muted);margin:0 0 9px}.connection-results{display:flex;flex-direction:column;gap:9px}.connection-result{border:1px solid var(--line2);border-radius:12px;background:white;padding:12px}.connection-result[hidden]{display:none}.connection-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.connection-result h3{margin:3px 0 0;font:500 15px/1.3 var(--serif)}.connection-category{font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:#9a6e1d;font-weight:800}.connection-source-count{white-space:nowrap;font-size:8px;color:var(--muted);padding-top:3px}.connection-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.connection-badges span{border:1px solid var(--line2);border-radius:999px;background:#faf7ef;padding:4px 7px;font-size:8px;color:#665f52}.connection-result details{margin-top:9px;border-top:1px solid var(--line2);padding-top:8px}.connection-result summary{cursor:pointer;font-size:9px;font-weight:700;color:#655d50}.connection-result details p{font:11px/1.5 var(--serif);color:var(--muted);margin:7px 0 0}@media(max-width:760px){.connection-summary-grid{grid-template-columns:1fr}.connection-controls{grid-template-columns:1fr;position:static}}
.graph-note{padding:10px 16px 13px;border-top:1px solid var(--line2);color:var(--muted);font-size:9px;line-height:1.5;background:#fcfaf5}.g-node.connector circle{fill:var(--moss-soft);stroke:var(--moss);stroke-width:1.8}.g-node.connector text{fill:var(--moss)}.g-node .g-type{font:700 6px var(--sans);text-transform:uppercase;letter-spacing:.08em;fill:var(--muted);stroke:#fffdf8;stroke-width:2px}.shared-connector-graph{min-height:390px}.graph-drawer-canvas{margin:-5px 0 16px;padding:10px;border:1px solid var(--line2);border-radius:12px;background:radial-gradient(circle at center,#fffdf8,#f7f0e4);overflow:hidden}.graph-drawer-canvas svg{display:block;width:100%;height:auto}.shared-connector-row{padding:11px 0;border-top:1px solid var(--line2)}.shared-connector-row:first-of-type{border-top:0}.shared-connector-row>b{display:block;font:600 15px var(--serif)}.shared-connector-row>span{display:block;margin-top:3px;color:var(--gold-dark);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.shared-connector-row p{margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.55}

/* v15.0.13 calmer knowledge-flow loader */
.progress-orbit{position:relative;width:34px;height:30px;flex:0 0 34px;margin-top:2px;animation:none!important;transform:none!important}
.progress-orbit i{position:absolute;width:8px;height:8px;margin:0;border-radius:50%;box-shadow:0 0 0 3px rgba(199,143,58,.08);animation:mkp-warm-flow 1.8s ease-in-out infinite!important;transform:none}
.progress-orbit i:nth-child(1){left:13px;top:0;animation-delay:0s!important}
.progress-orbit i:nth-child(2){left:2px;top:20px;animation-delay:.6s!important}
.progress-orbit i:nth-child(3){left:24px;top:20px;animation-delay:1.2s!important}
@keyframes mkp-warm-flow{0%,100%{background:#c99a42;opacity:.42;transform:scale(.82);box-shadow:0 0 0 3px rgba(201,154,66,.06)}28%{background:#c8794e;opacity:1;transform:scale(1.2);box-shadow:0 0 0 5px rgba(200,121,78,.11)}55%{background:#b77735;opacity:.72;transform:scale(.98);box-shadow:0 0 0 4px rgba(183,119,53,.08)}}

/* Compact question-aware context navigation */
.context-tools{margin:22px 0 4px;padding-top:13px;border-top:1px solid var(--line2)}
.context-label{display:block;margin-bottom:8px;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.context-actions{display:flex;flex-wrap:wrap;gap:7px}
.context-button{display:flex;align-items:baseline;gap:7px;min-height:34px;padding:7px 10px;border:1px solid #d8c9a8;border-radius:999px;background:rgba(255,253,248,.65);text-align:left}
.context-button:hover{background:var(--gold-soft);border-color:#c9ad6d}
.context-button b{font:600 12px var(--serif);color:var(--ink)}
.context-button small{color:var(--muted);font-size:8px}

/* Question-aware relationship presentation */
.viz-head p{margin:6px 0 0;color:var(--muted);font-size:9px;line-height:1.4}
.question-graph{background:radial-gradient(circle at center,#fffdf8 0,#faf5ea 62%,#f3ecdf 100%)}
.question-graph .g-edge{stroke:#b68c4a;stroke-width:1.25;opacity:.72}
.question-graph .g-node circle{fill:#f3d9a3;stroke:#c49335;stroke-width:1.5}
.question-graph .g-node.focus circle{fill:#a76538;stroke:#a76538}
.question-graph .g-node.focus text{fill:#3c2a1d}
.relation-context-list{display:flex;flex-direction:column;gap:9px;margin-top:10px}
.relation-context-card{padding:12px 13px;border:1px solid var(--line2);border-radius:12px;background:#fffdf8}
.relation-context-card h3{margin:0;font:600 15px/1.35 var(--serif)}
.relation-context-card h3 span{color:var(--gold-dark);font-weight:400}
.relation-context-card p{margin:6px 0 0;color:#675d4e;font-size:10px;line-height:1.5}
.context-tech{margin-top:8px;padding-top:7px;border-top:1px solid var(--line2)}
.context-tech summary{cursor:pointer;color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.context-tech small{display:block;margin-top:6px;color:var(--muted);font-size:8px;line-height:1.45}

/* Source drawer */
.source-context-list{display:flex;flex-direction:column;gap:10px}
.source-context-card{padding:13px 14px;border:1px solid var(--line2);border-radius:12px;background:#fffdf8}
.source-context-card>span{display:block;color:var(--gold-dark);font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.source-context-card h3{margin:4px 0 0;font:600 15px/1.3 var(--serif)}
.source-context-card blockquote{margin:10px 0 0;padding:10px 12px;border-left:2px solid #d4a44c;background:#faf4e8;font:12px/1.55 var(--serif)}
.source-context-card small{display:block;margin-top:8px;color:var(--muted);font-size:8px}

/* Map as a visual first, metadata second */
.context-map{margin:-4px 0 14px;border:1px solid var(--line2);border-radius:13px;background:linear-gradient(180deg,#faf6ed,#f1eadc);overflow:hidden}
.context-map svg{display:block;width:100%;height:auto;min-height:280px}
.context-map-point circle{fill:#c68e35;stroke:#fffdf8;stroke-width:2.5}
.context-map-point .map-number{font:800 7px var(--sans);fill:#fffdf8;stroke:none;text-anchor:middle}
.context-map-point text:not(.map-number){font:700 8px var(--sans);fill:var(--ink);paint-order:stroke;stroke:#faf6ed;stroke-width:3px}
.place-context-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.place-context-card{display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px;padding:10px 11px;border:1px solid var(--line2);border-radius:11px;background:#fffdf8}
.place-context-card>span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--gold-soft);color:var(--gold-dark);font-size:8px;font-weight:800}
.place-context-card h3{margin:1px 0 0;font:600 14px var(--serif)}
.place-context-card p{margin:4px 0 0;color:var(--muted);font-size:9px;line-height:1.4}
.context-timeline-group>h3{margin-top:0}

@media(max-width:760px){
  .context-button{width:100%;justify-content:space-between}
  .place-context-list{grid-template-columns:1fr}
}
@keyframes mkp-warm-flow-reduced{0%,100%{opacity:.58;transform:scale(.96);box-shadow:0 0 0 2px rgba(201,154,66,.05)}50%{opacity:.92;transform:scale(1.04);box-shadow:0 0 0 3px rgba(201,154,66,.08)}}
@media(prefers-reduced-motion:reduce){
  /* Reduced motion keeps the waiting state visibly alive without orbiting or large movement. */
  .progress-orbit i{animation:mkp-warm-flow-reduced 3.6s ease-in-out infinite!important;transform:none}
  .progress-orbit i:nth-child(1){background:#c99a42;animation-delay:0s!important}
  .progress-orbit i:nth-child(2){background:#c8794e;animation-delay:1.2s!important}
  .progress-orbit i:nth-child(3){background:#b77735;animation-delay:2.4s!important}
}

/* v15.1 knowledge-reading UX: compact evidence, linked sources and calmer navigation */
.answer-overview{margin:0 0 22px;padding:13px 14px;border:1px solid rgba(183,145,68,.22);border-radius:13px;background:rgba(255,253,248,.62)}
.answer-overview-label,.answer-overview-entities>span{display:block;margin-bottom:8px;color:var(--gold-dark);font-size:8px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.answer-overview-nav{display:flex;flex-wrap:wrap;gap:7px}
.answer-overview-nav button,.answer-overview-entities button{border:1px solid #ded2b9;border-radius:999px;background:#fffdf8;padding:6px 9px;color:#514b40;font-size:9px;line-height:1.2}
.answer-overview-nav button:hover,.answer-overview-entities button:hover{background:var(--gold-soft);border-color:#c9ad6d}
.answer-overview-entities{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line2)}
.answer-overview-entities>span{margin:0 4px 0 0;color:var(--muted)}
.answer-recap{margin:26px 0 8px;padding:13px 14px;border-left:2px solid var(--gold);background:rgba(249,244,233,.72);border-radius:0 10px 10px 0}
.answer-recap>span{display:block;color:var(--gold-dark);font-size:8px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.answer-recap p{margin:5px 0 0;font:14px/1.5 var(--serif);color:#49483f}
.section-pulse{animation:section-highlight 1.4s ease-out}
@keyframes section-highlight{0%{background:rgba(232,195,103,.28);box-shadow:0 0 0 7px rgba(232,195,103,.12)}100%{background:transparent;box-shadow:none}}

.coverage-status.coverage-compact{margin:7px 0 17px;padding:0;border:1px solid rgba(111,96,47,.12);border-radius:10px;background:rgba(111,96,47,.045);overflow:hidden}
.coverage-compact summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 11px;cursor:pointer;list-style:none}
.coverage-compact summary::-webkit-details-marker{display:none}
.coverage-compact summary b{font-size:.78rem}
.coverage-compact summary span{font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.coverage-compact p{margin:0;padding:0 11px 9px;color:var(--muted);font-size:.72rem;line-height:1.45}
.coverage-compact .coverage-bar{margin:0 11px 10px;height:3px}
.status{display:inline-flex;align-items:center;gap:5px}
.status-help{display:inline-grid;place-items:center;width:13px;height:13px;border:1px solid currentColor;border-radius:50%;font-style:normal;font-size:8px;opacity:.65}

/* Citations: quieter by default, expressive on hover/link */
.citation{min-width:18px;height:17px;margin:0 1px;border-radius:5px;background:#efe3bd;color:#8b681f;font-size:8px;transition:.16s ease}
.citation:hover,.citation:focus,.citation.citation-linked{background:#d9a742;color:#fff;transform:translateY(-1px);outline:none;box-shadow:0 2px 8px rgba(144,99,22,.16)}
.answer-paragraph,.answer-list li{transition:background .18s ease,box-shadow .18s ease}
.answer-source-linked{background:rgba(232,196,107,.13);box-shadow:0 0 0 4px rgba(232,196,107,.07);border-radius:5px}
.citation-preview{position:fixed;z-index:1000;width:300px;padding:11px 12px;border:1px solid #d9c9a7;border-radius:12px;background:#fffdf8;box-shadow:0 16px 42px rgba(52,39,20,.16);pointer-events:none}
.citation-preview>span{display:block;color:var(--gold-dark);font-size:7px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.citation-preview>b{display:block;margin-top:3px;font:600 13px/1.3 var(--serif)}
.citation-preview p{margin:7px 0 0;color:#5f5a50;font:11px/1.45 var(--serif)}
.citation-preview small{display:block;margin-top:7px;color:var(--muted);font-size:7px}

/* Timeline: relevant events + discoverable horizontal navigation */
.timeline-inline .viz-head p{margin:6px 0 0;color:var(--muted);font-size:8px}
.timeline-window{position:relative;background:linear-gradient(90deg,rgba(255,253,248,1) 0,rgba(255,253,248,0) 3%,rgba(255,253,248,0) 97%,rgba(255,253,248,1) 100%)}
.timeline-compact{scrollbar-width:thin;scroll-behavior:smooth;padding-left:34px;padding-right:34px}
.timeline-compact .time-item{appearance:none;border:0;border-top:1px solid #cdbf9f;background:transparent;text-align:left;color:inherit;cursor:pointer}
.timeline-compact .time-item:hover{background:linear-gradient(180deg,rgba(244,228,188,.3),transparent 75%)}
.timeline-nav{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:27px;height:34px;border:1px solid rgba(195,166,105,.55);border-radius:999px;background:rgba(255,253,248,.94);color:var(--gold-dark);font:20px/1 var(--serif);box-shadow:0 3px 12px rgba(65,48,22,.07)}
.timeline-nav.prev{left:6px}.timeline-nav.next{right:6px}
.timeline-nav:hover{background:var(--gold-soft)}
.timeline-drawer-event{display:block;width:100%;padding:11px 0 14px;border:0;border-top:1px solid var(--line2);background:transparent;text-align:left;color:inherit}
.timeline-drawer-event:hover{background:rgba(244,228,188,.18)}
.timeline-drawer-event blockquote{margin:9px 0 0;padding:9px 11px;border-left:2px solid var(--gold);background:#faf5eb;font:11px/1.5 var(--serif)}

/* Source reading drawer */
.drawer.wide{width:min(590px,94vw)}
.drawer-resize-handle{position:absolute;z-index:6;left:-5px;top:0;width:10px;height:100%;cursor:ew-resize;touch-action:none}
.drawer-resize-handle::before{content:"";position:absolute;left:4px;top:42%;width:2px;height:54px;border-radius:99px;background:rgba(174,140,73,.22);transition:.15s}
.drawer-resize-handle:hover::before{background:rgba(174,140,73,.55)}
.source-toolbar{position:sticky;top:-20px;z-index:4;margin:-20px -20px 13px;padding:14px 20px 12px;border-bottom:1px solid var(--line2);background:rgba(255,253,248,.96);backdrop-filter:blur(8px)}
.source-toolbar>input{width:100%;height:38px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:10px;outline:none}
.source-toolbar>input:focus{border-color:#c7a55c;box-shadow:0 0 0 3px rgba(199,165,92,.1)}
.source-filters{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.source-filters button{border:1px solid var(--line);border-radius:999px;background:#fffdf8;padding:5px 8px;color:var(--muted);font-size:8px}
.source-filters button.active{border-color:#cba64d;background:var(--gold-soft);color:#6e531d;font-weight:800}
.source-toolbar select{width:100%;height:31px;margin-top:8px;border:1px solid var(--line);border-radius:8px;background:#fffdf8;padding:0 8px;color:var(--muted);font-size:8px}
.source-count{margin-bottom:9px;color:var(--muted);font-size:8px}
.source-context-list{gap:9px}
.source-group-card{padding:0;border:1px solid var(--line2);border-radius:12px;background:#fffdf8;overflow:hidden;transition:.2s}
.source-group-card[hidden]{display:none}
.source-group-focus{border-color:#d4a448;box-shadow:0 0 0 3px rgba(212,164,72,.09)}
.source-group-head{display:flex;justify-content:space-between;gap:14px;padding:11px 12px;background:rgba(251,248,241,.58)}
.source-group-head span{display:block;color:var(--gold-dark);font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.source-group-head h3{margin:3px 0 0;font:600 14px/1.25 var(--serif)}
.source-group-head>b{align-self:center;white-space:nowrap;color:var(--muted);font-size:8px}
.source-fragment{border-top:1px solid var(--line2)}
.source-fragment summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:baseline;padding:9px 12px;cursor:pointer;list-style:none}
.source-fragment summary::-webkit-details-marker{display:none}
.source-fragment summary>span{color:var(--gold-dark);font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.source-fragment summary>small{color:#625d53;font:10px/1.4 var(--serif);overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.source-fragment[open] summary>small{-webkit-line-clamp:3}
.source-fragment blockquote{margin:0 12px 10px;padding:10px 11px;border-left:2px solid #d4a44c;background:#faf4e8;font:11px/1.55 var(--serif)}
.source-meta{display:flex;flex-wrap:wrap;gap:5px;margin:0 12px 11px}
.source-meta span{padding:3px 6px;border-radius:999px;background:#f1ede4;color:var(--muted);font-size:7px;text-transform:lowercase}
.source-fragment-focus{background:rgba(247,225,173,.2)}
.source-pulse{animation:source-highlight 1.8s ease-out}
@keyframes source-highlight{0%{box-shadow:inset 4px 0 0 #d59d2d;background:rgba(247,225,173,.42)}100%{box-shadow:inset 0 0 0 transparent;background:transparent}}

/* Entity context */
.entity-context>p{color:var(--muted);font-size:10px}
.entity-type{display:inline-block;padding:4px 7px;border-radius:999px;background:var(--gold-soft);color:var(--gold-dark);font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.entity-relation{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-top:1px solid var(--line2)}
.entity-relation b{font-size:9px;color:var(--gold-dark)}.entity-relation span{font:600 13px/1.3 var(--serif);text-align:right}

@media(max-width:760px){
  .answer-overview-entities{align-items:flex-start}
  .timeline-nav{display:none}
  .timeline-compact{padding-left:16px;padding-right:16px}
  .drawer.wide{width:96vw;max-width:96vw}
  .drawer-resize-handle{display:none}
  .source-toolbar{top:-20px}
  .citation-preview{display:none}
}

/* v15.0.24 explicit support semantics: backend decides strength, frontend only presents it. */
.status.strong{background:var(--moss-soft);color:var(--moss)}
.status.conflicting{background:#f5ecda;color:#7d6228}
.status.insufficient{background:rgba(156,80,71,.10);color:var(--danger)}

/* v15.0.26 conversational answer UX */
.conversation{padding-top:26px}
.turn{grid-template-columns:72px minmax(0,1fr);gap:18px;margin-bottom:22px}
.turn-label{padding-top:4px;text-align:right}
.turn-label>span{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:24px;padding:0 8px;border-radius:999px;border:1px solid var(--line);background:rgba(255,253,248,.68);color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.user-turn{margin-bottom:14px}
.user-turn .turn-label{padding-top:8px}
.user-turn .turn-content{justify-self:start;width:fit-content;max-width:min(760px,100%);padding:11px 15px;border:1px solid rgba(201,151,53,.22);border-radius:18px 18px 18px 5px;background:rgba(255,253,248,.72);font:500 19px/1.42 var(--serif);letter-spacing:-.01em;box-shadow:0 3px 12px rgba(70,54,24,.025)}
.assistant-turn{margin-top:0;padding-bottom:20px;border-bottom:0}
.assistant-turn+.user-turn{margin-top:20px;padding-top:22px;border-top:1px solid rgba(90,72,35,.1)}
.assistant-turn .turn-label>span{border-color:rgba(201,151,53,.28);background:var(--gold-soft);color:var(--gold-dark)}
.assistant-content{max-width:900px}
.assistant-head{margin:0 0 9px}
.answer-intro{margin:0 0 17px!important;max-width:820px;font:500 20px/1.58 var(--serif)!important;letter-spacing:-.008em;color:#252923!important}
.answer-intro::first-line{color:#20251f}
.conversation-context-note{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:-1px 0 12px;color:var(--muted)}
.conversation-context-note>span{font-size:8px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--gold-dark)}
.conversation-context-note p{margin:0;font-size:9px;line-height:1.45}
.answer-block-reveal{opacity:0;transform:translateY(4px);animation:answer-conversation-reveal .28s ease-out forwards;animation-delay:var(--answer-delay,0ms)}
@keyframes answer-conversation-reveal{to{opacity:1;transform:translateY(0)}}
.answer-block-shell{display:block}
.answer-more{margin:18px 0 10px;border:1px solid rgba(90,72,35,.14);border-radius:13px;background:rgba(255,253,248,.52);overflow:hidden}
.answer-more>summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:10px 12px;cursor:pointer;list-style:none;color:var(--muted)}
.answer-more>summary::-webkit-details-marker{display:none}
.answer-more>summary span{font:600 13px var(--serif);color:var(--ink)}
.answer-more>summary small{font-size:8px}
.answer-more>summary i{font-style:normal;color:var(--gold-dark);transition:transform .18s ease}
.answer-more[open]>summary i{transform:rotate(180deg)}
.answer-more-body{padding:4px 13px 2px;border-top:1px solid rgba(90,72,35,.1)}
.answer-more-body .answer-heading:first-child{margin-top:16px}
.answer-overview{margin:12px 0 20px}
.answer-overview-label{font-size:8px}
.context-tools.conversation-tools{margin-top:17px;padding-top:12px}
.conversation-tools .context-label{margin-bottom:7px;text-transform:none;letter-spacing:0;font:600 12px var(--serif);color:#615a4e}
.conversation-tools .context-actions{gap:6px}
.conversation-tools .context-button{min-height:31px;padding:6px 9px;background:transparent}
.conversation-tools .context-button b{font-size:11px}
.conversation-tools .context-button small{font-size:7px}
.answer-evidence-meta{margin:13px 0 0;border-top:1px solid rgba(90,72,35,.1);padding-top:8px}
.answer-evidence-meta>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;color:var(--muted);width:max-content;max-width:100%}
.answer-evidence-meta>summary::-webkit-details-marker{display:none}
.answer-evidence-meta>summary span{font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.answer-evidence-meta>summary small{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.answer-evidence-meta>summary i{font-style:normal;color:var(--gold-dark);font-size:10px;transition:transform .18s ease}
.answer-evidence-meta[open]>summary i{transform:rotate(180deg)}
.answer-evidence-meta .turn-meta{margin-top:9px}
.conversation-followups{margin-top:17px;padding:13px 0 0;border-top:1px solid rgba(90,72,35,.1);display:block}
.conversation-followups>div:first-child{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.conversation-followups>div:first-child b{font:600 13px var(--serif);color:var(--ink)}
.conversation-followups>div:first-child span{font-size:8px;color:var(--muted)}
.followup-actions{display:flex;flex-wrap:wrap;gap:6px}
.conversation-followups button{padding:7px 10px;border:1px solid #d8cbae;border-radius:999px;background:rgba(255,253,248,.58);color:#62502e;font-size:9px;text-align:left}
.conversation-followups button:hover{background:var(--gold-soft);border-color:#c5a65e}
.live-answer-status{display:flex;align-items:center;gap:7px;margin-bottom:9px;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.live-answer-status i{width:6px;height:6px;border-radius:50%;background:#c7774d;box-shadow:0 0 0 3px rgba(199,119,77,.1);animation:live-dot 1.15s ease-in-out infinite}
@keyframes live-dot{50%{transform:scale(1.35);opacity:.55}}
.live-answer-text{position:relative}
.stream-caret{display:inline-block;width:2px;height:1.05em;margin-left:3px;background:var(--gold-dark);vertical-align:-.13em;animation:stream-caret .8s steps(1) infinite}
@keyframes stream-caret{50%{opacity:0}}
.waiting-turn .progress-card{max-width:690px}
.resolved-query{font-size:8px;color:var(--muted)}

@media(max-width:760px){
  .turn{grid-template-columns:1fr;gap:7px;margin-bottom:18px}
  .turn-label{text-align:left;padding-top:0}
  .turn-label>span{height:21px;min-width:29px;padding:0 7px;font-size:7px}
  .user-turn .turn-label{padding-top:0}
  .user-turn .turn-content{max-width:100%;font-size:17px;padding:10px 13px}
  .assistant-content{max-width:none}
  .answer-intro{font-size:18px!important}
  .answer-more>summary{grid-template-columns:auto 1fr auto}
  .answer-evidence-meta>summary{width:100%}
  .conversation-followups button{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .answer-block-reveal{opacity:1;transform:none;animation:none}
  .live-answer-status i,.stream-caret{animation:none}
}

/* v15.0.29 conversation layout + server-side chat history */
@media(min-width:901px){
  body{padding-left:258px}
  .composer-wrap{left:258px}
  .sidebar-toggle,.mobile-brand{display:none!important}
}
.chat-sidebar{position:fixed;z-index:45;left:0;top:0;width:258px;height:100vh;display:flex;flex-direction:column;padding:19px 13px 15px;background:rgba(244,238,226,.97);border-right:1px solid rgba(111,86,44,.12);box-shadow:8px 0 30px rgba(64,48,27,.025)}
.chat-sidebar-head{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 7px 8px}
.chat-sidebar .brand-mark{font-size:25px}.chat-sidebar .brand-copy{font-size:7px}
.sidebar-close{display:none;width:31px;height:31px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:20px}
.sidebar-new-chat{width:100%;min-height:40px;display:flex;align-items:center;gap:9px;padding:0 12px;margin:5px 0 17px;border:1px solid rgba(169,126,46,.22);border-radius:11px;background:rgba(255,253,248,.55);font-size:10px;font-weight:800;text-align:left}
.sidebar-new-chat:hover{background:var(--surface);border-color:rgba(169,126,46,.42)}.sidebar-new-chat span{color:var(--gold-dark);font-size:16px;font-weight:400}
.chat-history-head{padding:0 9px 7px;color:#8d887d;font-size:7px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.chat-history{min-height:0;overflow:auto;padding:0 2px 25px;scrollbar-width:thin;scrollbar-color:rgba(90,72,35,.2) transparent}
.history-group{margin:0 0 14px}.history-group h3{margin:0;padding:5px 7px;color:#969084;font-size:7px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.history-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 27px;align-items:center;border-radius:9px;margin:1px 0}
.history-item:hover,.history-item.active{background:rgba(255,253,248,.72)}.history-item.active{box-shadow:inset 2px 0 0 rgba(177,127,40,.65)}
.history-open{min-width:0;display:block;width:100%;padding:8px 8px 8px 10px;border:0;background:transparent;text-align:left}
.history-open span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3d4039;font:600 11px/1.3 var(--serif)}
.history-open small{display:block;margin-top:3px;color:#999287;font-size:7px}
.history-delete{width:24px;height:24px;align-self:center;border:0;border-radius:50%;background:transparent;color:#aaa397;opacity:0;font-size:15px;line-height:1}
.history-item:hover .history-delete,.history-item.active .history-delete{opacity:1}.history-delete:hover{background:rgba(156,80,71,.08);color:var(--danger)}
.history-empty,.history-error{margin:8px;padding:9px;color:#8d877c;font-size:9px;line-height:1.45}.history-error{color:#985a4f;background:rgba(156,80,71,.06);border-radius:8px}
.sidebar-backdrop{display:none}
.masthead{justify-content:flex-end}.sidebar-toggle{border:0;background:transparent;font-size:18px;color:var(--muted)}.mobile-brand{display:none;margin-right:auto}

/* Conversation itself: message direction is enough; labels no longer need pills. */
.turn{grid-template-columns:34px minmax(0,1fr);gap:12px;margin-bottom:18px}
.user-turn{display:flex;justify-content:flex-end;margin:10px 0 18px;padding-left:12%}
.user-turn .turn-content{justify-self:auto;max-width:min(720px,88%);padding:11px 15px;border:1px solid rgba(184,139,56,.20);border-radius:17px 17px 5px 17px;background:rgba(255,253,248,.70);box-shadow:none;font:500 18px/1.43 var(--serif)}
.assistant-turn{padding-bottom:10px}.assistant-turn+.user-turn{margin-top:24px;padding-top:0;border-top:0}
.turn-label.assistant-mark{padding-top:7px;text-align:center}
.turn-label.assistant-mark>span{min-width:22px;width:22px;height:22px;padding:0;border:0;background:transparent;color:#ae7b26;font:400 16px/1 var(--sans);letter-spacing:0;text-transform:none}
.assistant-content{max-width:900px;padding-top:2px}
.waiting-turn .progress-card{max-width:760px;margin:0;padding:3px 0 6px;border:0;border-radius:0;background:transparent;box-shadow:none}
.progress-card{border:0!important;background:transparent!important;padding:3px 0 6px!important;border-radius:0!important}
.progress-card>div:last-child{padding-top:1px}.progress-card b{font-size:.88rem}.progress-card p{font-size:.91rem;max-width:720px}
.progress-counts span{background:rgba(90,72,35,.055)}
.answer-more{border:0;border-top:1px solid rgba(90,72,35,.11);border-radius:0;background:transparent}.answer-more>summary{padding:11px 2px}.answer-more-body{padding:3px 0 2px;border-top:0}
.conversation-followups{border-top:0;padding-top:7px}.answer-feedback{border-top:0;padding-top:4px}
.composer{border-color:rgba(184,139,56,.32);box-shadow:0 10px 34px rgba(90,65,25,.07);transition:border-color .18s,box-shadow .18s}.composer:focus-within{border-color:#c99735;box-shadow:0 12px 38px rgba(90,65,25,.12)}

@media(max-width:900px){
  body{padding-left:0}
  .chat-sidebar{transform:translateX(-104%);transition:transform .2s ease;box-shadow:18px 0 50px rgba(40,32,20,.13)}
  .chat-sidebar.open{transform:translateX(0)}
  .sidebar-close{display:grid;place-items:center}
  .sidebar-backdrop{display:block;position:fixed;inset:0;z-index:44;background:rgba(40,35,28,.22);opacity:0;pointer-events:none;transition:.2s}
  .sidebar-backdrop.open{opacity:1;pointer-events:auto}
  .masthead{justify-content:flex-start;padding-left:13px}.sidebar-toggle{display:block}.mobile-brand{display:block}.top-actions{margin-left:auto}
  .composer-wrap{left:0}
}
@media(max-width:760px){
  .turn{display:grid;grid-template-columns:25px minmax(0,1fr);gap:8px}
  .user-turn{display:flex;padding-left:6%;margin:7px 0 16px}
  .user-turn .turn-content{max-width:94%;font-size:17px;padding:10px 13px}
  .turn-label.assistant-mark{display:block;text-align:center}
  .turn-label.assistant-mark>span{width:20px;min-width:20px;height:20px;font-size:14px}
  .assistant-content{min-width:0}
  .chat-sidebar{width:min(286px,88vw)}
  .collection-control{max-width:155px}.user-chip,.connection{display:none}
}

/* v15.0.30 living knowledge motion layer */
.welcome{position:relative;isolation:isolate;overflow:hidden}
.welcome>:not(.welcome-constellation){position:relative;z-index:2}
.welcome-constellation{position:absolute;z-index:0;left:50%;top:47%;width:min(760px,86vw);height:330px;transform:translate(-50%,-50%);pointer-events:none;opacity:.52;filter:saturate(.86)}
.wc-node{position:absolute;width:8px;height:8px;border-radius:50%;background:rgba(188,139,48,.42);box-shadow:0 0 0 7px rgba(188,139,48,.035);animation:wc-pulse 5.8s ease-in-out infinite}
.wc-node::after{content:"";position:absolute;inset:-2px;border:1px solid rgba(169,126,46,.18);border-radius:50%}
.wc-n1{left:14%;top:36%;animation-delay:-1.1s}.wc-n2{left:31%;top:18%;animation-delay:-3.7s}.wc-n3{left:50%;top:42%;width:10px;height:10px;background:rgba(91,113,78,.38);animation-delay:-2.2s}.wc-n4{left:68%;top:22%;animation-delay:-4.8s}.wc-n5{left:83%;top:49%;animation-delay:-.4s}.wc-n6{left:61%;top:71%;animation-delay:-3.1s}
.wc-line{position:absolute;height:1px;background:linear-gradient(90deg,rgba(180,141,73,.04),rgba(180,141,73,.23),rgba(180,141,73,.04));transform-origin:left center;animation:wc-line-breathe 7s ease-in-out infinite}
.wc-l1{left:14.7%;top:37.2%;width:20%;transform:rotate(-30deg);animation-delay:-1s}.wc-l2{left:31.7%;top:19.2%;width:24%;transform:rotate(25deg);animation-delay:-3s}.wc-l3{left:50.8%;top:43.3%;width:22%;transform:rotate(-27deg);animation-delay:-4.4s}.wc-l4{left:50.8%;top:44.3%;width:20%;transform:rotate(45deg);animation-delay:-2s}.wc-l5{left:61.8%;top:72.4%;width:25%;transform:rotate(-34deg);animation-delay:-5.2s}
@keyframes wc-pulse{0%,100%{opacity:.42;transform:translateY(0) scale(.9)}45%{opacity:.9;transform:translateY(-5px) scale(1.12)}70%{opacity:.58;transform:translateY(2px) scale(.98)}}
@keyframes wc-line-breathe{0%,100%{opacity:.38}50%{opacity:.9}}

.waiting-turn .progress-card{align-items:flex-start;gap:15px}
.progress-orbit{width:56px!important;height:43px!important;flex-basis:56px!important;margin-top:0!important;overflow:visible}
.progress-orbit i{width:8px!important;height:8px!important;margin:0!important;z-index:3}
.progress-orbit i:nth-of-type(1){left:24px!important;top:3px!important}
.progress-orbit i:nth-of-type(2){left:8px!important;top:31px!important}
.progress-orbit i:nth-of-type(3){left:40px!important;top:31px!important}
.progress-link{position:absolute;z-index:1;height:1px;background:linear-gradient(90deg,rgba(196,148,61,.18),rgba(175,119,52,.48),rgba(196,148,61,.18));transform-origin:left center;opacity:.5;animation:knowledge-link 2.4s ease-in-out infinite}
.progress-link.link-a{left:28px;top:7px;width:32px;transform:rotate(119deg);animation-delay:-.6s}
.progress-link.link-b{left:28px;top:7px;width:32px;transform:rotate(61deg);animation-delay:-1.4s}
.progress-link.link-c{left:12px;top:35px;width:32px;transform:rotate(0deg);animation-delay:-2s}
.knowledge-spark{position:absolute;z-index:2;width:4px;height:4px;border-radius:50%;background:#c28c3c;opacity:0;box-shadow:0 0 0 3px rgba(194,140,60,.08)}
.knowledge-spark.spark-a{left:48px;top:8px}.knowledge-spark.spark-b{left:1px;top:17px}.knowledge-spark.spark-c{left:51px;top:36px}
.progress-copy{min-width:0;padding-top:0!important;animation:progress-copy-in .26s ease-out both}
.progress-copy b{animation:progress-title-in .3s ease-out both}.progress-copy p{animation:progress-message-in .32s ease-out .035s both}
.progress-counts span{opacity:0;transform:translateY(3px);animation:progress-chip-in .3s ease-out var(--chip-delay,0ms) forwards}
.progress-phase-searching-sources .knowledge-spark,.progress-phase-searching-relations .knowledge-spark,.progress-phase-verifying-results .knowledge-spark,.progress-phase-verifying-sources .knowledge-spark,.progress-phase-checking-coverage .knowledge-spark{animation:knowledge-spark 2.3s ease-in-out infinite}
.progress-phase-searching-sources .spark-b,.progress-phase-searching-relations .spark-b,.progress-phase-verifying-results .spark-b,.progress-phase-verifying-sources .spark-b,.progress-phase-checking-coverage .spark-b{animation-delay:-.8s}
.progress-phase-searching-sources .spark-c,.progress-phase-searching-relations .spark-c,.progress-phase-verifying-results .spark-c,.progress-phase-verifying-sources .spark-c,.progress-phase-checking-coverage .spark-c{animation-delay:-1.55s}
.progress-phase-building-relations .progress-link{opacity:.9;animation-duration:1.35s}.progress-phase-building-relations .progress-orbit i{animation-duration:1.35s!important}
.progress-phase-generating-answer .progress-link{opacity:.7}.progress-phase-generating-answer .progress-orbit{animation:knowledge-ready 1.6s ease-in-out infinite!important}
@keyframes knowledge-link{0%,100%{opacity:.23;filter:blur(.1px)}50%{opacity:.86;filter:none}}
@keyframes knowledge-spark{0%,100%{opacity:0;transform:translate(0,4px) scale(.6)}30%{opacity:.8}58%{opacity:.45;transform:translate(-7px,-5px) scale(1.05)}78%{opacity:0;transform:translate(-12px,-10px) scale(.7)}}
@keyframes knowledge-ready{0%,100%{filter:drop-shadow(0 0 0 rgba(199,151,53,0))}50%{filter:drop-shadow(0 0 8px rgba(199,151,53,.2))}}
@keyframes progress-copy-in{from{opacity:.55;transform:translateY(2px)}to{opacity:1;transform:none}}
@keyframes progress-title-in{from{opacity:.45;letter-spacing:.01em}to{opacity:1;letter-spacing:0}}
@keyframes progress-message-in{from{opacity:.35;transform:translateY(2px)}to{opacity:1;transform:none}}
@keyframes progress-chip-in{to{opacity:1;transform:none}}

/* Only newly received answers animate; restored chat history remains still. */
.answer-arriving .turn-label.assistant-mark>span{animation:assistant-mark-arrive .65s cubic-bezier(.2,.8,.2,1) both}
.answer-arriving .assistant-head{animation:answer-meta-arrive .38s ease-out .08s both}
.answer-arriving .answer-overview{animation:answer-support-arrive .42s ease-out .18s both}
.answer-arriving .inline-viz{animation:viz-card-arrive .52s cubic-bezier(.2,.75,.2,1) .24s both}
.answer-arriving .answer-recap{animation:answer-support-arrive .4s ease-out .34s both}
.answer-arriving .context-tools{animation:answer-support-arrive .4s ease-out .42s both}
.answer-arriving .coverage-status,.answer-arriving .dataset-status,.answer-arriving .learning-status,.answer-arriving .answer-evidence-meta{animation:answer-support-arrive .38s ease-out .48s both}
.answer-arriving .conversation-followups{animation:answer-support-arrive .4s ease-out .56s both}
.answer-arriving .answer-feedback{animation:answer-support-arrive .38s ease-out .64s both}
@keyframes assistant-mark-arrive{0%{opacity:0;transform:scale(.5) rotate(-22deg)}65%{opacity:1;transform:scale(1.18) rotate(5deg)}100%{opacity:1;transform:none}}
@keyframes answer-meta-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes answer-support-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes viz-card-arrive{from{opacity:0;transform:translateY(12px) scale(.992);box-shadow:0 0 0 rgba(63,48,28,0)}to{opacity:1;transform:none;box-shadow:0 6px 20px rgba(63,48,28,.04)}}

/* Graphs build from focus node to relationships. */
.answer-arriving .knowledge-graph-svg .g-edge,.drawer.open .knowledge-graph-svg .g-edge{stroke-dasharray:700;stroke-dashoffset:700;animation:graph-edge-draw .72s cubic-bezier(.25,.7,.3,1) var(--edge-delay,100ms) forwards}
.answer-arriving .knowledge-graph-svg .g-node,.drawer.open .knowledge-graph-svg .g-node{opacity:0;animation:graph-node-fade .38s ease-out var(--node-delay,180ms) forwards}
.answer-arriving .knowledge-graph-svg .g-node circle,.drawer.open .knowledge-graph-svg .g-node circle{transform-box:fill-box;transform-origin:center;animation:graph-node-pop .5s cubic-bezier(.2,.85,.25,1.15) var(--node-delay,180ms) both}
@keyframes graph-edge-draw{to{stroke-dashoffset:0}}
@keyframes graph-node-fade{to{opacity:1}}
@keyframes graph-node-pop{0%{transform:scale(.25)}70%{transform:scale(1.14)}100%{transform:scale(1)}}

/* Timelines appear as a sequence rather than a static strip. */
.answer-arriving .timeline-inline .time-item{opacity:0;transform:translateY(8px);animation:timeline-item-in .42s ease-out var(--time-delay,100ms) forwards}
.answer-arriving .timeline-inline .time-item::before{animation:timeline-dot-pop .46s cubic-bezier(.2,.85,.2,1.15) calc(var(--time-delay,100ms) + 45ms) both}
.answer-arriving .timeline-window::after{content:"";position:absolute;left:34px;right:34px;top:18px;height:1px;background:linear-gradient(90deg,rgba(201,151,53,.55),rgba(201,151,53,.08));transform-origin:left center;animation:timeline-line-grow .72s ease-out .16s both;pointer-events:none}
@keyframes timeline-item-in{to{opacity:1;transform:none}}
@keyframes timeline-dot-pop{from{transform:scale(.15);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes timeline-line-grow{from{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}

/* Map routes and places reveal in order. */
.answer-arriving .map-route,.drawer.open .map-route{opacity:0;animation:map-route-in .48s ease-out var(--route-delay,120ms) forwards}
.answer-arriving .map-route line,.drawer.open .map-route line{animation:map-route-flow .8s ease-out var(--route-delay,120ms) both}
.answer-arriving .map-point,.drawer.open .map-point{opacity:0;animation:map-point-in .4s ease-out var(--point-delay,180ms) forwards}
.answer-arriving .map-point circle,.drawer.open .map-point circle{transform-box:fill-box;transform-origin:center;animation:map-point-pop .5s cubic-bezier(.2,.85,.2,1.15) var(--point-delay,180ms) both}
@keyframes map-route-in{to{opacity:1}}
@keyframes map-route-flow{from{stroke-dashoffset:24}to{stroke-dashoffset:0}}
@keyframes map-point-in{to{opacity:1}}
@keyframes map-point-pop{0%{transform:scale(.2)}72%{transform:scale(1.22)}100%{transform:scale(1)}}

/* Small interaction cues keep the interface tactile without constant motion. */
.citation,.source-pill,.context-button,.conversation-followups button,.answer-overview-nav button,.answer-overview-entities button,.starter-grid button,.sidebar-new-chat{transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
.citation:hover,.citation:focus-visible{transform:translateY(-1px) scale(1.06);box-shadow:0 3px 10px rgba(141,101,33,.12)}
.source-pill:hover,.context-button:hover,.conversation-followups button:hover,.answer-overview-nav button:hover,.answer-overview-entities button:hover{transform:translateY(-1px)}
.source-group-card{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.source-group-card:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(63,48,28,.045)}
.inline-viz .viz-head button{transition:transform .18s ease,color .18s ease}.inline-viz .viz-head button:hover{transform:translateX(2px);color:var(--gold-dark)}
.drawer.open .drawer-body>*{animation:drawer-content-in .32s ease-out both}@keyframes drawer-content-in{from{opacity:.45;transform:translateX(4px)}to{opacity:1;transform:none}}

@media(max-width:760px){
  .welcome-constellation{width:110vw;height:300px;opacity:.34}
  .progress-orbit{width:48px!important;flex-basis:48px!important;transform:scale(.9)!important;transform-origin:left top!important}
}
@media(prefers-reduced-motion:reduce){
  .welcome-constellation,.welcome-constellation *,.progress-link,.knowledge-spark,.progress-copy,.progress-copy b,.progress-copy p,.progress-counts span,.answer-arriving .answer-block-reveal,.answer-arriving .assistant-head,.answer-arriving .answer-overview,.answer-arriving .inline-viz,.answer-arriving .answer-recap,.answer-arriving .context-tools,.answer-arriving .coverage-status,.answer-arriving .dataset-status,.answer-arriving .learning-status,.answer-arriving .answer-evidence-meta,.answer-arriving .conversation-followups,.answer-arriving .answer-feedback,.answer-arriving .timeline-inline .time-item,.answer-arriving .timeline-exhaustive .timeline-group,.answer-arriving .knowledge-graph-svg .g-edge,.answer-arriving .knowledge-graph-svg .g-node,.answer-arriving .knowledge-graph-svg .g-node circle,.answer-arriving .map-route,.answer-arriving .map-route line,.answer-arriving .map-point,.answer-arriving .map-point circle,.drawer.open .knowledge-graph-svg .g-edge,.drawer.open .knowledge-graph-svg .g-node,.drawer.open .knowledge-graph-svg .g-node circle,.drawer.open .map-route,.drawer.open .map-route line,.drawer.open .map-point,.drawer.open .map-point circle,.drawer.open .drawer-body>*{animation:none!important;transition:none!important;opacity:1!important;stroke-dashoffset:0!important}
  .welcome-constellation,.progress-copy,.progress-copy b,.progress-copy p,.progress-counts span,.answer-arriving .answer-block-reveal,.answer-arriving .assistant-head,.answer-arriving .answer-overview,.answer-arriving .inline-viz,.answer-arriving .answer-recap,.answer-arriving .context-tools,.answer-arriving .coverage-status,.answer-arriving .dataset-status,.answer-arriving .learning-status,.answer-arriving .answer-evidence-meta,.answer-arriving .conversation-followups,.answer-arriving .answer-feedback,.answer-arriving .timeline-inline .time-item,.answer-arriving .timeline-exhaustive .timeline-group,.answer-arriving .knowledge-graph-svg .g-node circle,.answer-arriving .map-point circle,.drawer.open .knowledge-graph-svg .g-node circle,.drawer.open .map-point circle,.drawer.open .drawer-body>*{transform:none!important}
  .welcome-constellation{opacity:.26!important}
}
.progress-orbit i:nth-of-type(1){animation-delay:0s!important}.progress-orbit i:nth-of-type(2){animation-delay:.6s!important}.progress-orbit i:nth-of-type(3){animation-delay:1.2s!important}
.answer-arriving .timeline-exhaustive .timeline-group{opacity:0;transform:translateY(7px);animation:timeline-item-in .42s ease-out forwards}.answer-arriving .timeline-exhaustive .timeline-group:nth-child(1){animation-delay:.12s}.answer-arriving .timeline-exhaustive .timeline-group:nth-child(2){animation-delay:.20s}.answer-arriving .timeline-exhaustive .timeline-group:nth-child(3){animation-delay:.28s}.answer-arriving .timeline-exhaustive .timeline-group:nth-child(4){animation-delay:.36s}.answer-arriving .timeline-exhaustive .timeline-group:nth-child(n+5){animation-delay:.44s}
.drawer.open .source-group-card{opacity:0;transform:translateY(5px);animation:source-card-in .3s ease-out forwards}.drawer.open .source-group-card:nth-child(1){animation-delay:.04s}.drawer.open .source-group-card:nth-child(2){animation-delay:.08s}.drawer.open .source-group-card:nth-child(3){animation-delay:.12s}.drawer.open .source-group-card:nth-child(4){animation-delay:.16s}.drawer.open .source-group-card:nth-child(n+5){animation-delay:.20s}@keyframes source-card-in{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  .drawer.open .source-group-card,.answer-arriving .timeline-exhaustive .timeline-group{animation:none!important;opacity:1!important}
  .drawer.open .source-group-card,.answer-arriving .timeline-exhaustive .timeline-group{transform:none!important}
}

/* v15.1.1 structured theme explorer */
.theme-explorer{display:flex;flex-direction:column;gap:12px}.theme-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fffaf0}.theme-summary b{font:600 14px/1.25 var(--serif)}.theme-summary span{font-size:9px;color:var(--muted);text-align:right}.theme-controls{display:grid;grid-template-columns:minmax(0,1fr) 165px;gap:8px;position:sticky;top:-20px;z-index:2;background:var(--surface);padding:4px 0 8px}.theme-controls input,.theme-controls select{min-height:39px;border:1px solid var(--line);border-radius:9px;background:white;padding:0 10px;font:10px var(--sans);min-width:0}.theme-count{font-size:9px;color:var(--muted)}.theme-results{display:flex;flex-direction:column;gap:9px}.theme-result{border:1px solid var(--line2);border-radius:12px;background:white;padding:12px 13px}.theme-result[hidden]{display:none}.theme-result.possible{background:#fcfaf5}.theme-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.theme-result h3{margin:3px 0 0;font:500 16px/1.3 var(--serif)}.theme-status{display:inline-block;font-size:8px;text-transform:uppercase;letter-spacing:.06em;color:#9a6e1d;font-weight:800}.theme-result.possible .theme-status{color:var(--muted)}.theme-source-count{white-space:nowrap;font-size:8px;color:var(--muted);padding-top:3px}.theme-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.theme-badges span{border:1px solid var(--line2);border-radius:999px;background:#faf7ef;padding:4px 7px;font-size:8px;color:#665f52}.theme-result>p{margin:9px 0 0;color:var(--muted);font:10px/1.55 var(--sans)}
@media(max-width:760px){.theme-controls{grid-template-columns:1fr;position:static}.theme-summary{align-items:flex-start;flex-direction:column}.theme-summary span{text-align:left}}
.status.unavailable{background:rgba(116,113,104,.10);color:var(--muted)}


/* v15.1 knowledge phase visualisations: each backend stage has its own visual language. */
.waiting-turn .progress-card{display:flex!important;flex-direction:column;align-items:stretch!important;gap:10px!important;max-width:760px!important;padding:0 0 8px!important}
.progress-visual-shell{width:min(430px,100%);height:188px;position:relative;overflow:hidden;border:1px solid rgba(201,151,53,.12);border-radius:18px;background:radial-gradient(circle at 50% 48%,rgba(244,228,188,.14),rgba(255,253,248,.08) 52%,transparent 78%);isolation:isolate}
.mkp-phase-visual{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.progress-copy{max-width:720px}
.phase-live-answer{margin-top:7px;padding-top:15px;border-top:1px solid var(--line2)}
.phase-live-answer .answer-paragraph{font-size:16px;margin-bottom:12px}

/* 1 · Vraag begrijpen — losse begrippen vloeien naar één intentiekern. */
.intent-core{position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px;border-radius:50%;background:radial-gradient(circle at 38% 34%,#fffaf0 0,#e6ca83 48%,#bf963d 100%);box-shadow:0 0 22px rgba(201,151,53,.22);animation:mkp-intent-core 5.8s ease-in-out infinite;animation-delay:var(--phase-elapsed)}
.intent-core-ring{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px;border:1px solid rgba(143,104,31,.13);border-radius:50%;animation:mkp-intent-ring 5.8s ease-in-out infinite;animation-delay:var(--phase-elapsed)}
.intent-particle{position:absolute;width:8px;height:8px;margin:-4px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff9e9,#d8b55b 58%,#b99845);box-shadow:0 0 10px rgba(201,151,53,.18);opacity:0;animation:mkp-intent-merge 10.5s cubic-bezier(.42,0,.28,1) infinite;animation-delay:calc(var(--phase-elapsed) + var(--delay))}
.intent-particle.soft{width:6px;height:6px;margin:-3px;filter:saturate(.82)}
.intent-word{position:absolute;left:50%;top:calc(50% + 35px);transform:translateX(-50%);font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:rgba(111,81,25,.48);font-weight:800}
@keyframes mkp-intent-merge{0%,8%{opacity:0;transform:translate(0,0) scale(.72)}18%{opacity:.82}72%{opacity:.78}88%{opacity:.24;transform:translate(var(--merge-x),var(--merge-y)) scale(.58)}100%{opacity:0;transform:translate(var(--merge-x),var(--merge-y)) scale(.42)}}
@keyframes mkp-intent-core{0%,100%{transform:scale(1);box-shadow:0 0 16px rgba(201,151,53,.18)}50%{transform:scale(1.04);box-shadow:0 0 27px rgba(201,151,53,.30)}}
@keyframes mkp-intent-ring{0%,100%{opacity:.38;transform:scale(.9)}50%{opacity:.85;transform:scale(1.12)}}

/* 2 · Bronnen zoeken — een zoekgolf scant een bronruimte. */
.source-core{position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px;border-radius:50%;background:var(--gold);box-shadow:0 0 18px rgba(201,151,53,.38);z-index:3}
.source-ring{position:absolute;left:50%;top:50%;border:1.4px solid rgba(185,142,41,.44);border-radius:50%;transform:translate(-50%,-50%);animation:mkp-source-wave 2.8s ease-out infinite;animation-delay:calc(var(--phase-elapsed) + var(--wave-delay,0s))}
.source-ring.r2{--wave-delay:.9s}.source-ring.r3{--wave-delay:1.8s}
.source-point{position:absolute;width:7px;height:7px;margin:-3.5px;border-radius:50%;background:#caa34e;opacity:.16;box-shadow:0 3px 9px rgba(143,104,31,.12);animation:mkp-source-ping 2.8s ease-in-out infinite;animation-delay:calc(var(--phase-elapsed) + var(--delay))}
@keyframes mkp-source-wave{0%{width:24px;height:24px;opacity:.9}100%{width:250px;height:250px;opacity:0}}
@keyframes mkp-source-ping{0%,100%{transform:scale(.72);opacity:.14}42%,60%{transform:scale(1.38);opacity:.96}}

/* 3 · Bewijs kiezen — drie informatiestromen komen samen. */
.evidence-lane{position:absolute;top:44px;bottom:18px;width:1px;background:linear-gradient(to top,rgba(143,104,31,.04),rgba(185,142,41,.38),rgba(143,104,31,.04))}
.evidence-join-halo{position:absolute;left:50%;top:31px;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:rgba(201,151,53,.13);animation:mkp-evidence-join 2.6s ease-in-out infinite;animation-delay:var(--phase-elapsed)}
.evidence-join{position:absolute;left:50%;top:35px;width:13px;height:13px;margin-left:-6.5px;border-radius:50%;background:var(--gold);box-shadow:0 0 14px rgba(201,151,53,.36)}
.evidence-stem{position:absolute;left:50%;top:47px;width:1px;height:25px;background:linear-gradient(var(--gold),transparent);opacity:.42}
.evidence-dot{position:absolute;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:#d2ad56;opacity:0;animation:mkp-evidence-rise 2.6s ease-in-out infinite;animation-delay:calc(var(--phase-elapsed) + var(--delay))}
.evidence-dot.lane-1{background:var(--gold)}.evidence-dot.lane-2{background:#8f681f}
@keyframes mkp-evidence-rise{0%{transform:translateY(0) translateX(0) scale(.74);opacity:0}15%{opacity:1}76%{transform:translateY(-104px) translateX(var(--drift));opacity:1}100%{transform:translateY(-126px) translateX(var(--drift)) scale(.52);opacity:0}}
@keyframes mkp-evidence-join{0%,100%{transform:scale(.74);opacity:.34}50%{transform:scale(1.18);opacity:1}}

/* 4 · Verbanden leggen — per vraag een andere kennistopologie. */
.mkp-relations-visual svg{position:absolute;inset:8px 16px;width:calc(100% - 32px);height:calc(100% - 16px);overflow:visible}
.mkp-relations-visual line{stroke:rgba(185,152,69,.78);stroke-width:1.65;stroke-linecap:round;stroke-dasharray:260;stroke-dashoffset:260;animation:mkp-net-line 1.25s ease forwards;animation-delay:calc(var(--phase-elapsed) + var(--delay))}
.mkp-relations-visual circle{fill:#d7b55e;filter:drop-shadow(0 3px 9px rgba(143,104,31,.13));transform-box:fill-box;transform-origin:center;opacity:0;animation:mkp-net-node .55s cubic-bezier(.2,.9,.2,1) forwards;animation-delay:calc(var(--phase-elapsed) + var(--delay))}
.mkp-relations-visual circle.major{fill:var(--gold);filter:drop-shadow(0 0 7px rgba(201,151,53,.4))}.mkp-relations-visual circle.dark{fill:#718064}
@keyframes mkp-net-line{to{stroke-dashoffset:0}}
@keyframes mkp-net-node{from{transform:scale(.25);opacity:0}to{transform:scale(1);opacity:1}}

/* 5 · Antwoord bouwen — Draco ontstaat ster voor ster; de gouden draak pas bij answer-ready. */
.mkp-draco-visual svg{position:absolute;left:50%;top:50%;width:min(96%,470px);height:auto;aspect-ratio:470/270;transform:translate(-50%,-50%);overflow:visible}
.mkp-draco-visual line{stroke:rgba(208,166,65,.86);stroke-width:1.7;stroke-linecap:round;stroke-dasharray:200;stroke-dashoffset:200;animation:mkp-draco-line .9s ease forwards;animation-delay:calc(var(--phase-elapsed) + var(--delay))}
.mkp-draco-visual circle{fill:rgba(248,229,174,.98);filter:drop-shadow(0 0 7px rgba(240,207,123,.54));opacity:0;transform-box:fill-box;transform-origin:center;animation:mkp-draco-star .55s cubic-bezier(.2,.9,.2,1) forwards;animation-delay:calc(var(--phase-elapsed) + var(--delay))}
.mkp-draco-visual circle.major{fill:#fff1c3;filter:drop-shadow(0 0 10px rgba(240,207,123,.8))}.mkp-draco-visual circle.guiding{fill:#fff8df;filter:drop-shadow(0 0 14px rgba(240,207,123,.95))}
.draco-overlay{opacity:0;filter:drop-shadow(0 7px 13px rgba(171,132,42,.11));pointer-events:none}
.mkp-draco-visual.is-ready .draco-overlay{animation:mkp-draco-overlay-ready .68s ease-out forwards}
.draco-aura{position:absolute;width:3px;height:3px;border-radius:50%;background:rgba(212,169,68,.62);opacity:.18;animation:mkp-draco-twinkle 3.4s ease-in-out infinite;animation-delay:calc(var(--phase-elapsed) + var(--delay))}
@keyframes mkp-draco-line{to{stroke-dashoffset:0}}
@keyframes mkp-draco-star{0%{opacity:0;transform:scale(.3)}70%{opacity:1;transform:scale(1.16)}100%{opacity:1;transform:scale(1)}}
@keyframes mkp-draco-overlay-ready{0%{opacity:0}48%{opacity:.42}100%{opacity:.18}}
@keyframes mkp-draco-twinkle{0%,100%{opacity:.12;transform:scale(.75)}50%{opacity:.8;transform:scale(1.35)}}

@media(max-width:760px){.progress-visual-shell{width:100%;height:154px}.waiting-turn .progress-card{max-width:100%!important}.phase-live-answer .answer-paragraph{font-size:15px}.mkp-draco-visual svg{width:100%}}

/* Reduced-motion variants: keep semantic progress visible, but remove long travel and strong scale changes. */
@keyframes mkp-rm-intent-core{0%,100%{opacity:.78;transform:scale(.99)}50%{opacity:1;transform:scale(1.015)}}
@keyframes mkp-rm-intent-ring{0%,100%{opacity:.20;transform:scale(.98)}50%{opacity:.48;transform:scale(1.025)}}
@keyframes mkp-rm-particle{0%,100%{opacity:.24;transform:scale(.92)}50%{opacity:.72;transform:scale(1.04)}}
@keyframes mkp-rm-source-wave{0%{width:52px;height:52px;opacity:.42}100%{width:112px;height:112px;opacity:0}}
@keyframes mkp-rm-source-ping{0%,100%{opacity:.28;transform:scale(.94)}50%{opacity:.82;transform:scale(1.06)}}
@keyframes mkp-rm-evidence-dot{0%,100%{opacity:.24;transform:translateY(4px)}50%{opacity:.80;transform:translateY(-4px)}}
@keyframes mkp-rm-halo{0%,100%{opacity:.28;transform:scale(.96)}50%{opacity:.62;transform:scale(1.04)}}
@keyframes mkp-rm-node-fade{from{opacity:.18}to{opacity:1}}
@keyframes mkp-rm-star-fade{from{opacity:.16}to{opacity:1}}
@keyframes mkp-rm-twinkle{0%,100%{opacity:.16}50%{opacity:.42}}
@keyframes mkp-rm-overlay-ready{0%{opacity:0}55%{opacity:.28}100%{opacity:.18}}

@media(prefers-reduced-motion:reduce){
  .intent-core{animation:mkp-rm-intent-core 6.8s ease-in-out infinite!important;animation-delay:var(--phase-elapsed)!important}
  .intent-core-ring{animation:mkp-rm-intent-ring 7.4s ease-in-out infinite!important;animation-delay:var(--phase-elapsed)!important}
  .intent-particle{animation:mkp-rm-particle 5.6s ease-in-out infinite!important;animation-delay:calc(var(--phase-elapsed) + var(--delay))!important}

  .source-ring{animation:mkp-rm-source-wave 4.8s ease-out infinite!important;animation-delay:calc(var(--phase-elapsed) + var(--wave-delay,0s))!important}
  .source-point{animation:mkp-rm-source-ping 4.2s ease-in-out infinite!important;animation-delay:calc(var(--phase-elapsed) + var(--delay))!important}

  .evidence-join-halo{animation:mkp-rm-halo 4.6s ease-in-out infinite!important;animation-delay:var(--phase-elapsed)!important}
  .evidence-dot{animation:mkp-rm-evidence-dot 4.4s ease-in-out infinite!important;animation-delay:calc(var(--phase-elapsed) + var(--delay))!important}

  /* Drawing/fading communicates construction without moving the graph through space. */
  .mkp-relations-visual line{animation:mkp-net-line 2.4s ease forwards!important;animation-delay:calc(var(--phase-elapsed) + var(--delay))!important}
  .mkp-relations-visual circle{animation:mkp-rm-node-fade 1.1s ease forwards!important;animation-delay:calc(var(--phase-elapsed) + var(--delay))!important;transform:none!important}

  .mkp-draco-visual line{animation:mkp-draco-line 1.8s ease forwards!important;animation-delay:calc(var(--phase-elapsed) + var(--delay))!important}
  .mkp-draco-visual circle{animation:mkp-rm-star-fade 1.05s ease forwards!important;animation-delay:calc(var(--phase-elapsed) + var(--delay))!important;transform:none!important}
  .draco-aura{animation:mkp-rm-twinkle 5.4s ease-in-out infinite!important;animation-delay:calc(var(--phase-elapsed) + var(--delay))!important;transform:none!important}
  .mkp-draco-visual.is-ready .draco-overlay{animation:mkp-rm-overlay-ready 1.15s ease-out forwards!important}
}

/* Entity clarification buttons: keep the canonical label and source context visually distinct. */
.clarification-followups .followup-actions button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}
.clarification-followups .followup-actions button small{display:block;font-size:8px;font-weight:500;color:var(--muted);line-height:1.25}

/* Interaction states shared by keyboard, touch and streaming cancellation. */
:where(button,a,input,textarea,select,[tabindex]):focus-visible{outline:3px solid rgba(143,104,31,.48);outline-offset:3px}
body.drawer-open{overflow:hidden}
.send.cancel{background:#7f2f2f;color:#fff;border-color:#7f2f2f}
.send.cancel:hover{background:#682525}
