*{box-sizing:border-box}body,.app{margin:0;font-family:-apple-system,Inter,Segoe UI,sans-serif}.app{height:100vh;overflow:hidden;display:flex;flex-direction:column}.toggle{display:inline-flex;flex-shrink:0;border-radius:999px;padding:3px;gap:2px}.toggle__btn{border:none;background:transparent;color:inherit;padding:7px 14px;cursor:pointer;font-size:14px;font-weight:500;border-radius:999px;opacity:.75;transition:background .15s ease,color .15s ease,opacity .15s ease}.toggle__btn.is-active{opacity:1;font-weight:600}.app--ungrounded{--focus-ring: #1A2230}.app--grounded{--focus-ring: #AEB1D9}.toggle__btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.app__body{flex:1;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(320px,460px) 1fr;gap:24px;padding:24px 28px;align-items:stretch}.chat{display:flex;flex-direction:column;width:100%;height:100%;min-width:0;min-height:0;border:1px solid;border-radius:14px;overflow:hidden;box-shadow:0 1px 3px #00000014,0 8px 24px #0000000f}.chat__scroll{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:20px;scrollbar-color:rgba(160,174,192,.42) transparent;scrollbar-width:thin}.chat__scroll::-webkit-scrollbar{width:8px}.chat__scroll::-webkit-scrollbar-track{background:transparent}.chat__scroll::-webkit-scrollbar-thumb{background:#a0aec052;border:2px solid transparent;border-radius:999px;background-clip:padding-box}.chat__scroll:hover::-webkit-scrollbar-thumb,.chat__scroll:focus-within::-webkit-scrollbar-thumb{background-color:#a0aec094}.chat__turn--user{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.chat__bubble--user{border-radius:16px;padding:10px 14px;font-size:14px;line-height:1.5;max-width:85%}.chat__turn--assistant{display:flex;flex-direction:column;gap:6px}.chat__assistant-label{display:flex;align-items:center;gap:8px}.chat__assistant-label>span:nth-of-type(2){font-size:12px;font-weight:600}.chat__assistant-avatar{width:18px;height:18px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:10px;line-height:1}.chat__timestamp{font-size:11px}.chat__deflection{font-size:14px;line-height:1.55;margin:0}.chat__thinking-dots{display:inline-flex;gap:4px;padding:4px 0}.chat__thinking-dot{width:6px;height:6px;border-radius:50%;animation:chat-bounce 1.2s infinite ease-in-out}.chat__thinking-dot:nth-child(2){animation-delay:.15s}.chat__thinking-dot:nth-child(3){animation-delay:.3s}@keyframes chat-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.chat__composer{display:flex;gap:8px;align-items:center;border-top:1px solid;padding:12px 16px;flex-shrink:0}.chat__composer-input{flex:1;border:1px solid;border-radius:999px;padding:9px 14px;font-size:14px;outline:none;background:transparent}.chat__composer-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.chat__composer-send{border:none;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer}.chat__composer-send:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.chat__composer-send:disabled{opacity:.5;cursor:default}.chat__attachment{display:flex;align-items:center;gap:10px;border:1px solid;border-radius:8px;padding:8px 10px;margin-bottom:10px}.chat__attachment-icon{flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.02em;border-radius:5px;padding:5px 6px;line-height:1}.chat__attachment-name{font-size:13px;font-weight:600}.chat__attachment-meta{font-size:11px;margin-top:1px}.rec-badge{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;padding:4px 10px;border-radius:6px}.chat__answer h2{font-size:18px;margin:12px 0}.chat__discovery{border-left:3px solid;border-radius:8px;padding:10px 12px;margin:0 0 14px;background:#718df714}.chat__discovery-label{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}.chat__discovery p{margin:0;font-size:14px;line-height:1.55}.chat__answer p{font-size:14px;line-height:1.55}.chat__insight{margin-bottom:14px}.chat__insight p{margin:0}.chat__cite-row{display:flex;align-items:center;gap:8px;margin-top:6px}.chat__cite{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.02em;border-radius:999px;padding:3px 10px}.chat__gaps,.chat__steps{border-top:1px solid;margin-top:14px;padding-top:12px;font-size:13px}.chat__gaps ul,.chat__steps ol{margin:8px 0 0;padding-left:20px}.chat__gaps li,.chat__steps li{margin-bottom:6px;line-height:1.5}.chat__gaps p{font-size:13px;margin:6px 0 0;line-height:1.5}.chat__evidence{border-top:1px solid;margin-top:14px;padding-top:10px;font-size:13px}.chat__evidence-group+.chat__evidence-group{margin-top:10px}.chat__evidence-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;margin:0 0 4px}.chat__evidence ul{margin:0;padding-left:18px}.kpi{border:1px solid;border-radius:12px;padding:14px 16px;box-shadow:0 1px 2px #0000000d}.kpi__label{font-size:11px;text-transform:uppercase;letter-spacing:.06em}.kpi__value{font-size:26px;font-weight:700;margin-top:6px}.kpi__sub{font-size:13px;margin-top:4px}.proc{border:1px solid;border-radius:14px;padding:18px;box-shadow:0 1px 3px #00000014,0 8px 24px #0000000f}.proc__head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.proc__title{font-weight:700}.proc__tag{font-size:11px;border:1px solid;border-radius:999px;padding:2px 10px}.proc__sub{font-size:12px;margin:4px 0 10px}.proc__lanes{display:grid;gap:18px;margin:18px 0 24px}.proc__lane{min-width:0;padding-top:14px}.proc__family{font-size:14px;font-weight:600;margin-bottom:10px}.proc__flow{display:flex;align-items:center;gap:24px;min-width:0}.proc__bullet{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;padding-top:26px}.proc__bullet-track{position:relative;height:18px;border-radius:5px}.proc__bullet-segment{position:absolute;top:0;bottom:0}.proc__bullet-demand-line{position:absolute;top:-8px;bottom:-8px;width:5px}.proc__bullet-demand-label{position:absolute;top:0;transform:translate(6px);font-size:11px;font-weight:600;white-space:nowrap}.proc__bullet-legend{display:flex;gap:16px;font-size:11px}.proc__bullet-legend span{display:inline-flex;align-items:center;gap:6px}.proc__bullet-legend i{width:9px;height:9px;border-radius:2px;display:inline-block}.proc__covered{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:8px 10px;min-width:142px;flex:0 0 auto}.proc__covered span{font-size:11px}.proc__table-region{max-width:100%;overflow-x:auto}.proc__table{width:100%;border-collapse:collapse;font-size:13px}.proc__table caption{font-size:11px;text-align:left;margin-bottom:8px}.proc__table th,.proc__table td{text-align:left;padding:8px}.proc__table tbody th{font-weight:500}.proc__statuscode{font-size:10px;letter-spacing:.03em;margin-top:2px}.proc--grounded{background:var(--grounded-card);border-color:#ffffff14}.proc--grounded .proc__lane{border-top:1px solid var(--grounded-structure)}.proc--grounded .proc__bullet-legend{color:var(--grounded-muted)}.proc--grounded .proc__covered{border-left:3px solid var(--grounded-green)}.proc--grounded .proc__covered span,.proc--grounded .proc__table caption{color:var(--grounded-muted)}.proc--grounded .proc__table th,.proc--grounded .proc__table td{border-bottom:1px solid var(--grounded-structure)}.proc--grounded .proc__table tbody th,.proc--grounded .proc__title,.proc--grounded .proc__family,.proc--grounded .proc__table tbody{color:var(--grounded-ink)}.proc--grounded .proc__sub,.proc--grounded .proc__table thead,.proc--grounded .proc__statuscode{color:var(--grounded-muted)}.proc--grounded .proc__tag{color:var(--grounded-lavender);border-color:var(--grounded-structure-meaningful)}.ctx-card{border:1px solid;border-radius:14px;padding:16px;box-shadow:0 1px 3px #0000000f}.ctx-card__brand{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.ctx-card__head{font-weight:700;font-size:14px}.ctx-card__src{font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin:2px 0 8px}.ctx-card p{font-size:13px;line-height:1.5;margin:0}.dash{display:flex;flex-direction:column;gap:18px;width:100%;height:100%;min-width:0;min-height:0;overflow-y:auto;padding:12px 4px 0 0;scrollbar-color:rgba(160,174,192,.42) transparent;scrollbar-width:thin}.dash::-webkit-scrollbar{width:8px}.dash::-webkit-scrollbar-track{background:transparent}.dash::-webkit-scrollbar-thumb{background:#a0aec052;border:2px solid transparent;border-radius:999px;background-clip:padding-box}.dash:hover::-webkit-scrollbar-thumb,.dash:focus-within::-webkit-scrollbar-thumb{background-color:#a0aec094}.dash__h1{font-size:32px;font-weight:700;line-height:1.2;margin:0}.dash__header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.dash__callout{border-left:4px solid;border-radius:8px;padding:12px 14px;font-size:14px}.dash__kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.dash__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.panel{border:1px solid;border-radius:14px;padding:18px;box-shadow:0 1px 3px #0000000f}.panel__title{font-weight:600;font-size:14px;margin-bottom:10px}@media (max-width: 1100px){.dash__kpis{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1100px){.dash--grounded .proc__flow{flex-wrap:wrap}.dash--grounded .proc__table-region{overflow-x:auto}.dash--grounded .proc__table{min-width:880px}}.trend-chart--default{margin:0}.trend-chart__default-caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dash--grounded{background:var(--grounded-canvas);color:var(--grounded-ink);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px;padding:24px;font-variant-numeric:tabular-nums;container-type:inline-size;container-name:grounded-dashboard}.dash--grounded>*{grid-column:1 / -1;min-width:0}.dash--grounded>[data-stage=trend]{grid-column:span 7}.dash--grounded>[data-stage=state-map]{grid-column:span 5}.dash--grounded>[data-stage=trend]>.panel,.dash--grounded>[data-stage=state-map]>.panel{height:100%;box-sizing:border-box}.dash--grounded .panel__title{color:var(--grounded-ink)!important;font-size:20px;margin:0 0 16px}.dash--grounded .dash__decision{display:grid;gap:12px}.dash--grounded .dash__decision-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.dash--grounded .dash__h1{color:var(--grounded-ink)}.dash--grounded .dash__recommendation{display:inline-flex;justify-self:start;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:600;background:#6ce99d29;color:var(--grounded-green)}.dash--grounded .dash__rationale{color:var(--grounded-muted);font-size:15px;line-height:1.5;margin:0}.dash--grounded .dash__metrics{display:grid;gap:16px}.dash--grounded .dash__metric-tier{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dash--grounded .dash__metric{display:flex;flex-direction:column;min-width:0;gap:6px;padding:18px 20px;background:var(--grounded-card);border:1px solid rgba(255,255,255,.08);border-radius:14px}.dash--grounded .dash__metric-label{color:var(--grounded-muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.dash--grounded .dash__metric-value{min-width:0;color:var(--grounded-ink);font-size:28px;font-weight:600;white-space:nowrap}.dash--grounded .dash__metric-tier--primary .dash__metric-value{font-size:32px}.dash--grounded .dash__metric-caption{color:var(--grounded-muted);font-size:12px}.dash--grounded .dash__metric-delta{color:var(--grounded-green);font-size:13px;font-weight:600}.dash--grounded .dash__monitoring{border-top:1px solid var(--grounded-structure)}.dash--grounded .dash__monitoring h2{color:var(--grounded-ink);font-size:20px;font-weight:600}.dash--grounded .dash__monitoring p{color:var(--grounded-muted);line-height:1.6}.dash--grounded .evidence-chain{border-top:1px solid var(--grounded-structure);padding-top:24px}.dash--grounded .evidence-chain__list{display:grid;width:100%;min-width:0;max-width:100%;gap:0;list-style:none;margin:0;padding:0}.dash--grounded .evidence-chain__node{display:grid;grid-template-columns:36px minmax(0,1fr);width:calc(100% - 17px);min-width:0;max-width:calc(100% - 17px);gap:12px;position:relative;border-left:1px solid rgba(255,255,255,.1);margin-left:17px;padding:0 0 24px 30px}.dash--grounded .evidence-chain__node:last-child{border-left-color:transparent;padding-bottom:0}.dash--grounded .evidence-chain__ordinal{display:grid;place-items:center;position:absolute;left:-18px;width:34px;height:34px;background:var(--grounded-canvas);background-image:linear-gradient(#ffffff14,#ffffff14);border-radius:50%;color:var(--grounded-muted);font-size:12px;font-weight:600}.dash--grounded .evidence-chain__content{grid-column:2;width:100%;min-width:0;max-width:100%;border-top:1px solid var(--grounded-structure);padding-top:10px}.dash--grounded .evidence-chain__content h3{color:var(--grounded-ink);font-size:16px;margin:0 0 10px}.dash--grounded .evidence-chain__content dl{display:grid;gap:10px;margin:0}.dash--grounded .evidence-chain__content dl>div{display:grid;grid-template-columns:96px minmax(0,1fr);min-width:0;gap:12px}.dash--grounded .evidence-chain__content dt{color:var(--grounded-muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.dash--grounded .evidence-chain__content dd{min-width:0;color:var(--grounded-muted);font-size:13px;line-height:1.5;margin:0}.dash--grounded .evidence-chain__stage{grid-column:2;color:var(--grounded-ink);font-size:20px;margin:0 0 12px}.dash--grounded .evidence-chain__node .proc{width:100%;margin-top:16px}.dash--grounded .evidence-chain__node .proc__flow{flex-wrap:wrap}.dash--grounded .evidence-chain__node .proc__table-region{width:100%;min-width:0;max-width:100%;overflow-x:auto;contain:inline-size}.dash--grounded .family-scatter{margin:0}.dash--grounded .family-scatter__takeaway{color:var(--grounded-muted);font-size:13px;line-height:1.5;margin:0 0 8px}.dash--grounded .family-scatter__data{width:100%;margin-top:20px;border-collapse:collapse;color:var(--grounded-muted);font-size:12px}.dash--grounded .family-scatter__data caption{color:var(--grounded-ink);text-align:left;margin-bottom:8px}.dash--grounded .family-scatter__data th{color:var(--grounded-ink);font-weight:500;text-align:left}.dash--grounded .family-scatter__data th,.dash--grounded .family-scatter__data td{padding:7px 10px;border-bottom:1px solid var(--grounded-structure)}.dash--grounded .state-map{margin:0}.dash--grounded .state-map__takeaway{color:var(--grounded-muted);font-size:13px;line-height:1.5;margin:0 0 12px}.dash--grounded .state-map__legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px;font-size:12px;color:var(--grounded-muted)}.dash--grounded .state-map__legend span{display:inline-flex;align-items:center;gap:6px}.dash--grounded .state-map__legend i{width:9px;height:9px;border-radius:2px;display:inline-block}.dash--grounded .state-map__legend-outline{border:2px solid var(--grounded-coral);background:transparent}.dash--grounded .state-map__plot{display:flex;justify-content:center}.dash--grounded .state-map__plot svg{width:100%;max-width:420px;height:auto}.dash--grounded .state-map__source{color:var(--grounded-muted);font-size:12px;margin-top:10px}.dash--grounded .trend-chart--grounded{margin:0}.dash--grounded .trend-chart__caption{display:flex;gap:8px;align-items:baseline;color:var(--grounded-muted);font-size:12px;line-height:1.5;margin-top:8px}.dash--grounded .trend-chart__caption strong{color:var(--grounded-ink)}.dash--grounded .family-matrix{margin:0}.dash--grounded .family-matrix__takeaway{color:var(--grounded-muted);font-size:14px;line-height:1.5;margin-bottom:16px}.dash--grounded .family-matrix__takeaway strong{color:var(--grounded-ink)}.dash--grounded .family-matrix__domain{color:var(--grounded-muted);font-size:12px;margin:0 0 8px}.dash--grounded .family-matrix__table-region{width:100%;max-width:100%;overflow-x:auto}.dash--grounded .family-matrix__table{width:100%;border-collapse:collapse;table-layout:fixed}.dash--grounded .family-matrix__table-caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dash--grounded .family-matrix__table thead{color:var(--grounded-muted);font-size:11px}.dash--grounded .family-matrix__table th{text-align:left}.dash--grounded .family-matrix__table th,.dash--grounded .family-matrix__table td{padding:9px 12px;border-bottom:1px solid var(--grounded-structure)}.dash--grounded .family-matrix__table th:first-child{width:34%}.dash--grounded .family-matrix__family>span{display:block;color:var(--grounded-ink);font-size:13px;font-weight:500}.dash--grounded .family-matrix__row--affected .family-matrix__family{border-left:3px solid var(--grounded-coral)}.dash--grounded .family-matrix__row--comparison .family-matrix__family>span{font-weight:400}.dash--grounded .family-matrix__region{position:relative}.dash--grounded .family-matrix__value{display:block;color:var(--grounded-lavender);font-size:12px;margin-bottom:5px}.dash--grounded .family-matrix__region--comparison .family-matrix__value{color:var(--grounded-blue)}.dash--grounded .family-matrix__track{position:relative;display:block;height:6px;background:var(--grounded-structure);margin-right:5px}.dash--grounded .family-matrix__baseline-label{display:block;color:var(--grounded-blue);font-size:10px;line-height:1.4;font-weight:400;white-space:nowrap}.dash--grounded .family-matrix__strip{display:block;height:100%;background:var(--grounded-structure-meaningful)}.dash--grounded .family-matrix__baseline-marker{position:absolute;z-index:1;top:-3px;bottom:-3px;width:2px;background:var(--grounded-blue);transform:translate(-50%)}.dash--grounded .family-matrix__dot{position:absolute;top:50%;width:9px;height:9px;border-radius:50%;background:var(--grounded-lavender);transform:translate(-50%,-50%)}.dash--grounded .family-matrix__region--event .family-matrix__strip,.dash--grounded .family-matrix__region--event .family-matrix__dot{background:var(--grounded-coral)}.family-scatter__table-region{width:100%;max-width:100%;overflow-x:auto}.dash--grounded .family-matrix__mark-name{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.trend-chart__data-alternative,.dash--grounded .trend-chart__annotation-summary{position:absolute;width:1px;max-width:1px;height:1px;max-height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.trend-chart__data{margin:0}.trend-chart,.trend-chart__plot,.family-scatter,.family-scatter__plot,.state-map,.state-map__plot,.family-matrix,.evidence-chain,.proc{min-width:0;max-width:100%}.trend-chart__plot{overflow:hidden}@media (max-width: 1100px){.dash--grounded>[data-stage=trend],.dash--grounded>[data-stage=state-map]{grid-column:1 / -1}}@container grounded-dashboard (max-width: 600px){.dash--grounded .dash__metric-tier{grid-template-columns:1fr}.dash--grounded .dash__metric-tier--primary .dash__metric-value{font-size:28px}}@container grounded-dashboard (min-width: 601px) and (max-width: 950px){.dash--grounded .dash__metric-tier{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){html,body{height:auto;overflow:visible}.app{height:auto;min-height:100vh;overflow:visible}.app__body{flex:none;min-height:auto;grid-template-columns:minmax(0,1fr);padding:16px 20px 24px}.chat,.dash{height:auto;min-height:0;overflow:visible}.chat__scroll{flex:none;overflow-y:visible}}@media (max-width: 768px){.dash--grounded{grid-template-columns:minmax(0,1fr)}.dash--grounded>[data-stage=trend],.dash--grounded>[data-stage=state-map]{grid-column:1}.dash--grounded .evidence-chain__content dl>div{grid-template-columns:1fr;gap:4px}.dash--grounded .family-matrix__table{min-width:580px}}@media (max-width: 480px){.dash__header,.dash--grounded .dash__decision-top{width:100%}.toggle{display:grid;grid-template-columns:1fr 1fr;width:100%}.toggle__btn{padding-inline:8px}.app__body{gap:16px;padding:12px}.dash--grounded{gap:24px;padding:16px 12px}.dash--grounded .evidence-chain__node{grid-template-columns:minmax(0,1fr);margin-left:12px;padding-left:24px}.dash--grounded .evidence-chain__content,.dash--grounded .evidence-chain__stage{grid-column:1}.dash--grounded .proc{min-width:0;padding-inline:12px}.dash--grounded .proc__flow{flex-direction:column;align-items:stretch}.dash--grounded .proc__covered{width:100%;min-width:0}.dash--grounded .proc__table-region{overflow-x:auto}.dash--grounded .proc__table{min-width:880px}.dash--grounded .family-scatter__data{min-width:700px}}
