:root{
  --bg:#070b16; --bg2:#0b1226; --glass:rgba(17,25,48,.72); --line:rgba(99,140,255,.18);
  --pri:#3d7bfd; --pri2:#7c4dff; --gold:#ffc75a;
}
*{font-family:'Noto Sans TC',system-ui,sans-serif}
body{background:radial-gradient(1200px 600px at 80% -10%,rgba(61,123,253,.18),transparent),radial-gradient(900px 500px at -10% 30%,rgba(124,77,255,.15),transparent),var(--bg);color:#e8ecf6;min-height:100vh}
.fw-black{font-weight:900}.page-pad{padding-top:110px;padding-bottom:40px}
.brand-gradient{background:linear-gradient(90deg,#6ea8ff,#a78bfa,#6ee7ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.nav-glass{background:rgba(7,11,22,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-glass .nav-link{color:#c6d2ee}.nav-glass .nav-link:hover{color:#fff}
.card-glass{background:var(--glass);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:16px;color:#e8ecf6}
.form-control,.form-select{background:#0d1428;border:1px solid #263459;color:#e8ecf6}
.form-control:focus,.form-select:focus{background:#0d1428;color:#fff;border-color:var(--pri);box-shadow:0 0 0 .2rem rgba(61,123,253,.25)}
.form-control::placeholder{color:#5b6b94}
.input-group-text{border-color:#263459}
.btn-glow{background:linear-gradient(90deg,var(--pri),var(--pri2));border:none;color:#fff;font-weight:700;border-radius:10px;box-shadow:0 4px 24px rgba(61,123,253,.45);transition:.25s}
.btn-glow:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(124,77,255,.55);color:#fff}
.btn-outline-light{border-color:#33457a}
.btn-outline-light:hover{background:#1c2a52}
.footer-glass{background:rgba(7,11,22,.9);border-top:1px solid var(--line)}
.foot-link{color:#8fa0c9;text-decoration:none}.foot-link:hover{color:#fff}
.hero-caption{bottom:22%;left:8%;right:auto;text-shadow:0 4px 30px rgba(0,0,0,.6);max-width:640px}
.hero-caption .btn{margin-top:10px}
#hero img{height:74vh;min-height:420px;object-fit:cover;filter:brightness(.85)}
.carousel-indicators [data-bs-target]{width:36px;height:4px;border-radius:2px}
.section-title{font-size:2.2rem;background:linear-gradient(90deg,#8fb5ff,#c4b5fd);-webkit-background-clip:text;background-clip:text;color:transparent}
.prod-card{transition:.3s;overflow:hidden}
.prod-card:hover{transform:translateY(-8px);box-shadow:0 18px 50px rgba(61,123,253,.25);border-color:rgba(110,168,255,.5)}
.spec-list li{padding:3px 0}
.spec-box{background:rgba(61,123,253,.08);border:1px solid var(--line);border-radius:10px;padding:10px 12px;height:100%}
.feat-card{transition:.3s}.feat-card:hover{transform:translateY(-5px)}
.seo-content{color:#c6d2ee;line-height:1.9}.seo-content h1,.seo-content h2,.seo-content h3{color:#fff}
.seo-content a{color:#8fb5ff}
.qr-box{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.qr-img{max-width:220px;max-height:220px}
/* 後台 */
.dash-body{background:linear-gradient(180deg,#0a1020,#070b16)}
.dash-side{background:rgba(10,16,32,.9);border-right:1px solid var(--line);min-height:calc(100vh - 56px)}
.dash-side .list-group-item{background:transparent;color:#aebadd;border:none;border-radius:8px;margin-bottom:2px}
.dash-side .list-group-item:hover{background:#141f3d;color:#fff}
.dash-side .list-group-item.active{background:linear-gradient(90deg,var(--pri),var(--pri2));color:#fff}
.quick-card{transition:.25s}.quick-card:hover{transform:translateY(-4px);border-color:var(--pri)}
.table-dark{--bs-table-bg:transparent;--bs-table-hover-bg:rgba(61,123,253,.08)}
.alert{backdrop-filter:blur(8px)}
@media(max-width:991px){.dash-side{min-height:auto}.hero-caption{left:5%;bottom:12%}}
