/* GovHub v16 Ask AI Hub: compact blue / red / yellow chat UI (web + mobile) */
.ai{--ab:#1446a0;--ab2:#2563eb;--abl:#e8efff;--ar:#d92d3a;--ay:#f4c430;--ayl:#fff7db;--ayd:#7a5600;--al:#e3e8f0;--am:#64748b;
 position:relative;display:grid;grid-template-columns:250px 1fr;height:calc(100vh - 150px);min-height:460px;background:#fff;border-radius:16px;box-shadow:0 1px 3px rgba(15,23,42,.08),0 0 0 1px var(--al);overflow:hidden;font-size:.93rem}
.ai.study{--ab:#7a5600;--abl:#fff7db}
.ai__side{display:flex;flex-direction:column;background:#f6f8fc;border-right:1px solid var(--al);min-height:0}
.ai__sideh{display:flex;gap:6px;padding:10px}
.ai__new{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(135deg,#1446a0,#2563eb);color:#fff;border:0;border-radius:12px;padding:9px 10px;font:600 .88rem/1 inherit;cursor:pointer}
.ai__new .i{width:16px;height:16px}
.ai__list{flex:1;overflow:auto;padding:0 6px 6px}
.ai__none{padding:14px 8px;font-size:.82rem;text-align:center}
.ai__it{display:flex;align-items:center;border-radius:10px;margin:1px 0}.ai__it:hover{background:#eaf0fb}.ai__it.on{background:var(--abl,#e8efff);box-shadow:inset 3px 0 0 #1446a0}
.ai__itb{flex:1;min-width:0;display:flex;align-items:center;gap:7px;border:0;background:none;padding:8px 6px;font:inherit;text-align:left;cursor:pointer;color:#0f172a}
.ai__itb .i{width:15px;height:15px;flex:none;color:#1446a0}.ai__itt{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.84rem}
.ai__itb small{color:var(--am);font-size:.7rem;flex:none}
.ai__itm{opacity:0}.ai__it:hover .ai__itm,.ai__it.on .ai__itm,.ai--m .ai__itm{opacity:1}
.ai__sidef{padding:8px 10px;border-top:1px solid var(--al)}
.ai__clear{display:flex;align-items:center;gap:6px;border:0;background:none;color:#b91c2b;font:500 .8rem inherit;cursor:pointer;padding:4px 2px}.ai__clear .i{width:14px;height:14px}
.ai__ib{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:none;border:0;border-radius:9px;background:none;color:#334155;cursor:pointer}
.ai__ib:hover{background:#eef2f8}.ai__ib .i{width:17px;height:17px}
.ai__sx,.ai__hist,.ai__scrim{display:none}
.ai__main{display:flex;flex-direction:column;min-width:0;min-height:0}
.ai__top{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--al);min-height:50px}
.ai__ttl{flex:1;min-width:0;font-weight:700;color:#0b2a63;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aiseg{display:inline-flex;background:#eef2f8;border-radius:11px;padding:3px;flex:none}
.aiseg button{display:inline-flex;align-items:center;gap:5px;border:0;background:none;border-radius:8px;padding:6px 10px;font:600 .8rem/1 inherit;color:#475569;cursor:pointer;white-space:nowrap}
.aiseg button .i{width:14px;height:14px}
.aiseg button.on[data-mode=chat]{background:#1446a0;color:#fff}.aiseg button.on[data-mode=study]{background:#f4c430;color:#3b2a00}
.ai__msgs{flex:1;overflow:auto;padding:14px 16px 8px;scroll-behavior:smooth;overscroll-behavior:contain}
.aim{display:flex;gap:9px;margin:0 auto 14px;max-width:820px}
.aim--u{justify-content:flex-end}
.aim--u .aim__b{max-width:78%;background:linear-gradient(135deg,#1446a0,#2563eb);color:#fff;border-radius:16px 16px 4px 16px;padding:9px 13px;line-height:1.45;word-wrap:break-word;overflow-wrap:anywhere}
.aim__img{display:block;max-width:220px;max-height:220px;border-radius:10px;margin:2px 0 6px;object-fit:cover;background:#dbe4f3}
.aim__av{width:28px;height:28px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f4c430,#f59e0b);color:#3b2a00;margin-top:2px}
.aim__av .i{width:15px;height:15px}
.ai.study .aim__av{background:linear-gradient(135deg,#1446a0,#2563eb);color:#fff}
.aim__w{flex:1;min-width:0}
.aim__md{line-height:1.55;color:#0f172a;overflow-wrap:anywhere}
.aim__md>:first-child{margin-top:0}.aim__md>:last-child{margin-bottom:0}
.aim__md p{margin:0 0 .6em}.aim__md ul,.aim__md ol{margin:.2em 0 .7em;padding-left:1.35em}.aim__md li{margin:.15em 0}
.aim__md h3,.aim__md h4,.aim__md h5,.aim__md h6{margin:.8em 0 .35em;color:#0b2a63;font-size:1rem}.aim__md h3{font-size:1.08rem}
.aim__md a{color:#1d4ed8;text-decoration:underline}
.aim__md code{background:#eef2f8;border-radius:5px;padding:.08em .35em;font:.86em/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.aim__md blockquote{margin:.3em 0 .7em;padding:.3em .8em;border-left:3px solid #f4c430;background:#fffbea;border-radius:0 8px 8px 0}
.aim__md hr{border:0;border-top:1px solid var(--al);margin:.8em 0}
.aim__md .katex-display{margin:.5em 0;overflow-x:auto;overflow-y:hidden;padding:2px 0}
.aimath{font-family:ui-monospace,monospace;background:#f6f8fc;padding:0 .2em;border-radius:4px}.aimath--d{display:block;text-align:center;padding:.4em}
.aicode{margin:.4em 0 .8em;border-radius:10px;overflow:hidden;background:#0f1b33;color:#e2e8f0}
.aicode__h{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 4px 12px;background:#0b1428;font-size:.74rem;color:#94a3b8}
.aicode__cp{display:inline-flex;align-items:center;gap:4px;border:0;background:none;color:#cbd5e1;font:500 .74rem inherit;cursor:pointer;padding:4px 6px;border-radius:6px}.aicode__cp:hover{background:#1e2a44}.aicode__cp .i{width:13px;height:13px}
.aicode pre{margin:0;padding:10px 12px;overflow-x:auto}.aicode code{background:none;padding:0;color:inherit;font-size:.82rem;white-space:pre}
.aitbl{overflow-x:auto;margin:.3em 0 .8em}.aitbl table{border-collapse:collapse;font-size:.86rem;min-width:50%}
.aitbl th,.aitbl td{border:1px solid var(--al);padding:5px 9px;text-align:left;vertical-align:top}.aitbl th{background:#f1f5fb;color:#0b2a63}
.aim__acts{display:flex;align-items:center;gap:6px;margin-top:4px}
.aim__a{display:inline-flex;align-items:center;gap:4px;border:0;background:none;color:var(--am);font:500 .76rem inherit;cursor:pointer;padding:3px 6px;border-radius:7px}
.aim__a:hover{background:#eef2f8;color:#1446a0}.aim__a.on{color:#15803d}.aim__a .i{width:13px;height:13px}
.aitag{font-size:.7rem;font-weight:700;color:#7a5600;background:#fff7db;border-radius:6px;padding:2px 6px}
.aidots{display:inline-flex;gap:4px;padding:6px 0}.aidots i{width:7px;height:7px;border-radius:50%;background:#94a3b8;animation:aib 1s infinite ease-in-out}
.aidots i:nth-child(1){background:#1446a0}.aidots i:nth-child(2){background:#d92d3a;animation-delay:.15s}.aidots i:nth-child(3){background:#f4c430;animation-delay:.3s}
@keyframes aib{0%,80%,100%{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}
.aihello{max-width:620px;margin:6vh auto 0;text-align:center;padding:0 6px}
.aihello__ic{display:inline-flex;width:52px;height:52px;border-radius:16px;align-items:center;justify-content:center;background:linear-gradient(135deg,#1446a0,#2563eb);color:#fff;box-shadow:0 6px 16px rgba(20,70,160,.25)}
.ai.study .aihello__ic{background:linear-gradient(135deg,#f4c430,#f59e0b);color:#3b2a00}
.aihello__ic .i{width:26px;height:26px}.aihello h2{margin:10px 0 4px;font-size:1.25rem;color:#0b2a63}.aihello p{margin:0 0 14px;font-size:.88rem}
.aichips{display:flex;flex-wrap:wrap;gap:7px;justify-content:center}
.aichip{border:1px solid #d6dde8;background:#fff;border-radius:999px;padding:7px 12px;font:500 .82rem inherit;color:#0b2a63;cursor:pointer;text-align:left}
.aichip:hover{border-color:#1446a0;background:#f4f7ff}.ai.study .aichip:hover{border-color:#f4c430;background:#fffbea}
.ai__comp{padding:8px 12px 10px;border-top:1px solid var(--al);background:#fff}
.ai__prev{display:flex;align-items:center;gap:8px;margin:0 auto 6px;max-width:820px}
.ai__thumb{position:relative;display:inline-block}.ai__thumb img{width:54px;height:54px;object-fit:cover;border-radius:10px;display:block}
.ai__thumb button{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;border:0;background:#d92d3a;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.ai__thumb button .i{width:12px;height:12px}
.ai__box{display:flex;align-items:flex-end;gap:6px;max-width:820px;margin:0 auto;border:1.5px solid #d6dde8;border-radius:16px;padding:5px 5px 5px 6px;background:#fff;transition:border-color .15s}
.ai__box:focus-within{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}.ai.study .ai__box:focus-within{border-color:#f4c430;box-shadow:0 0 0 3px rgba(244,196,48,.2)}
.ai__box textarea{flex:1;border:0;outline:0;resize:none;font:inherit;line-height:1.4;padding:6px 2px;max-height:180px;min-height:22px;background:none;color:#0f172a}
.ai__att{cursor:pointer;color:#1446a0}
.ai__send{width:36px;height:36px;flex:none;border:0;border-radius:11px;background:#1446a0;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.ai__send .i{width:17px;height:17px}.ai__send.stop{background:#d92d3a}.ai.study .ai__send:not(.stop){background:#f4c430;color:#3b2a00}
.ai__note{display:flex;justify-content:space-between;gap:10px;max-width:820px;margin:5px auto 0;font-size:.7rem;color:var(--am)}.ai__note b{font-weight:600;color:#1446a0;white-space:nowrap}
.aiempty{max-width:520px;margin:30px auto;text-align:center;padding:28px 18px!important}.aiempty h2{font-size:1.1rem;margin:10px 0 4px;color:#0b2a63}
.aiempty__ic{display:inline-flex;width:50px;height:50px;border-radius:15px;align-items:center;justify-content:center;background:#fff7db;color:#7a5600}.aiempty__ic .i{width:26px;height:26px}
.aiload{display:flex;justify-content:center;padding:40px}
/* narrow / mobile: history becomes a drawer */
@media (max-width:760px){.ai{grid-template-columns:1fr;height:calc(100vh - 130px)}
 .ai__side{position:absolute;inset:0 auto 0 0;width:min(84%,300px);z-index:5;transform:translateX(-102%);transition:transform .2s ease;box-shadow:4px 0 18px rgba(15,23,42,.18)}
 .ai.side .ai__side{transform:none}.ai__scrim{position:absolute;inset:0;background:rgba(15,23,42,.35);z-index:4}.ai.side .ai__scrim{display:block}
 .ai__sx,.ai__hist{display:inline-flex}.aiseg button span{display:none}.aiseg button{padding:6px 9px}
 .ai__msgs{padding:12px 10px 6px}.aim--u .aim__b{max-width:86%}.ai__note span{display:none}.ai__note{justify-content:flex-end}}
.ai--m{border-radius:0;box-shadow:none;height:auto;min-height:0}
.aibody{padding:0!important}
.aibody .ai--m{height:var(--aih,calc(100dvh - 90px))}
.ai--m .ai__note span{display:inline;font-size:.66rem}.ai--m .ai__note{justify-content:space-between}
.aidash{border-left-color:#f5b301}.aidash .chdash__ic{background:#fff6d6;color:#b07d00}
