/* ==========================================================================
   風格三：科幻未來（深藍＋深綠漸層）
   深色底、深藍到深綠的漸層、霓虹綠／青色點綴、格線與光暈，帶科技感與未來感。
   ========================================================================== */
:root {
  --font-head: 'Noto Sans TC', 'PingFang TC', sans-serif;
  --font-num: 'Orbitron', 'Noto Sans TC', system-ui, sans-serif;
  --primary: #0A2A5E; --primary-600: #0E3B7A; --primary-700: #061633; --primary-100: rgba(46, 229, 157, .14); --primary-50: rgba(125, 211, 252, .08);
  --accent: #2EE59D; --accent-600: #1BC98A; --accent-100: rgba(46, 229, 157, .16);
  --text: #D7E3EE; --muted: #8FA6BA; --heading: #F2F7FB;
  --bg: #06111F; --bg-alt: #0A1A2F; --surface: #0E2138; --border: rgba(127, 180, 200, .18);
  --radius: 4px; --radius-lg: 8px;
  --shadow: 0 10px 30px rgba(0, 0, 0, .45); --shadow-lg: 0 18px 50px rgba(0, 0, 0, .6), 0 0 0 1px rgba(46, 229, 157, .25), 0 0 30px rgba(46, 229, 157, .12);
  --hero-overlay: linear-gradient(100deg, rgba(4, 16, 40, .94) 0%, rgba(6, 30, 55, .8) 45%, rgba(6, 78, 59, .45) 100%);
  --cyber-grad: linear-gradient(120deg, #0A2A5E 0%, #0B3D63 45%, #064E3B 100%);
  --cyber-line: linear-gradient(90deg, #22D3EE, #2EE59D);
}
body.theme-cyber { background: radial-gradient(ellipse at 15% 0%, rgba(14, 59, 122, .45), transparent 45%), radial-gradient(ellipse at 100% 100%, rgba(6, 78, 59, .5), transparent 50%), #06111F; background-attachment: fixed; }
body.theme-cyber::before { content: ''; position: fixed; inset: 0; z-index: 0; pointer-events: none; background-image: linear-gradient(rgba(125, 211, 252, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(125, 211, 252, .05) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(180deg, rgba(0,0,0,.9), rgba(0,0,0,.35)); }
/* 內容區疊在背景格線之上；頁首沿用 site.css 的 sticky + z-index: 900，子選單才不會被輪播圖蓋住 */
.theme-cyber .site-main, .theme-cyber .site-footer { position: relative; z-index: 1; }
.theme-cyber a { color: #7DD3FC; }
.theme-cyber a:hover { color: var(--accent); }
/* 標題：漸層文字 */
.theme-cyber .section-title, .theme-cyber .block-title, .theme-cyber .cta-title, .theme-cyber .home-intro-title { background: linear-gradient(90deg, #E9F6FF 0%, #7DD3FC 60%, #2EE59D 100%); -webkit-background-clip: text; background-clip: text; color: transparent; letter-spacing: .02em; }
.theme-cyber .section-title::after { height: 3px; width: 72px; background: var(--cyber-line); box-shadow: 0 0 12px rgba(46, 229, 157, .6); }
.theme-cyber .section-subtitle, .theme-cyber .feature-subtitle, .theme-cyber .page-subtitle, .theme-cyber .service-card-sub { font-family: var(--font-num); letter-spacing: .08em; text-transform: uppercase; font-size: .78rem; }
.theme-cyber .section-subtitle { font-family: var(--font-head); text-transform: none; letter-spacing: 0; font-size: 1rem; }
/* 頁首 */
.theme-cyber .topbar { background: #040B18; color: var(--muted); border-bottom: 1px solid rgba(127, 180, 200, .12); }
.theme-cyber .topbar-item:hover { color: var(--accent); }
/* 毛玻璃放在偽元素：backdrop-filter 直接加在頁首會讓手機版 position: fixed 的選單以頁首為定位基準而跑版 */
.theme-cyber .site-header { background: transparent; box-shadow: none; }
.theme-cyber .site-header::before { content: ''; position: absolute; inset: 0; z-index: -1; background: rgba(6, 17, 31, .9); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); pointer-events: none; }
.theme-cyber .site-header::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--cyber-line); opacity: .8; }
.theme-cyber .brand img { background: #fff; padding: 6px 10px; border-radius: 4px; height: 48px; }
.theme-cyber .menu-item > a { color: var(--text); }
.theme-cyber .menu-item > a:hover, .theme-cyber .menu-item.is-current > a { color: var(--accent); background: rgba(46, 229, 157, .08); }
.theme-cyber .dropdown { background: #0B1B30; border-color: rgba(46, 229, 157, .25); box-shadow: 0 18px 50px rgba(0, 0, 0, .7), 0 0 24px rgba(34, 211, 238, .12); }
.theme-cyber .dropdown li a { color: var(--text); }
.theme-cyber .dropdown li a:hover { background: rgba(46, 229, 157, .1); color: var(--accent); }
.theme-cyber .mega-title { color: #7DD3FC; border-bottom-color: rgba(125, 211, 252, .25); }
.theme-cyber .nav-search { background: rgba(255, 255, 255, .05); border-color: var(--border); }
.theme-cyber .nav-search input { color: var(--text); }
.theme-cyber .nav-search button { background: var(--cyber-line); color: #06111F; }
.theme-cyber .nav-toggle { color: var(--heading); }
.theme-cyber .main-nav { background: #0B1B30; }
/* 按鈕 */
.theme-cyber .btn { border-radius: 4px; clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px)); }
.theme-cyber .btn-accent { background: var(--cyber-line); color: #06111F; border-color: transparent; box-shadow: 0 0 22px rgba(46, 229, 157, .35); font-weight: 700; }
.theme-cyber .btn-accent:hover { color: #06111F; filter: brightness(1.1); box-shadow: 0 0 34px rgba(46, 229, 157, .55); }
.theme-cyber .btn-primary { background: var(--cyber-grad); color: #E9F6FF; border-color: rgba(46, 229, 157, .5); }
.theme-cyber .btn-primary:hover { color: #fff; box-shadow: 0 0 24px rgba(34, 211, 238, .35); }
.theme-cyber .btn-outline { color: var(--accent); border-color: rgba(46, 229, 157, .6); }
.theme-cyber .btn-outline:hover { background: rgba(46, 229, 157, .15); color: var(--accent); }
.theme-cyber .btn-ghost { border-color: rgba(125, 211, 252, .5); color: #E9F6FF; }
.theme-cyber .btn-ghost:hover { background: rgba(125, 211, 252, .15); color: #fff; }
.theme-cyber .link-more { color: var(--accent); }
/* 主視覺 */
.theme-cyber .hero { background: var(--primary-700); }
.theme-cyber .hero-slide::before { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background-image: linear-gradient(rgba(46, 229, 157, .09) 1px, transparent 1px), linear-gradient(90deg, rgba(46, 229, 157, .09) 1px, transparent 1px); background-size: 56px 56px; mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.9) 60%, transparent 100%); }
.theme-cyber .hero-content::before { content: '// SYSTEM ONLINE'; display: block; font-family: var(--font-num); font-size: .8rem; letter-spacing: .3em; color: var(--accent); margin-bottom: 18px; text-shadow: 0 0 10px rgba(46, 229, 157, .7); }
.theme-cyber .hero-content--center::before { text-align: center; }
.theme-cyber .hero-title { text-shadow: 0 0 24px rgba(34, 211, 238, .35); }
.theme-cyber .hero-title::after { content: ''; display: block; width: 120px; height: 3px; background: var(--cyber-line); margin-top: 16px; box-shadow: 0 0 14px rgba(46, 229, 157, .8); }
.theme-cyber .hero-content--center .hero-title::after { margin-left: auto; margin-right: auto; }
.theme-cyber .hero::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--cyber-line); z-index: 4; box-shadow: 0 0 20px rgba(46, 229, 157, .6); }
.theme-cyber .hero-dot { border-color: rgba(125, 211, 252, .8); }
.theme-cyber .hero-dot.is-active { background: var(--accent); border-color: var(--accent); box-shadow: 0 0 10px var(--accent); }
.theme-cyber .hero-arrow { border-color: rgba(46, 229, 157, .5); }
.theme-cyber .home-intro { background: linear-gradient(90deg, rgba(10, 42, 94, .6), rgba(6, 78, 59, .35)); border-bottom: 1px solid var(--border); }
.theme-cyber .notice-bar { background: linear-gradient(90deg, rgba(10, 42, 94, .8), rgba(6, 78, 59, .6)); color: #E9F6FF; border-bottom: 1px solid rgba(46, 229, 157, .3); }
.theme-cyber .notice-bar .icon { color: var(--accent); }
.theme-cyber .notice-link { color: var(--accent); }
/* 區塊背景 */
.theme-cyber .section--light { background: transparent; }
.theme-cyber .section--gray { background: linear-gradient(180deg, rgba(14, 33, 56, .7), rgba(10, 26, 47, .9)); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.theme-cyber .section--dark { background: #040B18; }
.theme-cyber .section--brand { background: var(--cyber-grad); position: relative; }
.theme-cyber .section--brand::before { content: ''; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 40px 40px; }
.theme-cyber .section--brand > * { position: relative; }
/* 卡片與元件 */
.theme-cyber .feature, .theme-cyber .card, .theme-cyber .service-card, .theme-cyber .news-card, .theme-cyber .step, .theme-cyber .office-card, .theme-cyber .accordion-item, .theme-cyber .faq-item, .theme-cyber .tabs, .theme-cyber .contact-form-wrap, .theme-cyber .download-list a, .theme-cyber .search-results a { background: linear-gradient(160deg, rgba(14, 33, 56, .95), rgba(8, 24, 44, .95)); border: 1px solid var(--border); box-shadow: inset 0 1px 0 rgba(255,255,255,.04); }
.theme-cyber .feature { position: relative; }
.theme-cyber .feature::before { display: block; height: 2px; background: var(--cyber-line); opacity: .8; }
.theme-cyber .feature::after { content: ''; position: absolute; right: 0; top: 0; width: 44px; height: 44px; background: linear-gradient(225deg, rgba(46, 229, 157, .25), transparent 60%); pointer-events: none; }
.theme-cyber .feature:hover, .theme-cyber .card:hover, .theme-cyber .service-card:hover, .theme-cyber .news-card:hover { border-color: rgba(46, 229, 157, .6); box-shadow: 0 0 0 1px rgba(46, 229, 157, .25), 0 0 34px rgba(46, 229, 157, .14), 0 18px 40px rgba(0, 0, 0, .5); }
.theme-cyber .feature-icon { background: rgba(6, 17, 31, .9); border: 1px solid rgba(46, 229, 157, .5); color: var(--accent); border-radius: 4px; box-shadow: 0 0 18px rgba(46, 229, 157, .25), inset 0 0 12px rgba(46, 229, 157, .1); clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px)); }
.theme-cyber .feature-list .icon, .theme-cyber .icon-list .icon, .theme-cyber .prose .icon-inline { color: var(--accent); }
.theme-cyber .service-card-icon { background: rgba(6, 17, 31, .9); border: 1px solid rgba(125, 211, 252, .4); color: #7DD3FC; }
.theme-cyber .service-card:hover .service-card-icon { border-color: var(--accent); color: var(--accent); }
.theme-cyber .service-card-title, .theme-cyber .card-title a, .theme-cyber .news-card-title a, .theme-cyber .feature-title a { color: var(--heading); }
.theme-cyber .stat-number { font-family: var(--font-num); font-size: clamp(1.5rem, 3vw, 2.3rem); color: var(--accent); text-shadow: 0 0 16px rgba(46, 229, 157, .55); }
.theme-cyber .section--brand .stat-number { color: #C6FFE9; }
.theme-cyber .section--light .stat, .theme-cyber .section--gray .stat { background: rgba(6, 17, 31, .6); border: 1px solid var(--border); }
.theme-cyber .step-visual { background: rgba(6, 17, 31, .9); border: 1px solid rgba(46, 229, 157, .5); box-shadow: 0 0 18px rgba(46, 229, 157, .2); }
.theme-cyber .step-num { background: var(--cyber-line); color: #06111F; }
.theme-cyber .step:not(:last-child)::after { border-color: var(--accent); }
.theme-cyber .step-image img { filter: saturate(.9); }
.theme-cyber .logo-item { background: #fff; border-color: transparent; }
.theme-cyber .logo-item:hover { box-shadow: 0 0 20px rgba(46, 229, 157, .3); }
.theme-cyber .news-cat, .theme-cyber .chip { background: rgba(46, 229, 157, .12); color: var(--accent); border-color: rgba(46, 229, 157, .3); }
.theme-cyber .chip.is-active, .theme-cyber .tab-btn.is-active { background: var(--cyber-line); color: #06111F; border-color: transparent; }
.theme-cyber .tab-list { background: rgba(6, 17, 31, .8); }
.theme-cyber .tab-btn { color: var(--muted); }
.theme-cyber .tab-btn:hover { color: var(--accent); background: rgba(46, 229, 157, .08); }
.theme-cyber .tab-panel-title, .theme-cyber .prose h3, .theme-cyber .map-info h3, .theme-cyber .office-card h3, .theme-cyber .contact-aside .prose h3, .theme-cyber .media-text-body h3:first-child { color: #7DD3FC; }
.theme-cyber .media-text-body h2 + h3 { color: var(--accent); }
.theme-cyber .prose ul li::before { background: var(--accent); box-shadow: 0 0 8px rgba(46, 229, 157, .7); }
.theme-cyber .prose .lead { color: #BFE7FF; }
.theme-cyber .prose .highlight { color: var(--accent); }
.theme-cyber .prose a:not(.btn) { text-decoration-color: rgba(46, 229, 157, .5); }
.theme-cyber .prose th { background: rgba(6, 17, 31, .8); }
.theme-cyber .prose blockquote { background: rgba(6, 17, 31, .6); border-left-color: var(--accent); }
.theme-cyber .prose img, .theme-cyber .figure--block img, .theme-cyber .media-text-media .figure img, .theme-cyber .post-featured img, .theme-cyber .gallery-item img { border: 1px solid var(--border); }
.theme-cyber .media-text-media .figure--small { background: #fff; }
.theme-cyber .figure--small img { background: #fff; }
.theme-cyber .accordion-title, .theme-cyber .faq-q { color: var(--heading); }
.theme-cyber .accordion-item[open], .theme-cyber .faq-item[open] { border-color: rgba(46, 229, 157, .5); }
/* 頁首標題區 */
.theme-cyber .page-hero { background: var(--cyber-grad); border-bottom: 2px solid transparent; }
.theme-cyber .page-hero::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px); background-size: 48px 48px; pointer-events: none; }
.theme-cyber .page-hero::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--cyber-line); box-shadow: 0 0 18px rgba(46, 229, 157, .6); }
.theme-cyber .page-hero--image::before { background-image: var(--hero-image); background-size: cover; background-position: center; }
.theme-cyber .page-hero--image .page-hero-inner::before { content: ''; position: absolute; inset: -400px 0 -100px; background: linear-gradient(180deg, rgba(4, 16, 40, .35) 0%, rgba(4, 16, 40, .92) 100%); z-index: -1; pointer-events: none; }
.theme-cyber .page-hero--image { overflow: hidden; }
.theme-cyber .page-hero-inner { position: relative; }
.theme-cyber .page-title { text-shadow: 0 0 20px rgba(34, 211, 238, .35); }
.theme-cyber .page-title::before { content: '// '; color: var(--accent); font-family: var(--font-num); font-size: .55em; vertical-align: middle; }
.theme-cyber .breadcrumb ol { color: rgba(191, 231, 255, .7); }
.theme-cyber .breadcrumb a { color: rgba(191, 231, 255, .85); }
/* 表單 */
.theme-cyber .form-field input, .theme-cyber .form-field select, .theme-cyber .form-field textarea, .theme-cyber .search-form input { background: rgba(6, 17, 31, .8); border-color: var(--border); color: var(--text); }
.theme-cyber .form-field input:focus, .theme-cyber .form-field select:focus, .theme-cyber .form-field textarea:focus, .theme-cyber .search-form input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(46, 229, 157, .2); }
.theme-cyber .form-field select option { background: #0E2138; }
.theme-cyber .contact-aside { background: linear-gradient(160deg, rgba(10, 42, 94, .5), rgba(6, 78, 59, .35)); border: 1px solid var(--border); }
.theme-cyber .contact-aside img { background: #fff; border-radius: 6px; padding: 4px; }
.theme-cyber .contact-phone { color: var(--accent); }
.theme-cyber .alert-success { background: rgba(46, 229, 157, .12); color: #9FF5D2; border-color: rgba(46, 229, 157, .4); }
.theme-cyber .alert-error { background: rgba(240, 101, 72, .15); color: #FFB4A4; border-color: rgba(240, 101, 72, .4); }
.theme-cyber .map-embed { border: 1px solid var(--border); }
.theme-cyber .map-embed iframe { filter: invert(.9) hue-rotate(180deg) saturate(.7) contrast(.9); }
/* CTA */
.theme-cyber .section--light .cta-band, .theme-cyber .section--gray .cta-band { background: linear-gradient(120deg, rgba(10, 42, 94, .6), rgba(6, 78, 59, .45)); border: 1px solid rgba(46, 229, 157, .3); }
.theme-cyber .cta-phone { color: var(--accent); font-family: var(--font-num); text-shadow: 0 0 14px rgba(46, 229, 157, .5); }
.theme-cyber .section--brand .cta-phone { color: #C6FFE9; }
.theme-cyber .section--brand .cta-title { background: none; -webkit-text-fill-color: #fff; color: #fff; }
/* 分頁、其他 */
.theme-cyber .page-link { background: rgba(6, 17, 31, .8); color: var(--text); border-color: var(--border); }
.theme-cyber .page-link.is-active { background: var(--cyber-line); color: #06111F; border-color: transparent; }
.theme-cyber .post-share a, .theme-cyber .post-share button, .theme-cyber .post-nav a { background: rgba(6, 17, 31, .8); color: var(--text); border-color: var(--border); }
.theme-cyber .post-content h2 { border-bottom-color: rgba(46, 229, 157, .3); }
.theme-cyber .news-card-media { background: rgba(6, 17, 31, .9); }
.theme-cyber .news-card-placeholder { color: var(--accent); opacity: .6; }
.theme-cyber .back-to-top { background: var(--cyber-line); color: #06111F; }
.theme-cyber .error-code { color: rgba(46, 229, 157, .2); }
.theme-cyber .legal-updated { color: var(--muted); }
/* 頁尾 */
.theme-cyber .site-footer { background: #040B18; border-top: 1px solid rgba(46, 229, 157, .3); position: relative; }
.theme-cyber .site-footer::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--cyber-line); box-shadow: 0 0 16px rgba(46, 229, 157, .5); }
.theme-cyber .footer-title { color: #7DD3FC; border-bottom-color: rgba(125, 211, 252, .2); }
.theme-cyber .footer-iso .icon, .theme-cyber .footer-office .icon { color: var(--accent); }
.theme-cyber .footer-social a:hover { background: var(--accent); border-color: var(--accent); color: #06111F; }
.theme-cyber .footer-links a:hover, .theme-cyber .footer-legal a:hover { color: var(--accent); }
@media (max-width: 1024px) {
  .theme-cyber .site-header.nav-open .main-nav { background: #0B1B30; }
  .theme-cyber .menu-item { border-bottom-color: var(--border); }
}
