
:root { --ink:#1a2330; --muted:#5a6675; --line:#e2e6ec; --accent:#0b5cab; --bg:#f6f8fa; }
* { box-sizing:border-box; }
body { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
       color:var(--ink); margin:0; background:var(--bg); line-height:1.5; }
header.site { background:var(--ink); color:#fff; padding:28px 20px; }
header.site .wrap { max-width:960px; margin:0 auto; }
header.site h1 { margin:0 0 4px; font-size:1.5rem; }
header.site p { margin:0; color:#c9d3e0; }
nav { max-width:960px; margin:0 auto; padding:10px 20px; }
nav a { color:var(--accent); text-decoration:none; margin-right:18px; font-weight:600; }
main { max-width:960px; margin:0 auto; padding:0 20px 60px; }
.notice { background:#fff5d6; border:1px solid #e7d28a; border-radius:8px; padding:12px 16px; margin:18px 0; font-size:.92rem; }
.day { margin-top:34px; }
.day h2 { border-bottom:2px solid var(--accent); padding-bottom:6px; }
.day .theme { color:var(--muted); font-style:italic; margin-top:-6px; }
.keynote { background:#eaf1fb; border-left:4px solid var(--accent); padding:10px 14px; border-radius:6px; margin:14px 0; }
.session { background:#fff; border:1px solid var(--line); border-radius:10px; padding:16px 18px; margin:16px 0; }
.session h3 { margin:0 0 2px; font-size:1.1rem; }
.session .smeta { color:var(--muted); font-size:.88rem; margin-bottom:10px; }
ul.papers { list-style:none; margin:0; padding:0; }
li.paper { padding:10px 0; border-top:1px solid var(--line); }
li.paper:first-child { border-top:0; }
.ptitle { font-weight:600; }
.ptitle a { color:var(--accent); text-decoration:none; }
.ptitle a:hover { text-decoration:underline; }
.pauthors { color:var(--ink); font-size:.9rem; }
.pmeta { color:var(--muted); font-size:.8rem; margin-top:2px; }
.pdf { color:#0a7d33; font-size:.78rem; font-weight:600; }
.nopdf { color:#b00; font-size:.78rem; }
.remote { background:#6b3fa0; color:#fff; font-size:.68rem; padding:1px 7px; border-radius:10px; vertical-align:middle; }
.secref { background:#eef1f5; padding:1px 7px; border-radius:10px; }
footer { max-width:960px; margin:0 auto; padding:20px; color:var(--muted); font-size:.82rem; border-top:1px solid var(--line); }
table.toc { width:100%; border-collapse:collapse; margin:8px 0 24px; }
table.toc th, table.toc td { text-align:left; padding:8px 10px; border-bottom:1px solid var(--line); font-size:.9rem; vertical-align:top; }
table.toc th { background:#eef1f5; }
h2.sec { border-bottom:2px solid var(--accent); padding-bottom:6px; margin-top:34px; }
