:root { color-scheme: dark; --gold:#ffd36a; --gold-2:#f0b84c; --mint:#8cf2bd; --ink:#0c100d; --paper:#fff8ea; --line:rgba(255,211,106,.32); --panel:rgba(12,14,12,.74); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; min-height:100%; background:#060806; }
body { margin:0; min-height:100vh; overflow-x:hidden; font-family:"Microsoft JhengHei","Noto Sans TC",Arial,sans-serif; color:var(--paper); background-color:#060806; background-image:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.42)),var(--site-bg,none); background-size:cover,cover; background-position:center center,center 46%; background-attachment:fixed,fixed; background-repeat:no-repeat,no-repeat; line-height:1.72; letter-spacing:0; }
body::before { content:""; position:fixed; inset:0; z-index:0; background:radial-gradient(circle at 50% 20%,rgba(255,202,88,.14),transparent 36%),rgba(0,0,0,.06); pointer-events:none; }
body::after { content:""; position:fixed; inset:0; z-index:0; background:rgba(0,0,0,.04); pointer-events:none; }
.top-nav { position:sticky; top:0; z-index:20; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:18px; height:128px; padding:0 clamp(18px,4vw,56px); border-bottom:1px solid var(--line); background:rgba(10,12,10,.72); backdrop-filter:blur(18px); overflow:hidden; }
.brand { grid-column:2; justify-self:center; display:inline-flex; align-items:center; gap:18px; color:var(--paper); text-decoration:none; min-width:0; }
.brand img { width:132px; height:132px; max-width:none; object-fit:cover; object-position:center center; border-radius:0; border:0; margin:0; transform:scale(1.35); transform-origin:center center; }
.brand strong { color:var(--gold); font-size:42px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.top-nav nav { grid-column:3; justify-self:end; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px 24px; }
.top-nav nav a { color:var(--paper); text-decoration:none; font-weight:900; font-size:22px; }
.top-nav nav a:hover { color:var(--gold); }
.menu-button { display:none; width:42px; height:42px; border:1px solid var(--line); border-radius:8px; background:rgba(255,255,255,.06); color:var(--gold); font-size:22px; }
.shell { position:relative; z-index:1; width:min(1180px,calc(100% - 32px)); margin:0 auto; padding:22px 0 64px; }
.site-background { position:fixed; inset:0; z-index:0; overflow:hidden; pointer-events:none; background:#060806; }
.site-background img { width:100%; height:100%; object-fit:cover; object-position:center 48%; opacity:.54; filter:brightness(1.38) saturate(1.12); }
.site-background::after { content:""; position:absolute; inset:0; background:rgba(0,0,0,.28); }
.hero { min-height:calc(58vh - 78px); display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,.95fr); align-items:center; gap:34px; padding:18px 0 22px; }
.hero-banner-only { display:block; min-height:0; padding:18px 0 22px; }
.hero-banner-image { display:block; width:100%; min-height:0; padding:0; background:transparent; backdrop-filter:none; box-shadow:none; isolation:isolate; }
.hero-banner-image::after { display:none; }
.hero-banner-image img { position:relative; z-index:1; object-fit:contain; opacity:1; filter:none; mix-blend-mode:normal; background:transparent; }
.eyebrow { color:var(--mint); font-weight:900; margin:0 0 10px; }
h1 { margin:0; font-size:clamp(38px,6vw,76px); line-height:1.04; letter-spacing:0; }
h2 { margin:42px 0 16px; color:var(--gold); font-size:clamp(24px,3vw,34px); letter-spacing:0; }
h3 { margin:0 0 8px; color:#fff8ea; letter-spacing:0; }
p { margin:0 0 12px; }
section { margin:0 0 72px; }
.hero { margin-bottom:42px; }
.marquee { margin-bottom:62px; }
.lead { max-width:720px; font-size:20px; color:#eadfc9; }
.cta-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.cta,.ghost-cta { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:11px 20px; border-radius:8px; font-weight:900; text-decoration:none; }
.cta { background:linear-gradient(135deg,var(--gold),#ffe29a); color:#171009; }
.ghost-cta { border:1px solid var(--line); color:var(--paper); background:rgba(255,255,255,.06); }
.is-link-disabled { pointer-events:none; }
.hero-visual,.media-card { position:relative; min-height:360px; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:rgba(0,0,0,.28); backdrop-filter:blur(14px); box-shadow:0 24px 80px rgba(0,0,0,.36); }
.hero-visual img,.media-card img { width:100%; height:100%; object-fit:cover; display:block; }
.media-card.hero-banner-image { min-height:0; border:0; background:transparent; backdrop-filter:none; box-shadow:none; overflow:visible; isolation:isolate; }
.media-card.hero-banner-image::before { display:none; }
.media-card.hero-banner-image img { position:relative; z-index:1; width:100%; height:auto; object-fit:contain; opacity:1; filter:none; mix-blend-mode:normal; background:transparent; border-radius:8px; }
.media-card.hero-banner-image::after { display:none; }
.news-thumb img { width:100%; height:100%; object-fit:contain; display:block; background:transparent; }
.hero-visual.fit-contain img { object-fit:contain; background:rgba(0,0,0,.28); }
.fit-contain img { object-fit:contain; background:transparent; }
.hero-visual::after,.media-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.42)); }
.fit-contain::after { display:none; }
.hero-visual span,.media-card span { position:absolute; left:14px; bottom:14px; z-index:2; max-width:calc(100% - 28px); padding:7px 10px; border-radius:999px; background:rgba(0,0,0,.62); color:var(--paper); font-size:13px; font-weight:900; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.grid { display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); }
.card { border:1px solid var(--line); border-radius:8px; padding:18px; background:var(--panel); box-shadow:0 18px 60px rgba(0,0,0,.22); }
.meta { color:#cfc3ab; font-size:14px; }
.marquee { overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:10px 0; color:var(--gold); font-weight:900; white-space:nowrap; }
.marquee span { display:inline-block; padding-left:100%; animation:marquee 58s linear infinite; }
@keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-100%); } }
.media-grid { display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.media-card { min-height:220px; display:block; }
.game-category-grid { display:grid; grid-template-columns:1fr; gap:28px; align-items:start; }
.game-category-card { width:100%; min-height:0; padding:0; background:transparent; }
.game-category-card img { object-fit:contain; filter:brightness(1.12) contrast(1.04) saturate(1.08); }
#carousel { margin-bottom:78px; }
#game-category { margin-top:34px; margin-bottom:78px; }
.payout-section { display:block; margin:78px 0; }
.payout-card { width:100%; min-height:0; padding:0; background:transparent; }
.payout-card img { object-fit:contain; background:transparent; }
.carousel-shell { position:relative; overflow:hidden; border:0; border-radius:8px; background:transparent; box-shadow:0 20px 70px rgba(0,0,0,.28); }
.carousel-track { display:flex; height:100%; transition:transform .42s ease; will-change:transform; }
.carousel-slide { flex:0 0 100%; height:100%; margin:0; min-height:0; background:transparent; }
.carousel-slide a { display:block; width:100%; height:100%; }
.carousel-slide img { width:100%; height:100%; object-fit:contain; display:block; }
.carousel-control { position:absolute; top:50%; z-index:2; width:42px; height:42px; border:1px solid var(--line); border-radius:999px; background:rgba(0,0,0,.54); color:var(--gold); font-size:24px; cursor:pointer; transform:translateY(-50%); }
.carousel-control.prev { left:12px; }
.carousel-control.next { right:12px; }
.carousel-dots { position:absolute; left:0; right:0; bottom:12px; z-index:2; display:flex; justify-content:center; gap:8px; }
.carousel-dot { width:9px; height:9px; border:1px solid rgba(255,211,106,.9); border-radius:999px; padding:0; background:rgba(0,0,0,.5); cursor:pointer; }
.carousel-dot.is-active { width:26px; background:var(--gold); }
.faq-list { display:grid; gap:12px; }
.faq-list details { border:1px solid var(--line); border-radius:8px; padding:15px 17px; background:var(--panel); }
.faq-list summary { color:var(--gold); cursor:pointer; font-weight:900; }
#background-music { margin-top:52px; display:flex; justify-content:center; }
.youtube-official-player { width:100%; margin-top:22px; display:flex; justify-content:center; border:0; border-radius:0; padding:0; background:transparent; box-shadow:none; }
.youtube-official-player h3,.youtube-official-meta { display:none !important; }
.youtube-official-frame { width:min(var(--youtube-player-width, 860px), 100%); margin:0 auto; aspect-ratio:var(--youtube-player-ratio, 16/9); overflow:hidden; border:1px solid rgba(255,211,106,.28); border-radius:8px; background:#000; }
.youtube-official-frame iframe { width:100%; height:100%; border:0; display:block; }
.page-main,.news-main { max-width:920px; }
.page-main h1,.news-main h1 { font-size:clamp(30px,3.8vw,46px); line-height:1.18; }
.rich-content { color:#f3ead8; }
.rich-content h2 { margin:34px 0 12px; color:var(--gold); font-size:clamp(26px,3.2vw,40px); line-height:1.25; font-weight:1000; }
.rich-content h2:first-child { margin-top:0; }
.rich-content a { color:#8cc8ff; font-weight:900; text-decoration:underline; }
.rich-content img { max-width:100%; height:auto; border-radius:8px; }
.admin-content-image { display:block; width:min(100%,920px); height:auto; margin:0 0 22px; border-radius:8px; }
.admin-content-image-left { float:left; width:min(44%,320px); margin:4px 18px 12px 0; }
.admin-content-image-right { float:right; width:min(44%,320px); margin:4px 0 12px 18px; }
.admin-content-image-center { width:min(100%,720px); margin-left:auto; margin-right:auto; }
.admin-content-image-top { margin-top:0; }
.admin-content-image-bottom { margin-top:22px; }
.page-assets { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:12px; margin-top:18px; }
.page-assets figure { margin:0; overflow:hidden; border-radius:8px; border:1px solid var(--line); background:rgba(255,255,255,.05); }
.page-assets img { width:100%; height:190px; object-fit:cover; display:block; }
.page-assets span { display:block; padding:8px 10px; color:#e9dbc1; font-size:13px; }
.news-list { display:grid; gap:12px; }
#news-preview { margin-top:78px; }
.news-item { display:grid; grid-template-columns:160px minmax(0,1fr) auto; gap:18px; align-items:center; padding:14px; border:1px solid var(--line); border-radius:8px; background:var(--panel); color:var(--paper); text-decoration:none; }
.news-item.image-right { grid-template-columns:minmax(0,1fr) 160px auto; }
.news-item.image-right .news-thumb { grid-column:2; grid-row:1; }
.news-item.image-right > span:not(.news-arrow) { grid-column:1; grid-row:1; }
.news-item.image-top,.news-item.image-bottom,.news-item.image-center { grid-template-columns:1fr; align-items:start; }
.news-item.image-top .news-thumb,.news-item.image-center .news-thumb { grid-column:1; grid-row:1; width:100%; height:180px; }
.news-item.image-top > span:not(.news-arrow),.news-item.image-center > span:not(.news-arrow) { grid-column:1; grid-row:2; }
.news-item.image-bottom > span:not(.news-arrow) { grid-column:1; grid-row:1; }
.news-item.image-bottom .news-thumb { grid-column:1; grid-row:2; width:100%; height:180px; }
.news-thumb { width:160px; height:92px; border-radius:8px; overflow:hidden; background:transparent; border:0; }
.news-summary { margin:4px 0 0; color:#d8cbb3; font-size:14px; line-height:1.45; }
.news-arrow { color:var(--gold); font-weight:900; }
.news-more { justify-self:center; display:inline-flex; align-items:center; justify-content:center; min-height:46px; margin-top:10px; padding:10px 22px; border:1px solid var(--line); border-radius:999px; color:#171009; background:linear-gradient(135deg,var(--gold),#ffe29a); font-weight:1000; text-decoration:none; box-shadow:0 12px 28px rgba(0,0,0,.24); }
.news-more:hover { filter:brightness(1.06); }
.floating-line { position:fixed; right:22px; top:50%; z-index:30; width:320px; height:auto; display:block; border:0; border-radius:0; background:transparent; box-shadow:none; overflow:visible; animation:floaty 2.6s ease-in-out infinite; transform:translateY(-50%); }
.floating-line[data-floating-position="left"] { left:22px; right:auto; top:50%; bottom:auto; transform:translateY(-50%); animation:floaty 2.6s ease-in-out infinite; }
.floating-line[data-floating-position="right"] { right:22px; left:auto; top:50%; bottom:auto; transform:translateY(-50%); animation:floaty 2.6s ease-in-out infinite; }
.floating-line[data-floating-position="left-bottom"] { left:22px; right:auto; top:auto; bottom:92px; transform:none; animation:floatyBottom 2.6s ease-in-out infinite; }
.floating-line[data-floating-position="right-bottom"] { right:22px; left:auto; top:auto; bottom:92px; transform:none; animation:floatyBottom 2.6s ease-in-out infinite; }
.floating-line img { width:100%; height:auto; object-fit:contain; display:block; }
.floating-line span { color:var(--mint); font-size:13px; font-weight:900; }
@keyframes floaty { 0%,100% { transform:translateY(-50%); } 50% { transform:translateY(calc(-50% - 7px)); } }
@keyframes floatyBottom { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-7px); } }
.music-control { position:fixed; right:18px; bottom:18px; z-index:31; display:grid; grid-template-columns:repeat(4,30px) minmax(70px,1fr) minmax(36px,auto); align-items:center; justify-content:end; gap:8px; min-height:56px; width:min(340px,calc(100vw - 36px)); max-width:calc(100vw - 36px); border:1px solid var(--line); border-radius:999px; padding:8px 12px; color:var(--paper); background:rgba(8,10,8,.82); backdrop-filter:blur(14px); box-shadow:0 14px 40px rgba(0,0,0,.34); }
.music-control[hidden],.youtube-official-player[hidden] { display:none !important; }
.music-control[data-youtube-music][data-youtube-open="true"] { border-radius:14px; padding:10px; }
.music-icon,.music-toggle,.music-mode { width:30px; min-width:30px; min-height:30px; border:1px solid rgba(255,211,106,.34); border-radius:999px; padding:0; color:var(--paper); background:rgba(255,255,255,.06); font-size:16px; font-weight:900; line-height:1; cursor:pointer; white-space:nowrap; }
.music-toggle { background:linear-gradient(135deg,var(--gold),#ffe29a); color:#171009; }
.music-status { min-width:36px; color:#d8cbb3; font-size:12px; font-weight:900; text-align:center; white-space:nowrap; }
.music-volume { width:100%; min-width:70px; opacity:1; accent-color:var(--gold); }
.youtube-music-frame { grid-column:1/-1; width:min(480px,calc(100vw - 58px)); min-height:200px; aspect-ratio:16/9; display:none; overflow:hidden; border:1px solid rgba(255,211,106,.28); border-radius:8px; background:#000; pointer-events:auto; }
.music-control[data-youtube-open="true"] .youtube-music-frame { display:block; }
.youtube-music-frame iframe { width:100%; height:100%; border:0; display:block; }
.music-control[data-music-style="amber-glass"] { border-color:rgba(255,202,117,.46); background:linear-gradient(135deg,rgba(69,39,18,.92),rgba(18,12,7,.88)); box-shadow:0 14px 34px rgba(255,145,50,.18); }
.music-control[data-music-style="gold-card"] { border-color:#f2c75a; background:linear-gradient(135deg,#e8b84b,#ffd973 55%,#6a4312); color:#171009; }
.music-control[data-music-style="gold-card"] .music-icon,.music-control[data-music-style="gold-card"] .music-mode { border-color:rgba(22,17,7,.3); background:rgba(20,13,4,.13); color:#171009; }
.music-control[data-music-style="neon-blue"] { border-color:#5ad7ff; background:linear-gradient(135deg,rgba(3,16,30,.95),rgba(12,5,38,.9)); box-shadow:0 0 0 1px rgba(90,215,255,.2),0 0 30px rgba(81,115,255,.34); }
.music-control[data-music-style="neon-blue"] .music-toggle { background:linear-gradient(135deg,#6cf4ff,#8897ff); color:#03101e; }
.music-control[data-music-style="ruby-casino"] { border-color:#ffcf7a; background:linear-gradient(135deg,#4b070d,#190607 65%,#111); box-shadow:0 16px 34px rgba(170,9,28,.34); }
.music-control[data-music-style="ruby-casino"] .music-toggle { background:linear-gradient(135deg,#ffd477,#e23b47); color:#170407; }
.music-control[data-music-style="ivory-lite"] { border-color:#e8ca82; background:rgba(255,246,218,.92); color:#211708; box-shadow:0 14px 34px rgba(255,230,170,.16); }
.music-control[data-music-style="ivory-lite"] .music-icon,.music-control[data-music-style="ivory-lite"] .music-mode { border-color:rgba(90,59,12,.24); background:rgba(115,75,12,.08); color:#211708; }
.music-control[data-music-style="metal-silver"] { border-color:#b9c2ca; background:linear-gradient(135deg,#050607,#30353a 52%,#0b0d10); color:#f4f7fb; box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 14px 30px rgba(0,0,0,.36); }
.music-control[data-music-style="metal-silver"] .music-toggle { background:linear-gradient(135deg,#f5f7fb,#9da8b3); color:#0b0d10; }
.music-control[data-music-style="minimal-line"] { border-color:rgba(255,255,255,.28); background:rgba(0,0,0,.42); box-shadow:none; }
.music-control[data-music-style="minimal-line"] .music-toggle { background:#fff; color:#111; }
.music-control[data-music-style="square-panel"] { border-radius:8px; padding:8px; background:rgba(12,14,16,.9); }
.music-control[data-music-style="square-panel"] .music-icon,.music-control[data-music-style="square-panel"] .music-toggle,.music-control[data-music-style="square-panel"] .music-mode { border-radius:6px; }
.music-control[data-music-style="compact-chip"] { gap:5px; min-height:36px; padding:5px 8px; border-color:rgba(135,240,189,.42); background:rgba(5,18,14,.86); }
.music-control[data-music-style="compact-chip"] .music-icon,.music-control[data-music-style="compact-chip"] .music-toggle,.music-control[data-music-style="compact-chip"] .music-mode { width:24px; min-width:24px; min-height:24px; font-size:13px; }
.music-control[data-music-style="compact-chip"] .music-volume { width:38px; }
.entry-popup[hidden] { display:none; }
.entry-popup { position:fixed; inset:0; z-index:60; display:grid; place-items:center; padding:22px; background:rgba(0,0,0,.64); backdrop-filter:blur(8px); }
.entry-popup-card { position:relative; width:min(440px,calc(100vw - 36px)); overflow:hidden; border:1px solid var(--line); border-radius:8px; background:#080a08; box-shadow:0 28px 90px rgba(0,0,0,.58); }
.entry-popup-link { display:block; color:var(--paper); text-decoration:none; }
.entry-popup-card img { display:block; width:100%; max-height:min(74vh,640px); object-fit:contain; background:#070807; }
.entry-popup-card span { position:absolute; left:12px; bottom:12px; max-width:calc(100% - 24px); padding:7px 10px; border-radius:999px; background:rgba(0,0,0,.68); color:var(--paper); font-size:13px; font-weight:900; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.entry-popup-close { position:absolute; right:9px; top:9px; z-index:2; width:34px; height:34px; border:1px solid rgba(255,255,255,.34); border-radius:999px; background:rgba(0,0,0,.68); color:#fff; font-size:22px; line-height:1; cursor:pointer; }
footer { position:relative; z-index:1; border-top:1px solid var(--line); color:#d8cbb3; padding:30px clamp(18px,4vw,56px); background:rgba(0,0,0,.22); text-align:center; }
footer small { display:block; max-width:1100px; margin:8px auto 0; color:#cbbd9f; line-height:1.7; }
@media (max-width:760px) {
  .hero { grid-template-columns:1fr; min-height:0; padding:34px 0; }
  .hero-visual { min-height:260px; }
  .top-nav { width:100vw; max-width:100vw; box-sizing:border-box; position:sticky; display:grid; grid-template-columns:1fr; grid-template-rows:auto; height:auto; min-height:116px; padding:10px 60px 10px 10px; gap:0; overflow:visible; }
  .brand { grid-column:1; grid-row:1; justify-self:center; gap:6px; max-width:100%; min-width:0; overflow:visible; }
  .brand img { flex:0 0 auto; width:108px; height:108px; max-width:none; margin:-10px -6px; transform:scale(1.28); transform-origin:center center; object-fit:contain; }
  .brand strong { display:block; min-width:0; max-width:100%; font-size:clamp(24px,6.2vw,32px); white-space:nowrap; line-height:1.12; overflow:hidden; text-overflow:ellipsis; }
  .payout-card { aspect-ratio:4/3; }
  .floating-line { width:128px; height:auto; border-radius:0; }
  .floating-line[data-floating-position="left"] { left:14px; right:auto; top:50%; bottom:auto; }
  .floating-line[data-floating-position="right"] { right:14px; left:auto; top:50%; bottom:auto; }
  .floating-line[data-floating-position="left-bottom"] { left:14px; right:auto; top:auto; bottom:74px; }
  .floating-line[data-floating-position="right-bottom"] { right:14px; left:auto; top:auto; bottom:74px; }
  .music-control { right:10px; bottom:12px; gap:6px; width:min(328px,calc(100vw - 20px)); max-width:calc(100vw - 20px); padding:6px 8px; }
  .music-icon,.music-toggle,.music-mode { width:28px; min-width:28px; min-height:28px; font-size:15px; }
  .music-volume { width:46px; }
  .music-status { min-width:28px; font-size:11px; }
  @keyframes floatyMobile { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-7px); } }
  .top-nav nav { grid-column:1; grid-row:1; display:none; min-width:0; }
  .top-nav nav a { display:none; font-size:18px; line-height:1.2; white-space:nowrap; }
  .menu-button,.top-nav.is-menu .menu-button { position:absolute; top:50%; right:14px; z-index:30; display:grid; place-items:center; width:44px; height:44px; transform:translateY(-50%); }
  .top-nav nav.is-open,.top-nav.is-menu nav.is-open { position:absolute; right:12px; top:calc(100% + 8px); z-index:25; display:grid; gap:10px; width:min(280px,calc(100vw - 24px)); padding:12px; border:1px solid var(--line); border-radius:8px; background:rgba(10,12,10,.96); box-shadow:0 18px 50px rgba(0,0,0,.45); }
  .top-nav nav.is-open a,.top-nav.is-menu nav.is-open a { display:block; padding:8px 10px; }
  .news-item { grid-template-columns:92px minmax(0,1fr); }
  .news-item.image-left,.news-item.image-right { grid-template-columns:92px minmax(0,1fr); }
  .news-item.image-left .news-thumb,.news-item.image-right .news-thumb { grid-column:1; grid-row:1; }
  .news-item.image-left > span:not(.news-arrow),.news-item.image-right > span:not(.news-arrow) { grid-column:2; grid-row:1; }
  .news-thumb { width:104px; height:70px; }
  .admin-content-image-left,.admin-content-image-right { float:none; width:100%; margin:0 0 18px; }
  .news-arrow { display:none; }
  .carousel-shell { border:0; }
}
