:root{
  --bg:#f1edf7;
  --card:#ffffff;
  --card-2:#f3ecfb;
  --line:#c8b2e6;
  --text:#4f5b79;
  --muted:#6e7997;
  --gold:#ffc85b;
  --gold2:#ffab2d;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 10% -15%, rgba(203,170,236,.38), transparent 36%),
    radial-gradient(circle at 90% -10%, rgba(185,152,228,.26), transparent 32%),
    linear-gradient(180deg,var(--bg) 0%, #ebe4f2 42%, #f6f2fb 100%);
}

.sw-wrap{
  width:100%;
  max-width:1080px;
  margin:0 auto;
  padding:18px 14px 32px;
}
.sw-top{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
}
.sw-top a{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 12px;
  border:1px solid #c2a4e6;
  border-radius:10px;
  color:#5a6686;
  text-decoration:none;
  background:#fff;
  font-size:14px;
  font-weight:700;
}
.sw-top a.is-current{
  color:#2d1900;
  border-color:transparent;
  background:linear-gradient(180deg,var(--gold),var(--gold2));
}

.sw-card{
  margin-bottom:12px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:linear-gradient(180deg,var(--card),var(--card-2));
  box-shadow:0 8px 20px rgba(83,61,131,.12);
}
h1{
  margin:0;
  color:#4f5b79;
  font-size:30px;
  line-height:1.3;
}
h2{
  margin:0 0 8px;
  color:#5a6686;
  font-size:22px;
}
p,li{
  color:var(--muted);
  font-size:15px;
  line-height:1.8;
}
ul,ol{
  margin:0;
  padding-left:20px;
}

.sw-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.sw-chip{
  padding:10px 12px;
  border:1px solid #c2a4e6;
  border-radius:12px;
  background:#fff;
}
.sw-cta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.sw-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border:1px solid #c2a4e6;
  border-radius:10px;
  text-decoration:none;
  font-size:14px;
  font-weight:800;
  color:#5a6686;
  background:#fff;
}
.sw-btn--gold{
  color:#2d1900;
  border-color:transparent;
  background:linear-gradient(180deg,var(--gold),var(--gold2));
}
.sw-note{
  color:#8893b2;
  font-size:13px;
}

@media (max-width:720px){
  h1{font-size:24px}
  h2{font-size:20px}
  .sw-grid{grid-template-columns:1fr}
}
