:root{
  --brand:#7C4DFF;
  --brand-2:#00D2FF;
  --bg-1:#0f1226;
  --bg-2:#1a1e3b;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  font-family: "Noto Sans TC", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background: radial-gradient(1200px 600px at 10% -10%, #5135ff33 0%, transparent 60%),
              radial-gradient(700px 500px at 110% 0%, #00d2ff33 0%, transparent 60%),
              linear-gradient(180deg, var(--bg-1), var(--bg-2));
  color:#fff;
}
a{text-decoration:none}
.navbar-blur{ backdrop-filter: blur(8px); background: rgba(255,255,255,0.04); border-bottom: 1px solid rgba(255,255,255,0.08); }
.navbar .nav-link{ color:#fff; opacity:.9 } .navbar .nav-link:hover{ opacity:1 }
.brand-badge{ display:inline-grid; place-items:center; width:32px;height:32px; background: linear-gradient(135deg, var(--brand), var(--brand-2)); border-radius:10px; color:#fff; font-weight:800; letter-spacing:.5px; }
.hero-gradient{ background: radial-gradient(1200px 600px at 10% -10%, #7C4DFF55 0%, transparent 60%), radial-gradient(900px 600px at 100% 0%, #00D2FF55 0%, transparent 60%); }
.text-white-70{color: rgba(255,255,255,.7);}
.card{ background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03)); border: 1px solid rgba(255,255,255,.12); border-radius: 20px; box-shadow: 0 10px 30px rgba(0,0,0,.25); overflow: hidden; transition: transform .15s ease, box-shadow .2s ease, border-color .3s ease; color:#fff; }
.card:hover{ transform: translateY(-2px); box-shadow: 0 16px 40px rgba(0,0,0,.35); border-color: rgba(255,255,255,.25); }
.card .chip{ display:inline-block; padding:.25rem .5rem; border-radius:999px; font-size:.8rem; background: rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.25); }
.btn{ border-radius: 999px; }
.btn-primary{ background: linear-gradient(135deg, var(--brand), var(--brand-2)); border:0; }
.btn-primary:hover{ filter: brightness(1.05); }
.btn-dark{ background: linear-gradient(135deg, #2b2d42, #1f2033); border:0; }
.form-control, .form-select{ background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.2); color:#fff; border-radius: 14px; }
.form-control::placeholder{color: rgba(255,255,255,.6);}
.form-check-input{ background:#111; border-color:rgba(255,255,255,.3) }
.table{ --bs-table-bg: transparent; color:#fff; }
.table thead th{ border-bottom-color: rgba(255,255,255,.15); color: rgba(255,255,255,.8); font-weight:700; }
.table td, .table th{ border-color: rgba(255,255,255,.08); }
.badge-soft{ background: rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); color:#fff; border-radius:999px; padding:.35rem .6rem; }
footer{ background: transparent; border-top:1px solid rgba(255,255,255,.08); }
/* 手機導覽列按鈕變白 */
.navbar-toggler {
    border-color: rgba(255, 255, 255, 0.5);
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%28255,255,255,1%29' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
