:root{--navy:#12294a;--navy2:#0d1f39;--ink:#1a2433;--paper:#f7f9fc;--card:#ffffff;--line:#dbe3ef;--dim:#5b6b83;--gold:#c9962f;--blue:#3f7cc0;--soft:#eaf1fa;--red:#b3261e}
*{box-sizing:border-box;margin:0;padding:0}
html,body{overflow-x:hidden}
body{font-family:ui-sans-serif,system-ui,"Segoe UI",Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.55}
a{color:var(--blue)}
.topbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 18px;background:var(--navy);color:#fff}
.topbar .brand{font-weight:800;font-size:1.05rem}.topbar .brand span{color:var(--gold)}
.topbar nav{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.topbar nav a{color:#dfe8f4;text-decoration:none;font-weight:600;font-size:.9rem;padding:6px 10px;border-radius:8px;cursor:pointer}
.topbar nav a:hover,.topbar nav a.on{background:rgba(255,255,255,.14);color:#fff}
.emergency{background:#fdecea;border-bottom:1px solid #f5c6c2;color:#7a1c16;font-size:.85rem;padding:8px 18px;text-align:center}
.emergency b{color:var(--red)}
.wrap{max-width:1000px;margin:0 auto;padding:22px 18px}
.disclaimer{background:var(--soft);border:1px solid #cddef2;border-left:4px solid var(--blue);border-radius:10px;padding:12px 16px;color:#274063;font-size:.9rem;margin:14px 0}
.disclaimer b{color:var(--navy)}
h1{font-size:clamp(1.7rem,4.5vw,2.6rem);color:var(--navy);line-height:1.15}
.sub{color:var(--dim);font-size:1.1rem;max-width:60ch;margin-top:10px}
.hero{display:grid;grid-template-columns:1.4fr .9fr;gap:22px;align-items:center;margin-top:10px}
.hero .art{background:var(--soft);border:1px solid var(--line);border-radius:16px;padding:16px;text-align:center}
.hero .art img{max-width:100%;border-radius:10px}
.actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:20px}
.action{display:block;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;cursor:pointer;text-decoration:none;color:inherit;transition:transform .1s,border-color .1s}
.action:hover{transform:translateY(-2px);border-color:var(--blue)}
.action .e{font-size:1.5rem}.action .t{font-weight:800;color:var(--navy);margin:6px 0 2px}.action .s{color:var(--dim);font-size:.85rem}
h2{color:var(--navy);font-size:1.5rem;margin-bottom:4px}
.lead{color:var(--dim);margin-bottom:14px}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}
select,input[type=text]{background:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font-size:.95rem;color:var(--ink)}
input[type=text]{min-width:220px;flex:1}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}
.card h3{color:var(--navy);font-size:1.05rem}
.badge{display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:20px;background:var(--soft);color:var(--blue);margin-right:6px}
.badge.j{background:#f1ede0;color:var(--gold)}
.meta{color:var(--dim);font-size:.82rem;margin-top:8px}
.src{font-size:.78rem;color:var(--dim);margin-top:10px;border-top:1px solid var(--line);padding-top:8px}
.src a{font-weight:700}
.verify{font-size:.72rem;color:#7a6a2e;background:#f7f0da;border:1px solid #ecdfae;border-radius:6px;padding:2px 7px;display:inline-block}
.btn{display:inline-block;background:var(--navy);color:#fff;text-decoration:none;font-weight:700;padding:.55em 1em;border-radius:9px;border:0;cursor:pointer;font-size:.9rem}
.btn.gold{background:var(--gold);color:#3a2c00}.btn.ghost{background:#fff;border:1px solid var(--line);color:var(--navy)}
.termrow{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:10px}
.termrow .term{font-weight:800;color:var(--navy)}
.checklist{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:12px}
.checklist h3{color:var(--navy)}
.checklist label{display:flex;gap:10px;align-items:flex-start;padding:6px 0;font-size:.92rem;color:var(--ink)}
footer{background:var(--navy2);color:#c7d3e5;font-size:.82rem;padding:22px 18px;margin-top:30px;text-align:center}
.empty{color:var(--dim);padding:20px;text-align:center}
@media(max-width:760px){ .hero{grid-template-columns:1fr} .hero .art{order:-1} }

/* ---- Ask the assistant (Phase 5) ---- */
.aslog{margin-top:10px;max-height:52vh;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:4px 2px}
.asempty{color:var(--dim);font-size:.9rem;padding:14px;background:var(--soft);border-radius:12px;line-height:1.6}
.asbub{max-width:92%;border-radius:14px;padding:10px 14px;line-height:1.55;font-size:.95rem}
.asbub.user{align-self:flex-end;background:var(--navy);color:#fff;border-bottom-right-radius:4px}
.asbub.bot{align-self:flex-start;background:var(--soft);color:var(--ink);border:1px solid var(--line);border-bottom-left-radius:4px;width:92%}
.asbub .dim{color:var(--dim)}
.asans{white-space:normal}
.aslbl{font-size:.72rem;font-weight:800;letter-spacing:.03em;color:var(--gold);background:#3a2d05;display:inline-block;padding:3px 8px;border-radius:6px;margin-bottom:8px}
.ascites{margin-top:10px;padding-top:8px;border-top:1px dashed var(--line);font-size:.82rem}
.ascites b{color:var(--navy);display:block;margin-bottom:4px}
.ascites .cite{margin:4px 0;line-height:1.5}
.ascites .cite a{color:var(--blue);text-decoration:none;font-weight:600}
.ascites .verify{color:var(--dim)}
.asdisc{margin-top:10px;font-size:.75rem;color:var(--dim);border-top:1px solid var(--line);padding-top:8px;font-style:italic}

/* footer, social links + utility classes (moved out of inline style attributes) */
.footer-inner{max-width:700px;margin:0 auto}
.social{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.social>span{font-weight:700;color:var(--dim);font-size:.85rem}
.soc{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:#fff;background:#1877F2;text-decoration:none;transition:opacity .15s}
.soc:hover{opacity:.85}
.navy{color:var(--navy)}
.hero-cap{color:var(--dim);font-size:.8rem;margin-top:8px}
.mt-lg{margin-top:22px}
.introvid{width:100%;max-width:520px;border-radius:10px;margin-top:10px}
