
:root{
  --bg:#0b1020;
  --panel:#0f1630;
  --muted:#9aa4bf;
  --text:#e6ecff;
  --accent:#7aa2ff;
  --accent-2:#00d1b2;
  --ring: rgba(122,162,255,.35);
  --border:#1c254b;
  --radius:16px;
  --shadow: 0 10px 30px rgba(0,0,0,.35);
}

@media (prefers-color-scheme: light){
  :root{
    --bg:#f6f7fb; --panel:#ffffff; --muted:#5b6887; --text:#0e1223;
    --accent:#335bff; --accent-2:#0aa57f; --ring:rgba(51,91,255,.25);
    --border:#e5e8f0; --shadow: 0 8px 25px rgba(10,20,40,.08);
  }
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:
    radial-gradient(1200px 600px at 10% -10%, rgba(122,162,255,.10), transparent 60%),
    radial-gradient(1000px 500px at 110% -20%, rgba(0,209,178,.08), transparent 60%),
    var(--bg);
  color:var(--text);
  font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,"Inter","SF Pro Text","Helvetica Neue",Arial,sans-serif;
}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:24px}

/* Header & nav */
/* .site-header{
  position:sticky; top:0; z-index:50;
  backdrop-filter:saturate(140%) blur(10px);
  background:linear-gradient(180deg, rgba(10,15,30,.7), rgba(10,15,30,.35) 70%, transparent);
  border-bottom:1px solid var(--border);
} */

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: saturate(140%) blur(10px);
  background: linear-gradient(
    180deg,
    rgba(40, 45, 60, 0.3),
    rgba(40, 45, 60, 0.1) 70%,
    transparent
  );
  border-bottom: 1px solid var(--border);
}

.header-inner{display:flex;align-items:center;gap:18px}
.brand{display:flex;align-items:center;gap:12px}
.logo{width:42px;height:42px;border-radius:12px;background:conic-gradient(from 210deg, var(--accent), var(--accent-2));box-shadow:0 6px 20px rgba(122,162,255,.35)}
.brand .title{font-weight:800;letter-spacing:.3px}
.brand .subtitle{font-size:.92rem;color:var(--muted)}

/* Mobile nav (CSS-only) */
.nav-toggle{display:none}
.nav-toggle-btn{display:none; font-size:26px; padding:6px 10px; border:1px solid var(--border); border-radius:10px; cursor:pointer; user-select:none}
.site-nav{margin-left:auto; display:flex; gap:10px; flex-wrap:wrap}
.nav-link{display:inline-flex; padding:10px 14px; border:1px solid var(--border); border-radius:12px; background:var(--panel); color:var(--text); box-shadow:var(--shadow)}
.nav-link.active{background:linear-gradient(180deg, rgba(122,162,255,.20), rgba(122,162,255,.08)); border-color:transparent; box-shadow:0 10px 30px rgba(122,162,255,.25)}

@media (max-width:880px){
  .header-inner{flex-wrap:wrap}
  .nav-toggle-btn{display:block; margin-left:auto}
  .site-nav{display:none; width:100%}
  .nav-toggle:checked ~ .site-nav{display:flex}
  .site-nav{gap:8px}
  .nav-link{flex:1; justify-content:center}
}

/* Panels & layout */
main{padding:28px 0}
.panel{background:var(--panel); border:1px solid var(--border); border-radius:var(--radius); padding:24px; box-shadow:var(--shadow); margin-bottom:18px}
.grid{display:grid; gap:16px}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
@media (max-width:930px){
  .grid.cols-3{grid-template-columns:1fr}
  .grid.cols-2{grid-template-columns:1fr}
}

.card{border:1px solid var(--border); border-radius:14px; padding:18px; background:linear-gradient(180deg, rgba(255,255,255,.02), transparent); box-shadow:var(--shadow)}
.badge{display:inline-flex; align-items:center; gap:8px; border:1px solid var(--border); padding:4px 10px; border-radius:999px; font-size:.85rem; color:var(--muted)}
.btn{display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:12px; border:1px solid var(--border); background:var(--panel); color:var(--text); text-decoration:none; cursor:pointer}
.btn:hover{filter:brightness(1.05)}
.btn.primary{background:linear-gradient(180deg, var(--accent), #5a84ff); border-color:transparent; color:#fff; box-shadow:0 10px 30px rgba(51,91,255,.35)}

table{width:100%; border-collapse:collapse}
th, td{padding:12px 10px; border-bottom:1px solid var(--border); vertical-align:top}
th{text-align:left}
tbody tr:hover{background:rgba(122,162,255,.06)}

.hero{display:grid; grid-template-columns:1.1fr .9fr; gap:24px; align-items:center}
.hero h1{font-size:clamp(28px, 5vw, 42px); margin:.2em 0 .1em}
.lead{font-size:1.06rem; color:var(--muted); margin:0 0 10px 0}
.hero-card .hero-title{font-weight:700; font-size:1.05rem; margin:.4em 0 .1em}
.card-actions{display:flex; gap:8px; flex-wrap:wrap}

@media (max-width:930px){
  .hero{grid-template-columns:1fr}
}

.muted{color:var(--muted)}
.site-footer{margin:36px 0 18px; color:var(--muted); font-size:.92rem; text-align:center}

.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

.card ul{margin:.4em 0 0 1.1em; padding-left:.6em; list-style:disc}
.card li{margin:.25em 0}


/* Organizer headshots */
.headshot{
  width:112px; height:160px;
  border-radius:5%;
  object-fit:cover;
  display:block;
  margin:0 0 10px 0;
  border:1px solid var(--border);
  box-shadow: var(--shadow);
  background: linear-gradient(180deg, rgba(255,255,255,.04), transparent);
}

/* 更紧凑的移动端布局可让头像与文字并排 */
@media (max-width:680px){
  .card .headshot{
    width:88px; height:88px; margin:0 12px 8px 0; float:left;
  }
}

/* Incoming Seminar: justify body text */
.panel.incoming .card p{
  text-align: justify;
  text-justify: inter-word;   /* 英文按词分配空白 */
  text-align-last: left;      /* 最后一行保持左对齐，避免拉伸 */
  -moz-text-align-last: left;
  hyphens: auto;              /* 自动断词，减少大空隙 */
  -webkit-hyphens: auto;
}

/* 可选：如果“Speaker”这一行也要两端对齐，解除注释 */
// .panel.incoming .muted{ text-align: justify; text-justify: inter-word; text-align-last: left; }

.hero.hero--single{
  grid-template-columns: 1fr;
}
.hero.hero--single .hero-text{
  max-width: 900px;
}

