/* nSchool DARK theme for module demo / podcast / live pages (unified with hub). */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@700;900&display=swap');
:root{
  /* Kevin 精品淺色 cream/gold（對齊 /style.css）2026-06-26 */
  --bg:#F5F3EF; --ink:#16181D; --muted:#6B6E76; --muted2:#A0A3AB;
  --line:#E8E5DF; --card:#FFF; --soft:#FAF8F5; --line2:#E8E5DF;
  --blue:#3B7DD8; --blue-h:#2F6FC4; --blue-bg:#EDF3FC; --blue-tx:#2F6FC4; --blue-bd:rgba(59,125,216,.30);
  --brand:#3B7DD8; --brand2:#22915A; --green:#22915A; --gold:#C6993E; --gold2:#D4A843;
  --radius:14px; --maxw:1080px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,"Segoe UI",Roboto,"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;
  background:var(--bg);color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased;font-size:17px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
section{padding:64px 0}
h2{font-size:clamp(26px,4vw,36px);font-weight:800;letter-spacing:-.01em;line-height:1.25}
h3{font-size:20px;font-weight:700}
.hero h1,.radar-hero h1{font-size:clamp(32px,5.4vw,52px);font-weight:800;line-height:1.16;margin:0}
p{color:var(--muted);font-size:16.5px}
.center{text-align:center}
.micro{font-size:12px;color:var(--muted2)}
.placeholder{color:var(--gold2);font-weight:600}

/* nav */
nav.nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
nav.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:58px;gap:12px}
nav.nav .brand{font-weight:800;letter-spacing:.02em;color:var(--ink);text-decoration:none;font-size:18px;white-space:nowrap}
nav.nav .brand b{color:var(--brand2)}
nav.nav .links{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
nav.nav .links a{font-size:14.5px;color:var(--muted);text-decoration:none;padding:7px 11px;border-radius:8px}
nav.nav .links a:hover{background:var(--card);color:var(--ink)}
nav.nav .links a.active{color:var(--brand2);font-weight:600}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:12px 20px;font-size:14px;font-weight:700;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:.15s;background:linear-gradient(135deg,var(--brand2),var(--brand));color:#fff}
.btn:hover{transform:translateY(-1px)}
.btn.gold{background:linear-gradient(135deg,#D4A843,#B8862D);color:#fff}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn.ghost:hover{background:var(--card)}
.eyebrow{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--blue-bd);background:var(--blue-bg);color:var(--blue-tx);padding:7px 18px;border-radius:999px;font-size:16px;font-weight:700;margin-bottom:10px}

.hero{background:linear-gradient(180deg,var(--soft),var(--bg));border-bottom:1px solid var(--line);text-align:center;padding:56px 0 36px}
.hero .sub{font-size:17px;color:var(--muted);max-width:660px;margin:14px auto 22px}
.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}
@media(max-width:780px){.g2,.g3{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 1px 2px rgba(9,9,11,.05)}
.card h3{color:var(--ink)}
.alt,.soft{background:var(--soft)}

/* demo: scan bar + cards */
.radar-hero{background:linear-gradient(180deg,var(--soft),var(--bg));border-bottom:1px solid var(--line);padding:48px 0 26px;text-align:center}
.scanbar{max-width:680px;margin:18px auto 0;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 18px;display:flex;align-items:center;gap:14px;justify-content:center;flex-wrap:wrap;box-shadow:0 1px 2px rgba(9,9,11,.05)}
.scanbar .now{font-weight:700;color:var(--brand2);min-width:120px}
.sweep{height:6px;border-radius:6px;background:#EDEAE3;overflow:hidden;flex:1;min-width:160px}
.sweep i{display:block;height:100%;width:30%;background:linear-gradient(90deg,transparent,var(--brand2),transparent);animation:sw 1s linear infinite}
@keyframes sw{from{transform:translateX(-120%)}to{transform:translateX(420%)}}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}
@media(max-width:720px){.cards{grid-template-columns:1fr}}
.c{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 1px 2px rgba(9,9,11,.05);opacity:0;transform:translateY(8px);animation:rise .4s forwards}
@keyframes rise{to{opacity:1;transform:none}}
.c .h{display:flex;align-items:baseline;gap:10px}
.c .sym{font-size:22px;font-weight:800;color:var(--ink)}
.c .nm{color:var(--muted)}
.c .mx{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}
.c .pill{font-size:13px;background:var(--soft);border:1px solid var(--line);border-radius:8px;padding:4px 10px;color:var(--muted)}
.c .rsn{margin-top:10px;font-size:14px;color:var(--muted2)}
.empty{color:var(--muted2);padding:14px 0}
.meta{color:var(--muted2);font-size:13px;margin-top:8px}

/* combined radar groups */
.grp{margin-top:22px}
.grp h2{display:flex;align-items:center;gap:10px;font-size:22px}
.grp .badge{font-size:13px;font-weight:700;padding:3px 12px;border-radius:999px;background:var(--blue-bg);color:var(--blue-tx);border:1px solid var(--blue-bd)}

/* dividend calculator */
.calc{max-width:680px;margin:18px auto 0;background:var(--blue-bg);border:1px solid var(--blue-bd);border-radius:16px;padding:16px 20px;display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap}
.calc label{font-weight:700;color:var(--ink)}
.calc input{padding:11px 14px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:18px;width:180px;text-align:right}
.yld{font-size:26px;font-weight:800;color:var(--brand2)}
.c .est{margin-top:8px;font-weight:700;color:var(--blue-tx)}

details.faq{border-bottom:1px solid var(--line);padding:16px 0}
details.faq summary{cursor:pointer;font-weight:600;color:var(--ink);list-style:none}
details.faq summary::-webkit-details-marker{display:none}
details.faq p{margin-top:10px}

footer{border-top:1px solid var(--line);background:#FFF;padding:36px 0}
footer p{font-size:13px;color:var(--muted2);text-align:center;line-height:1.8}

/* ===== mobile-first hardening (dark module/podcast/live pages) ===== */
html{overflow-x:hidden}
img,video,iframe{max-width:100%}
@media(max-width:640px){
  section{padding:44px 0}
  .wrap{padding:0 16px}
  nav.nav .wrap{height:auto;min-height:54px;flex-wrap:wrap;padding:8px 14px;gap:8px}
  nav.nav .brand{font-size:16px}
  nav.nav .links{width:100%;justify-content:flex-start;gap:4px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  nav.nav .links::-webkit-scrollbar{display:none}
  nav.nav .links a{font-size:14px;padding:6px 9px;white-space:nowrap;flex:0 0 auto}
  .hero,.radar-hero{padding:40px 0 26px}
  .calc{flex-direction:column;align-items:stretch}
  .calc input{width:100%;text-align:left}
  .scanbar{flex-direction:column;align-items:stretch}
  .sweep{min-width:0;width:100%}
  article{padding:22px 18px}
}

/* ===== 金色精品點綴（對齊 hub）Kevin light ===== */
h1,h2,h3,.hero h1,.radar-hero h1{font-family:"Noto Serif TC",serif}
h2{background:linear-gradient(92deg,#16181D 10%,var(--gold) 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.card{border-top:1px solid rgba(198,153,62,.28)}
nav.nav .brand b{color:var(--gold)}
