/* ===== 我愛交易實驗室 iLoveTradingLab — 靜態重製版 ===== */
:root{
  --navy:#13344e;
  --navy-d:#0d2436;
  --accent:#19b39b;       /* 實驗室主色：teal */
  --accent-d:#0f8c79;
  --gold:#e0a93b;
  --bg:#f5f7f8;
  --card:#ffffff;
  --text:#283039;
  --muted:#6b7785;
  --line:#e4e8ec;
  --maxw:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--text);background:var(--bg);line-height:1.75;font-size:16px;
}
a{color:var(--accent-d);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}

/* Header / Nav */
.site-header{position:sticky;top:0;z-index:50;background:var(--navy);box-shadow:0 2px 8px rgba(0,0,0,.18)}
.nav-wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;min-height:64px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:#fff;font-size:1.15rem;font-weight:700;letter-spacing:.5px}
.brand:hover{text-decoration:none;color:#fff}
.brand img{height:38px;width:auto;border-radius:6px;background:#fff;padding:3px}
.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:1.6rem;cursor:pointer;padding:6px 10px}
.nav-menu{display:flex;gap:4px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.nav-menu a{color:#d6e0e8;display:block;padding:10px 14px;border-radius:6px;font-size:.95rem;transition:background .15s,color .15s}
.nav-menu a:hover{background:rgba(255,255,255,.1);color:#fff;text-decoration:none}
.nav-menu a.active{color:#fff;background:rgba(25,179,155,.3);font-weight:600}

/* Layout */
.wrap{max-width:var(--maxw);margin:28px auto;padding:0 20px}
.content{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:32px 34px}
.content h1{margin:0 0 6px;font-size:1.85rem;color:var(--navy);border-bottom:3px solid var(--accent);padding-bottom:12px;display:inline-block}
.content h2{color:var(--navy);font-size:1.3rem;margin:32px 0 14px;padding-left:12px;border-left:5px solid var(--accent);scroll-margin-top:84px}
.content h3{color:var(--navy-d);font-size:1.08rem;margin:20px 0 8px}
.lead{color:var(--muted);font-size:1rem;margin-top:4px}
.content ul{padding-left:1.3rem}
.content li{margin:5px 0}

/* Hero */
.hero{background:linear-gradient(135deg,var(--navy),var(--accent-d));color:#eaf7f4;border-radius:12px;padding:46px 36px;text-align:center;margin-bottom:24px}
.hero img.logo{height:84px;margin:0 auto 18px;background:#fff;padding:8px;border-radius:12px}
.hero h1{color:#fff;border:0;font-size:2rem;margin:0 0 10px}
.hero p{margin:.3rem 0;color:#d2ece7;max-width:760px;margin-left:auto;margin-right:auto}
.btn{display:inline-block;margin-top:18px;padding:12px 26px;background:var(--gold);color:#3a2c08;font-weight:700;border-radius:30px;transition:transform .12s}
.btn:hover{text-decoration:none;transform:translateY(-2px);background:#eab94f}

/* theme cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:14px 0}
.cards .c{background:#f0f9f7;border:1px solid #cdeae4;border-radius:12px;padding:22px;text-align:center}
.cards .c .ic{font-size:2rem;margin-bottom:8px}
.cards .c h3{color:var(--accent-d);margin:.2rem 0}

/* member grid */
.members{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:20px;margin:14px 0 8px}
.mcard{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}
.mcard:hover{box-shadow:0 6px 18px rgba(0,0,0,.1);transform:translateY(-3px)}
.mcard .ph{width:100%;aspect-ratio:1/1;object-fit:cover;background:#ffffff}
.mcard .ph.placeholder{display:flex;align-items:center;justify-content:center;color:#9cc4bd;font-size:3rem;font-weight:700}
.mcard .body{padding:14px 16px}
.mcard .nm{font-size:1.1rem;font-weight:700;color:var(--navy);margin-bottom:6px}
.mcard .bio{font-size:.86rem;color:var(--muted);line-height:1.6}
.mcard .bio a{word-break:break-all}
.mcard .email{display:block;margin-top:8px;font-size:.8rem;color:var(--accent-d);word-break:break-all}
.mcard .degree{display:inline-block;background:var(--navy);color:#fff;font-size:.78rem;font-weight:700;padding:3px 10px;border-radius:20px;margin-bottom:8px}
.mcard .thesis{font-size:.86rem;color:var(--text);line-height:1.6}
.mcard .thesis .lbl{color:var(--muted);font-size:.78rem;display:block;margin-bottom:2px}

/* album timeline grid */
.albums{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin:14px 0}
.acard{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 20px;transition:box-shadow .15s,transform .15s,border-color .15s}
.acard:hover{text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.1);transform:translateY(-3px);border-color:var(--accent)}
.acard .date{font-size:.8rem;color:var(--accent-d);font-weight:700;font-variant-numeric:tabular-nums}
.acard .title{font-size:1.08rem;color:var(--navy);font-weight:700;margin:6px 0 10px}
.acard .go{font-size:.82rem;color:var(--muted)}

/* info table / contact */
.info{display:grid;grid-template-columns:140px 1fr;gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:12px 0}
.info dt{background:#f0f9f7;color:var(--navy);font-weight:700;padding:12px 16px;border-bottom:1px solid var(--line);font-size:.9rem}
.info dd{margin:0;padding:12px 16px;border-bottom:1px solid var(--line)}
.info dt:last-of-type,.info dd:last-of-type{border-bottom:0}

/* profile two-col (professor) */
.prof{display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:start}
.prof .ph{width:100%;border-radius:12px;border:1px solid var(--line)}

/* gallery strip (joinus lab photos) */
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0}
.gallery img{border-radius:10px;border:1px solid var(--line)}

/* footer */
.site-footer{background:var(--navy-d);color:#9fb2bf;text-align:center;padding:26px 20px;margin-top:36px;font-size:.88rem}
.site-footer a{color:#bfe9e1}

@media (max-width:860px){
  .nav-toggle{display:block}
  .nav-menu{display:none;width:100%;flex-direction:column;gap:0;padding:8px 0 12px}
  .nav-menu.open{display:flex}
  .cards{grid-template-columns:1fr}
  .prof{grid-template-columns:1fr}
  .prof .ph{max-width:240px;margin:0 auto}
  .info{grid-template-columns:1fr}
  .info dt{border-bottom:0}
  .content{padding:24px 20px}
  .hero{padding:32px 22px}
}
