[hidden]{display:none!important}
:root{--ink:#172f31;--muted:#5f7374;--green:#126653;--line:#dbe4e0;--bg:#f3f6f3;--white:#fff;--amber:#8a5b17}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:15px/1.55 "Segoe UI",Arial,sans-serif}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,.button{display:inline-block;border:1px solid var(--green);background:var(--green);color:#fff;border-radius:6px;padding:11px 18px;font-weight:600;cursor:pointer;text-decoration:none}button:hover,.button:hover{filter:brightness(.93);text-decoration:none}.secondary{background:white;color:var(--green);border-color:#bbcfca}.quiet{background:transparent;color:var(--green);border-color:transparent}.sidebar{position:fixed;inset:0 auto 0 0;width:242px;background:#122f30;color:#e5eeeb;padding:32px 22px;display:flex;flex-direction:column}.wordmark{font-weight:750;letter-spacing:2px;color:#fff;font-size:17px}.institution{color:#91b1aa;font-size:12px;margin:28px 0}.sidebar nav{display:grid;gap:7px}.sidebar nav a{color:#c5d7d2;padding:11px;border-radius:5px;font-size:14px}.sidebar nav a:hover,.sidebar nav a.active{background:#244344;color:#fff}.identity{margin-top:auto;padding-top:20px;border-top:1px solid #365352}.identity small{color:#a4bcb6}.identity .quiet{color:#c5d7d2;padding-left:0}.workspace{margin-left:242px;padding:0 42px 35px;max-width:1800px}.topline{display:flex;justify-content:space-between;padding:22px 0;margin-bottom:34px;border-bottom:1px solid var(--line);font-size:11px;font-weight:700;letter-spacing:1.4px;color:var(--muted)}h1{font-size:36px;line-height:1.2;letter-spacing:-1.1px;font-weight:650;margin:10px 0 18px}h2{font-size:22px;line-height:1.3;letter-spacing:-.4px}h3{font-size:16px;font-weight:650}p{margin:10px 0 16px}.lead{font-size:16px;max-width:740px;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:750;color:var(--green);margin:0 0 12px}.heading{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:24px}.card{background:var(--white);border:1px solid var(--line);border-radius:9px;padding:25px}.status-grid{display:grid;grid-template-columns:1.1fr 1fr 1.1fr;gap:18px;margin-top:30px}.status-grid h2{font-size:22px}.status-grid h2 small{display:block;font-size:13px;font-weight:400;margin-top:4px}.status-grid p{font-size:13px}.section{margin-top:34px}.muted,small{color:var(--muted)}small{display:block;font-size:12px;overflow-wrap:anywhere}.table-wrap{overflow:auto;padding:0}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}th{font-size:11px;letter-spacing:.7px;text-transform:uppercase;background:#f9fbf9;color:var(--muted)}th,td{padding:16px 20px;border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border-bottom:0}.badge{display:inline-block;background:#edf3ec;color:#426d45;font-size:10px;font-weight:700;letter-spacing:.7px;border-radius:20px;padding:4px 9px}.empty{text-align:center;padding:55px}.notice{background:#fff6e3;border:1px solid #e6d3ab;border-left:4px solid #b78b38;border-radius:6px;color:#73501d;padding:17px 20px;margin:18px 0}.warning{font-size:12px;color:var(--amber)}label{display:block;font-size:13px;font-weight:600;margin:12px 0}input,select,textarea{display:block;border:1px solid #bfcfc9;background:white;color:var(--ink);border-radius:5px;padding:10px 12px;width:100%;margin-top:7px}input:focus,select:focus,textarea:focus{outline:3px solid #afcfc4;outline-offset:1px}[aria-invalid=true]{border:2px solid #b74e34}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #dcad50;outline-offset:3px}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 20px}.inline{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.inline input,.inline select{width:auto}.check{display:flex;align-items:center;gap:10px;font-weight:400}.check input{width:auto;margin:0}.toolbar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:22px 0}.toolbar form{display:inline-block}.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.kpi h3{min-height:38px}.range{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:10px;margin:20px 0}.range b{display:block;font-size:16px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.range .central b{font-size:23px;color:var(--green)}.range small{font-size:9px;letter-spacing:1px}.meta{display:flex;gap:25px;flex-wrap:wrap;font-size:11px}.meta b{display:block;font-size:12px;max-width:260px;overflow-wrap:anywhere}details{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}summary{cursor:pointer;color:var(--green);font-size:13px;font-weight:650}dl{font-size:12px}dt{font-weight:700;margin-top:10px}dd{margin:4px 0;overflow-wrap:anywhere}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;background:#f6f8f6;border-radius:5px;padding:18px;max-height:550px;overflow:auto}.steps{display:flex;padding:0;list-style:none;gap:3px;margin:30px 0}.steps li{flex:1;font-size:11px;border-top:3px solid #d4dfd9;padding-top:12px;color:var(--muted)}.steps li.active{border-color:var(--green);color:var(--green);font-weight:700}.wizard-step{min-height:320px}.wizard-nav{display:flex;justify-content:space-between;align-items:center;padding:20px 0}.hidden{display:none!important}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.choices label{padding:24px;border:1px solid var(--line);border-radius:7px;font-weight:400}.choices input{width:auto;margin-bottom:16px}.choices b,.choices span{display:block}.choices span{font-size:13px;color:var(--muted);margin-top:12px}.cost-row{display:grid;grid-template-columns:1fr 1fr 2fr auto;gap:10px;align-items:center;margin:10px 0}.login-wrap{max-width:1100px;margin:0 auto;padding:0 30px}.login{max-width:650px;margin:55px auto;padding:48px}.login h1{font-size:37px}.login button{width:100%;margin-top:12px}footer{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:22px;margin-top:48px}footer span{font-size:10px}.pagination{display:flex;justify-content:center;gap:20px;margin:20px}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:5;background:white;padding:15px}.errorlist{color:#a32c1a}.glossary-item{margin-top:12px}@media(max-width:1100px){.status-grid,.kpi-grid{grid-template-columns:repeat(2,1fr)}.fields{grid-template-columns:repeat(2,1fr)}.workspace{padding:0 24px 30px}}@media(max-width:760px){.sidebar{position:static;width:100%;padding:18px}.sidebar nav{display:flex;flex-wrap:wrap;gap:1px}.sidebar .institution,.identity{display:none}.workspace{margin-left:0;padding:0 16px}.status-grid,.kpi-grid,.fields,.choices{grid-template-columns:1fr}.heading{display:block}.heading .button{margin-top:14px}.steps{flex-wrap:wrap}.steps li{flex:1 0 23%}.cost-row{grid-template-columns:1fr 1fr}.login{padding:24px}.topline{font-size:9px}h1{font-size:29px}}
.range .central b.unavailable{font-size:14px;white-space:nowrap;overflow-wrap:normal}.toolbar form{margin:3px 0}.toolbar form button{margin-right:5px}
.cortex-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:20px}.cortex-context{align-self:start;position:sticky;top:20px}.cortex-context select{font-size:12px}.cortex-panel{padding:0;overflow:hidden}.cortex-head{padding:24px 26px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:start}.cortex-head h2{margin:0}.cortex-messages{min-height:430px;padding:24px;background:#f8faf8;display:grid;gap:20px;align-content:start}.cortex-turn{display:grid;gap:10px}.cortex-user{justify-self:end;max-width:76%;background:var(--green);color:white;padding:12px 16px;border-radius:14px 14px 3px 14px}.cortex-answer{background:white;border:1px solid var(--line);padding:18px;border-radius:14px 14px 14px 3px}.cortex-answer p:last-child{margin-bottom:0}.cortex-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:16px}.evidence-card{border:1px solid var(--line);padding:15px;border-radius:7px;background:#fbfdfb}.evidence-card h3{margin:4px 0 10px}.evidence-value{font-size:22px;font-weight:700;color:var(--green);overflow-wrap:anywhere}.evidence-value small{display:inline;font-weight:400}.evidence-range{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin:8px 0}.bar{height:7px;border-radius:8px;background:#e4ece8;overflow:hidden}.bar i{display:block;height:100%;background:#368470;border-radius:inherit}.cortex-composer{border-top:1px solid var(--line);padding:18px 24px;background:white}.cortex-composer textarea{min-height:76px}.cortex-composer fieldset{border:0;padding:0;margin:0;display:flex;gap:14px}.cortex-composer fieldset label{font-size:12px;margin:0}.cortex-composer fieldset input{display:inline;width:auto;margin:0 5px 0 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:900px){.cortex-layout{grid-template-columns:1fr}.cortex-context{position:static}.cortex-user{max-width:92%}}

.cortex-evidence{margin-top:14px;display:grid;gap:8px}.evidence-cite{border-left:3px solid #b78b38;background:#fffaf0;padding:10px 12px;border-radius:0 6px 6px 0;font-size:13px}.evidence-claim h3{font-size:14px;line-height:1.4;min-height:0}
.numeric{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}th.numeric{text-align:right}
.kv{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:8px;padding:4px 0;border-bottom:1px dashed var(--line)}.kv:last-child{border-bottom:0}.kv span{color:var(--muted)}.kv code{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}
.param{margin:6px 0 10px}code.small{font-size:11px;white-space:pre-wrap;overflow-wrap:anywhere}
.assumption-row{border-top:1px solid var(--line);padding:14px 0}.assumption-row b{display:block}.assumption-row small{margin-bottom:8px}.assumption-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 16px}.assumption-fields label{margin:6px 0}
@media(max-width:900px){.assumption-fields{grid-template-columns:1fr 1fr}}@media(max-width:600px){.assumption-fields{grid-template-columns:1fr}}
/* Scenario Studio */
.studio-composer textarea,.studio-followup textarea{min-height:92px;font-size:15px}
.studio-actions{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}
.studio-past{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);border-bottom:1px dashed var(--line);padding:7px 2px}
.studio-past .studio-q-past{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.studio-user{background:var(--green);color:#fff;padding:12px 16px;border-radius:14px 14px 14px 3px;max-width:80%;margin:22px 0 14px;font-weight:500}
.studio-answer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.studio-answer-head h2{margin:2px 0 0}
.studio-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.studio-links form{display:inline}
.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.studio-followup{margin-top:26px}
.chart-wrap{margin:14px 0;overflow-x:auto}
.chart{width:100%;height:auto;max-width:640px;font-family:inherit}
.chart-title{font-size:12px;font-weight:700;fill:var(--ink)}
.chart-label{font-size:12px;fill:var(--muted)}
.chart-value{font-size:12px;font-weight:600;fill:var(--ink);font-variant-numeric:tabular-nums}
.chart-tick{font-size:10px;fill:var(--muted)}
.chart-track{fill:#e8efec}
.chart-bar{fill:#2f8f76}
.chart-bar-neg{fill:#b3532f}
.chart-whisker{stroke:#5f7374;stroke-width:1.5}
.chart-axis{stroke:#bdccc7;stroke-width:1}
@media(max-width:900px){.studio-grid{grid-template-columns:1fr}.studio-user{max-width:95%}}
/* Studio chat transcript */
.studio-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px}
.studio-head h1{font-size:26px;margin:4px 0 0}
.studio-thread{max-width:900px;margin:0 auto;padding-bottom:150px}
.chat-row{display:flex;margin:16px 0}
.chat-row.user{justify-content:flex-end}
.chat-row.bot{justify-content:flex-start}
.bubble{max-width:84%;padding:14px 18px;border-radius:16px;line-height:1.55}
.user-bubble{background:var(--green);color:#fff;border-bottom-right-radius:4px;font-weight:500}
.bot-bubble{background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px;max-width:96%;width:100%}
.bot-bubble>p{margin:6px 0 12px}
.studio-stats{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.stat-chip{background:#f3f7f5;border:1px solid var(--line);border-radius:9px;padding:9px 14px;min-width:110px}
.stat-chip small{display:block;font-size:10px;letter-spacing:.6px;color:var(--muted);text-transform:uppercase}
.stat-chip b{display:block;font-size:19px;color:var(--green);font-variant-numeric:tabular-nums;line-height:1.2;overflow-wrap:anywhere}
.stat-chip span{font-size:11px;color:var(--muted)}
.studio-detail{border-top:1px solid var(--line);margin-top:8px}
.studio-detail summary{padding:12px 0}
.studio-detail h3{margin:18px 0 8px}
.studio-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.studio-links form{display:inline}
.studio-composer-bar{position:sticky;bottom:0;display:flex;gap:10px;align-items:flex-end;background:var(--bg);border-top:1px solid var(--line);padding:14px 0 6px;margin-top:10px;max-width:900px;margin-left:auto;margin-right:auto}
.studio-composer-bar textarea{flex:1;min-height:48px;max-height:200px;resize:none;margin:0}
.composer-send{display:flex;gap:8px;flex-shrink:0}
.composer-note{max-width:900px;margin:2px auto 0;font-size:11px;color:var(--muted);text-align:center}
@media(max-width:760px){.bubble{max-width:96%}.composer-send{flex-direction:column}.studio-composer-bar textarea{min-height:44px}}
/* Studio chat (minimal) */
.bot-bubble .reply{margin:0 0 4px;font-size:15px;line-height:1.55}
.bot-bubble .reply-foot{margin:12px 0 0;font-size:11px;color:var(--muted)}
.table-wrap.mini{margin:12px 0 2px}
.table-wrap.mini table{font-size:12.5px}
.table-wrap.mini td,.table-wrap.mini th{padding:7px 12px}

/* ---------- Navigation groups ---------- */
.nav-group{font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:#6f8f88;margin:18px 11px 2px;font-weight:700}
/* ---------- Chat page (Claude-style) ---------- */
.page-chat .topline,.page-chat footer{display:none}
.page-chat .workspace{padding-top:16px}
.chat-top{display:flex;justify-content:flex-end;gap:18px;align-items:center;max-width:820px;margin:0 auto;min-height:30px}
.chat-new{font-size:13px;font-weight:600}
details.chat-history{border:0;padding:0;margin:0;position:relative;font-size:13px}
.chat-history summary{color:var(--muted);font-weight:600;font-size:13px;list-style:none}
.chat-history summary::-webkit-details-marker{display:none}
.chat-history summary::after{content:' ▾'}
.chat-history ul{position:absolute;right:0;top:26px;z-index:30;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(18,47,48,.10);list-style:none;margin:0;padding:6px;width:330px;max-height:380px;overflow:auto}
.chat-history li a{display:block;padding:8px 10px;border-radius:7px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-history li a:hover,.chat-history li a[aria-current]{background:#eef4f1;text-decoration:none}
.chat-empty{max-width:720px;margin:11vh auto 40px;text-align:center}
.chat-empty h1{font-size:30px;letter-spacing:-.6px;margin:0 0 8px}
.chat-empty>p{color:var(--muted);margin:0 0 26px}
.chat-examples{display:grid;gap:8px;margin-top:22px;text-align:left}
.chat-examples form{margin:0}
.chat-example{width:100%;background:#fff;color:var(--ink);border:1px solid var(--line);font-weight:400;text-align:left;padding:12px 15px;border-radius:12px;font-size:14px}
.chat-example:hover{background:#f6faf8;border-color:#a9c7bd;filter:none}
.chat-thread{max-width:820px;margin:0 auto;padding:4px 0 200px}
.msg-user{display:flex;justify-content:flex-end;margin:28px 0 12px}
.msg-user-bubble{background:#e6efeb;color:var(--ink);padding:10px 16px;border-radius:18px;max-width:78%;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}
.msg-bot{display:flex;gap:12px;align-items:flex-start;margin:6px 0}
.msg-avatar{flex:0 0 28px;height:28px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;margin-top:2px}
.msg-body{flex:1;min-width:0;font-size:15px;line-height:1.65}
.msg-body p{margin:0 0 10px}
.msg-foot{font-size:12.5px;color:var(--muted)}
.chat-table{width:auto;min-width:360px;max-width:100%;border:1px solid var(--line);border-radius:10px;border-collapse:separate;border-spacing:0;overflow:hidden;margin:4px 0 14px;font-size:14px;background:#fff}
.chat-table td,.chat-table th{padding:9px 14px;border-bottom:1px solid var(--line);text-transform:none;letter-spacing:0}
.chat-table tr:last-child td{border-bottom:0}
.chat-table td:nth-child(n+2),.chat-table th:nth-child(n+2){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.chat-table th{font-size:11.5px;background:#f6f9f7;color:var(--muted);font-weight:600}
.chat-chart{margin:4px 0 14px;max-width:660px}
.chat-sources{padding-left:18px;font-size:13.5px;margin:4px 0 12px}.chat-sources span{color:var(--muted)}
.chat-dock{position:fixed;left:242px;right:0;bottom:0;padding:26px 42px 12px;background:linear-gradient(to bottom,rgba(243,246,243,0),var(--bg) 26%)}
.chat-dock .chat-composer,.chat-dock .chat-note{max-width:820px;margin-left:auto;margin-right:auto}
.chat-composer{background:#fff;border:1px solid #c8d7d1;border-radius:16px;padding:10px 12px 8px;box-shadow:0 2px 12px rgba(18,47,48,.07);text-align:left}
.chat-composer textarea{border:0;outline:0;resize:none;padding:6px 4px;margin:0;min-height:30px;max-height:220px;font-size:15px;background:transparent}
.chat-composer textarea:focus{outline:0}
.chat-composer-row{display:flex;justify-content:space-between;align-items:center;margin-top:6px}
.chat-hard{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:400;color:var(--muted);margin:0;cursor:pointer}
.chat-hard input{width:auto;margin:0}
.chat-send{padding:8px 18px;border-radius:10px}
.chat-note{font-size:11px;color:var(--muted);text-align:center;margin:8px 0 0}
.thinking{color:var(--muted);animation:chatpulse 1.2s ease-in-out infinite}
@keyframes chatpulse{0%,100%{opacity:.35}50%{opacity:1}}
@media(max-width:760px){.chat-dock{left:0;padding:16px 12px 8px}.msg-user-bubble{max-width:90%}.chat-empty{margin-top:3vh}.chat-table{min-width:0;width:100%}.chat-thread{padding-bottom:220px}}

/* ---------- Quick simulation form ---------- */
.quick{max-width:900px}
.quick h1{margin-bottom:6px}
.quick-form{padding:26px 28px}
.quick-tech{border:0;padding:0;margin:0 0 18px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.quick-tech legend{font-size:13px;font-weight:600;margin-bottom:10px;padding:0}
.tech-card{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:0;cursor:pointer;font-weight:400;display:block}
.tech-card input{width:auto;display:inline;margin:0 8px 0 0}
.tech-card b{font-size:15px}
.tech-card span{display:block;font-size:12.5px;color:var(--muted);margin-top:4px}
.tech-card:has(input:checked){border-color:var(--green);box-shadow:0 0 0 2px #cfe3dc;background:#f7fbf9}
.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 22px}
.quick-grid label{margin:10px 0}
.opt{display:inline;font-weight:400;color:var(--muted);font-size:11.5px}
.hint{display:block;font-weight:400;margin-top:4px}
.quick-more{margin-top:18px}
.quick-go{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:22px;border-top:1px solid var(--line);padding-top:20px}
.quick-run{font-size:16px;padding:13px 30px;border-radius:10px}
.quick-go .muted{font-size:13px}
.wizard-run{padding:10px 0 30px}
.wizard-step{margin-bottom:18px}
@media(max-width:760px){.quick-tech,.quick-grid{grid-template-columns:1fr}.quick-form{padding:18px}}
/* ---------- Results page ---------- */
.res{max-width:1000px}
.res-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap}
.res-head h1{font-size:28px;margin:0 0 4px}
.res-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.res-actions form{margin:0}
details.res-more{border:0;padding:0;margin:0;position:relative}
.res-more summary{list-style:none;border:1px solid #bbcfca;border-radius:6px;padding:10px 16px;color:var(--green);font-size:14px;font-weight:600;background:#fff}
.res-more summary::-webkit-details-marker{display:none}
.res-more-menu{position:absolute;right:0;top:46px;z-index:20;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(18,47,48,.1);padding:8px;min-width:260px;display:grid}
.res-more-menu form{display:grid}
.res-more-menu button,.quiet-link{text-align:left;padding:9px 10px;font-weight:500;font-size:14px;display:block}
.res-flag{font-size:13px;color:#73501d;border-left:3px solid #c9a14f;padding:4px 0 4px 12px;margin:14px 0 18px}
.res-summary{margin-top:6px}
.res-lead{font-size:17px;line-height:1.6;margin-top:0}
.res-block{margin-top:18px}
details.res-block{padding:18px 25px}
details.res-block>summary{font-size:15px}
.res-ask{display:flex;gap:10px}
.res-ask input{margin:0}
.res-group{margin:22px 0 8px;font-size:14px;color:var(--muted)}
.chat-table.wide{width:100%}
.res-table td:first-child{width:46%}
.res-table details{border:0;padding:0;margin:0}
.res-table summary{color:var(--ink);font-weight:500;font-size:14px}
.res-calc{font-size:12.5px;padding:6px 0 2px;white-space:normal}
.res-calc p{margin:4px 0}
.res-unavail{font-size:13px;margin-top:16px}
.res-dl dd{margin:2px 0 10px;overflow-wrap:anywhere;font-size:13px}
@media(max-width:760px){.res-ask{flex-direction:column}.res-table td:first-child{width:auto}}

/* compact menu on phones: secondary links behind "More" */
.nav-more{border:0;padding:0;margin:0}
.nav-more>summary{display:none}
@media(max-width:760px){.nav-more>summary{display:inline-block;color:#c5d7d2;padding:11px;font-size:14px;cursor:pointer}.nav-more[open]>summary{color:#fff}.nav-group{display:none}.sidebar nav{gap:2px}}

.sidebar nav a{display:block}
.nav-more[open]{display:grid;gap:7px}

/* ---------- Thinking animation ---------- */
.thinking-orb{position:relative;background:radial-gradient(circle at 35% 30%,#4fb894,#126653 70%);overflow:visible}
.thinking-orb::before,.thinking-orb::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(47,143,118,.45);animation:orbring 1.8s ease-out infinite}
.thinking-orb::after{animation-delay:.9s}
.thinking-orb span{position:absolute;inset:7px;border-radius:50%;background:#fff;opacity:.85;animation:orbcore 1.2s ease-in-out infinite}
@keyframes orbring{0%{transform:scale(.85);opacity:.9}100%{transform:scale(1.7);opacity:0}}
@keyframes orbcore{0%,100%{transform:scale(.55)}50%{transform:scale(.85)}}
.think-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px;max-width:520px;box-shadow:0 2px 10px rgba(18,47,48,.05)}
.think-dots{display:flex;gap:5px;margin-bottom:8px}
.think-dots i{width:7px;height:7px;border-radius:50%;background:#2f8f76;animation:dot 1.1s ease-in-out infinite}
.think-dots i:nth-child(2){animation-delay:.15s}.think-dots i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,80%,100%{transform:translateY(0);opacity:.35}40%{transform:translateY(-5px);opacity:1}}
.think-stage{margin:0 0 10px;font-weight:600;font-size:14.5px;background:linear-gradient(90deg,#173f3c 0%,#5cbf9f 50%,#173f3c 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 2.2s linear infinite}
.think-stage.swap{animation:shimmer 2.2s linear infinite,fadeup .35s ease-out}
@keyframes shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
@keyframes fadeup{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.think-steps{display:flex;gap:6px;flex-wrap:wrap}
.think-steps span{font-size:11px;padding:3px 9px;border-radius:20px;background:#eef3f1;color:#8aa29c;transition:all .3s}
.think-steps span.on{background:#dff0e9;color:#126653}
.think-steps span.done{background:#126653;color:#fff}
.think-log{list-style:none;margin:12px 0 0;padding:10px 0 0;border-top:1px solid var(--line);display:grid;gap:5px;font-size:12.5px;color:var(--muted)}
.think-log li{position:relative;padding-left:20px;line-height:1.35;animation:fadeup .3s ease-out}
.think-log li::before{content:'';position:absolute;left:2px;top:4px;width:9px;height:9px;border-radius:50%;border:2px solid #0d8a70;border-right-color:transparent;animation:tlspin .8s linear infinite}
.think-log li.tl-ok::before{content:'✓';border:0;animation:none;top:0;left:1px;width:auto;height:auto;color:var(--green);font-weight:700;font-size:12px}
.think-log li.tl-warn::before{content:'!';border:0;animation:none;top:0;left:4px;width:auto;height:auto;color:#a86b00;font-weight:800;font-size:12px}
.think-log li.tl-warn{color:#7a5a12}
.think-log:empty{display:none}
.think-time{margin:8px 0 0;font-size:11px;color:var(--muted)}
.think-time:empty{display:none}
@keyframes tlspin{to{transform:rotate(360deg)}}
.msg-bot:not(.msg-pending):last-of-type .msg-body{animation:fadeup .45s ease-out}
/* ---------- Charts: one visual language ---------- */
.chat-chart,.res-summary .chat-chart{max-width:600px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px 8px;margin:6px 0 14px}
svg.ch{width:100%;height:auto;display:block;font-family:inherit;overflow:visible}
.ch-title{font-size:12.5px;font-weight:700;fill:var(--ink)}
.ch-label{font-size:12px;fill:#4d6563}
.ch-value{font-size:12px;font-weight:700;fill:var(--ink)}
.ch-axis-label{font-size:10.5px;fill:#7c918d}
.ch-bar-label{font-size:10.5px;font-weight:600;fill:#2b4644}
.ch-track{fill:#edf3f0}
.ch-bar{fill:#2f8f76}
.ch-bar.ch-neg{fill:#c4664a}
.ch-grid{stroke:#e3ebe8;stroke-width:1;stroke-dasharray:3 4}
.ch-zero{stroke:#9fb3ae;stroke-width:1}
.ch-whisker{stroke:#173f3c;stroke-width:2;stroke-linecap:round;opacity:.55}
.ch-anim .ch-bar{transform-box:fill-box;animation:grow .7s cubic-bezier(.2,.8,.2,1) both}
.ch-anim .ch-h{transform-origin:left center;animation-name:growx}
.ch-anim .ch-v{transform-origin:center bottom;animation-name:growy}
.ch-anim .ch-v.ch-neg{transform-origin:center top}
.ch-anim rect:nth-of-type(4n+2){animation-delay:.05s}.ch-anim rect:nth-of-type(4n+3){animation-delay:.12s}.ch-anim rect:nth-of-type(4n){animation-delay:.2s}
@keyframes growx{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes growy{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media (prefers-reduced-motion:reduce){.ch-anim .ch-bar,.thinking-orb::before,.thinking-orb::after,.think-dots i,.think-stage,.think-log li,.think-log li::before{animation:none}}

.chat-opts{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.chat-mode{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--muted);margin:0}
.chat-mode select{width:auto;margin:0;padding:4px 26px 4px 8px;font-size:12px;border-radius:8px;border:1px solid #d3dfda;background-color:#f7faf8}

/* Verification line under an answer: quiet, one line, details on demand */
.msg-verified{margin:-4px 0 14px;font-size:12px;line-height:1.6;color:var(--muted)}
.msg-verified summary{cursor:pointer;list-style:none;display:inline-flex;gap:6px;align-items:baseline}
.msg-verified summary::-webkit-details-marker{display:none}
.msg-verified summary span{color:var(--green);font-weight:700}
.msg-verified summary:hover{color:var(--ink)}
.msg-verified p,.msg-verified ul{margin:6px 0 0 18px;font-size:12px}
.msg-verified ul{padding:0;list-style:none}
.msg-verified a{color:var(--green)}
.msg-caution{margin:-6px 0 14px;font-size:12px;line-height:1.6;color:#8a5a00}
.msg-body .msg-verified{border:0;background:none;padding:0;box-shadow:none}
.msg-body .msg-verified summary{font-weight:400;color:var(--muted);border:0;padding:0;background:none;font-size:12px}
.msg-body .msg-verified[open] summary{color:var(--ink)}
