@import url('https://fonts.googleapis.com/css2?family=Ma+Shan+Zheng&family=Zhi+Mang+Xing&family=Liu+Jian+Mao+Cao&family=Long+Cang&family=Noto+Serif+TC:wght@700;900&display=swap');
:root{
  --bg:#07080d;--bg2:#0d0f17;--panel:#12141f;--panel2:#191b28;--line:rgba(238,190,92,.26);
  --gold:#e9b75b;--gold2:#ffdf99;--red:#be1732;--text:#f8f0df;--muted:#bfb4a5;--dark:#05060a;
  --shadow:0 28px 90px rgba(0,0,0,.5);--radius:24px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font-family:"Noto Sans TC","Microsoft JhengHei",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 10% 0%,rgba(190,23,50,.2),transparent 36rem),radial-gradient(circle at 92% 10%,rgba(233,183,91,.13),transparent 34rem),linear-gradient(180deg,#06070b,#11131c 46%,#06070b);min-height:100vh}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:99;background:rgba(5,6,10,.78);backdrop-filter:blur(18px);border-bottom:1px solid rgba(233,183,91,.18)}.navbar{height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:950;color:var(--gold2);letter-spacing:.03em}.brand img{width:132px;filter:drop-shadow(0 0 22px rgba(233,183,91,.24))}.brand span{white-space:nowrap;text-shadow:0 0 18px rgba(233,183,91,.18)}.nav-links{display:flex;align-items:center;gap:7px}.nav-links a{padding:10px 13px;border-radius:999px;font-size:15px;font-weight:850;color:#eee2cf;transition:.2s ease;white-space:nowrap}.nav-links a:hover,.nav-links a.active{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#16100a;box-shadow:0 10px 28px rgba(233,183,91,.22)}.nav-links .nav-panel{border:1px solid rgba(233,183,91,.35);color:var(--gold2);background:rgba(233,183,91,.08)}.menu-toggle{display:none;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:var(--text);border-radius:12px;padding:10px 12px;font-size:18px}.hero{position:relative;isolation:isolate;min-height:calc(100vh - 82px);display:flex;align-items:center;overflow:hidden;background-image:linear-gradient(90deg,rgba(5,6,10,.92),rgba(5,6,10,.52) 45%,rgba(5,6,10,.12)),var(--hero-img);background-position:center;background-size:cover}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(7,8,13,.96));z-index:-1}.hero:after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.7}.hero-content{width:min(830px,100%);padding:92px 0 118px}.kicker{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:rgba(0,0,0,.32);color:var(--gold2);font-size:13px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red);box-shadow:0 0 18px var(--red)}h1,h2,h3{font-family:"Noto Serif TC","Microsoft JhengHei",serif;line-height:1.15;margin:0}h1{font-size:clamp(48px,7vw,98px);margin-top:22px;letter-spacing:.04em;text-shadow:0 8px 38px rgba(0,0,0,.75)}h2{font-size:clamp(32px,4vw,54px);letter-spacing:.03em}h3{font-size:24px;color:#fff0c6}.gold,.text-gold{color:var(--gold2)}.lead,.page-lead{font-size:clamp(18px,2.2vw,24px);line-height:1.86;color:#efe4d3;text-shadow:0 3px 20px rgba(0,0,0,.72);max-width:850px}.lead{margin:24px 0 32px}.page-lead{margin:20px 0 0}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 22px;border-radius:999px;font-weight:950;letter-spacing:.03em;border:1px solid transparent;transition:.2s ease;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#0a1707;box-shadow:0 16px 38px rgba(233,183,91,.25)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 22px 50px rgba(233,183,91,.34)}.btn-ghost{border-color:rgba(233,183,91,.36);background:rgba(0,0,0,.35);color:#f4ead8}.btn-ghost:hover{border-color:var(--gold);background:rgba(233,183,91,.12);transform:translateY(-2px)}.hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:42px}.stat{padding:18px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(20,22,32,.78),rgba(9,10,15,.62));box-shadow:var(--shadow)}.stat strong{display:block;color:var(--gold2);font-size:25px}.stat span{color:var(--muted);font-size:14px}.section{padding:90px 0;position:relative}.section-alt{background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(0,0,0,.12));border-top:1px solid rgba(233,183,91,.07);border-bottom:1px solid rgba(233,183,91,.07)}.section-title{margin-bottom:34px;display:flex;justify-content:space-between;gap:22px;align-items:end}.section-title.center{display:block;text-align:center;max-width:820px;margin-inline:auto;margin-bottom:38px}.section-title p,.split-grid p,.card p,.image-card p,.feature-card span,.story-card span,.mini-card span,.race-grid span,.timeline span,.download-card p{color:var(--muted);line-height:1.85}.grid{display:grid;gap:22px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.small-gap{gap:14px}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.align-center{align-items:center}.reverse> :first-child{order:2}.media-card,.device-frame,.image-card,.story-card,.raid-grid article,.player-frame-card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(25,27,40,.88),rgba(9,10,16,.88));border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);position:relative}.media-card img{width:100%;height:100%;object-fit:cover;min-height:360px}.tilted{transform:rotate(.7deg)}.device-frame{padding:16px}.device-frame:before{content:"";display:block;height:24px;margin:-16px -16px 14px;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.02));border-bottom:1px solid rgba(233,183,91,.18)}.device-frame img{margin:auto;border-radius:14px}.device-frame.slim{max-width:420px;margin-inline:auto}.media-stack{display:grid;grid-template-columns:1fr 1fr;gap:18px}.media-stack img{height:310px;width:100%;object-fit:cover;border-radius:22px;border:1px solid var(--line);box-shadow:var(--shadow)}.media-stack img:first-child{grid-column:1/-1;height:340px}.card{position:relative;overflow:hidden;border:1px solid var(--line);background:linear-gradient(180deg,rgba(22,24,34,.92),rgba(12,13,20,.92));border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}.card:before,.feature-card:before,.image-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 0%,rgba(233,183,91,.13),transparent 18rem);pointer-events:none}.icon{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;margin-bottom:18px;background:linear-gradient(135deg,rgba(190,23,50,.88),rgba(233,183,91,.22));border:1px solid rgba(233,183,91,.25);font-weight:950;color:#fff4d7}.feature-card{position:relative;display:flex;flex-direction:column;min-height:310px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:#10121a;box-shadow:var(--shadow);transition:.22s ease}.feature-card:hover{transform:translateY(-5px);border-color:rgba(233,183,91,.55)}.feature-card img{height:168px;width:100%;object-fit:cover}.feature-card strong{font-family:"Noto Serif TC","Microsoft JhengHei",serif;font-size:24px;color:#fff0c6;margin:18px 18px 8px}.feature-card span{margin:0 18px 20px}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.story-card{min-height:340px}.story-card.wide{grid-row:span 2}.story-card img{height:100%;width:100%;object-fit:cover;position:absolute;inset:0;opacity:.72}.story-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.82))}.story-card div{position:absolute;inset:auto 24px 24px;z-index:2}.story-card b{display:block;color:#fff0c6;font-family:"Noto Serif TC","Microsoft JhengHei",serif;font-size:26px;margin-bottom:8px}.page-hero{padding:102px 0 62px;position:relative;isolation:isolate;background-image:linear-gradient(90deg,rgba(5,6,10,.88),rgba(5,6,10,.42)),var(--hero-img);background-size:cover;background-position:center}.page-hero.compact{padding-bottom:46px}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(7,8,13,.82));z-index:-1}.page-hero h1{font-size:clamp(40px,6vw,72px)}.breadcrumb{display:flex;gap:10px;margin-top:18px;color:var(--muted)}.breadcrumb a{color:var(--gold2)}.badge-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.badge{padding:8px 12px;border:1px solid rgba(233,183,91,.24);background:rgba(255,255,255,.05);border-radius:999px;color:#eadfcf;font-weight:850;font-size:14px}.mini-list{display:grid;gap:14px;margin-top:24px}.mini-list div,.mini-card,.number-grid div,.timeline div,.race-grid article{border:1px solid rgba(233,183,91,.18);background:rgba(255,255,255,.045);border-radius:18px;padding:17px}.mini-list b,.mini-card b,.timeline b,.race-grid b{display:block;color:#fff0c6;font-size:18px;margin-bottom:5px}.mini-list span,.mini-card span{color:var(--muted);line-height:1.7}.image-card img{height:205px;width:100%;object-fit:cover}.image-card div{padding:22px}.image-card h3{margin-bottom:8px}.number-grid{display:grid;gap:14px;margin-top:24px}.number-grid div{display:grid;grid-template-columns:64px 1fr;align-items:center}.number-grid strong{font-size:34px;color:var(--gold2);font-family:Georgia,serif}.race-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.timeline{display:grid;gap:14px;margin-top:24px}.timeline div{border-left:4px solid var(--gold)}.raid-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.raid-grid article img{height:190px;width:100%;object-fit:cover}.raid-grid article div{padding:20px}.raid-grid article span{color:var(--gold2);font-weight:900;font-size:13px;letter-spacing:.12em}.raid-grid article b{display:block;font-family:"Noto Serif TC","Microsoft JhengHei",serif;font-size:25px;color:#fff0c6;margin:4px 0 8px}.raid-grid article p{color:var(--muted);line-height:1.75;margin:0}.info-panel{border:1px solid var(--line);border-radius:var(--radius);padding:16px;background:rgba(0,0,0,.18);box-shadow:var(--shadow)}.info-table{width:100%;border-collapse:separate;border-spacing:0 10px}.info-table th,.info-table td{padding:16px 18px;background:rgba(255,255,255,.045);border-top:1px solid rgba(233,183,91,.12);border-bottom:1px solid rgba(233,183,91,.12);text-align:left;line-height:1.65}.info-table th{width:220px;color:var(--gold2);font-weight:950;border-left:1px solid rgba(233,183,91,.12);border-radius:14px 0 0 14px}.info-table td{color:#e1d7c7;border-right:1px solid rgba(233,183,91,.12);border-radius:0 14px 14px 0}.download-card{display:flex;gap:20px;align-items:flex-start;border:1px solid var(--line);background:linear-gradient(180deg,rgba(22,24,34,.92),rgba(12,13,20,.92));border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}.download-card .icon{flex:0 0 52px;margin:0}.steps{font-size:18px;line-height:2;color:#e5d9c7}.steps li{margin-bottom:6px}.notice{border-left:4px solid var(--gold);padding:18px 20px;background:rgba(233,183,91,.08);border-radius:16px;color:#eadfcf;line-height:1.8}.mt-32{margin-top:32px}.cta-section{padding-top:40px}.cta-box{display:flex;justify-content:space-between;align-items:center;gap:26px;border:1px solid var(--line);border-radius:30px;padding:34px;background:linear-gradient(135deg,rgba(190,23,50,.18),rgba(233,183,91,.09),rgba(0,0,0,.12));box-shadow:var(--shadow)}.cta-box p{color:var(--muted);line-height:1.8}.footer{padding:44px 0;border-top:1px solid rgba(233,183,91,.16);background:#050508}.footer-inner{display:flex;justify-content:space-between;gap:24px;align-items:center}.footer img{width:160px}.footer p{color:var(--muted);margin:8px 0 0}.footer-links{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.footer-links a{color:#dcd0bd;border:1px solid rgba(255,255,255,.08);padding:8px 13px;border-radius:999px;background:rgba(255,255,255,.035)}code{color:var(--gold2);background:rgba(0,0,0,.3);padding:2px 6px;border-radius:7px}.iframe-section{padding-top:42px}.player-frame-card{background:#090a0f}.frame-toolbar{height:44px;display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid rgba(233,183,91,.18);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02))}.frame-toolbar span{width:12px;height:12px;border-radius:50%;background:rgba(233,183,91,.55)}.frame-toolbar span:nth-child(2){background:rgba(190,23,50,.75)}.frame-toolbar span:nth-child(3){background:rgba(255,255,255,.25)}.frame-toolbar b{margin-left:10px;color:#d8cab5;font-size:14px}.player-frame{display:block;width:100%;height:78vh;min-height:720px;border:0;background:#111522}.text-gold:hover{text-decoration:underline}
@media (max-width:1180px){.brand span{display:none}.nav-links a{font-size:14px;padding:9px 10px}.grid-4,.raid-grid,.race-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-grid{grid-template-columns:1fr;gap:30px}.reverse> :first-child{order:0}.media-stack img,.media-stack img:first-child{height:270px}.story-grid{grid-template-columns:1fr}.story-card,.story-card.wide{min-height:360px;grid-row:auto}.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:880px){.brand img{width:132px}.navbar{height:74px}.menu-toggle{display:inline-flex}.nav-links{position:fixed;inset:74px 16px auto 16px;display:none;flex-direction:column;align-items:stretch;padding:16px;border:1px solid var(--line);border-radius:20px;background:rgba(8,9,14,.98);box-shadow:var(--shadow)}.nav-links.open{display:flex}.nav-links a{text-align:center}.hero{min-height:auto}.hero-content{padding:82px 0 96px}.grid-3{grid-template-columns:1fr}.cta-box{display:block}.cta-box .actions{margin-top:20px}.section-title{display:block}.footer-inner{display:block}.footer-links{justify-content:flex-start;margin-top:20px}.device-frame.slim{max-width:100%}.player-frame{height:72vh;min-height:620px}}
@media (max-width:640px){.container{width:min(100% - 28px,1180px)}.hero-stats,.grid-2,.grid-4,.raid-grid,.race-grid{grid-template-columns:1fr}.section{padding:62px 0}.hero-content{padding:70px 0 82px}.media-stack{grid-template-columns:1fr}.media-stack img,.media-stack img:first-child{height:240px}.feature-card{min-height:auto}.info-table th,.info-table td{display:block;width:100%;border-radius:14px}.info-table th{border-right:1px solid rgba(233,183,91,.12);border-bottom:0}.info-table td{border-left:1px solid rgba(233,183,91,.12)}.download-card{flex-direction:column}.number-grid div{grid-template-columns:1fr}.number-grid strong{font-size:26px}.story-card{min-height:300px}.player-frame{height:70vh;min-height:520px}.page-hero{padding-top:76px}}


/* v5 updates: clearer generated boss art, race background, clan intro */
.wide-art-card{margin-top:30px;border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:var(--shadow);background:linear-gradient(180deg,rgba(25,27,40,.88),rgba(9,10,16,.88));position:relative}.wide-art-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(5,6,10,.36));pointer-events:none}.wide-art-card img{width:100%;height:430px;object-fit:cover}.race-art img{object-position:center}.boss-feature-grid .image-card img{height:340px;object-fit:cover}.raid-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.page-hero{background-position:center}.feature-card img{height:160px;object-fit:cover}
@media (max-width:1180px){.raid-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wide-art-card img{height:330px}.boss-feature-grid .image-card img{height:280px}}
@media (max-width:640px){.raid-grid{grid-template-columns:1fr}.wide-art-card img{height:230px}.boss-feature-grid .image-card img{height:230px}}


/* =========================================================
   v6 cinematic background upgrade
   參考舊版首頁的「有背景、有層次」視覺：不再讓後方只剩一片黑。
   ========================================================= */
html{background:#05060a}
body{
  background:
    radial-gradient(circle at 12% 0%,rgba(190,23,50,.24),transparent 34rem),
    radial-gradient(circle at 88% 8%,rgba(233,183,91,.16),transparent 38rem),
    linear-gradient(180deg,rgba(5,6,10,.82),rgba(7,8,13,.94) 36%,rgba(5,6,10,.98)),
    url('../img/freya/heroes/index-hero.webp') top center/100% auto no-repeat fixed,
    #07080d;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 22% 16%,rgba(233,183,91,.11),transparent 28rem),
    radial-gradient(circle at 82% 72%,rgba(190,23,50,.13),transparent 32rem),
    linear-gradient(120deg,rgba(255,255,255,.04) 0 1px,transparent 1px 140px),
    linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.55));
  opacity:.95;
}
.hero.hero-depth{
  background-image:
    linear-gradient(90deg,rgba(5,6,10,.86),rgba(5,6,10,.48) 46%,rgba(5,6,10,.10)),
    var(--hero-img);
  background-position:center;
}
.hero.hero-depth:before{
  background:
    radial-gradient(circle at 20% 62%,rgba(190,23,50,.22),transparent 28rem),
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(7,8,13,.90) 78%,rgba(7,8,13,1));
}
.hero.hero-depth .lead,
.hero.hero-depth h1{
  text-shadow:0 8px 34px rgba(0,0,0,.92),0 0 22px rgba(233,183,91,.13);
}
.section{
  isolation:isolate;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(7,8,13,.78),rgba(7,8,13,.91)),
    radial-gradient(circle at 14% 0%,rgba(233,183,91,.08),transparent 28rem),
    var(--section-scene,url('../img/freya/heroes/download-hero.webp')) center/cover no-repeat fixed;
}
.section-alt{
  background:
    linear-gradient(180deg,rgba(11,12,20,.80),rgba(5,6,10,.92)),
    radial-gradient(circle at 86% 8%,rgba(190,23,50,.13),transparent 30rem),
    var(--section-scene,url('../img/freya/heroes/index-hero.webp')) center/cover no-repeat fixed;
}
.section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(233,183,91,.045) 0 1px,transparent 1px 160px),
    linear-gradient(180deg,rgba(255,255,255,.035) 0 1px,transparent 1px 150px),
    radial-gradient(circle at 18% 18%,rgba(233,183,91,.10),transparent 24rem),
    radial-gradient(circle at 90% 84%,rgba(190,23,50,.10),transparent 28rem);
  opacity:.68;
}
.section::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:1px;
  z-index:0;
  background:linear-gradient(90deg,transparent,rgba(233,183,91,.42),transparent);
  pointer-events:none;
}
.section > .container{position:relative;z-index:1}
section.section:nth-of-type(2n){--section-scene:url('../img/generated/v5/world_races_bg_v5.webp')}
section.section:nth-of-type(2n+1){--section-scene:url('../img/generated/v5/clan_intro_v5.webp')}
section.section.cta-section{--section-scene:url('../img/generated/v5/fire_dragon_valakas_v5.webp')}
section.section.iframe-section{--section-scene:url('../img/freya/heroes/download-hero.webp')}
.page-hero{
  background-image:
    linear-gradient(90deg,rgba(5,6,10,.90),rgba(5,6,10,.50) 52%,rgba(5,6,10,.22)),
    var(--hero-img),
    url('../img/freya/heroes/index-hero.webp');
  background-attachment:scroll,scroll,fixed;
  box-shadow:inset 0 -120px 110px rgba(7,8,13,.88);
}
.page-hero:before{
  background:
    radial-gradient(circle at 18% 10%,rgba(233,183,91,.12),transparent 26rem),
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(7,8,13,.88));
}
.card,.media-card,.device-frame,.image-card,.story-card,.raid-grid article,.player-frame-card,.download-card,.wide-art-card,.cta-box,.info-panel{
  backdrop-filter:blur(3px);
  background-color:rgba(12,14,22,.72);
}
.feature-card,.stat,.mini-list div,.mini-card,.number-grid div,.timeline div,.race-grid article{
  backdrop-filter:blur(2px);
}
.media-card,.image-card,.story-card,.feature-card,.raid-grid article,.wide-art-card{
  box-shadow:0 26px 90px rgba(0,0,0,.58),0 0 0 1px rgba(233,183,91,.04) inset;
}
.footer{
  background:
    linear-gradient(180deg,rgba(5,6,10,.94),rgba(2,3,6,.98)),
    url('../img/freya/heroes/index-hero.webp') center bottom/cover no-repeat;
}
@media (max-width:880px){
  body{background-attachment:scroll}
  .section,.section-alt{background-attachment:scroll}
}


/* === V7 gradient polish overrides === */
.info-panel{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(135deg,rgba(255,255,255,.06),rgba(9,11,18,.84) 38%,rgba(6,8,14,.96) 100%),
    radial-gradient(circle at 0% 50%,rgba(233,183,91,.11),transparent 42%),
    radial-gradient(circle at 100% 0%,rgba(77,98,164,.10),transparent 34%);
  border:1px solid rgba(233,183,91,.18);
  box-shadow:0 30px 90px rgba(0,0,0,.42), inset 0 0 0 1px rgba(255,255,255,.02);
}
.info-panel::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(233,183,91,.08),transparent 18%),
    linear-gradient(135deg,transparent 52%,rgba(255,255,255,.035) 100%);
  opacity:.9;
}
.info-table{
  position:relative;
  z-index:1;
  border-spacing:0 12px;
}
.info-table th,.info-table td{
  position:relative;
  background:
    linear-gradient(90deg,rgba(255,255,255,.07) 0%,rgba(25,28,42,.95) 36%,rgba(10,12,19,.97) 100%),
    radial-gradient(circle at 12% 50%,rgba(233,183,91,.09),transparent 42%),
    radial-gradient(circle at 100% 0,rgba(83,108,186,.08),transparent 38%);
  backdrop-filter:blur(5px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 10px 22px rgba(0,0,0,.14);
}
.info-table th::after,.info-table td::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.03),transparent 45%,rgba(233,183,91,.03) 72%,transparent);
}
.info-table th{
  color:var(--gold2);
  background:
    linear-gradient(90deg,rgba(233,183,91,.18) 0%,rgba(40,30,18,.84) 40%,rgba(15,16,24,.96) 100%),
    radial-gradient(circle at 0% 50%,rgba(255,222,164,.12),transparent 40%);
}
.info-table td a{font-weight:900;text-decoration:none}

.card,.feature-card,.mini-list div,.mini-card,.number-grid div,.timeline div,.race-grid article,.download-card,.wide-art-card,.cta-box,.panel-toolbar,.player-frame-card,.device-frame,.image-card,.media-card,.raid-grid article{
  background:
    linear-gradient(90deg,rgba(255,255,255,.065) 0%,rgba(22,24,36,.94) 30%,rgba(10,12,19,.97) 100%),
    radial-gradient(circle at 0% 0%,rgba(233,183,91,.12),transparent 34%),
    radial-gradient(circle at 100% 0%,rgba(84,104,172,.08),transparent 30%),
    linear-gradient(180deg,rgba(22,24,34,.92),rgba(12,13,20,.92));
}
.card::after,.feature-card::after,.mini-list div::after,.mini-card::after,.number-grid div::after,.timeline div::after,.race-grid article::after,.download-card::after,.wide-art-card::after,.cta-box::after,.player-frame-card::after,.device-frame::after,.image-card::after,.media-card::after,.raid-grid article::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(135deg,rgba(255,255,255,.035),transparent 42%,rgba(233,183,91,.025) 78%,transparent),
    radial-gradient(circle at 92% 18%,rgba(255,255,255,.05),transparent 18%);
}
.card,.download-card,.wide-art-card,.cta-box,.feature-card,.mini-list div,.mini-card,.number-grid div,.timeline div,.race-grid article,.raid-grid article{position:relative;overflow:hidden}
.feature-card strong,.card h3,.download-card h3,.wide-art-card h3{position:relative;z-index:1}
.feature-card span,.card p,.download-card p,.mini-list span,.mini-card span,.number-grid span,.timeline span,.race-grid span,.raid-grid article p{position:relative;z-index:1}
.icon{box-shadow:0 10px 22px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08)}

.section-alt{
  background:
    linear-gradient(180deg,rgba(255,255,255,.025),rgba(0,0,0,.12)),
    radial-gradient(circle at 14% 22%,rgba(233,183,91,.06),transparent 22rem),
    radial-gradient(circle at 88% 14%,rgba(77,98,164,.05),transparent 18rem);
}
.footer-links a,.badge,.btn-ghost,.mini-list div,.mini-card,.number-grid div,.timeline div,.race-grid article{box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}


/* === V8 brighter hero background overrides === */
.hero{
  background-image:
    linear-gradient(90deg,rgba(5,6,10,.76),rgba(5,6,10,.34) 45%,rgba(5,6,10,.10)),
    var(--hero-img);
  background-position:center right;
}
.hero:before{
  background:
    radial-gradient(circle at 76% 28%,rgba(255,255,255,.06),transparent 20rem),
    linear-gradient(180deg,rgba(0,0,0,.02),rgba(7,8,13,.82));
}

.page-hero{
  background-image:
    linear-gradient(90deg,rgba(5,6,10,.68),rgba(5,6,10,.26) 52%,rgba(5,6,10,.10)),
    var(--hero-img),
    url('../img/freya/heroes/index-hero.webp');
  background-position:left center, center right, center right;
  background-size:cover, cover, cover;
  box-shadow:inset 0 -90px 90px rgba(7,8,13,.74);
}
.page-hero:before{
  background:
    radial-gradient(circle at 78% 28%,rgba(255,255,255,.08),transparent 20rem),
    radial-gradient(circle at 18% 10%,rgba(233,183,91,.10),transparent 24rem),
    linear-gradient(180deg,rgba(0,0,0,.02),rgba(7,8,13,.70));
}
.page-hero .page-lead,
.page-hero .breadcrumb,
.page-hero p{
  text-shadow:0 3px 18px rgba(0,0,0,.72);
}
@media (max-width:980px){
  .hero{background-position:center center}
  .page-hero{background-position:center center, 68% center, 68% center}
}


/* === V9 visible hero backgrounds fix === */
.hero,
.page-hero{
  overflow:hidden;
}

.hero{
  background:
    linear-gradient(90deg,rgba(5,6,10,.54),rgba(5,6,10,.20) 42%,rgba(5,6,10,.06) 70%,rgba(5,6,10,.14) 100%),
    radial-gradient(circle at 10% 50%,rgba(125,10,32,.30),transparent 32%),
    radial-gradient(circle at 88% 20%,rgba(233,183,91,.10),transparent 28%);
  border-bottom:1px solid rgba(233,183,91,.22);
  box-shadow:inset 0 -90px 100px rgba(7,8,13,.55);
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:var(--hero-img),url('../img/freya/heroes/member-hero.webp');
  background-size:cover;
  background-position:center right;
  filter:brightness(1.42) saturate(1.10) contrast(1.04);
  transform:scale(1.02);
}
.hero:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 76% 28%,rgba(255,255,255,.12),transparent 20rem),
    linear-gradient(180deg,rgba(0,0,0,.01),rgba(7,8,13,.45) 72%,rgba(7,8,13,.76) 100%);
}
.hero-content{position:relative;z-index:2}

.page-hero{
  background:
    linear-gradient(90deg,rgba(5,6,10,.50),rgba(5,6,10,.16) 48%,rgba(5,6,10,.04) 74%,rgba(5,6,10,.12) 100%),
    radial-gradient(circle at 12% 42%,rgba(125,10,32,.22),transparent 30%),
    radial-gradient(circle at 84% 18%,rgba(233,183,91,.08),transparent 22%);
  border-bottom:1px solid rgba(233,183,91,.18);
  box-shadow:inset 0 -72px 90px rgba(7,8,13,.42);
}
.page-hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:var(--hero-img),url('../img/freya/heroes/index-hero.webp');
  background-size:cover;
  background-position:center right;
  filter:brightness(1.38) saturate(1.08) contrast(1.02);
  transform:scale(1.02);
}
.page-hero:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 78% 28%,rgba(255,255,255,.12),transparent 18rem),
    linear-gradient(180deg,rgba(0,0,0,.00),rgba(7,8,13,.30) 70%,rgba(7,8,13,.60));
}
.page-hero .container{position:relative;z-index:2}
.page-hero .page-lead,.page-hero .breadcrumb,.page-hero p{color:#f2e7d8;text-shadow:0 2px 16px rgba(0,0,0,.65)}
.lead{color:#f4e8d7}

@media (max-width:980px){
  .hero:before,.page-hero:before{background-position:68% center}
}
@media (max-width:640px){
  .hero:before,.page-hero:before{background-position:64% center;filter:brightness(1.24) saturate(1.06)}
  .hero{background:linear-gradient(180deg,rgba(5,6,10,.38),rgba(5,6,10,.56)),radial-gradient(circle at 20% 20%,rgba(125,10,32,.22),transparent 26%)}
  .page-hero{background:linear-gradient(180deg,rgba(5,6,10,.34),rgba(5,6,10,.54)),radial-gradient(circle at 16% 18%,rgba(125,10,32,.18),transparent 20%)}
}


/* === V10 homepage samurai hero image === */
.hero:before{
  background-image:var(--hero-img),url('../img/freya/heroes/index-hero.webp');
  background-size:cover,cover;
  background-position:center center,center center;
  filter:brightness(1.18) saturate(1.08) contrast(1.03);
}
.page-hero:before{
  background-image:var(--hero-img),url('../img/freya/heroes/download-hero.webp');
  background-size:cover,cover;
  background-position:center center,center center;
}
@media (min-width:981px){
  .hero{min-height:760px}
  .hero-content{width:min(760px,100%)}
}


/* === V11 homepage carousel hero === */
.hero.hero-slider{
  min-height:760px;
  background:none;
  position:relative;
  isolation:isolate;
}
.hero.hero-slider:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(5,6,10,.58),rgba(5,6,10,.18) 42%,rgba(5,6,10,.08) 72%,rgba(5,6,10,.18) 100%),
    radial-gradient(circle at 12% 48%,rgba(125,10,32,.34),transparent 30%),
    radial-gradient(circle at 85% 18%,rgba(233,183,91,.10),transparent 24%);
}
.hero.hero-slider:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 78% 30%,rgba(255,255,255,.10),transparent 18rem),
    linear-gradient(180deg,rgba(0,0,0,.02),rgba(7,8,13,.36) 70%,rgba(7,8,13,.72) 100%);
  border-bottom:1px solid rgba(233,183,91,.22);
}
.hero-slides{
  position:absolute;
  inset:0;
  z-index:-3;
}
.hero-slide{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center center;
  opacity:0;
  transform:scale(1.03);
  transition:opacity .9s ease, transform 6s ease;
}
.hero-slide.active{
  opacity:1;
  transform:scale(1);
}
.hero-slider .hero-content{position:relative;z-index:2;width:min(820px,100%)}
.hero-slider .lead,.hero-slider h1{text-shadow:0 8px 34px rgba(0,0,0,.92),0 0 22px rgba(233,183,91,.16)}
.hero-slide-meta{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  margin-top:22px;
  padding:14px 18px;
  width:fit-content;
  max-width:100%;
  border-radius:18px;
  border:1px solid rgba(233,183,91,.22);
  background:linear-gradient(135deg,rgba(8,10,18,.62),rgba(8,10,18,.38));
  backdrop-filter:blur(8px);
  box-shadow:0 18px 42px rgba(0,0,0,.26);
}
.hero-slide-tag{
  padding:7px 12px;
  border-radius:999px;
  background:rgba(233,183,91,.12);
  color:var(--gold2);
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
}
.hero-slide-meta strong{
  font-size:22px;
  color:#fff0c6;
  font-family:"Noto Serif TC","Microsoft JhengHei",serif;
}
.hero-indicators{display:flex;gap:10px;align-items:center}
.hero-dot{
  width:13px;height:13px;border-radius:50%;border:1px solid rgba(233,183,91,.55);
  background:rgba(255,255,255,.14);cursor:pointer;padding:0;transition:.2s ease;
  box-shadow:0 0 0 0 rgba(233,183,91,0);
}
.hero-dot.active,.hero-dot:hover{
  background:linear-gradient(135deg,var(--gold2),var(--gold));
  transform:scale(1.08);
  box-shadow:0 0 16px rgba(233,183,91,.45);
}
@media (max-width:980px){
  .hero.hero-slider{min-height:690px}
  .hero-slide-meta{gap:12px}
}
@media (max-width:640px){
  .hero.hero-slider{min-height:620px}
  .hero-slide{background-position:66% center}
  .hero-slide-meta{padding:12px 14px}
  .hero-slide-meta strong{font-size:18px}
}


/* === V12 restore subpage hero to V9 === */
.page-hero{
  background:
    linear-gradient(90deg,rgba(5,6,10,.50),rgba(5,6,10,.16) 48%,rgba(5,6,10,.04) 74%,rgba(5,6,10,.12) 100%),
    radial-gradient(circle at 12% 42%,rgba(125,10,32,.22),transparent 30%),
    radial-gradient(circle at 84% 18%,rgba(233,183,91,.08),transparent 22%);
  border-bottom:1px solid rgba(233,183,91,.18);
  box-shadow:inset 0 -72px 90px rgba(7,8,13,.42);
}
.page-hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:var(--hero-img),url('../img/freya/heroes/index-hero.webp');
  background-size:cover,cover;
  background-position:center right,center right;
  filter:brightness(1.38) saturate(1.08) contrast(1.02);
  transform:scale(1.02);
}
.page-hero:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 78% 28%,rgba(255,255,255,.12),transparent 18rem),
    linear-gradient(180deg,rgba(0,0,0,.00),rgba(7,8,13,.30) 70%,rgba(7,8,13,.60));
}
.page-hero .container{position:relative;z-index:2}
.page-hero .page-lead,.page-hero .breadcrumb,.page-hero p{color:#f2e7d8;text-shadow:0 2px 16px rgba(0,0,0,.65)}

@media (max-width:980px){
  .page-hero:before{background-position:68% center,68% center}
}
@media (max-width:640px){
  .page-hero:before{background-position:64% center,64% center;filter:brightness(1.24) saturate(1.06)}
  .page-hero{background:linear-gradient(180deg,rgba(5,6,10,.34),rgba(5,6,10,.54)),radial-gradient(circle at 16% 18%,rgba(125,10,32,.18),transparent 20%)}
}


/* === V13 SAMURAI:CROW official-preview inspired video hero === */
.hero-video-hero{
  min-height:820px;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#030407 url('../img/freya/heroes/world-art.webp') center/cover no-repeat;
  border-bottom:1px solid rgba(234,195,112,.32);
  box-shadow:inset 0 -120px 120px rgba(7,8,13,.78),0 24px 80px rgba(0,0,0,.32);
}
.hero-video-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(3,4,7,.84),rgba(3,4,7,.42) 38%,rgba(3,4,7,.16) 66%,rgba(3,4,7,.42)),
    radial-gradient(circle at 16% 56%,rgba(165,0,28,.34),transparent 34rem),
    radial-gradient(circle at 82% 18%,rgba(255,242,202,.16),transparent 24rem),
    repeating-linear-gradient(100deg,rgba(255,255,255,.035) 0 1px,transparent 1px 160px);
  pointer-events:none;
}
.hero-video-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(7,8,13,.34) 68%,rgba(7,8,13,.86)),
    radial-gradient(circle at 73% 30%,rgba(255,255,255,.11),transparent 18rem),
    radial-gradient(circle at 50% 120%,rgba(200,20,42,.22),transparent 28rem);
}
.hero-bg-video,.hero-video-poster{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  pointer-events:none;
}
.hero-bg-video{
  z-index:-4;
  filter:brightness(1.08) contrast(1.09) saturate(.9);
  transform:scale(1.01);
}
.hero-video-poster{
  z-index:-5;
  background:url('../img/freya/heroes/world-art.webp') center/cover no-repeat;
}
.hero-ink-wash{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.7;
  background:
    radial-gradient(ellipse at 12% 22%,rgba(255,255,255,.08),transparent 23rem),
    radial-gradient(ellipse at 8% 78%,rgba(0,0,0,.64),transparent 35rem),
    radial-gradient(ellipse at 92% 84%,rgba(0,0,0,.58),transparent 35rem),
    linear-gradient(100deg,transparent 0 46%,rgba(255,255,255,.055) 47%,transparent 50% 100%);
  mix-blend-mode:screen;
}
.hero-video-content{
  position:relative;
  z-index:2;
  width:min(850px,100%);
  padding-top:180px;
  padding-bottom:72px;
}
.hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:9px 16px;
  border-radius:999px;
  border:1px solid rgba(234,195,112,.28);
  background:linear-gradient(90deg,rgba(120,0,20,.34),rgba(10,12,19,.42));
  box-shadow:0 16px 40px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.06);
}
.hero-brush-title{
  margin-top:20px;
  letter-spacing:.04em;
  text-shadow:0 12px 42px rgba(0,0,0,.95),0 0 30px rgba(170,0,32,.28);
}
.samurai-title-card{
  margin-top:26px;
  display:inline-grid;
  gap:5px;
  padding:18px 24px 20px;
  min-width:min(430px,100%);
  border-left:4px solid rgba(170,0,32,.96);
  border-radius:0 22px 22px 0;
  background:
    linear-gradient(90deg,rgba(122,0,24,.68),rgba(10,12,18,.54) 48%,rgba(10,12,18,.22)),
    radial-gradient(circle at 0% 50%,rgba(255,232,175,.16),transparent 38%);
  backdrop-filter:blur(7px);
  box-shadow:0 24px 70px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06);
}
.samurai-title-card span{
  display:inline-flex;
  width:max-content;
  padding:4px 12px;
  border-radius:999px;
  color:#fff4d3;
  background:rgba(126,0,24,.76);
  font-size:12px;
  letter-spacing:.22em;
  font-weight:900;
}
.samurai-title-card strong{
  color:#fff;
  font-family:"Noto Serif TC","Microsoft JhengHei",serif;
  font-size:clamp(42px,7vw,84px);
  line-height:.82;
  letter-spacing:.03em;
  text-transform:uppercase;
  text-shadow:0 8px 24px rgba(0,0,0,.8),0 0 18px rgba(255,255,255,.16);
}
.samurai-title-card em{
  color:#f6d99b;
  font-style:normal;
  font-weight:900;
  letter-spacing:.12em;
}
.hero-video-stats{
  margin-top:28px;
}
.hero-video-stats .stat{
  background:
    linear-gradient(135deg,rgba(16,18,28,.78),rgba(10,11,17,.52)),
    radial-gradient(circle at 0% 0%,rgba(234,195,112,.13),transparent 38%);
  border-color:rgba(234,195,112,.20);
  backdrop-filter:blur(8px);
}
.hero-video-stats .stat strong{
  color:#ffe1a0;
}
@media (max-width:980px){
  .hero-video-hero{min-height:720px}
  .hero-video-content{padding-top:150px;width:min(760px,100%)}
  .hero-bg-video{object-position:64% center}
}
@media (max-width:640px){
  .hero-video-hero{min-height:680px}
  .hero-video-content{padding-top:124px;padding-bottom:54px}
  .samurai-title-card{padding:15px 18px;min-width:0;width:100%}
  .hero-bg-video{object-position:66% center;filter:brightness(1.02) contrast(1.05) saturate(.92)}
}
@media (prefers-reduced-motion:reduce){
  .hero-bg-video{display:none}
}


/* === V14 official video full-page background & raid video updates === */
body.official-video-page{
  background:#020306;
}
body.official-video-page::before{
  z-index:0;
  opacity:.52;
  background:
    radial-gradient(circle at 18% 12%,rgba(234,195,112,.09),transparent 28rem),
    radial-gradient(circle at 82% 28%,rgba(172,0,32,.12),transparent 34rem),
    linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.52));
}
.site-video-bg{
  position:fixed;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  background:#020306;
}
.site-video-bg video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:brightness(1.18) contrast(1.08) saturate(1.02);
  transform:scale(1.035);
}
.site-video-vignette{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(0, 1, 2, 0.08),rgba(2,3,6,.18) 38%,rgba(2,3,6,.06) 66%,rgba(2,3,6,.24)),
    linear-gradient(180deg,rgba(0,0,0,.06),rgba(5,6,10,.18) 55%,rgba(5,6,10,.48)),
    radial-gradient(circle at 76% 22%,rgba(255,245,214,.12),transparent 18rem),
    radial-gradient(circle at 16% 74%,rgba(165,0,28,.16),transparent 30rem);
}
body.official-video-page > header,
body.official-video-page > section,
body.official-video-page > footer{
  position:relative;
  z-index:1;
}
.home-page .site-header{
  background:rgba(4,5,8,.72);
}
.home-page .hero-video-hero{
  min-height:calc(100vh - 82px);
  background:transparent;
  border-bottom:1px solid rgba(234,195,112,.24);
  box-shadow:inset 0 -90px 120px rgba(5,6,10,.30);
}
.home-page .hero-video-hero::before{
  z-index:0;
  background:
    linear-gradient(90deg,rgba(3,4,7,.62),rgba(3,4,7,.24) 42%,rgba(3,4,7,.02) 72%,rgba(3,4,7,.14)),
    radial-gradient(circle at 18% 52%,rgba(170,0,32,.18),transparent 32rem),
    repeating-linear-gradient(100deg,rgba(255,255,255,.04) 0 1px,transparent 1px 160px);
}
.home-page .hero-video-hero::after{
  z-index:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.01),rgba(7,8,13,.08) 58%,rgba(7,8,13,.34)),
    radial-gradient(circle at 80% 24%,rgba(255,255,255,.14),transparent 20rem);
}
.home-page .hero-ink-wash{z-index:1;opacity:.46}
.home-page .hero-video-content{
  z-index:2;
  width:min(900px,100%);
  padding-top:155px;
  padding-bottom:96px;
}
.home-page .section,
.home-page .section-alt{
  background:
    linear-gradient(180deg,rgba(7,8,13,.42),rgba(7,8,13,.58)),
    radial-gradient(circle at 14% 0%,rgba(234,195,112,.08),transparent 28rem),
    radial-gradient(circle at 86% 60%,rgba(170,0,32,.08),transparent 36rem);
  backdrop-filter:blur(1.5px);
}
.home-page .section-alt{
  background:
    linear-gradient(180deg,rgba(10,11,18,.50),rgba(5,6,10,.66)),
    radial-gradient(circle at 86% 8%,rgba(190,23,50,.13),transparent 30rem),
    radial-gradient(circle at 18% 88%,rgba(234,195,112,.06),transparent 28rem);
}
.video-feature-section{
  border-top:1px solid rgba(234,195,112,.12);
  border-bottom:1px solid rgba(234,195,112,.12);
}
.video-feature-grid{gap:54px}
.cinema-video-card,
.wide-video-card{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(234,195,112,.30);
  background:linear-gradient(180deg,rgba(18,20,30,.76),rgba(6,7,11,.86));
  box-shadow:0 30px 100px rgba(0,0,0,.62),0 0 0 1px rgba(255,255,255,.035) inset;
}
.cinema-video-card::before,
.wide-video-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.34)),
    radial-gradient(circle at 14% 18%,rgba(255,232,170,.14),transparent 16rem),
    radial-gradient(circle at 86% 78%,rgba(185,0,34,.22),transparent 20rem);
  mix-blend-mode:screen;
}
.cinema-video{
  display:block;
  width:100%;
  height:420px;
  object-fit:cover;
  object-position:center center;
  filter:brightness(.92) contrast(1.12) saturate(.96);
  transform:scale(1.015);
}
.cinema-video-label,
.wide-video-caption{
  position:absolute;
  z-index:3;
  left:22px;
  right:22px;
  bottom:20px;
  display:grid;
  gap:5px;
  padding:16px 18px;
  border-left:4px solid rgba(201,24,48,.95);
  border-radius:0 18px 18px 0;
  background:linear-gradient(90deg,rgba(4,5,8,.78),rgba(4,5,8,.36));
  backdrop-filter:blur(8px);
}
.cinema-video-label span,
.wide-video-caption span{
  color:#ffd98d;
  font-size:12px;
  font-weight:950;
  letter-spacing:.18em;
}
.cinema-video-label strong,
.wide-video-caption strong{
  color:#fff3d4;
  font-family:"Noto Serif TC","Microsoft JhengHei",serif;
  font-size:clamp(24px,3vw,38px);
  line-height:1.06;
}
.wide-video-caption em{
  color:#e8ddca;
  font-style:normal;
  line-height:1.65;
}
.page-hero-video{
  overflow:hidden;
  min-height:560px;
  display:flex;
  align-items:center;
  background:#030407;
}
.page-hero-bg-video{
  position:absolute;
  inset:0;
  z-index:-3;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:brightness(.86) contrast(1.13) saturate(1.02);
  transform:scale(1.025);
}
.page-video-scrim {
    position: absolute;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background: 
        linear-gradient(90deg, rgb(209 135 23 / 49%), rgb(182 197 241 / 25%) 44%, rgba(3, 4, 7, .16) 72%, rgb(27 54 137 / 60%)), 
        linear-gradient(180deg, rgba(0, 0, 0, .08), rgb(32 119 71 / 46%)),
        radial-gradient(circle at 80% 22%, rgb(233 228 218 / 46%), transparent 20rem), 
        radial-gradient(circle at 18% 72%, rgba(172, 0, 32, .18), transparent 30rem);
}
.page-hero-video::before{
  background:radial-gradient(circle at 18% 10%,rgba(234,195,112,.10),transparent 26rem),linear-gradient(180deg,rgba(0,0,0,.02),rgba(7,8,13,.56));
}
.dragon-video-card{
  margin:0 auto 34px;
}
.dragon-video-card .cinema-video{
  height:460px;
  object-position:center center;
  filter:brightness(.88) contrast(1.15) saturate(1.05);
}
@media (max-width:980px){
  .site-video-bg video{object-position:62% center}
  .home-page .hero-video-content{padding-top:130px}
  .cinema-video{height:330px}
  .page-hero-video{min-height:500px}
}
@media (max-width:640px){
  .site-video-bg video{object-position:66% center;transform:scale(1.08);filter:brightness(1.12) contrast(1.05) saturate(1.02)}
  .home-page .hero-video-hero{min-height:720px}
  .home-page .hero-video-content{padding-top:104px;padding-bottom:64px}
  .cinema-video{height:260px}
  .cinema-video-label,.wide-video-caption{left:14px;right:14px;bottom:14px;padding:13px 14px}
  .page-hero-video{min-height:460px}
  .dragon-video-card .cinema-video{height:300px}
}
@media (prefers-reduced-motion:reduce){
  .site-video-bg video,.cinema-video,.page-hero-bg-video{display:none}
  .site-video-bg{background:url('../img/freya/heroes/world-art.webp') center/cover no-repeat}
}
body.official-video-page > header.site-header{z-index:99}

/* v15: homepage background video brightened per request */


/* === v16 races/jobs expansion === */
.job-section{position:relative}
.class-index{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:0 0 34px}
.class-index a{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;border:1px solid rgba(234,195,112,.24);background:rgba(7,8,13,.58);color:#f2e5cf;font-weight:800;letter-spacing:.04em;transition:transform .18s ease,background .18s ease,border-color .18s ease}
.class-index a:hover{transform:translateY(-2px);background:rgba(24,26,38,.84);border-color:rgba(234,195,112,.45)}
.job-group{margin-top:42px;scroll-margin-top:100px}
.job-group:first-of-type{margin-top:6px}
.job-group-head{display:flex;justify-content:space-between;align-items:end;gap:24px;padding-bottom:16px;margin-bottom:24px;border-bottom:1px solid rgba(234,195,112,.16)}
.job-group-head h3{margin:6px 0 0;font-size:clamp(28px,3vw,40px)}
.job-group-head p{max-width:640px;margin:0;color:#d8cebf;line-height:1.75}
.job-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.job-card-grid--special,.job-card-grid--triple{grid-template-columns:repeat(3,minmax(0,1fr))}
.job-card-grid--single{grid-template-columns:minmax(0,820px);justify-content:center}
.job-card{display:flex;flex-direction:column;overflow:hidden;border-radius:28px;border:1px solid rgba(234,195,112,.22);background:linear-gradient(180deg,rgba(18,20,30,.86),rgba(7,8,12,.96));box-shadow:0 24px 70px rgba(0,0,0,.38),0 0 0 1px rgba(255,255,255,.03) inset}
.job-card-media{position:relative;overflow:hidden;aspect-ratio:16/9;background:#08090f}
.job-card-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 48%,rgba(5,6,10,.76) 100%),radial-gradient(circle at 18% 12%,rgba(255,236,175,.09),transparent 16rem);pointer-events:none}
.job-card-media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top;transform:scale(1.01)}
.job-card-body{padding:20px 20px 22px}
.job-topline{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.job-race{color:#ffd98d;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.job-role{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;border:1px solid rgba(234,195,112,.20);background:rgba(234,195,112,.10);color:#fff4da;font-size:12px;font-weight:800;letter-spacing:.06em}
.job-card h4{margin:0 0 12px;font-size:clamp(24px,2.8vw,34px);line-height:1.08;color:#fff1d2}
.job-card p{margin:0;color:#ddd2c3;line-height:1.78}
.job-card p b{color:#fff3d4}
.job-tags{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 0;padding:0}
.job-tags li{padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);color:#f0e6d7;font-size:13px;font-weight:700}
.job-note{margin:34px auto 0;max-width:1040px;padding:16px 18px;border-radius:18px;border:1px solid rgba(234,195,112,.14);background:rgba(255,255,255,.03);color:#cfc4b2;line-height:1.8}
@media (max-width:1120px){.job-card-grid--special,.job-card-grid--triple{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.job-group-head{align-items:flex-start;flex-direction:column}.job-card-grid,.job-card-grid--special,.job-card-grid--triple,.job-card-grid--single{grid-template-columns:1fr}.job-card h4{font-size:28px}}
@media (max-width:560px){.class-index{gap:10px}.class-index a{width:calc(50% - 6px);padding:10px 12px}.job-card-body{padding:16px 16px 18px}.job-card p{font-size:15px;line-height:1.72}.job-group{margin-top:34px}}


/* === v16.1 official-like races page refinement === */
body.world-races-page{background:
  radial-gradient(circle at 50% -10%,rgba(110,94,184,.26),transparent 36rem),
  radial-gradient(circle at 84% 18%,rgba(236,196,115,.10),transparent 26rem),
  radial-gradient(circle at 12% 82%,rgba(70,117,212,.10),transparent 30rem),
  linear-gradient(180deg,#03040c 0%,#070814 28%,#04050c 100%)}
body.world-races-page::before{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(255,255,255,.015) 0 1px,transparent 1px 180px),linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0));opacity:.35;z-index:0}
body.world-races-page > *{position:relative;z-index:1}
.world-races-page .page-hero{background-image:linear-gradient(90deg,rgba(4,4,11,.92),rgba(4,4,11,.45) 52%,rgba(4,4,11,.18)),var(--hero-img)}
.world-races-page .page-hero::before{background:linear-gradient(180deg,rgba(6,8,20,.12),rgba(7,8,13,.86)),radial-gradient(circle at 75% 25%,rgba(255,226,167,.12),transparent 18rem)}
.world-races-page .section-title.center h2,.world-races-page .job-group-head h3{text-shadow:0 0 24px rgba(255,218,144,.10),0 10px 28px rgba(0,0,0,.35)}
.world-races-page .race-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.world-races-page .race-grid article{padding:22px 20px 20px;min-height:136px;border-radius:22px;border:1px solid rgba(226,197,130,.18);background:linear-gradient(180deg,rgba(8,13,36,.88),rgba(6,8,18,.94));box-shadow:0 22px 50px rgba(0,0,0,.24),inset 0 0 0 1px rgba(255,255,255,.02)}
.world-races-page .race-grid article::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,rgba(255,232,174,.92),rgba(79,140,255,.28));opacity:.88}
.world-races-page .race-grid b{font-size:28px;font-family:"Noto Serif TC","Microsoft JhengHei",serif;color:#fff2cf;margin-bottom:8px}
.world-races-page .race-grid span{color:#d9d4cb;line-height:1.8}
.world-races-page .wide-art-card{border-color:rgba(226,197,130,.20);background:linear-gradient(180deg,rgba(10,15,38,.86),rgba(6,8,18,.92));box-shadow:0 30px 80px rgba(0,0,0,.34)}
.world-races-page .wide-art-card img{height:470px}
.world-races-page .job-section{background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(0,0,0,.14));border-top:1px solid rgba(233,183,91,.08);border-bottom:1px solid rgba(233,183,91,.08)}
.world-races-page .class-guide-note{max-width:980px;margin:0 auto 22px;padding:16px 18px;border-radius:18px;border:1px solid rgba(226,197,130,.14);background:linear-gradient(180deg,rgba(12,16,42,.62),rgba(7,8,18,.70));color:#d9d0c0;line-height:1.85;text-align:center;box-shadow:0 18px 44px rgba(0,0,0,.16)}
.world-races-page .class-index{position:sticky;top:92px;z-index:8;margin:0 0 36px;padding:16px 18px;border-radius:22px;border:1px solid rgba(226,197,130,.14);background:rgba(5,7,16,.84);backdrop-filter:blur(14px);box-shadow:0 18px 44px rgba(0,0,0,.18)}
.world-races-page .class-index a{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));border-color:rgba(226,197,130,.16)}
.world-races-page .class-index a:hover{background:linear-gradient(180deg,rgba(233,183,91,.18),rgba(255,255,255,.04));color:#fff4db}
.world-races-page .job-group{margin-top:50px}
.world-races-page .job-group-head{padding:0 2px 16px;border-bottom:1px solid rgba(226,197,130,.12)}
.world-races-page .job-group-head p{color:#d2c9bb}
.world-races-page .job-card-grid--special{grid-template-columns:repeat(2,minmax(0,1fr))}
.world-races-page .job-card{border:1px solid rgba(226,197,130,.16);background:linear-gradient(180deg,rgba(8,13,36,.90),rgba(5,7,16,.96));box-shadow:0 24px 64px rgba(0,0,0,.30),inset 0 0 0 1px rgba(255,255,255,.025);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.world-races-page .job-card:hover{transform:translateY(-5px);border-color:rgba(255,224,157,.28);box-shadow:0 30px 72px rgba(0,0,0,.36),0 0 0 1px rgba(255,255,255,.03) inset}
.world-races-page .job-card::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 14% 0%,rgba(255,236,175,.08),transparent 14rem),radial-gradient(circle at 88% 100%,rgba(86,120,223,.10),transparent 18rem)}
.world-races-page .job-card-media{aspect-ratio:16/10;border-bottom:1px solid rgba(226,197,130,.12);background:linear-gradient(180deg,rgba(13,18,46,.96),rgba(5,7,16,.96))}
.world-races-page .job-card-media::before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,230,170,.75),transparent);opacity:.75;z-index:2}
.world-races-page .job-card-body{padding:22px 22px 24px}
.world-races-page .job-topline{margin-bottom:12px}
.world-races-page .job-race{color:#ffd98d}
.world-races-page .job-role{background:linear-gradient(180deg,rgba(233,183,91,.16),rgba(86,120,223,.14));border-color:rgba(226,197,130,.18)}
.world-races-page .job-card h4{margin-bottom:12px}
.world-races-page .job-card p{color:#ddd4c7}
.world-races-page .job-tags li{background:rgba(255,255,255,.04);border-color:rgba(226,197,130,.10)}
.world-races-page .job-note{background:linear-gradient(180deg,rgba(10,15,38,.70),rgba(6,8,18,.76));border-color:rgba(226,197,130,.16);box-shadow:0 20px 40px rgba(0,0,0,.18)}
@media (max-width:1180px){body.world-races-page .race-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.world-races-page .wide-art-card img{height:360px}}
@media (max-width:820px){.world-races-page .class-index{top:84px}.world-races-page .job-card-grid--special{grid-template-columns:1fr}.world-races-page .job-card-media{aspect-ratio:4/3}}
@media (max-width:640px){body.world-races-page .race-grid{grid-template-columns:1fr}.world-races-page .wide-art-card img{height:250px}.world-races-page .class-guide-note{padding:14px 15px}.world-races-page .class-index{padding:14px}.world-races-page .class-index a{width:calc(50% - 6px)}.world-races-page .race-grid b{font-size:25px}}


/* === v16.2 official interactive class switch === */
.official-class-stage-section{overflow:hidden}
.official-stage-title{max-width:980px}
.official-race-tabs{position:sticky;top:92px;z-index:10;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin:0 auto 34px;padding:16px 18px;border-radius:26px;border:1px solid rgba(238,209,145,.18);background:linear-gradient(180deg,rgba(7,9,24,.90),rgba(5,6,15,.82));backdrop-filter:blur(14px);box-shadow:0 22px 70px rgba(0,0,0,.32)}
.official-race-tabs button{position:relative;min-width:104px;padding:14px 16px;border:1px solid rgba(238,209,145,.18);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));color:#e9dfcf;font-weight:950;letter-spacing:.04em;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}
.official-race-tabs button::before{content:"";position:absolute;left:50%;bottom:7px;width:0;height:2px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,#ffe5a6,transparent);transition:width .2s ease}
.official-race-tabs button:hover,.official-race-tabs button.active{transform:translateY(-2px);border-color:rgba(255,226,164,.56);background:radial-gradient(circle at 50% 0%,rgba(255,223,148,.24),rgba(255,255,255,.04) 55%,rgba(255,255,255,.02));color:#fff5dc;box-shadow:0 18px 38px rgba(0,0,0,.22),0 0 28px rgba(255,214,128,.12)}
.official-race-tabs button.active::before{width:72%}
.official-class-stage{position:relative;min-height:720px;border:1px solid rgba(238,209,145,.16);border-radius:34px;overflow:hidden;background:radial-gradient(circle at 58% 28%,rgba(143,115,255,.16),transparent 28rem),radial-gradient(circle at 74% 78%,rgba(255,213,128,.10),transparent 22rem),linear-gradient(120deg,rgba(5,7,22,.98),rgba(8,10,30,.90) 52%,rgba(3,5,14,.98));box-shadow:0 34px 110px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.03)}
.official-class-stage::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 145px),linear-gradient(180deg,rgba(255,255,255,.022) 0 1px,transparent 1px 115px),radial-gradient(circle at 50% 100%,rgba(255,238,191,.10),transparent 26rem);opacity:.58;pointer-events:none}
.official-race-panel{position:absolute;inset:0;display:grid;grid-template-columns:minmax(280px,.95fr) minmax(360px,1.28fr) minmax(270px,.88fr);gap:22px;align-items:stretch;padding:36px;opacity:0;visibility:hidden;transform:translateY(18px);transition:opacity .28s ease,transform .28s ease,visibility .28s ease}
.official-race-panel.active{opacity:1;visibility:visible;transform:translateY(0)}
.stage-copy{position:relative;z-index:2;align-self:center;padding:26px 0 26px 8px}
.stage-kicker{display:inline-flex;align-items:center;gap:10px;color:#ffd98d;font-weight:950;letter-spacing:.18em;font-size:13px;text-transform:uppercase;margin-bottom:16px}
.stage-kicker::before{content:"";width:12px;height:12px;background:url("../img/favicons/favicon-32x32.webp") center/contain no-repeat;filter:drop-shadow(0 0 10px rgba(255,218,135,.55))}
.stage-copy h3{font-size:clamp(42px,4.2vw,72px);color:#fff2cf;line-height:1.04;margin:0 0 18px;text-shadow:0 0 30px rgba(255,223,150,.12),0 18px 38px rgba(0,0,0,.48)}
.stage-copy p{max-width:460px;color:#e0d6c8;line-height:1.92;font-size:17px;margin:0;text-shadow:0 6px 18px rgba(0,0,0,.50)}
.stage-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.stage-tags span{display:inline-flex;align-items:center;justify-content:center;padding:8px 13px;border-radius:999px;border:1px solid rgba(255,225,164,.18);background:rgba(255,255,255,.045);color:#fff0d4;font-weight:850;font-size:13px}
.stage-visual{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:center;min-height:650px;overflow:hidden}
.stage-visual::before{content:"";position:absolute;left:50%;bottom:6%;width:min(420px,90%);height:72px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse at center,rgba(255,225,147,.34),rgba(96,117,255,.16) 42%,transparent 72%);filter:blur(6px)}
.stage-visual::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 28%,rgba(255,236,180,.10),transparent 18rem),linear-gradient(180deg,transparent 50%,rgba(4,5,12,.22));pointer-events:none}
.stage-visual img{position:relative;z-index:2;width:100%;height:680px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 28px 40px rgba(0,0,0,.62)) drop-shadow(0 0 26px rgba(255,226,158,.10));animation:stageFloat 5.6s ease-in-out infinite}
@keyframes stageFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.stage-side{position:relative;z-index:2;align-self:center;display:grid;gap:18px}
.stage-stat-card{padding:20px;border-radius:24px;border:1px solid rgba(255,225,164,.17);background:linear-gradient(180deg,rgba(8,12,32,.74),rgba(5,7,17,.86));box-shadow:0 24px 54px rgba(0,0,0,.24)}
.stage-stat-card b{display:block;color:#fff1d2;font-family:"Noto Serif TC","Microsoft JhengHei",serif;font-size:24px;margin-bottom:16px}
.stage-bars{display:grid;gap:13px}
.stage-bars span{display:grid;grid-template-columns:54px 1fr 36px;align-items:center;gap:10px;color:#e6dccb;font-size:13px;font-weight:800}
.stage-bars em{font-style:normal;color:#f7e5c3}.stage-bars i{display:block;height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.stage-bars i::before{content:"";display:block;width:var(--v);height:100%;border-radius:inherit;background:linear-gradient(90deg,#715eff,#f0c678,#fff1c8);box-shadow:0 0 18px rgba(255,220,150,.38)}.stage-bars strong{color:#ffd98d;text-align:right}
.stage-character-list{display:grid;gap:12px;max-height:390px;overflow:auto;padding-right:4px}
.stage-character-list::-webkit-scrollbar{width:6px}.stage-character-list::-webkit-scrollbar-thumb{background:rgba(255,225,164,.24);border-radius:999px}.stage-character-list button{display:grid;grid-template-columns:76px 1fr;align-items:center;gap:12px;width:100%;padding:10px;border-radius:18px;border:1px solid rgba(255,225,164,.12);background:rgba(255,255,255,.035);color:#eee1cf;text-align:left;font-weight:950;cursor:pointer;transition:.2s ease}
.stage-character-list button:hover,.stage-character-list button.active{border-color:rgba(255,225,164,.46);background:linear-gradient(90deg,rgba(255,218,135,.18),rgba(255,255,255,.04));transform:translateX(-4px);color:#fff4d8}
.stage-character-list img{width:76px;height:54px;object-fit:cover;object-position:center top;border-radius:12px;border:1px solid rgba(255,225,164,.16);filter:saturate(.94) contrast(1.04)}
.stage-character-list span{display:block;line-height:1.35}
.official-class-stage-section .job-note{max-width:1040px;text-align:center;margin-top:26px}
@media (max-width:1120px){.official-class-stage{min-height:980px}.official-race-panel{grid-template-columns:1fr 1fr;grid-template-areas:"copy side" "visual visual"}.stage-copy{grid-area:copy;align-self:start}.stage-side{grid-area:side;align-self:start}.stage-visual{grid-area:visual;min-height:560px}.stage-visual img{height:580px}}
@media (max-width:760px){.official-race-tabs{top:82px;justify-content:flex-start;overflow:auto;flex-wrap:nowrap;padding:12px}.official-race-tabs button{min-width:96px;padding:12px 13px}.official-class-stage{min-height:1180px;border-radius:26px}.official-race-panel{grid-template-columns:1fr;grid-template-areas:"copy" "visual" "side";padding:24px}.stage-copy{padding:8px 0}.stage-copy h3{font-size:44px}.stage-copy p{font-size:16px;line-height:1.78}.stage-visual{min-height:430px}.stage-visual img{height:440px}.stage-side{align-self:start}.stage-character-list{max-height:300px}.stage-character-list button{grid-template-columns:68px 1fr}.stage-character-list img{width:68px;height:50px}.stage-bars span{grid-template-columns:48px 1fr 32px}}
@media (max-width:480px){.official-class-stage{min-height:1120px}.official-race-panel{padding:18px}.stage-copy h3{font-size:38px}.stage-visual{min-height:360px}.stage-visual img{height:375px}.stage-tags span{font-size:12px}.stage-stat-card{padding:16px}.official-race-tabs button{min-width:90px;font-size:13px}}


/* === v16.3 user requested refinements: official tabs, larger class art, bright boss video === */
/* 職業選項卡：改成更接近官方頁上方切換列的黑底金色膠囊風格 */
.official-race-tabs{
  max-width:1120px;
  border-radius:999px;
  padding:10px 14px;
  gap:8px;
  border:1px solid rgba(240,205,124,.18);
  background:linear-gradient(180deg,rgba(3,4,10,.88),rgba(3,4,10,.72));
  box-shadow:0 18px 46px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.035);
}
.official-race-tabs button{
  min-width:96px;
  border-radius:999px;
  padding:12px 17px;
  border-color:transparent;
  background:transparent;
  color:#f0e7d8;
  box-shadow:none;
}
.official-race-tabs button::before{display:none}
.official-race-tabs button:hover{
  transform:translateY(-1px);
  color:#fff2d0;
  background:rgba(240,205,124,.08);
  border-color:rgba(240,205,124,.20);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.official-race-tabs button.active{
  transform:translateY(0);
  background:linear-gradient(135deg,#f4d177,#d8a644);
  color:#170f07;
  border-color:rgba(255,226,164,.72);
  box-shadow:0 14px 34px rgba(218,166,68,.26),inset 0 1px 0 rgba(255,255,255,.28);
}

/* 職業人物圖片放大：保留目前互動展示版本，只把主舞台角色拉大 */
.official-class-stage{min-height:800px}
.official-race-panel{grid-template-columns:minmax(280px,.88fr) minmax(430px,1.48fr) minmax(270px,.82fr)}
.stage-visual{min-height:735px;overflow:visible}
.stage-visual::before{width:min(520px,96%);height:92px;bottom:3%}
.stage-visual img{
  width:118%;
  max-width:none;
  height:790px;
  object-fit:contain;
  object-position:center bottom;
}
@keyframes stageFloat{0%,100%{transform:translateY(0) scale(1.04)}50%{transform:translateY(-10px) scale(1.04)}}
@media (max-width:1120px){.official-class-stage{min-height:1060px}.stage-visual{min-height:640px}.stage-visual img{width:112%;height:660px}}
@media (max-width:760px){.official-race-tabs{border-radius:24px}.official-class-stage{min-height:1220px}.stage-visual{min-height:480px;overflow:hidden}.stage-visual img{width:120%;height:500px}}
@media (max-width:480px){.official-class-stage{min-height:1160px}.stage-visual{min-height:390px}.stage-visual img{width:122%;height:420px}}

/* 首領副本：最上方龍族影片全面調亮，降低暗色遮罩 */
.boss-page .boss-dragon-hero{background:#08090f;min-height:560px}
.boss-page .boss-dragon-hero .page-hero-bg-video{
  opacity:1;
  filter:brightness(2.35) contrast(1.16) saturate(1.22);
  transform:scale(1.015);
}
.boss-page .boss-dragon-hero .page-video-scrim{
  background:
    linear-gradient(90deg,rgba(3,4,7,.70),rgba(3,4,7,.28) 36%,rgba(3,4,7,.00) 70%,rgba(3,4,7,.04)),
    linear-gradient(180deg,rgba(0,0,0,.02),rgba(7,8,13,.20)),
    radial-gradient(circle at 80% 24%,rgba(255,220,132,.20),transparent 22rem);
}
.boss-page .boss-dragon-hero::before{
  background:linear-gradient(180deg,rgba(0,0,0,.00),rgba(7,8,13,.16));
}
.boss-page .boss-dragon-hero .container{position:relative;z-index:2}
.boss-page .boss-dragon-hero h1,.boss-page .boss-dragon-hero .page-lead{text-shadow:0 8px 28px rgba(0,0,0,.82)}
.boss-page .dragon-video-card .cinema-video{filter:brightness(1.35) contrast(1.08) saturate(1.10)}


/* === v17 mobile world class panel + HTTP player iframe fix ===
   1) 行動版職業舞台改成內容自動高度，避免底部職業選項被父層裁切。
   2) 行動版職業圖片改為 cover 填滿視覺區，修掉人物圖上方大片空白。 */
@media (max-width:760px){
  body.official-class-switch-page .official-class-stage{
    min-height:0 !important;
    height:auto !important;
    overflow:visible !important;
  }
  body.official-class-switch-page .official-race-panel{
    position:relative !important;
    inset:auto !important;
    display:none !important;
    grid-template-columns:1fr !important;
    grid-template-areas:"copy" "visual" "side" !important;
    gap:18px !important;
    padding:22px !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }
  body.official-class-switch-page .official-race-panel.active{
    display:grid !important;
  }
  body.official-class-switch-page .stage-copy{
    grid-area:copy !important;
    align-self:start !important;
    padding:6px 0 0 !important;
  }
  body.official-class-switch-page .stage-visual{
    grid-area:visual !important;
    height:320px !important;
    min-height:320px !important;
    overflow:hidden !important;
    border-radius:18px !important;
    border:1px solid rgba(255,225,164,.10) !important;
    background:linear-gradient(180deg,rgba(10,13,38,.62),rgba(4,5,14,.82)) !important;
  }
  body.official-class-switch-page .stage-visual::before{
    bottom:6px !important;
    width:min(440px,115%) !important;
    height:64px !important;
  }
  body.official-class-switch-page .stage-visual img{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:62% center !important;
    transform:none !important;
    animation:none !important;
  }
  body.official-class-switch-page .stage-side{
    grid-area:side !important;
    align-self:start !important;
  }
  body.official-class-switch-page .stage-character-list{
    max-height:none !important;
    overflow:visible !important;
    padding-right:0 !important;
    padding-bottom:4px !important;
  }
  body.official-class-switch-page .official-class-stage-section .job-note{
    margin-top:20px !important;
  }
}
@media (max-width:480px){
  body.official-class-switch-page .official-race-panel{
    padding:18px !important;
  }
  body.official-class-switch-page .stage-visual{
    height:300px !important;
    min-height:300px !important;
  }
  body.official-class-switch-page .stage-copy h3{
    font-size:38px !important;
  }
}
@media (max-width:360px){
  body.official-class-switch-page .stage-visual{
    height:280px !important;
    min-height:280px !important;
  }
}

/* === v18: fixed top header / scroll lock ===
   讓最上方導覽列固定在視窗頂端，不會因頁面捲動消失。
   同時保留 header 高度，避免內容被 fixed header 蓋住。
*/
:root{
  --dr-fixed-header-height:82px;
}
body{
  padding-top:var(--dr-fixed-header-height);
}
.site-header,
body.official-video-page > header.site-header{
  position:fixed !important;
  top:0;
  left:0;
  right:0;
  width:100%;
  z-index:9999 !important;
}
@media (max-width:880px){
  :root{
    --dr-fixed-header-height:74px;
  }
}

/* === v19: 首頁皇金天堂二書法字體修正 ===
   目標：首頁中間「皇金天堂二」改為圖2大型金色筆刷字；
         header「皇金天堂II 芙蕾雅」改為另一套書法藝術字，兩者不要撞字型。
*/

/* Header 品牌文字：用 CSS 直接重畫成「皇金天堂II 芙蕾雅」，並使用與主標不同的書法藝術字 */
.site-header .brand span,
.home-page .site-header .brand span,
body.official-video-page .site-header .brand span{
  display:inline-block;
  white-space:nowrap;
  font-size:0 !important;
  line-height:1;
  letter-spacing:0;
  color:transparent !important;
  -webkit-text-fill-color:transparent;
  text-shadow:none !important;
  filter:none !important;
}
.site-header .brand span::before,
.home-page .site-header .brand span::before,
body.official-video-page .site-header .brand span::before{
  content:"皇金天堂II 芙蕾雅";
  display:inline-block;
  font-family:"Zhi Mang Xing","DFKai-SB","KaiTi TC","KaiTi","標楷體","Noto Serif TC",serif !important;
  font-size:26px;
  line-height:1;
  font-weight:400 !important;
  letter-spacing:.08em;
  transform:translateY(1px) skewX(-4deg);
  color:#ffe8a9;
  background:linear-gradient(180deg,#fff7d5 0%,#ffe19a 34%,#d7a044 66%,#875719 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:.35px rgba(255,231,164,.36);
  text-shadow:
    0 1px 0 rgba(74,36,7,.65),
    0 0 12px rgba(255,210,104,.28),
    0 8px 20px rgba(0,0,0,.75);
  filter:drop-shadow(0 0 8px rgba(255,214,120,.16));
}
.site-header .brand span::after{
  content:"";
  display:block;
  height:1px;
  margin-top:3px;
  background:linear-gradient(90deg,transparent,rgba(255,225,153,.68),rgba(185,41,34,.34),transparent);
  opacity:.78;
}

/* 首頁中間主標：先把原本第一行文字藏起來，再用 CSS 偽元素重畫成圖2風格 */
.home-page .hero-brush-title,
body.official-video-page .hero-brush-title{
  --dr-brush-title-size:clamp(82px,9.3vw,154px);
  --dr-brush-swipe-y:clamp(47px,5.9vw,90px);
  --dr-brush-swipe-h:clamp(10px,1.15vw,19px);
  position:relative;
  display:inline-block;
  margin-top:18px;
  margin-bottom:8px;
  font-size:0 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  color:transparent !important;
  text-shadow:none !important;
  filter:none !important;
}
.home-page .hero-brush-title br,
body.official-video-page .hero-brush-title br{
  display:none;
}
.home-page .hero-brush-title::before,
body.official-video-page .hero-brush-title::before{
  content:"皇金天堂二";
  position:relative;
  z-index:2;
  display:block;
  font-family:"Ma Shan Zheng","KaiTi TC","STKaiti","DFKai-SB","標楷體","Noto Serif TC",serif !important;
  font-size:var(--dr-brush-title-size) !important;
  line-height:.86 !important;
  font-weight:400 !important;
  letter-spacing:.005em !important;
  color:#fff1be;
  background:
    linear-gradient(180deg,#fff9d7 0%,#ffe8a2 27%,#f6c66f 48%,#b97722 75%,#6f3c0c 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:.55px rgba(255,240,184,.50);
  text-shadow:
    0 3px 0 rgba(91,47,10,.72),
    0 10px 25px rgba(0,0,0,.92),
    0 0 30px rgba(255,197,89,.26),
    0 0 54px rgba(143,8,22,.18);
  filter:
    drop-shadow(0 4px 0 rgba(84,42,7,.48))
    drop-shadow(0 17px 32px rgba(0,0,0,.82))
    drop-shadow(0 0 18px rgba(255,214,128,.22));
}

/* 筆刷橫掃光感：模擬圖2「皇金天堂二」下方那條金色刷痕 */
.home-page .hero-brush-title::after,
body.official-video-page .hero-brush-title::after{
  content:"";
  position:absolute;
  z-index:1;
  left:-3%;
  top:var(--dr-brush-swipe-y);
  width:82%;
  height:var(--dr-brush-swipe-h);
  transform:skewX(-18deg) rotate(-1.8deg);
  border-radius:999px;
  background:
    linear-gradient(90deg,transparent 0%,rgba(124,58,9,.62) 8%,rgba(255,225,151,.88) 34%,rgba(255,163,56,.76) 58%,rgba(116,41,8,.38) 82%,transparent 100%);
  filter:blur(.4px) drop-shadow(0 0 14px rgba(255,187,70,.36));
  opacity:.92;
  pointer-events:none;
}

/* 第二行「芙蕾雅」保留厚重端正金字，跟圖2下排一致 */
.home-page .hero-brush-title .gold,
body.official-video-page .hero-brush-title .gold{
  position:relative;
  z-index:3;
  display:block;
  margin-top:.06em;
  font-family:"Noto Serif TC","Source Han Serif TC","PMingLiU","MingLiU",serif !important;
  font-size:clamp(62px,7.1vw,118px) !important;
  line-height:.96 !important;
  font-weight:900 !important;
  letter-spacing:.045em !important;
  color:#ffe9ac;
  background:linear-gradient(180deg,#fff8d2 0%,#f8d681 42%,#bd812a 77%,#7a440d 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:.45px rgba(255,239,187,.42);
  text-shadow:
    0 3px 0 rgba(72,36,7,.70),
    0 12px 30px rgba(0,0,0,.94),
    0 0 24px rgba(255,213,130,.20);
  filter:drop-shadow(0 12px 25px rgba(0,0,0,.78));
}

/* 讓主標區在桌機更接近圖2的位置與大小 */
.home-page .hero-video-content{
  width:min(980px,100%);
  padding-top:150px;
}
.home-page .hero-video-content .lead{
  max-width:900px;
  margin-top:24px;
}

@media (max-width:1180px){
  .site-header .brand span::before,
  .home-page .site-header .brand span::before,
  body.official-video-page .site-header .brand span::before{
    font-size:22px;
    letter-spacing:.055em;
  }
}
@media (max-width:980px){
  .home-page .hero-brush-title,
  body.official-video-page .hero-brush-title{
    --dr-brush-title-size:clamp(66px,12vw,106px);
    --dr-brush-swipe-y:clamp(39px,7.5vw,64px);
    --dr-brush-swipe-h:clamp(8px,1.55vw,14px);
  }
  .home-page .hero-brush-title .gold,
  body.official-video-page .hero-brush-title .gold{
    font-size:clamp(50px,9vw,82px) !important;
  }
}
@media (max-width:640px){
  .site-header .brand span,
  .home-page .site-header .brand span,
  body.official-video-page .site-header .brand span{
    display:none !important;
  }
  .home-page .hero-brush-title,
  body.official-video-page .hero-brush-title{
    --dr-brush-title-size:clamp(48px,15vw,72px);
    --dr-brush-swipe-y:clamp(28px,9.6vw,43px);
    --dr-brush-swipe-h:clamp(6px,2.2vw,10px);
  }
  .home-page .hero-brush-title::before,
  body.official-video-page .hero-brush-title::before{
    letter-spacing:0 !important;
  }
  .home-page .hero-brush-title .gold,
  body.official-video-page .hero-brush-title .gold{
    font-size:clamp(40px,12.4vw,60px) !important;
  }
  .home-page .hero-video-content{
    padding-top:106px;
  }
}

/* === v20: 圖2同款金色書法筆刷主標 / Header 品牌強化版 ===
   只改 CSS：首頁中間「皇金天堂二」與上方品牌字，加入筆刷筆劃、金色立體、刷痕光影。
*/
:root{
  --dr-calligraphy-main:"Ma Shan Zheng","Liu Jian Mao Cao","Long Cang","KaiTi TC","STKaiti","DFKai-SB","標楷體",serif;
  --dr-calligraphy-header:"Ma Shan Zheng","Zhi Mang Xing","Liu Jian Mao Cao","Long Cang","KaiTi TC","STKaiti","DFKai-SB","標楷體",serif;
  --dr-gold-top:#fff9d6;
  --dr-gold-mid:#ffd77c;
  --dr-gold-deep:#b86b1d;
  --dr-gold-dark:#603005;
}

/* Header：皇金天堂II 芙蕾雅，改成金色書法筆刷立體字 */
.site-header .brand{
  gap:16px;
}
.site-header .brand span,
.home-page .site-header .brand span,
body.official-video-page .site-header .brand span{
  position:relative;
  display:inline-block !important;
  white-space:nowrap;
  font-size:0 !important;
  line-height:1 !important;
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  text-shadow:none !important;
  overflow:visible;
}
.site-header .brand span::before,
.home-page .site-header .brand span::before,
body.official-video-page .site-header .brand span::before{
  content:"皇金天堂II 芙蕾雅";
  position:relative;
  z-index:2;
  display:inline-block;
  font-family:var(--dr-calligraphy-header) !important;
  font-size:31px;
  line-height:.95;
  font-weight:400 !important;
  letter-spacing:.055em;
  transform:translateY(1px) skewX(-5deg);
  color:#ffe6a4;
  background:
    linear-gradient(180deg,#fffdf0 0%,#ffe59d 24%,#f7bf59 48%,#b86c1b 74%,#5d2d05 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:.55px rgba(255,239,184,.52);
  paint-order:stroke fill;
  text-shadow:
    0 1px 0 rgba(96,45,5,.95),
    0 2px 0 rgba(91,42,4,.80),
    0 4px 8px rgba(0,0,0,.76),
    0 0 13px rgba(255,211,103,.42),
    0 0 28px rgba(166,38,25,.22);
  filter:
    drop-shadow(0 3px 0 rgba(72,32,3,.52))
    drop-shadow(0 10px 15px rgba(0,0,0,.66));
}
.site-header .brand span::after,
.home-page .site-header .brand span::after,
body.official-video-page .site-header .brand span::after{
  content:"";
  position:absolute;
  z-index:1;
  left:-4%;
  right:2%;
  top:60%;
  height:7px;
  border-radius:999px;
  transform:skewX(-20deg) rotate(-1.4deg);
  background:
    linear-gradient(90deg,transparent 0%,rgba(118,48,6,.50) 8%,rgba(255,227,146,.72) 32%,rgba(244,148,41,.58) 58%,rgba(107,38,7,.36) 82%,transparent 100%);
  filter:blur(.35px) drop-shadow(0 0 9px rgba(255,190,70,.34));
  opacity:.72;
  pointer-events:none;
}

/* 首頁中間主標：第一行皇金天堂二，完全走圖2那種大筆刷金字 */
.home-page .hero-brush-title,
body.official-video-page .hero-brush-title{
  --dr-brush-title-size:clamp(86px,9.8vw,166px);
  --dr-brush-title-swipe-top:clamp(52px,6.05vw,98px);
  --dr-brush-title-swipe-height:clamp(12px,1.22vw,22px);
  position:relative !important;
  display:inline-block !important;
  width:max-content;
  max-width:100%;
  margin-top:20px !important;
  margin-bottom:10px !important;
  padding-right:.18em;
  font-size:0 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  text-shadow:none !important;
  filter:none !important;
  overflow:visible;
}
.home-page .hero-brush-title br,
body.official-video-page .hero-brush-title br{
  display:none !important;
}
.home-page .hero-brush-title::before,
body.official-video-page .hero-brush-title::before{
  content:"皇金天堂二";
  position:relative;
  z-index:3;
  display:block;
  font-family:var(--dr-calligraphy-main) !important;
  font-size:var(--dr-brush-title-size) !important;
  line-height:.82 !important;
  font-weight:400 !important;
  letter-spacing:-.012em !important;
  transform:skewX(-3deg) rotate(-.8deg);
  color:#fff0b2;
  background:
    linear-gradient(180deg,#fffce6 0%,#ffedb0 22%,#ffd47a 42%,#cc8429 66%,#7b410b 86%,#452001 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:.85px rgba(255,242,191,.62);
  paint-order:stroke fill;
  text-shadow:
    0 2px 0 rgba(126,63,9,.92),
    0 4px 0 rgba(87,39,5,.74),
    0 9px 18px rgba(0,0,0,.88),
    0 0 20px rgba(255,211,116,.46),
    0 0 54px rgba(174,17,31,.20);
  filter:
    drop-shadow(0 4px 0 rgba(89,39,4,.58))
    drop-shadow(0 16px 24px rgba(0,0,0,.82))
    drop-shadow(0 0 18px rgba(255,214,126,.30));
}

/* 第一行下方的金色橫向筆刷，做出圖2那條掃筆感 */
.home-page .hero-brush-title::after,
body.official-video-page .hero-brush-title::after{
  content:"";
  position:absolute;
  z-index:2;
  left:-4.5%;
  top:var(--dr-brush-title-swipe-top);
  width:86%;
  height:var(--dr-brush-title-swipe-height);
  border-radius:999px;
  transform:skewX(-22deg) rotate(-2.1deg);
  background:
    linear-gradient(90deg,transparent 0%,rgba(102,39,4,.56) 7%,rgba(255,238,161,.95) 30%,rgba(255,170,52,.88) 57%,rgba(122,42,6,.45) 82%,transparent 100%);
  box-shadow:
    0 0 16px rgba(255,190,62,.44),
    0 2px 7px rgba(107,42,7,.46);
  filter:blur(.35px);
  opacity:.96;
  pointer-events:none;
}

/* 第二行芙蕾雅：厚重金色立體，貼近圖2下排風格 */
.home-page .hero-brush-title .gold,
body.official-video-page .hero-brush-title .gold{
  position:relative !important;
  z-index:4;
  display:block !important;
  margin-top:.04em !important;
  padding-left:.02em;
  font-family:"Noto Serif TC","Source Han Serif TC","PMingLiU","MingLiU",serif !important;
  font-size:clamp(64px,7.25vw,124px) !important;
  line-height:.94 !important;
  font-weight:900 !important;
  letter-spacing:.045em !important;
  color:#ffe8a2 !important;
  background:
    linear-gradient(180deg,#fff9dd 0%,#ffe19a 33%,#d99c3d 62%,#8a4d0f 88%,#552803 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:.62px rgba(255,239,180,.48);
  paint-order:stroke fill;
  text-shadow:
    0 2px 0 rgba(103,50,7,.88),
    0 5px 0 rgba(66,29,3,.55),
    0 12px 24px rgba(0,0,0,.92),
    0 0 24px rgba(255,215,134,.24);
  filter:
    drop-shadow(0 6px 0 rgba(75,33,4,.42))
    drop-shadow(0 16px 24px rgba(0,0,0,.82));
}

/* 讓主標在桌機版更像圖2：大字、左側視覺重量更強 */
.home-page .hero-video-content,
body.official-video-page .hero-video-content{
  width:min(1040px,100%) !important;
  padding-top:148px !important;
}
.home-page .hero-video-content .lead,
body.official-video-page .hero-video-content .lead{
  max-width:910px;
  margin-top:24px;
}

@media (max-width:1180px){
  .site-header .brand span::before,
  .home-page .site-header .brand span::before,
  body.official-video-page .site-header .brand span::before{
    font-size:27px;
    letter-spacing:.04em;
  }
}
@media (max-width:980px){
  .home-page .hero-brush-title,
  body.official-video-page .hero-brush-title{
    --dr-brush-title-size:clamp(64px,12vw,112px);
    --dr-brush-title-swipe-top:clamp(39px,7.4vw,67px);
    --dr-brush-title-swipe-height:clamp(9px,1.65vw,15px);
  }
  .home-page .hero-brush-title .gold,
  body.official-video-page .hero-brush-title .gold{
    font-size:clamp(50px,9.3vw,86px) !important;
  }
  .home-page .hero-video-content,
  body.official-video-page .hero-video-content{
    padding-top:126px !important;
  }
}
@media (max-width:760px){
  .site-header .brand span::before,
  .home-page .site-header .brand span::before,
  body.official-video-page .site-header .brand span::before{
    font-size:23px;
  }
}
@media (max-width:640px){
  .site-header .brand span,
  .home-page .site-header .brand span,
  body.official-video-page .site-header .brand span{
    display:none !important;
  }
  .home-page .hero-brush-title,
  body.official-video-page .hero-brush-title{
    --dr-brush-title-size:clamp(48px,15.4vw,76px);
    --dr-brush-title-swipe-top:clamp(29px,9.5vw,45px);
    --dr-brush-title-swipe-height:clamp(7px,2.2vw,11px);
  }
  .home-page .hero-brush-title::before,
  body.official-video-page .hero-brush-title::before{
    letter-spacing:-.02em !important;
  }
  .home-page .hero-brush-title .gold,
  body.official-video-page .hero-brush-title .gold{
    font-size:clamp(40px,12.8vw,62px) !important;
  }
  .home-page .hero-video-content,
  body.official-video-page .hero-video-content{
    padding-top:104px !important;
  }
}


/* =========================================================
   v23 FORCE BRIGHT GOLD：直接改「實字」，不再用透明漸層吃色
   修正：舊版 background-clip + transparent 造成手機看起來整排暗色。
   ========================================================= */
:root{
  --dr-v23-brush-font:"Ma Shan Zheng","Zhi Mang Xing","Liu Jian Mao Cao","Long Cang","DFKai-SB","KaiTi TC","KaiTi","STKaiti","標楷體","Noto Serif TC",serif;
  --dr-v23-gold-solid:#fff1a8;
  --dr-v23-gold-hot:#ffd36a;
  --dr-v23-gold-edge:#b76512;
  --dr-v23-gold-dark:#4a1f02;
}

/* 先把舊版用 ::before 重畫皇金天堂二的方式關掉，避免透明漸層又把字弄暗 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::before,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::before{
  content:none !important;
  display:none !important;
}

/* 首頁主標：直接讓原本 HTML 文字變成亮金，不靠透明背景裁切 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title,
html body .hero-video-content h1.hero-brush-title,
html body .hero-content h1.hero-brush-title{
  position:relative !important;
  display:inline-block !important;
  width:max-content !important;
  max-width:100% !important;
  margin-top:20px !important;
  margin-bottom:14px !important;
  padding:.02em .14em .08em .01em !important;
  font-family:var(--dr-v23-brush-font) !important;
  font-size:clamp(76px,13.8vw,168px) !important;
  line-height:.84 !important;
  font-weight:400 !important;
  letter-spacing:-.035em !important;
  transform:skewX(-6deg) rotate(-1.1deg) !important;
  color:var(--dr-v23-gold-solid) !important;
  -webkit-text-fill-color:var(--dr-v23-gold-solid) !important;
  -webkit-text-stroke:1.2px rgba(255,249,210,.84) !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  paint-order:stroke fill !important;
  text-rendering:geometricPrecision !important;
  -webkit-font-smoothing:antialiased !important;
  text-shadow:
    -2px -1px 0 #fffbe3,
    1px 1px 0 #ffd36a,
    3px 3px 0 #c87616,
    5px 6px 0 #6e2c03,
    8px 10px 0 rgba(35,10,0,.72),
    0 12px 24px rgba(0,0,0,.95),
    0 0 18px rgba(255,238,154,.90),
    0 0 42px rgba(255,190,70,.72),
    0 0 78px rgba(177,0,32,.42) !important;
  filter:
    drop-shadow(0 4px 0 rgba(173,84,8,.70))
    drop-shadow(0 10px 0 rgba(65,24,1,.42))
    drop-shadow(0 22px 28px rgba(0,0,0,.92))
    drop-shadow(0 0 22px rgba(255,213,98,.72)) !important;
  overflow:visible !important;
  isolation:isolate !important;
  white-space:normal !important;
}

/* 讓換行恢復，避免舊版 br display:none 導致整串擠在一起 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title br,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title br{
  display:block !important;
}

/* 橫向亮金刷痕：放在「皇金天堂二」下緣，像圖2那條刷過去的筆跡 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::after,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::after{
  content:"" !important;
  position:absolute !important;
  z-index:-1 !important;
  left:-6% !important;
  top:.56em !important;
  width:91% !important;
  height:.105em !important;
  min-height:10px !important;
  border-radius:999px !important;
  transform:skewX(-24deg) rotate(-2.4deg) !important;
  background:
    radial-gradient(ellipse at 18% 50%,rgba(255,255,226,.98) 0 10%,transparent 21%),
    radial-gradient(ellipse at 58% 48%,rgba(255,199,62,.95) 0 24%,transparent 52%),
    linear-gradient(90deg,transparent 0%,rgba(77,22,2,.38) 6%,rgba(255,246,178,1) 30%,rgba(255,190,58,.96) 55%,rgba(177,75,8,.65) 80%,transparent 100%) !important;
  box-shadow:
    0 0 20px rgba(255,222,105,.88),
    0 5px 10px rgba(66,24,2,.72),
    14px 0 22px rgba(194,30,42,.34) !important;
  filter:blur(.18px) contrast(1.20) saturate(1.22) !important;
  opacity:1 !important;
  pointer-events:none !important;
  clip-path:polygon(0 50%,5% 18%,13% 36%,23% 24%,34% 42%,47% 22%,62% 39%,76% 25%,92% 44%,100% 30%,96% 72%,82% 62%,68% 78%,54% 61%,39% 76%,24% 60%,9% 78%,0 66%) !important;
}

/* 第二行「芙蕾雅」：也改成亮金，不再吃暗色漸層 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title :is(.gold,.text-gold,span),
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title :is(.gold,.text-gold,span){
  position:relative !important;
  z-index:2 !important;
  display:block !important;
  margin-top:.08em !important;
  padding-left:.04em !important;
  font-family:"Noto Serif TC","Source Han Serif TC","PMingLiU","MingLiU","Microsoft JhengHei",serif !important;
  font-size:clamp(58px,8.3vw,126px) !important;
  line-height:.92 !important;
  font-weight:900 !important;
  letter-spacing:.055em !important;
  transform:skewX(3deg) rotate(.2deg) !important;
  color:#ffefaa !important;
  -webkit-text-fill-color:#ffefaa !important;
  -webkit-text-stroke:.95px rgba(255,245,202,.72) !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  paint-order:stroke fill !important;
  text-shadow:
    -1px -1px 0 #fffbe1,
    1px 1px 0 #ffd06b,
    3px 3px 0 #b96813,
    5px 6px 0 #5e2703,
    0 12px 24px rgba(0,0,0,.95),
    0 0 18px rgba(255,229,130,.76),
    0 0 42px rgba(255,174,51,.44) !important;
  filter:
    drop-shadow(0 5px 0 rgba(119,50,4,.62))
    drop-shadow(0 18px 24px rgba(0,0,0,.88))
    drop-shadow(0 0 18px rgba(255,211,99,.52)) !important;
}

/* 第二行底部淡金刷痕 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title :is(.gold,.text-gold,span)::after,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title :is(.gold,.text-gold,span)::after{
  content:"" !important;
  position:absolute !important;
  left:-3% !important;
  right:10% !important;
  bottom:.16em !important;
  height:.12em !important;
  z-index:-1 !important;
  border-radius:999px !important;
  transform:skewX(-18deg) rotate(-1.2deg) !important;
  background:linear-gradient(90deg,transparent,rgba(255,240,160,.72) 25%,rgba(255,172,54,.58) 58%,rgba(87,28,3,.28),transparent) !important;
  filter:blur(.42px) drop-shadow(0 0 10px rgba(255,195,75,.36)) !important;
  opacity:.88 !important;
  pointer-events:none !important;
}

/* Header 品牌也改成亮金，保留 CSS 重畫字，但不要再用 transparent */
html body .site-header .brand span,
html body.home-page .site-header .brand span,
html body.official-video-page .site-header .brand span{
  position:relative !important;
  display:inline-block !important;
  white-space:nowrap !important;
  font-size:0 !important;
  line-height:1 !important;
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  text-shadow:none !important;
  overflow:visible !important;
}
html body .site-header .brand span::before,
html body.home-page .site-header .brand span::before,
html body.official-video-page .site-header .brand span::before{
  content:"皇金天堂II 芙蕾雅" !important;
  position:relative !important;
  z-index:2 !important;
  display:inline-block !important;
  font-family:"Zhi Mang Xing","Ma Shan Zheng","DFKai-SB","KaiTi TC","標楷體",serif !important;
  font-size:32px !important;
  line-height:.95 !important;
  font-weight:400 !important;
  letter-spacing:.052em !important;
  transform:skewX(-5deg) translateY(1px) !important;
  color:#fff1ad !important;
  -webkit-text-fill-color:#fff1ad !important;
  -webkit-text-stroke:.62px rgba(255,246,204,.74) !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  text-shadow:
    -1px -1px 0 #fff9da,
    1px 1px 0 #ffd06c,
    2px 3px 0 #a65a0e,
    0 6px 10px rgba(0,0,0,.82),
    0 0 16px rgba(255,214,103,.66) !important;
  filter:drop-shadow(0 3px 0 rgba(82,33,3,.54)) drop-shadow(0 0 12px rgba(255,210,88,.46)) !important;
}
html body .site-header .brand span::after,
html body.home-page .site-header .brand span::after,
html body.official-video-page .site-header .brand span::after{
  content:"" !important;
  position:absolute !important;
  z-index:1 !important;
  left:-5% !important;
  right:4% !important;
  top:62% !important;
  height:7px !important;
  border-radius:999px !important;
  transform:skewX(-22deg) rotate(-1.5deg) !important;
  background:linear-gradient(90deg,transparent,rgba(255,239,166,.92) 34%,rgba(234,132,31,.78) 58%,rgba(80,27,4,.40),transparent) !important;
  filter:blur(.28px) drop-shadow(0 0 10px rgba(255,190,70,.52)) !important;
  opacity:.95 !important;
  pointer-events:none !important;
}

/* 手機尺寸不要再被壓到像暗色小字 */
@media (max-width:760px){
  html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title,
  html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title{
    font-size:clamp(58px,17vw,96px) !important;
    -webkit-text-stroke:.9px rgba(255,249,210,.86) !important;
    text-shadow:
      -1px -1px 0 #fffbe3,
      1px 1px 0 #ffd36a,
      3px 3px 0 #bb6a13,
      5px 6px 0 #542202,
      0 10px 20px rgba(0,0,0,.95),
      0 0 22px rgba(255,223,118,.88) !important;
  }
  html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title :is(.gold,.text-gold,span),
  html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title :is(.gold,.text-gold,span){
    font-size:clamp(42px,12.6vw,70px) !important;
  }
  html body .site-header .brand span,
  html body.home-page .site-header .brand span,
  html body.official-video-page .site-header .brand span{
    display:none !important;
  }
}


/* =========================================================
   V26 CLEAN BRUSH TAIL：收斂霧光 + 加強毛筆拖尾筆劃
   - 拿掉大範圍 glow / blur，避免蓋住下面文字
   - 用硬邊陰影 + 殘墨拖影做毛筆字尾巴
   - 放在檔案最底部，覆蓋前面 v23 設定
   ========================================================= */
:root{
  --dr-v26-gold:#ffe7a6;
  --dr-v26-gold-hi:#fff8d8;
  --dr-v26-gold-mid:#e2a547;
  --dr-v26-gold-deep:#7d3b0a;
  --dr-v26-ink:#2b1204;
}

/* 主標整體：不要再用擴散霧光，改成清楚的亮金筆刷字 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title,
html body .hero-video-content h1.hero-brush-title,
html body .hero-content h1.hero-brush-title{
  position:relative !important;
  display:inline-block !important;
  width:max-content !important;
  max-width:100% !important;
  margin-top:18px !important;
  margin-bottom:18px !important;
  padding:.01em .13em .05em 0 !important;
  font-family:"Zhi Mang Xing","Ma Shan Zheng","Liu Jian Mao Cao","DFKai-SB","KaiTi TC","STKaiti","標楷體",serif !important;
  font-size:clamp(64px,11.2vw,132px) !important;
  line-height:.84 !important;
  font-weight:400 !important;
  letter-spacing:-.045em !important;
  transform:skewX(-7deg) rotate(-.8deg) !important;
  color:var(--dr-v26-gold) !important;
  -webkit-text-fill-color:var(--dr-v26-gold) !important;
  -webkit-text-stroke:.45px rgba(255,250,224,.88) !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  paint-order:stroke fill !important;
  text-rendering:geometricPrecision !important;
  -webkit-font-smoothing:antialiased !important;

  /* 只保留硬邊立體，不用大半徑模糊光暈 */
  text-shadow:
    0 1px 0 var(--dr-v26-gold-hi),
    1px 2px 0 var(--dr-v26-gold-mid),
    2px 3px 0 #b56818,
    3px 5px 0 var(--dr-v26-gold-deep),
    0 7px 11px rgba(0,0,0,.58),

    /* 右側殘墨拖尾：每個字筆劃後面會拉出一點筆尾 */
    5px 1px 0 rgba(255,222,125,.18),
    9px 2px 0 rgba(199,111,28,.13),
    13px 3px 0 rgba(88,37,6,.09) !important;

  filter:drop-shadow(0 6px 9px rgba(0,0,0,.36)) !important;
  overflow:visible !important;
  isolation:isolate !important;
  white-space:normal !important;
}

/* 恢復換行，避免第一行與第二行被擠在一起 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title br,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title br{
  display:block !important;
}

/* 第一行「皇金天堂二」毛筆拖尾層：不是霧光，是細碎殘墨 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::before,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::before{
  content:"皇金天堂二" !important;
  position:absolute !important;
  left:.075em !important;
  top:.01em !important;
  z-index:0 !important;
  display:block !important;
  font:inherit !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
  transform:translateX(.035em) skewX(-3deg) !important;
  color:rgba(255,220,122,.30) !important;
  -webkit-text-fill-color:rgba(255,220,122,.30) !important;
  -webkit-text-stroke:0 transparent !important;
  background:none !important;
  text-shadow:
    .045em .006em 0 rgba(255,245,190,.18),
    .090em .018em 0 rgba(219,133,35,.14),
    .145em .030em 0 rgba(97,40,5,.10) !important;
  filter:none !important;
  opacity:.76 !important;
  pointer-events:none !important;

  /* 橫向斷墨，讓拖尾有毛筆刷絲，不是一整團光 */
  -webkit-mask-image:
    repeating-linear-gradient(180deg,#000 0 4px,transparent 4px 8px),
    linear-gradient(90deg,transparent 0%,#000 10%,#000 86%,transparent 100%) !important;
  mask-image:
    repeating-linear-gradient(180deg,#000 0 4px,transparent 4px 8px),
    linear-gradient(90deg,transparent 0%,#000 10%,#000 86%,transparent 100%) !important;
}

/* 第一行橫向刷痕：變細、變短陰影，不會蓋到下面段落 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::after,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::after{
  content:"" !important;
  position:absolute !important;
  z-index:0 !important;
  left:-2.5% !important;
  top:.575em !important;
  width:87% !important;
  height:.048em !important;
  min-height:5px !important;
  border-radius:999px !important;
  transform:skewX(-30deg) rotate(-1.8deg) !important;
  background:
    radial-gradient(ellipse at 12% 50%,rgba(255,248,205,.82) 0 8%,transparent 18%),
    radial-gradient(ellipse at 32% 50%,rgba(255,229,140,.72) 0 7%,transparent 16%),
    radial-gradient(ellipse at 53% 48%,rgba(241,177,66,.70) 0 8%,transparent 18%),
    radial-gradient(ellipse at 73% 50%,rgba(210,119,28,.55) 0 6%,transparent 15%),
    linear-gradient(90deg,transparent 0%,rgba(255,238,170,.60) 10%,rgba(255,218,122,.90) 32%,rgba(224,148,46,.78) 65%,rgba(111,44,6,.35) 88%,transparent 100%) !important;
  box-shadow:0 1px 4px rgba(80,32,4,.22) !important;
  filter:none !important;
  opacity:.90 !important;
  pointer-events:none !important;
  clip-path:polygon(0 54%,5% 35%,14% 44%,24% 33%,37% 48%,50% 36%,64% 48%,79% 34%,100% 45%,96% 62%,82% 56%,67% 67%,51% 56%,35% 67%,18% 57%,7% 66%,0 62%) !important;
}

/* 第二行「芙蕾雅」：亮金但收小陰影，避免壓住下面文字 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title :is(.gold,.text-gold,span),
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title :is(.gold,.text-gold,span){
  position:relative !important;
  z-index:2 !important;
  display:block !important;
  margin-top:.025em !important;
  padding-left:.04em !important;
  font-family:"Noto Serif TC","Source Han Serif TC","PMingLiU","MingLiU","Microsoft JhengHei",serif !important;
  font-size:clamp(48px,7vw,104px) !important;
  line-height:.90 !important;
  font-weight:900 !important;
  letter-spacing:.035em !important;
  transform:skewX(2deg) rotate(.1deg) !important;
  color:#ffefb2 !important;
  -webkit-text-fill-color:#ffefb2 !important;
  -webkit-text-stroke:.50px rgba(255,246,210,.72) !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  text-shadow:
    0 1px 0 #fff7d4,
    1px 2px 0 #d9a048,
    2px 4px 0 #7f3d0d,
    0 7px 11px rgba(0,0,0,.50) !important;
  filter:drop-shadow(0 6px 8px rgba(0,0,0,.30)) !important;
}

/* 第二行底部刷痕也收斂 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title :is(.gold,.text-gold,span)::after,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title :is(.gold,.text-gold,span)::after{
  content:"" !important;
  position:absolute !important;
  left:-1.5% !important;
  right:18% !important;
  bottom:.155em !important;
  height:.055em !important;
  z-index:-1 !important;
  border-radius:999px !important;
  transform:skewX(-20deg) rotate(-1deg) !important;
  background:linear-gradient(90deg,transparent,rgba(255,238,172,.38) 24%,rgba(222,151,46,.34) 56%,rgba(96,34,5,.12),transparent) !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:.62 !important;
  pointer-events:none !important;
}

/* 下面的說明文字、按鈕層級拉高，避免任何裝飾層蓋住 */
html body :is(.hero-video-content,.hero-content) .lead,
html body :is(.hero-video-content,.hero-content) .actions,
html body :is(.hero-video-content,.hero-content) .hero-slide-meta,
html body :is(.hero-video-content,.hero-content) .hero-video-stats{
  position:relative !important;
  z-index:8 !important;
}

/* Header 品牌也收掉霧光 */
html body .site-header .brand span::before,
html body.home-page .site-header .brand span::before,
html body.official-video-page .site-header .brand span::before{
  color:#ffe8a6 !important;
  -webkit-text-fill-color:#ffe8a6 !important;
  text-shadow:
    0 1px 0 #fff7d4,
    1px 2px 0 #d29a42,
    0 4px 6px rgba(0,0,0,.46) !important;
  filter:none !important;
}
html body .site-header .brand span::after,
html body.home-page .site-header .brand span::after,
html body.official-video-page .site-header .brand span::after{
  height:4px !important;
  opacity:.62 !important;
  box-shadow:none !important;
  filter:none !important;
}

@media (max-width:760px){
  html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title,
  html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title{
    font-size:clamp(52px,14.8vw,84px) !important;
    margin-bottom:14px !important;
    -webkit-text-stroke:.42px rgba(255,249,222,.9) !important;
    text-shadow:
      0 1px 0 #fff6cf,
      1px 2px 0 #dda248,
      2px 3px 0 #78390a,
      0 6px 9px rgba(0,0,0,.55),
      5px 1px 0 rgba(255,218,118,.12),
      9px 2px 0 rgba(150,67,14,.08) !important;
    filter:drop-shadow(0 5px 7px rgba(0,0,0,.34)) !important;
  }
  html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::after,
  html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::after{
    top:.585em !important;
    height:.045em !important;
    min-height:4px !important;
    opacity:.82 !important;
  }
  html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title :is(.gold,.text-gold,span),
  html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title :is(.gold,.text-gold,span){
    font-size:clamp(38px,10.6vw,60px) !important;
    text-shadow:
      0 1px 0 #fff6cf,
      1px 2px 0 #d99d45,
      0 5px 8px rgba(0,0,0,.46) !important;
    filter:none !important;
  }
}


/* =========================================================
   V27 CLEAR GLYPH BRUSH FIX
   修正：
   1) 「堂」字被擠成一團：取消負字距、降低傾斜、移除重複文字拖影。
   2) 「二」字太短：用獨立筆劃延伸層補長二字的上、下橫筆。
   3) 保留亮金、硬邊立體陰影、細碎毛筆拖尾，不再用大霧光。
   ========================================================= */
:root{
  --dr-v27-gold:#ffe9a8;
  --dr-v27-gold-hi:#fff9dc;
  --dr-v27-gold-mid:#d99a35;
  --dr-v27-gold-deep:#6d3008;
  --dr-v27-ink:#2a1103;
}

/* 主標第一行：字距放開，讓「堂」不再糊成一坨 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title,
html body .hero-video-content h1.hero-brush-title,
html body .hero-content h1.hero-brush-title{
  position:relative !important;
  display:inline-block !important;
  width:max-content !important;
  max-width:100% !important;
  margin-top:18px !important;
  margin-bottom:16px !important;
  padding:.02em .26em .06em .02em !important;
  font-family:"Ma Shan Zheng","Zhi Mang Xing","Liu Jian Mao Cao","DFKai-SB","KaiTi TC","STKaiti","標楷體",serif !important;
  font-size:clamp(62px,10.4vw,124px) !important;
  line-height:.95 !important;
  font-weight:400 !important;

  /* 重點：不要負字距，堂字才不會擠壞 */
  letter-spacing:.055em !important;
  word-spacing:normal !important;
  transform:skewX(-3.5deg) rotate(-.45deg) !important;

  color:var(--dr-v27-gold) !important;
  -webkit-text-fill-color:var(--dr-v27-gold) !important;
  -webkit-text-stroke:.38px rgba(255,250,224,.90) !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  paint-order:stroke fill !important;
  text-rendering:geometricPrecision !important;
  -webkit-font-smoothing:antialiased !important;
  overflow:visible !important;
  isolation:isolate !important;
  white-space:normal !important;

  /* 硬邊立體 + 輕微右向筆尾，不用大模糊 */
  text-shadow:
    0 1px 0 var(--dr-v27-gold-hi),
    1px 2px 0 var(--dr-v27-gold-mid),
    2px 3px 0 #a85a11,
    3px 4px 0 var(--dr-v27-gold-deep),
    0 6px 9px rgba(0,0,0,.62),
    .045em .006em 0 rgba(255,224,126,.11),
    .078em .013em 0 rgba(132,56,10,.08) !important;
  filter:drop-shadow(0 5px 7px rgba(0,0,0,.30)) !important;
}

/* 保持上下兩行正常斷開 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title br,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title br,
html body .hero-video-content h1.hero-brush-title br,
html body .hero-content h1.hero-brush-title br{
  display:block !important;
  content:"" !important;
  margin:0 !important;
}

/* 取消 v26 的重複「皇金天堂二」拖影，這就是堂字看起來擠爛的主因 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::before,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::before,
html body .hero-video-content h1.hero-brush-title::before,
html body .hero-content h1.hero-brush-title::before{
  content:"" !important;
  position:absolute !important;
  z-index:3 !important;
  pointer-events:none !important;

  /* 補長最後一個「二」字：上橫 + 下橫，帶毛邊 */
  left:calc(100% - 1.28em) !important;
  top:.18em !important;
  width:1.06em !important;
  height:.46em !important;
  opacity:.92 !important;
  transform:skewX(-6deg) rotate(-1deg) !important;
  background:
    linear-gradient(90deg,transparent 0%,rgba(255,247,204,.82) 9%,rgba(255,225,125,.78) 38%,rgba(203,112,24,.50) 78%,transparent 100%) 0 8%/100% .075em no-repeat,
    linear-gradient(90deg,transparent 0%,rgba(255,250,216,.90) 6%,rgba(255,220,113,.86) 42%,rgba(190,92,16,.58) 84%,transparent 100%) 0 72%/100% .095em no-repeat !important;
  border-radius:999px !important;
  filter:none !important;
  -webkit-mask-image:
    repeating-linear-gradient(180deg,#000 0 3px,rgba(0,0,0,.72) 3px 5px,transparent 5px 7px),
    linear-gradient(90deg,transparent 0%,#000 10%,#000 88%,transparent 100%) !important;
  mask-image:
    repeating-linear-gradient(180deg,#000 0 3px,rgba(0,0,0,.72) 3px 5px,transparent 5px 7px),
    linear-gradient(90deg,transparent 0%,#000 10%,#000 88%,transparent 100%) !important;
}

/* 第一行下方橫向刷痕：放到字底，不壓堂字，也不蓋下面文字 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::after,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::after,
html body .hero-video-content h1.hero-brush-title::after,
html body .hero-content h1.hero-brush-title::after{
  content:"" !important;
  position:absolute !important;
  z-index:1 !important;
  left:.02em !important;
  top:.82em !important;
  width:min(5.95em,96%) !important;
  height:.052em !important;
  min-height:5px !important;
  border-radius:999px !important;
  transform:skewX(-25deg) rotate(-1.1deg) !important;
  background:
    radial-gradient(ellipse at 10% 50%,rgba(255,249,205,.70) 0 8%,transparent 20%),
    radial-gradient(ellipse at 36% 45%,rgba(255,228,132,.58) 0 7%,transparent 18%),
    radial-gradient(ellipse at 66% 52%,rgba(216,126,25,.40) 0 7%,transparent 20%),
    linear-gradient(90deg,transparent 0%,rgba(255,239,174,.50) 10%,rgba(255,215,105,.70) 36%,rgba(198,99,19,.45) 72%,rgba(72,25,4,.20) 90%,transparent 100%) !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:.76 !important;
  pointer-events:none !important;
  clip-path:polygon(0 55%,7% 40%,18% 52%,31% 37%,45% 53%,58% 40%,72% 55%,88% 42%,100% 50%,96% 65%,82% 58%,66% 70%,50% 58%,33% 70%,16% 60%,5% 68%,0 62%) !important;
}

/* 第二行：維持亮金，但行距拉開，不要跟第一行互卡 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title :is(.gold,.text-gold,span),
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title :is(.gold,.text-gold,span),
html body .hero-video-content h1.hero-brush-title :is(.gold,.text-gold,span),
html body .hero-content h1.hero-brush-title :is(.gold,.text-gold,span){
  position:relative !important;
  z-index:4 !important;
  display:block !important;
  margin-top:.10em !important;
  padding-left:.055em !important;
  padding-bottom:.04em !important;
  font-family:"Noto Serif TC","Source Han Serif TC","PMingLiU","MingLiU","Microsoft JhengHei",serif !important;
  font-size:clamp(48px,7vw,104px) !important;
  line-height:.98 !important;
  font-weight:900 !important;
  letter-spacing:.055em !important;
  transform:skewX(1deg) rotate(.05deg) !important;
  color:#ffefb5 !important;
  -webkit-text-fill-color:#ffefb5 !important;
  -webkit-text-stroke:.45px rgba(255,247,213,.76) !important;
  background:none !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  text-shadow:
    0 1px 0 #fff8d5,
    1px 2px 0 #d99b39,
    2px 3px 0 #713108,
    0 6px 8px rgba(0,0,0,.50) !important;
  filter:drop-shadow(0 5px 6px rgba(0,0,0,.25)) !important;
}

/* 第二行刷痕收短，避免蓋段落 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title :is(.gold,.text-gold,span)::after,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title :is(.gold,.text-gold,span)::after,
html body .hero-video-content h1.hero-brush-title :is(.gold,.text-gold,span)::after,
html body .hero-content h1.hero-brush-title :is(.gold,.text-gold,span)::after{
  content:"" !important;
  position:absolute !important;
  left:.01em !important;
  right:22% !important;
  bottom:.08em !important;
  height:.045em !important;
  z-index:-1 !important;
  border-radius:999px !important;
  transform:skewX(-18deg) rotate(-.8deg) !important;
  background:linear-gradient(90deg,transparent,rgba(255,239,174,.30) 24%,rgba(206,121,28,.24) 58%,rgba(92,31,4,.10),transparent) !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:.52 !important;
  pointer-events:none !important;
}

/* 下面文字永遠在裝飾層上方 */
html body :is(.hero-video-content,.hero-content) .lead,
html body :is(.hero-video-content,.hero-content) .actions,
html body :is(.hero-video-content,.hero-content) .hero-slide-meta,
html body :is(.hero-video-content,.hero-content) .hero-video-stats{
  position:relative !important;
  z-index:20 !important;
}

@media (max-width:760px){
  html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title,
  html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title,
  html body .hero-video-content h1.hero-brush-title,
  html body .hero-content h1.hero-brush-title{
    font-size:clamp(50px,13.2vw,78px) !important;
    line-height:.98 !important;
    letter-spacing:.045em !important;
    transform:skewX(-2.4deg) rotate(-.25deg) !important;
    padding-right:.22em !important;
    text-shadow:
      0 1px 0 #fff8d5,
      1px 2px 0 #d69a39,
      2px 3px 0 #753308,
      0 5px 7px rgba(0,0,0,.55),
      .04em .006em 0 rgba(255,222,122,.09) !important;
    filter:none !important;
  }
  html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::before,
  html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::before,
  html body .hero-video-content h1.hero-brush-title::before,
  html body .hero-content h1.hero-brush-title::before{
    left:calc(100% - 1.18em) !important;
    top:.20em !important;
    width:.98em !important;
    height:.42em !important;
    opacity:.86 !important;
  }
  html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::after,
  html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::after,
  html body .hero-video-content h1.hero-brush-title::after,
  html body .hero-content h1.hero-brush-title::after{
    top:.84em !important;
    width:94% !important;
    height:.045em !important;
    min-height:4px !important;
    opacity:.68 !important;
  }
  html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title :is(.gold,.text-gold,span),
  html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title :is(.gold,.text-gold,span),
  html body .hero-video-content h1.hero-brush-title :is(.gold,.text-gold,span),
  html body .hero-content h1.hero-brush-title :is(.gold,.text-gold,span){
    font-size:clamp(38px,9.8vw,58px) !important;
    line-height:1.02 !important;
    margin-top:.12em !important;
    letter-spacing:.045em !important;
    text-shadow:
      0 1px 0 #fff8d5,
      1px 2px 0 #d69a39,
      0 5px 7px rgba(0,0,0,.45) !important;
    filter:none !important;
  }
}


/* =========================================================
   v28 title position + readable brush-tail restore
   只調整「皇金天堂二」主標：往右移、補回毛筆拖尾，不再擠壞堂字。
   ========================================================= */
:root{
  --dr-v28-title-shift:clamp(26px,4.2vw,62px);
}

html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title,
html body .hero-video-content h1.hero-brush-title,
html body .hero-content h1.hero-brush-title{
  /* 主標整組往右，不動圖片、不改 HTML */
  margin-left:var(--dr-v28-title-shift) !important;
  max-width:calc(100% - var(--dr-v28-title-shift) - 8px) !important;
  padding-right:.46em !important;

  /* 字本體維持清楚，不再用大霧光 */
  text-shadow:
    0 1px 0 #fff8d5,
    1px 2px 0 #dda144,
    2px 3px 0 #a85a11,
    3px 4px 0 #5b2105,
    0 6px 8px rgba(0,0,0,.56),
    .032em .006em 0 rgba(255,226,128,.14),
    .060em .012em 0 rgba(183,82,12,.10) !important;
}

/* 補回「皇金天堂二」每個字右側細碎拖尾。
   用獨立筆劃層，不用複製文字，所以堂字不會再糊成一團。 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::after,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::after,
html body .hero-video-content h1.hero-brush-title::after,
html body .hero-content h1.hero-brush-title::after{
  content:"" !important;
  position:absolute !important;
  z-index:6 !important;
  left:.04em !important;
  top:.06em !important;
  width:min(6.85em,calc(100% + .55em)) !important;
  height:.93em !important;
  min-height:0 !important;
  pointer-events:none !important;
  border-radius:0 !important;
  opacity:.92 !important;
  transform:skewX(-11deg) rotate(-1deg) !important;
  box-shadow:none !important;
  filter:none !important;
  clip-path:none !important;
  mix-blend-mode:normal !important;

  /* 多段短橫、斷墨、飛白，位置對應五個字的右側筆尾 */
  background:
    linear-gradient(100deg,transparent 0%,rgba(255,250,217,.86) 9%,rgba(255,224,119,.74) 42%,rgba(193,94,14,.44) 76%,transparent 100%) .76em .13em/.88em .052em no-repeat,
    linear-gradient(98deg,transparent 0%,rgba(255,241,179,.72) 12%,rgba(226,143,37,.54) 54%,rgba(86,26,3,.22) 86%,transparent 100%) .88em .33em/1.10em .036em no-repeat,
    linear-gradient(103deg,transparent 0%,rgba(255,247,205,.80) 10%,rgba(248,198,82,.62) 45%,rgba(154,61,7,.30) 82%,transparent 100%) 1.76em .21em/.96em .045em no-repeat,
    linear-gradient(96deg,transparent 0%,rgba(255,232,144,.62) 18%,rgba(219,117,23,.42) 58%,transparent 100%) 1.94em .47em/.78em .032em no-repeat,
    linear-gradient(101deg,transparent 0%,rgba(255,250,218,.78) 10%,rgba(255,219,111,.66) 43%,rgba(168,73,8,.36) 80%,transparent 100%) 2.80em .16em/1.10em .050em no-repeat,
    linear-gradient(98deg,transparent 0%,rgba(255,233,151,.62) 16%,rgba(205,105,18,.42) 60%,transparent 100%) 2.98em .38em/.92em .034em no-repeat,
    linear-gradient(103deg,transparent 0%,rgba(255,248,205,.74) 12%,rgba(244,188,70,.58) 46%,rgba(132,48,5,.28) 82%,transparent 100%) 3.84em .23em/1.02em .046em no-repeat,
    linear-gradient(98deg,transparent 0%,rgba(255,228,133,.58) 18%,rgba(192,88,12,.34) 62%,transparent 100%) 4.06em .48em/.78em .032em no-repeat,
    linear-gradient(100deg,transparent 0%,rgba(255,252,224,.86) 9%,rgba(255,219,111,.70) 43%,rgba(183,75,8,.38) 82%,transparent 100%) 4.78em .18em/1.38em .050em no-repeat,

    /* 字底橫向刷痕：只在第一行字內，不往下擴散 */
    radial-gradient(ellipse at 12% 50%,rgba(255,249,205,.62) 0 8%,transparent 20%) .10em .79em/.70em .070em no-repeat,
    linear-gradient(90deg,transparent 0%,rgba(255,239,174,.44) 8%,rgba(255,215,105,.58) 33%,rgba(198,99,19,.36) 70%,rgba(72,25,4,.14) 88%,transparent 100%) .14em .80em/5.96em .060em no-repeat !important;

  -webkit-mask-image:
    repeating-linear-gradient(180deg,#000 0 3px,rgba(0,0,0,.82) 3px 5px,rgba(0,0,0,.52) 5px 6px,transparent 6px 8px),
    linear-gradient(90deg,transparent 0%,#000 6%,#000 92%,transparent 100%) !important;
  mask-image:
    repeating-linear-gradient(180deg,#000 0 3px,rgba(0,0,0,.82) 3px 5px,rgba(0,0,0,.52) 5px 6px,transparent 6px 8px),
    linear-gradient(90deg,transparent 0%,#000 6%,#000 92%,transparent 100%) !important;
}

/* 保留 v27 的「二」字延長筆，不要被拖尾層蓋掉 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::before,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::before,
html body .hero-video-content h1.hero-brush-title::before,
html body .hero-content h1.hero-brush-title::before{
  z-index:7 !important;
  opacity:.95 !important;
}

/* 第二行跟主標一起右移後，仍保持正常間距 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title :is(.gold,.text-gold,span),
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title :is(.gold,.text-gold,span),
html body .hero-video-content h1.hero-brush-title :is(.gold,.text-gold,span),
html body .hero-content h1.hero-brush-title :is(.gold,.text-gold,span){
  margin-top:.12em !important;
}

@media (max-width:760px){
  :root{--dr-v28-title-shift:clamp(18px,5.8vw,34px)}
  html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title,
  html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title,
  html body .hero-video-content h1.hero-brush-title,
  html body .hero-content h1.hero-brush-title{
    max-width:calc(100% - var(--dr-v28-title-shift) - 4px) !important;
    padding-right:.32em !important;
  }
  html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::after,
  html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::after,
  html body .hero-video-content h1.hero-brush-title::after,
  html body .hero-content h1.hero-brush-title::after{
    top:.07em !important;
    left:.02em !important;
    width:min(6.40em,calc(100% + .32em)) !important;
    height:.88em !important;
    opacity:.86 !important;
    background:
      linear-gradient(100deg,transparent 0%,rgba(255,250,217,.78) 10%,rgba(255,224,119,.64) 43%,rgba(193,94,14,.34) 76%,transparent 100%) .70em .13em/.72em .042em no-repeat,
      linear-gradient(98deg,transparent 0%,rgba(255,241,179,.60) 14%,rgba(226,143,37,.44) 54%,transparent 100%) .86em .32em/.88em .030em no-repeat,
      linear-gradient(103deg,transparent 0%,rgba(255,247,205,.70) 11%,rgba(248,198,82,.50) 45%,rgba(154,61,7,.24) 82%,transparent 100%) 1.60em .21em/.78em .038em no-repeat,
      linear-gradient(101deg,transparent 0%,rgba(255,250,218,.68) 10%,rgba(255,219,111,.54) 43%,rgba(168,73,8,.28) 80%,transparent 100%) 2.48em .16em/.88em .040em no-repeat,
      linear-gradient(103deg,transparent 0%,rgba(255,248,205,.62) 12%,rgba(244,188,70,.45) 46%,rgba(132,48,5,.20) 82%,transparent 100%) 3.34em .23em/.82em .038em no-repeat,
      linear-gradient(100deg,transparent 0%,rgba(255,252,224,.72) 9%,rgba(255,219,111,.56) 43%,rgba(183,75,8,.28) 82%,transparent 100%) 4.10em .18em/1.10em .040em no-repeat,
      linear-gradient(90deg,transparent 0%,rgba(255,239,174,.34) 8%,rgba(255,215,105,.44) 33%,rgba(198,99,19,.28) 70%,transparent 100%) .12em .80em/5.24em .050em no-repeat !important;
  }
}

/* =========================================================
   v29 bigger homepage brush title
   只把第一行「皇金天堂二」放大一些些，其它 v28 設定不動。
   ========================================================= */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title,
html body .hero-video-content h1.hero-brush-title,
html body .hero-content h1.hero-brush-title{
  font-size:clamp(66px,11vw,132px) !important;
  line-height:.94 !important;
  margin-bottom:18px !important;
}

/* 字變大後，拖尾筆劃跟著微調，避免太貼邊或壓到第二行 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::after,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::after,
html body .hero-video-content h1.hero-brush-title::after,
html body .hero-content h1.hero-brush-title::after{
  top:.055em !important;
  height:.90em !important;
  width:min(6.92em,calc(100% + .58em)) !important;
}

/* 「二」字延長筆跟著新尺寸貼齊 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::before,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::before,
html body .hero-video-content h1.hero-brush-title::before,
html body .hero-content h1.hero-brush-title::before{
  transform:skewX(-18deg) rotate(-1.8deg) scaleX(1.04) !important;
}

@media (max-width:760px){
  html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title,
  html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title,
  html body .hero-video-content h1.hero-brush-title,
  html body .hero-content h1.hero-brush-title{
    font-size:clamp(53px,14vw,82px) !important;
    line-height:.95 !important;
    margin-bottom:17px !important;
  }
  html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::after,
  html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::after,
  html body .hero-video-content h1.hero-brush-title::after,
  html body .hero-content h1.hero-brush-title::after{
    width:min(6.50em,calc(100% + .34em)) !important;
    height:.86em !important;
  }
}


/* =========================================================
   v30 fix: 二字不要被中線拖尾切成「三」
   - 拖尾層改到文字後方，不再壓在字面上。
   - 移除「二」字中間那條尾巴，只保留上橫/下橫右側細尾。
   ========================================================= */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::after,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::after,
html body .hero-video-content h1.hero-brush-title::after,
html body .hero-content h1.hero-brush-title::after{
  z-index:-1 !important;
  top:.055em !important;
  left:.04em !important;
  width:min(6.96em,calc(100% + .62em)) !important;
  height:.93em !important;
  opacity:.90 !important;
  transform:skewX(-11deg) rotate(-1deg) !important;
  mix-blend-mode:normal !important;

  /* 前四個字照舊保留毛筆殘墨；第五個「二」只在上/下橫末端補尾，
     中間完全不放線，避免看起來變成「三」。 */
  background:
    linear-gradient(100deg,transparent 0%,rgba(255,250,217,.82) 9%,rgba(255,224,119,.70) 42%,rgba(193,94,14,.40) 76%,transparent 100%) .76em .13em/.88em .052em no-repeat,
    linear-gradient(98deg,transparent 0%,rgba(255,241,179,.68) 12%,rgba(226,143,37,.50) 54%,rgba(86,26,3,.18) 86%,transparent 100%) .88em .33em/1.10em .036em no-repeat,
    linear-gradient(103deg,transparent 0%,rgba(255,247,205,.76) 10%,rgba(248,198,82,.58) 45%,rgba(154,61,7,.26) 82%,transparent 100%) 1.76em .21em/.96em .045em no-repeat,
    linear-gradient(96deg,transparent 0%,rgba(255,232,144,.58) 18%,rgba(219,117,23,.38) 58%,transparent 100%) 1.94em .47em/.78em .032em no-repeat,
    linear-gradient(101deg,transparent 0%,rgba(255,250,218,.74) 10%,rgba(255,219,111,.62) 43%,rgba(168,73,8,.32) 80%,transparent 100%) 2.80em .16em/1.10em .050em no-repeat,
    linear-gradient(98deg,transparent 0%,rgba(255,233,151,.58) 16%,rgba(205,105,18,.38) 60%,transparent 100%) 2.98em .38em/.92em .034em no-repeat,
    linear-gradient(103deg,transparent 0%,rgba(255,248,205,.70) 12%,rgba(244,188,70,.54) 46%,rgba(132,48,5,.24) 82%,transparent 100%) 3.84em .23em/1.02em .046em no-repeat,
    linear-gradient(98deg,transparent 0%,rgba(255,228,133,.54) 18%,rgba(192,88,12,.30) 62%,transparent 100%) 4.06em .48em/.78em .032em no-repeat,

    /* 二字上橫拖尾：只放在上方，不穿過字中間 */
    linear-gradient(100deg,transparent 0%,rgba(255,252,224,.72) 10%,rgba(255,224,124,.58) 44%,rgba(178,72,8,.28) 82%,transparent 100%) 5.10em .055em/.96em .036em no-repeat,
    /* 二字下橫拖尾：只放在下方，避開中線 */
    linear-gradient(98deg,transparent 0%,rgba(255,247,205,.74) 10%,rgba(255,216,108,.56) 44%,rgba(178,72,8,.30) 82%,transparent 100%) 5.04em .675em/1.04em .044em no-repeat,

    /* 字底橫向刷痕縮短到「二」字前，不再從二字中間穿過 */
    radial-gradient(ellipse at 12% 50%,rgba(255,249,205,.56) 0 8%,transparent 20%) .10em .79em/.70em .064em no-repeat,
    linear-gradient(90deg,transparent 0%,rgba(255,239,174,.38) 8%,rgba(255,215,105,.50) 33%,rgba(198,99,19,.30) 70%,rgba(72,25,4,.12) 88%,transparent 100%) .14em .80em/4.82em .052em no-repeat !important;
}

/* 二字本身的兩條延長筆維持在字面上，但壓低厚度，避免誤判成第三橫。 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::before,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::before,
html body .hero-video-content h1.hero-brush-title::before,
html body .hero-content h1.hero-brush-title::before{
  top:.17em !important;
  height:.48em !important;
  z-index:2 !important;
  background:
    linear-gradient(90deg,transparent 0%,rgba(255,247,204,.82) 9%,rgba(255,225,125,.76) 38%,rgba(203,112,24,.48) 78%,transparent 100%) 0 5%/100% .060em no-repeat,
    linear-gradient(90deg,transparent 0%,rgba(255,250,216,.90) 6%,rgba(255,220,113,.84) 42%,rgba(190,92,16,.56) 84%,transparent 100%) 0 82%/100% .078em no-repeat !important;
}

@media (max-width:760px){
  html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::after,
  html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::after,
  html body .hero-video-content h1.hero-brush-title::after,
  html body .hero-content h1.hero-brush-title::after{
    z-index:-1 !important;
    top:.06em !important;
    left:.02em !important;
    width:min(6.56em,calc(100% + .38em)) !important;
    height:.88em !important;
    opacity:.84 !important;
    background:
      linear-gradient(100deg,transparent 0%,rgba(255,250,217,.72) 10%,rgba(255,224,119,.58) 43%,rgba(193,94,14,.28) 76%,transparent 100%) .70em .13em/.72em .040em no-repeat,
      linear-gradient(98deg,transparent 0%,rgba(255,241,179,.56) 14%,rgba(226,143,37,.38) 54%,transparent 100%) .86em .32em/.88em .028em no-repeat,
      linear-gradient(103deg,transparent 0%,rgba(255,247,205,.64) 11%,rgba(248,198,82,.45) 45%,rgba(154,61,7,.20) 82%,transparent 100%) 1.60em .21em/.78em .036em no-repeat,
      linear-gradient(101deg,transparent 0%,rgba(255,250,218,.62) 10%,rgba(255,219,111,.48) 43%,rgba(168,73,8,.24) 80%,transparent 100%) 2.48em .16em/.88em .038em no-repeat,
      linear-gradient(103deg,transparent 0%,rgba(255,248,205,.58) 12%,rgba(244,188,70,.40) 46%,rgba(132,48,5,.18) 82%,transparent 100%) 3.34em .23em/.82em .036em no-repeat,
      /* 二字手機版：只保留上/下兩端尾巴，中間不畫 */
      linear-gradient(100deg,transparent 0%,rgba(255,252,224,.60) 10%,rgba(255,219,111,.44) 43%,rgba(183,75,8,.22) 82%,transparent 100%) 4.74em .055em/.72em .032em no-repeat,
      linear-gradient(98deg,transparent 0%,rgba(255,247,205,.62) 10%,rgba(255,216,108,.44) 44%,rgba(178,72,8,.24) 82%,transparent 100%) 4.68em .665em/.82em .036em no-repeat,
      linear-gradient(90deg,transparent 0%,rgba(255,239,174,.30) 8%,rgba(255,215,105,.38) 33%,rgba(198,99,19,.22) 70%,transparent 100%) .12em .80em/4.28em .046em no-repeat !important;
  }

  html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::before,
  html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::before,
  html body .hero-video-content h1.hero-brush-title::before,
  html body .hero-content h1.hero-brush-title::before{
    top:.19em !important;
    height:.43em !important;
    background:
      linear-gradient(90deg,transparent 0%,rgba(255,247,204,.78) 9%,rgba(255,225,125,.70) 38%,rgba(203,112,24,.42) 78%,transparent 100%) 0 5%/100% .052em no-repeat,
      linear-gradient(90deg,transparent 0%,rgba(255,250,216,.86) 6%,rgba(255,220,113,.78) 42%,rgba(190,92,16,.50) 84%,transparent 100%) 0 84%/100% .064em no-repeat !important;
  }
}

/* =========================================================
   v31 FIX: 「二」字絕對不再被拖尾穿過變成「三」
   做法：
   1) 關掉原本疊在「二」字上的 ::before 延長筆，避免多一條橫線。
   2) ::after 拖尾層只畫到「堂」字右側，完全不進入最後「二」字區域。
   3) 底部刷痕縮短，不再掃過「二」字中間。
   ========================================================= */

/* 直接取消最後一字的疊加筆劃：這是造成「二」看起來像「三」的最大來源 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::before,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::before,
html body .hero-video-content h1.hero-brush-title::before,
html body .hero-content h1.hero-brush-title::before{
  content:"" !important;
  display:none !important;
  opacity:0 !important;
  background:none !important;
  box-shadow:none !important;
  filter:none !important;
}

/* 拖尾只保留在「皇金天堂」前四字，最後的「二」字區域完全留白 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::after,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::after,
html body .hero-video-content h1.hero-brush-title::after,
html body .hero-content h1.hero-brush-title::after{
  content:"" !important;
  position:absolute !important;
  z-index:-1 !important;
  left:.035em !important;
  top:.065em !important;
  width:4.62em !important;      /* 關鍵：不畫到第 5 個字「二」 */
  max-width:4.62em !important;
  height:.86em !important;
  min-height:0 !important;
  pointer-events:none !important;
  opacity:.88 !important;
  transform:skewX(-10deg) rotate(-1deg) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:none !important;
  mix-blend-mode:normal !important;
  clip-path:none !important;

  background:
    /* 皇 */
    linear-gradient(100deg,transparent 0%,rgba(255,250,217,.78) 10%,rgba(255,224,119,.64) 43%,rgba(193,94,14,.36) 76%,transparent 100%) .70em .13em/.72em .042em no-repeat,
    linear-gradient(98deg,transparent 0%,rgba(255,241,179,.58) 14%,rgba(226,143,37,.40) 54%,transparent 100%) .86em .32em/.82em .028em no-repeat,

    /* 金 */
    linear-gradient(103deg,transparent 0%,rgba(255,247,205,.68) 11%,rgba(248,198,82,.50) 45%,rgba(154,61,7,.22) 82%,transparent 100%) 1.58em .21em/.82em .038em no-repeat,
    linear-gradient(96deg,transparent 0%,rgba(255,232,144,.48) 18%,rgba(219,117,23,.30) 58%,transparent 100%) 1.82em .46em/.54em .026em no-repeat,

    /* 天 */
    linear-gradient(101deg,transparent 0%,rgba(255,250,218,.66) 10%,rgba(255,219,111,.50) 43%,rgba(168,73,8,.24) 80%,transparent 100%) 2.46em .16em/.88em .040em no-repeat,
    linear-gradient(98deg,transparent 0%,rgba(255,233,151,.48) 16%,rgba(205,105,18,.30) 60%,transparent 100%) 2.70em .38em/.62em .026em no-repeat,

    /* 堂：只補到堂字右側，絕不延伸到二字 */
    linear-gradient(103deg,transparent 0%,rgba(255,248,205,.62) 12%,rgba(244,188,70,.45) 46%,rgba(132,48,5,.18) 82%,transparent 100%) 3.30em .22em/.88em .038em no-repeat,
    linear-gradient(98deg,transparent 0%,rgba(255,228,133,.45) 18%,rgba(192,88,12,.22) 62%,transparent 100%) 3.52em .48em/.54em .026em no-repeat,

    /* 字底刷痕：縮短在「堂」字前後，不掃進二字 */
    radial-gradient(ellipse at 12% 50%,rgba(255,249,205,.50) 0 8%,transparent 20%) .10em .79em/.60em .056em no-repeat,
    linear-gradient(90deg,transparent 0%,rgba(255,239,174,.30) 8%,rgba(255,215,105,.42) 33%,rgba(198,99,19,.24) 70%,rgba(72,25,4,.10) 88%,transparent 100%) .14em .80em/4.05em .044em no-repeat !important;

  -webkit-mask-image:
    repeating-linear-gradient(180deg,#000 0 3px,rgba(0,0,0,.82) 3px 5px,rgba(0,0,0,.50) 5px 6px,transparent 6px 8px),
    linear-gradient(90deg,#000 0%,#000 86%,transparent 100%) !important;
  mask-image:
    repeating-linear-gradient(180deg,#000 0 3px,rgba(0,0,0,.82) 3px 5px,rgba(0,0,0,.50) 5px 6px,transparent 6px 8px),
    linear-gradient(90deg,#000 0%,#000 86%,transparent 100%) !important;
}

/* 用很淡的整體右向硬邊陰影補一點筆勢，不會穿過「二」字中間 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title,
html body .hero-video-content h1.hero-brush-title,
html body .hero-content h1.hero-brush-title{
  text-shadow:
    0 1px 0 #fff8d5,
    1px 2px 0 #dda144,
    2px 3px 0 #a85a11,
    3px 4px 0 #5b2105,
    0 6px 8px rgba(0,0,0,.56),
    .055em .000em 0 rgba(255,222,110,.10),
    .092em .006em 0 rgba(150,64,10,.07) !important;
}

@media (max-width:760px){
  html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::before,
  html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::before,
  html body .hero-video-content h1.hero-brush-title::before,
  html body .hero-content h1.hero-brush-title::before{
    display:none !important;
    opacity:0 !important;
    background:none !important;
  }

  html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::after,
  html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::after,
  html body .hero-video-content h1.hero-brush-title::after,
  html body .hero-content h1.hero-brush-title::after{
    left:.02em !important;
    top:.07em !important;
    width:4.26em !important;     /* 手機也不要進入「二」字 */
    max-width:4.26em !important;
    height:.82em !important;
    opacity:.82 !important;
    background:
      linear-gradient(100deg,transparent 0%,rgba(255,250,217,.68) 10%,rgba(255,224,119,.52) 43%,rgba(193,94,14,.24) 76%,transparent 100%) .62em .13em/.58em .034em no-repeat,
      linear-gradient(98deg,transparent 0%,rgba(255,241,179,.50) 14%,rgba(226,143,37,.34) 54%,transparent 100%) .78em .32em/.66em .024em no-repeat,
      linear-gradient(103deg,transparent 0%,rgba(255,247,205,.58) 11%,rgba(248,198,82,.40) 45%,rgba(154,61,7,.18) 82%,transparent 100%) 1.42em .21em/.66em .032em no-repeat,
      linear-gradient(101deg,transparent 0%,rgba(255,250,218,.56) 10%,rgba(255,219,111,.40) 43%,rgba(168,73,8,.20) 80%,transparent 100%) 2.22em .16em/.74em .032em no-repeat,
      linear-gradient(103deg,transparent 0%,rgba(255,248,205,.52) 12%,rgba(244,188,70,.34) 46%,rgba(132,48,5,.16) 82%,transparent 100%) 3.00em .22em/.72em .030em no-repeat,
      linear-gradient(90deg,transparent 0%,rgba(255,239,174,.24) 8%,rgba(255,215,105,.32) 33%,rgba(198,99,19,.18) 70%,transparent 100%) .12em .80em/3.72em .040em no-repeat !important;
  }
}


/* =========================================================
   v32: 主標再大一點 + 更硬邊立體
   - 延續 v31：二字區域不加拖尾，避免再變成「三」。
   - 只放大「皇金天堂二」與加強立體陰影，不重做字型結構。
   ========================================================= */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title,
html body .hero-video-content h1.hero-brush-title,
html body .hero-content h1.hero-brush-title{
  font-size:clamp(72px,11.85vw,146px) !important;
  line-height:.92 !important;
  margin-bottom:24px !important;

  /* 亮金實字 + 深色硬邊堆疊，增加立體感但不放大霧光 */
  color:#ffe27b !important;
  -webkit-text-fill-color:#ffe27b !important;
  -webkit-text-stroke:.018em rgba(92,34,3,.50) !important;
  paint-order:stroke fill !important;
  filter:none !important;
  text-shadow:
    0 1px 0 #fff9d6,
    0 2px 0 #ffe8a6,
    1px 3px 0 #e5aa42,
    2px 4px 0 #bf7119,
    3px 5px 0 #733008,
    4px 6px 0 rgba(38,12,0,.86),
    6px 8px 0 rgba(0,0,0,.44),
    0 8px 6px rgba(0,0,0,.40),
    .052em 0 0 rgba(255,234,129,.10),
    .082em .004em 0 rgba(150,64,10,.06) !important;
}

/* 字體放大後，拖尾維持只到「堂」字，不進入最後「二」字區 */
html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::after,
html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::after,
html body .hero-video-content h1.hero-brush-title::after,
html body .hero-content h1.hero-brush-title::after{
  width:4.58em !important;
  max-width:4.58em !important;
  height:.84em !important;
  top:.072em !important;
  opacity:.86 !important;
}

@media (max-width:760px){
  html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title,
  html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title,
  html body .hero-video-content h1.hero-brush-title,
  html body .hero-content h1.hero-brush-title{
    font-size:clamp(58px,15.2vw,90px) !important;
    line-height:.93 !important;
    margin-bottom:21px !important;
    -webkit-text-stroke:.016em rgba(92,34,3,.50) !important;
    text-shadow:
      0 1px 0 #fff9d6,
      0 2px 0 #ffe8a6,
      1px 3px 0 #d99635,
      2px 4px 0 #88400b,
      3px 5px 0 rgba(33,10,0,.82),
      4px 6px 0 rgba(0,0,0,.38),
      0 7px 5px rgba(0,0,0,.36) !important;
  }

  html body :is(.hero-video-hero,.hero,.hero-depth,.hero-slider) .hero-brush-title::after,
  html body :is(.hero-video-content,.hero-content) > h1.hero-brush-title::after,
  html body .hero-video-content h1.hero-brush-title::after,
  html body .hero-content h1.hero-brush-title::after{
    width:4.22em !important;
    max-width:4.22em !important;
    height:.80em !important;
    top:.078em !important;
    opacity:.80 !important;
  }
}

/* =========================================================
   AI假人玩家頁 fake.html - 實機影片加寬加高修正
   套用路徑：assets/css/darkraven.css
   ========================================================= */
body.fake-page #video .container{
  width:min(1480px,calc(100% - 36px)) !important;
}

body.fake-page #video .split-grid{
  grid-template-columns:minmax(300px,.72fr) minmax(720px,1.28fr) !important;
  gap:34px !important;
}

body.fake-page #video .fake-screen-frame{
  width:100% !important;
  max-width:none !important;
  padding:18px !important;
  border-radius:32px !important;
}

body.fake-page #video .fake-screen-frame video{
  width:100% !important;
  aspect-ratio:16 / 9 !important;
  min-height:460px !important;
  max-height:720px !important;
  object-fit:cover !important;
}

body.fake-page #video .fake-screen-frame figcaption{
  font-size:15px !important;
  margin-top:14px !important;
}

@media (max-width:1180px){
  body.fake-page #video .container{
    width:min(100% - 24px,1180px) !important;
  }

  body.fake-page #video .split-grid{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  body.fake-page #video .fake-screen-frame{
    width:min(100%,980px) !important;
    margin-inline:auto !important;
  }

  body.fake-page #video .fake-screen-frame video{
    min-height:clamp(300px,56vw,620px) !important;
  }
}

@media (max-width:640px){
  body.fake-page #video{
    padding-top:42px !important;
  }

  body.fake-page #video .container{
    width:calc(100% - 10px) !important;
  }

  body.fake-page #video .fake-screen-frame{
    padding:10px !important;
    border-radius:22px !important;
    margin-left:-2px !important;
    margin-right:-2px !important;
  }

  body.fake-page #video .fake-screen-frame video{
    height:clamp(250px,64vw,380px) !important;
    min-height:250px !important;
    aspect-ratio:auto !important;
    border-radius:16px !important;
  }

  body.fake-page #video .fake-screen-frame figcaption{
    font-size:15px !important;
    line-height:1.75 !important;
    margin:14px 2px 0 !important;
  }
}

/* =========================================================
   v33: fake-wide-gallery desktop balance + header nav shift
   - 電腦版 AI 假人玩家頁：血盟展示區圖片比例重新平衡，避免中間大、右側太窄。
   - Header 導覽：桌機版往右預留 Logo/品牌字空間，避免導覽壓到 Logo。
   套用路徑：assets/css/darkraven.css
   ========================================================= */

/* Header：桌機版導覽整體往右，並縮一點按鈕寬度，避免右側爆版 */
@media (min-width:1181px){
  html body .site-header .container.navbar{
    width:min(1320px,calc(100% - 40px)) !important;
    max-width:1320px !important;
    gap:18px !important;
  }

  html body .site-header .brand{
    flex:0 0 clamp(430px,36vw,500px) !important;
    min-width:430px !important;
    gap:14px !important;
    overflow:visible !important;
  }

  html body .site-header .brand img{
    flex:0 0 auto !important;
    width:132px !important;
  }

  html body .site-header .nav-links{
    margin-left:auto !important;
    justify-content:flex-end !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    gap:clamp(3px,.42vw,6px) !important;
  }

  html body .site-header .nav-links a{
    padding:9px clamp(8px,.72vw,12px) !important;
    font-size:clamp(13px,.92vw,15px) !important;
    letter-spacing:.01em !important;
  }
}

/* 1181~1320：中寬桌機再壓縮一點，導覽仍保持在 Logo 右側 */
@media (min-width:1181px) and (max-width:1320px){
  html body .site-header .brand{
    flex-basis:400px !important;
    min-width:400px !important;
  }

  html body .site-header .nav-links{
    gap:3px !important;
  }

  html body .site-header .nav-links a{
    padding:8px 8px !important;
    font-size:13px !important;
  }
}

/* AI假人玩家頁：血盟區容器加寬，左文字、右圖片比例重切 */
@media (min-width:1181px){
  html body.fake-page #clan-life .container.split-grid{
    width:min(1340px,calc(100% - 56px)) !important;
    max-width:1340px !important;
    grid-template-columns:minmax(420px,.78fr) minmax(620px,1.22fr) !important;
    gap:42px !important;
    align-items:center !important;
  }

  html body.fake-page #clan-life .fake-wide-gallery{
    display:grid !important;
    grid-template-columns:minmax(350px,1.08fr) minmax(250px,.92fr) !important;
    gap:18px !important;
    align-items:start !important;
  }

  html body.fake-page #clan-life .fake-wide-gallery .fake-screen-frame{
    height:auto !important;
    padding:14px !important;
    border-radius:24px !important;
  }

  html body.fake-page #clan-life .fake-wide-gallery .fake-screen-frame img{
    border-radius:16px !important;
    object-fit:cover !important;
    object-position:top center !important;
  }

  html body.fake-page #clan-life .fake-wide-gallery > .fake-screen-frame > img{
    height:310px !important;
    min-height:310px !important;
    max-height:310px !important;
  }

  html body.fake-page #clan-life .fake-mini-stack{
    display:grid !important;
    grid-template-rows:repeat(2,auto) !important;
    gap:16px !important;
  }

  html body.fake-page #clan-life .fake-mini-stack .fake-screen-frame img{
    height:150px !important;
    min-height:150px !important;
    max-height:150px !important;
  }

  html body.fake-page #clan-life .fake-wide-gallery figcaption{
    margin:10px 3px 0 !important;
    font-size:14px !important;
    line-height:1.58 !important;
  }
}

/* 1181~1320：避免中寬螢幕右側圖片被擠成手機寬度 */
@media (min-width:1181px) and (max-width:1320px){
  html body.fake-page #clan-life .container.split-grid{
    width:min(1280px,calc(100% - 40px)) !important;
    grid-template-columns:minmax(390px,.76fr) minmax(560px,1.24fr) !important;
    gap:34px !important;
  }

  html body.fake-page #clan-life .fake-wide-gallery{
    grid-template-columns:minmax(310px,1.05fr) minmax(220px,.95fr) !important;
    gap:14px !important;
  }

  html body.fake-page #clan-life .fake-wide-gallery > .fake-screen-frame > img{
    height:285px !important;
    min-height:285px !important;
    max-height:285px !important;
  }

  html body.fake-page #clan-life .fake-mini-stack .fake-screen-frame img{
    height:135px !important;
    min-height:135px !important;
    max-height:135px !important;
  }
}

/* 平板以下：維持單欄，但不要讓圖片被固定高度裁切太兇 */
@media (max-width:1180px){
  html body.fake-page #clan-life .container.split-grid{
    width:min(100% - 28px,980px) !important;
  }

  html body.fake-page #clan-life .fake-wide-gallery{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  html body.fake-page #clan-life .fake-wide-gallery .fake-screen-frame{
    height:auto !important;
  }

  html body.fake-page #clan-life .fake-wide-gallery > .fake-screen-frame > img,
  html body.fake-page #clan-life .fake-mini-stack .fake-screen-frame img{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }
}

/* =========================================================
   v34: fake-wide-gallery desktop image enlarge
   - 電腦版血盟展示區圖片再放大：主圖、右側上下圖同步加寬加高。
   - 左側文字保留可讀寬度，右側展示區提高佔比。
   套用路徑：assets/css/darkraven.css
   ========================================================= */

@media (min-width:1181px){
  html body.fake-page #clan-life .container.split-grid{
    width:min(1480px,calc(100% - 32px)) !important;
    max-width:1480px !important;
    grid-template-columns:minmax(430px,.70fr) minmax(760px,1.30fr) !important;
    gap:34px !important;
    align-items:center !important;
  }

  html body.fake-page #clan-life .fake-wide-gallery{
    grid-template-columns:minmax(480px,1.45fr) minmax(320px,.95fr) !important;
    gap:22px !important;
    align-items:start !important;
  }

  html body.fake-page #clan-life .fake-wide-gallery .fake-screen-frame{
    padding:16px !important;
    border-radius:26px !important;
  }

  html body.fake-page #clan-life .fake-wide-gallery .fake-screen-frame img{
    border-radius:18px !important;
  }

  html body.fake-page #clan-life .fake-wide-gallery > .fake-screen-frame > img{
    height:390px !important;
    min-height:390px !important;
    max-height:390px !important;
  }

  html body.fake-page #clan-life .fake-mini-stack{
    gap:18px !important;
  }

  html body.fake-page #clan-life .fake-mini-stack .fake-screen-frame img{
    height:185px !important;
    min-height:185px !important;
    max-height:185px !important;
  }

  html body.fake-page #clan-life .fake-wide-gallery figcaption{
    font-size:15px !important;
    line-height:1.62 !important;
    margin-top:12px !important;
  }
}

@media (min-width:1181px) and (max-width:1320px){
  html body.fake-page #clan-life .container.split-grid{
    width:min(1300px,calc(100% - 28px)) !important;
    grid-template-columns:minmax(395px,.70fr) minmax(690px,1.30fr) !important;
    gap:28px !important;
  }

  html body.fake-page #clan-life .fake-wide-gallery{
    grid-template-columns:minmax(405px,1.40fr) minmax(285px,1fr) !important;
    gap:18px !important;
  }

  html body.fake-page #clan-life .fake-wide-gallery > .fake-screen-frame > img{
    height:350px !important;
    min-height:350px !important;
    max-height:350px !important;
  }

  html body.fake-page #clan-life .fake-mini-stack .fake-screen-frame img{
    height:165px !important;
    min-height:165px !important;
    max-height:165px !important;
  }
}

/* =========================================================
   v35: fake-wide-gallery right mini images bigger
   - 電腦版血盟展示區：右側上下兩張圖再放大，避免看起來太小。
   - 只改 CSS，不動 HTML。
   套用路徑：assets/css/darkraven.css
   ========================================================= */

@media (min-width:1181px){
  html body.fake-page #clan-life .container.split-grid{
    width:min(1540px,calc(100% - 24px)) !important;
    max-width:1540px !important;
    grid-template-columns:minmax(390px,.60fr) minmax(960px,1.40fr) !important;
    gap:28px !important;
  }

  html body.fake-page #clan-life .fake-wide-gallery{
    grid-template-columns:minmax(470px,1.03fr) minmax(440px,.97fr) !important;
    gap:24px !important;
    align-items:start !important;
  }

  html body.fake-page #clan-life .fake-mini-stack{
    gap:20px !important;
  }

  html body.fake-page #clan-life .fake-mini-stack .fake-screen-frame{
    padding:16px !important;
    border-radius:26px !important;
  }

  html body.fake-page #clan-life .fake-mini-stack .fake-screen-frame img{
    width:100% !important;
    height:245px !important;
    min-height:245px !important;
    max-height:245px !important;
    object-fit:cover !important;
    object-position:top center !important;
    border-radius:18px !important;
  }

  html body.fake-page #clan-life .fake-mini-stack .fake-screen-frame figcaption{
    font-size:15px !important;
    line-height:1.62 !important;
    margin-top:12px !important;
  }
}

@media (min-width:1181px) and (max-width:1320px){
  html body.fake-page #clan-life .container.split-grid{
    width:min(1300px,calc(100% - 20px)) !important;
    grid-template-columns:minmax(350px,.58fr) minmax(880px,1.42fr) !important;
    gap:20px !important;
  }

  html body.fake-page #clan-life .fake-wide-gallery{
    grid-template-columns:minmax(430px,1.04fr) minmax(385px,.96fr) !important;
    gap:18px !important;
  }

  html body.fake-page #clan-life .fake-mini-stack{
    gap:18px !important;
  }

  html body.fake-page #clan-life .fake-mini-stack .fake-screen-frame img{
    height:220px !important;
    min-height:220px !important;
    max-height:220px !important;
  }
}


/* === V15 systems page: transmogrify + membership === */
.systems-premium-block .section-title p{max-width:900px;margin:18px auto 0}.system-upgrade-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.upgrade-card{border:1px solid var(--line);border-radius:30px;overflow:hidden;background:linear-gradient(135deg,rgba(255,255,255,.065),rgba(22,24,36,.94) 32%,rgba(10,12,19,.97));box-shadow:var(--shadow);position:relative}.upgrade-card:before,.currency-box:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 0%,rgba(233,183,91,.16),transparent 25rem),radial-gradient(circle at 100% 22%,rgba(190,23,50,.11),transparent 22rem)}.system-screen{padding:16px;background:linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,.18));border-bottom:1px solid rgba(233,183,91,.18)}.system-screen img{width:100%;height:auto;max-height:390px;object-fit:contain;border-radius:18px;margin:auto;box-shadow:0 18px 50px rgba(0,0,0,.45)}.upgrade-body{position:relative;z-index:1;padding:26px}.upgrade-label{display:inline-flex;margin-bottom:12px;padding:7px 12px;border-radius:999px;background:rgba(233,183,91,.12);border:1px solid rgba(233,183,91,.28);color:var(--gold2);font-weight:950;letter-spacing:.08em}.upgrade-body p{color:var(--muted);line-height:1.86}.effect-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.effect-stat{padding:16px;border-radius:18px;border:1px solid rgba(233,183,91,.22);background:rgba(255,255,255,.05);text-align:center}.effect-stat strong{display:block;color:var(--gold2);font-size:26px;font-family:Georgia,"Times New Roman",serif;text-shadow:0 0 18px rgba(233,183,91,.18)}.effect-stat span{display:block;margin-top:4px;color:#dccfbe;font-size:14px;line-height:1.45}.feature-bullets{margin:0;padding-left:20px;color:#d9cfbf;line-height:1.9}.feature-bullets li::marker{color:var(--gold2)}.member-screen img{border-radius:14px}.member-tier-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:22px 0}.member-tier-row span{display:grid;place-items:center;min-height:44px;border-radius:999px;border:1px solid rgba(233,183,91,.24);background:rgba(233,183,91,.08);color:#ffe4a6;font-weight:950}.member-benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.member-benefit-grid article,.currency-source-grid article{border:1px solid rgba(233,183,91,.18);background:rgba(255,255,255,.045);border-radius:18px;padding:16px;position:relative;overflow:hidden}.member-benefit-grid article:before,.currency-source-grid article:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.04),transparent 46%,rgba(233,183,91,.04));pointer-events:none}.member-benefit-grid b,.currency-source-grid b{display:block;color:#fff0c6;font-size:17px;margin-bottom:5px;position:relative;z-index:1}.member-benefit-grid span,.currency-source-grid span{color:var(--muted);line-height:1.7;position:relative;z-index:1}.currency-box{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:30px;padding:32px;background:linear-gradient(135deg,rgba(190,23,50,.16),rgba(233,183,91,.09),rgba(5,6,10,.70));box-shadow:var(--shadow)}.currency-box h2,.currency-box p,.currency-box .kicker,.currency-source-grid{position:relative;z-index:1}.currency-box p{color:#e8dece;line-height:1.9;font-size:18px}.currency-box p b{color:var(--gold2)}.currency-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.currency-source-grid strong{display:block;color:var(--gold2);font-size:30px;font-family:Georgia,"Times New Roman",serif;margin-bottom:6px;position:relative;z-index:1}@media (max-width:1180px){.system-upgrade-grid{grid-template-columns:1fr}.system-screen img{max-height:none}.currency-source-grid{grid-template-columns:1fr}}@media (max-width:640px){.effect-row,.member-benefit-grid{grid-template-columns:1fr}.member-tier-row{grid-template-columns:repeat(2,minmax(0,1fr))}.currency-box{padding:22px}.upgrade-body{padding:22px}}


/* =========================================================
   v17: support page + donation nav
   ========================================================= */
.nav-links .nav-support{border:1px solid rgba(233,183,91,.34);background:rgba(190,23,50,.12);color:#ffdf99}.nav-links .nav-support.active{background:linear-gradient(135deg,#ffdf99,#e9b75b);color:#170f07}.btn-support-pulse{position:relative;overflow:hidden}.btn-support-pulse:after{content:"";position:absolute;inset:-60%;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.34),transparent 62%);transform:translateX(-60%);animation:supportShine 3.4s ease-in-out infinite}@keyframes supportShine{0%,56%{transform:translateX(-70%)}78%,100%{transform:translateX(70%)}}
@media (min-width:1181px){html body .site-header .brand{flex-basis:clamp(320px,28vw,430px) !important;min-width:300px !important}html body .site-header .nav-links{gap:clamp(2px,.25vw,5px) !important}html body .site-header .nav-links a{padding:8px clamp(6px,.55vw,10px) !important;font-size:clamp(12px,.82vw,14px) !important}}
@media (min-width:881px) and (max-width:1180px){html body .site-header .container.navbar{width:min(1160px,calc(100% - 24px));gap:10px}html body .site-header .brand img{width:102px}.nav-links{gap:2px}.nav-links a{font-size:12px !important;padding:7px 7px !important}.nav-links .nav-panel{padding-inline:8px !important}}
.support-page .page-hero{overflow:hidden}.support-hero:after{content:"";position:absolute;inset:auto 7% -90px auto;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(233,183,91,.24),transparent 70%);filter:blur(8px);z-index:-1}.support-hero-badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.support-hero-badges span{padding:9px 14px;border-radius:999px;border:1px solid rgba(233,183,91,.30);background:rgba(0,0,0,.34);color:#ffe5ae;font-weight:950;box-shadow:0 10px 26px rgba(0,0,0,.22)}.support-intro-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(330px,.75fr);gap:24px}.support-glow-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:30px;background:linear-gradient(135deg,rgba(255,255,255,.065),rgba(18,20,31,.94) 34%,rgba(8,9,14,.96));box-shadow:var(--shadow);padding:30px}.support-glow-card:before,.support-plan-card:before,.support-qr-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 0%,rgba(233,183,91,.18),transparent 24rem),radial-gradient(circle at 92% 24%,rgba(190,23,50,.13),transparent 22rem)}.support-glow-card h2{margin-top:18px}.support-glow-card h3{margin:18px 0 12px}.support-glow-card p{position:relative;z-index:1;color:#e8ddcc;line-height:1.9;font-size:18px}.support-glow-card p b{color:var(--gold2)}.support-mini-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.support-mini-grid div{border:1px solid rgba(233,183,91,.19);border-radius:18px;background:rgba(255,255,255,.045);padding:17px}.support-mini-grid b{display:block;color:#fff0c6;font-size:18px;margin-bottom:6px}.support-mini-grid span{color:var(--muted);line-height:1.75}.support-currency-tags{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.support-currency-tags span{padding:9px 12px;border-radius:999px;border:1px solid rgba(233,183,91,.24);background:rgba(233,183,91,.08);color:#ffe2a6;font-weight:900}.support-plan-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.support-plan-card{position:relative;overflow:hidden;border:1px solid rgba(233,183,91,.26);border-radius:28px;padding:24px;background:linear-gradient(180deg,rgba(24,26,39,.95),rgba(9,10,16,.96));box-shadow:var(--shadow);transition:.22s ease}.support-plan-card:hover{transform:translateY(-6px);border-color:rgba(255,223,153,.62)}.support-plan-card.featured{border-color:rgba(255,223,153,.68);box-shadow:0 30px 90px rgba(233,183,91,.18),var(--shadow)}.support-plan-card.legendary{border-color:rgba(190,23,50,.58);background:linear-gradient(180deg,rgba(60,16,28,.88),rgba(11,10,16,.97))}.support-plan-ribbon{position:absolute;top:16px;right:-38px;z-index:2;transform:rotate(35deg);width:150px;text-align:center;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#160f08;font-weight:950;font-size:13px;padding:6px 0;box-shadow:0 12px 24px rgba(0,0,0,.32)}.support-plan-head{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.support-plan-head span{color:#e6d6bf;font-weight:950;letter-spacing:.05em}.support-plan-head strong{font-family:Georgia,"Times New Roman",serif;font-size:42px;color:var(--gold2);line-height:1}.support-plan-reward{position:relative;z-index:1;margin:24px 0 14px;padding:18px;border-radius:20px;border:1px solid rgba(233,183,91,.22);background:rgba(255,255,255,.05);text-align:center}.support-plan-reward b{display:block;font-family:Georgia,"Times New Roman",serif;color:#ffdf99;font-size:44px;line-height:1}.support-plan-reward span{display:block;color:#e8d9c1;font-weight:950;margin-top:4px}.support-plan-card p{position:relative;z-index:1;color:var(--muted);line-height:1.75;min-height:98px}.support-plan-card ul{position:relative;z-index:1;margin:18px 0 0;padding-left:19px;color:#eadfce;line-height:1.9}.support-plan-card li::marker{color:var(--gold2)}.support-single-note{margin-top:24px;border-left:4px solid var(--gold);padding:18px 20px;border-radius:16px;background:rgba(233,183,91,.09);color:#ffedc4;font-weight:950;line-height:1.75}.support-payment-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,430px);gap:28px;align-items:start}.support-wallet-box{position:relative;z-index:1;margin-top:24px;border:1px solid rgba(233,183,91,.26);border-radius:24px;background:rgba(0,0,0,.25);padding:20px}.support-wallet-box span{display:block;color:var(--gold2);font-weight:950;margin-bottom:10px}.support-wallet-box code{display:block;margin-bottom:16px;font-size:18px;line-height:1.55;word-break:break-all;background:rgba(255,255,255,.055);border:1px solid rgba(233,183,91,.18);padding:14px;border-radius:16px;color:#fff4d8}.support-wallet-box .copied{filter:brightness(1.12)}.support-payment-facts{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.support-payment-facts div{border:1px solid rgba(233,183,91,.18);border-radius:18px;background:rgba(255,255,255,.045);padding:16px}.support-payment-facts b{display:block;color:#fff0c6;margin-bottom:5px}.support-payment-facts span{color:var(--muted);line-height:1.6}.support-qr-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:30px;background:linear-gradient(180deg,rgba(20,22,33,.94),rgba(7,8,12,.96));box-shadow:var(--shadow);padding:18px}.support-qr-frame{position:relative;z-index:1;border-radius:24px;overflow:hidden;border:1px solid rgba(233,183,91,.22);background:#050508}.support-qr-frame img{width:100%;height:auto}.support-qr-card p{position:relative;z-index:1;color:var(--muted);line-height:1.8;margin:16px 4px 2px}.support-step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.support-step-grid article{border:1px solid rgba(233,183,91,.22);border-radius:24px;background:linear-gradient(180deg,rgba(24,26,39,.92),rgba(10,11,17,.94));padding:22px;box-shadow:var(--shadow)}.support-step-grid strong{display:block;font-family:Georgia,"Times New Roman",serif;color:var(--gold2);font-size:40px;margin-bottom:10px}.support-step-grid b{display:block;color:#fff0c6;font-size:19px;margin-bottom:8px}.support-step-grid span{color:var(--muted);line-height:1.75}.support-notice b{color:var(--gold2)}.support-cta-box{position:relative;overflow:hidden}.support-cta-box:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 0%,rgba(233,183,91,.18),transparent 26rem);pointer-events:none}@media (max-width:1180px){.support-intro-grid,.support-payment-grid{grid-template-columns:1fr}.support-mini-grid{grid-template-columns:1fr}.support-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.support-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.support-payment-facts{grid-template-columns:1fr}.support-qr-card{max-width:520px;margin-inline:auto}}@media (max-width:640px){.support-glow-card{padding:22px;border-radius:24px}.support-plan-grid,.support-step-grid{grid-template-columns:1fr}.support-plan-card p{min-height:0}.support-wallet-box code{font-size:15px}.support-hero-badges span{font-size:13px}.support-plan-head strong{font-size:38px}}

/* v18 贊助自動入金 / TXID 核對 */
.donation-auto-section {
  position: relative;
  overflow: hidden;
}
.donation-auto-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 16% 12%, rgba(245, 176, 67, .18), transparent 34%),
    radial-gradient(circle at 88% 18%, rgba(123, 31, 20, .18), transparent 32%);
  opacity: .9;
}
.donation-auto-section > .container {
  position: relative;
  z-index: 1;
}
.donation-app-grid {
  display: grid;
  grid-template-columns: minmax(280px, 390px) 1fr;
  gap: 24px;
  align-items: start;
}
.donation-summary-card,
.donation-create-card,
.donation-history-card {
  border-color: rgba(255, 205, 116, .28);
}
.donation-summary-kv {
  display: grid;
  gap: 12px;
  margin: 18px 0;
}
.donation-summary-kv div,
.donation-estimate-box div,
.donation-current-head div {
  padding: 14px 16px;
  border: 1px solid rgba(255, 220, 150, .18);
  border-radius: 16px;
  background: rgba(0, 0, 0, .22);
}
.donation-summary-kv span,
.donation-estimate-box span,
.donation-current-head span,
.donation-order-row span {
  display: block;
  color: rgba(238, 226, 198, .68);
  font-size: 13px;
  line-height: 1.45;
}
.donation-summary-kv b,
.donation-estimate-box b,
.donation-current-head b {
  color: #ffe3a4;
  font-size: 20px;
  line-height: 1.35;
}
.donation-login-hint {
  margin: 18px 0;
  padding: 16px;
  border-radius: 18px;
  background: rgba(173, 55, 37, .16);
  border: 1px solid rgba(255, 121, 87, .25);
}
.donation-login-hint p {
  margin: 0 0 14px;
}
.donation-hidden {
  display: none !important;
}
.donation-plan-picker {
  display: grid;
  grid-template-columns: repeat(6, minmax(92px, 1fr));
  gap: 10px;
  margin: 18px 0;
}
.donation-plan-picker button {
  appearance: none;
  cursor: pointer;
  border: 1px solid rgba(255, 220, 150, .22);
  border-radius: 16px;
  padding: 14px 10px;
  color: #f8e8c5;
  background: linear-gradient(180deg, rgba(73, 46, 23, .82), rgba(16, 10, 7, .86));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04), 0 10px 28px rgba(0, 0, 0, .22);
  font-weight: 900;
  line-height: 1.25;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease;
}
.donation-plan-picker button small {
  color: rgba(255, 222, 159, .7);
  font-weight: 700;
}
.donation-plan-picker button:hover,
.donation-plan-picker button.active {
  transform: translateY(-2px);
  color: #fff5d0;
  border-color: rgba(255, 203, 96, .76);
  box-shadow: 0 0 0 1px rgba(255, 207, 99, .18), 0 16px 40px rgba(181, 91, 34, .22);
}
.donation-custom-wrap {
  display: none;
  margin: 14px 0 18px;
  padding: 16px;
  border-radius: 18px;
  border: 1px dashed rgba(255, 220, 150, .28);
  background: rgba(0, 0, 0, .18);
}
.donation-custom-wrap.show {
  display: block;
}
.donation-custom-wrap label,
.donation-current-body label {
  display: grid;
  gap: 8px;
  color: #ffe7b7;
  font-weight: 800;
}
.donation-custom-wrap input,
.donation-current-body input {
  width: 100%;
  border: 1px solid rgba(255, 220, 150, .3);
  border-radius: 14px;
  padding: 13px 14px;
  color: #fff6df;
  background: rgba(0, 0, 0, .36);
  outline: none;
}
.donation-custom-wrap input:focus,
.donation-current-body input:focus {
  border-color: rgba(255, 204, 100, .9);
  box-shadow: 0 0 0 3px rgba(255, 204, 100, .12);
}
.donation-custom-wrap p {
  margin: 10px 0 0;
  color: rgba(238, 226, 198, .78);
}
.donation-estimate-box,
.donation-current-head {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 18px 0;
}
.donation-msg {
  min-height: 22px;
  margin-top: 12px;
  color: rgba(238, 226, 198, .82);
  line-height: 1.6;
}
.donation-msg.ok {
  color: #8ff0b8;
}
.donation-msg.bad {
  color: #ff9d86;
}
.donation-current-order {
  display: none;
  margin-top: 20px;
  padding: 18px;
  border-radius: 20px;
  background: rgba(7, 4, 3, .42);
  border: 1px solid rgba(255, 220, 150, .24);
}
.donation-current-order.show {
  display: block;
}
.donation-current-body p {
  color: rgba(238, 226, 198, .82);
}
.donation-current-body .btn {
  margin-top: 14px;
}
.donation-history-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: end;
  margin-bottom: 16px;
}
.donation-history-head h3 {
  margin: 2px 0 0;
}
.donation-history-head p {
  max-width: 680px;
  margin: 0;
  color: rgba(238, 226, 198, .74);
}
.donation-order-list {
  display: grid;
  gap: 10px;
}
.donation-order-row {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 220, 150, .16);
  border-radius: 16px;
  background: rgba(0, 0, 0, .22);
}
.donation-order-row b {
  display: block;
  color: #ffe3a4;
}
.donation-empty {
  padding: 18px;
  border-radius: 16px;
  color: rgba(238, 226, 198, .72);
  background: rgba(0, 0, 0, .22);
  border: 1px solid rgba(255, 220, 150, .14);
}
@media (max-width: 1100px) {
  .donation-app-grid {
    grid-template-columns: 1fr;
  }
  .donation-plan-picker {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 720px) {
  .donation-plan-picker,
  .donation-estimate-box,
  .donation-current-head,
  .donation-order-row {
    grid-template-columns: 1fr;
  }
  .donation-history-head {
    display: block;
  }
}

/* v19 贊助訂單確認 / 刪除 / 累積贊助獎勵 */
.support-milestone-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}
.support-milestone-strip article {
  border: 1px solid rgba(255, 220, 150, .24);
  border-radius: 20px;
  padding: 18px 20px;
  background: linear-gradient(135deg, rgba(233, 183, 91, .11), rgba(190, 23, 50, .08), rgba(0, 0, 0, .25));
  box-shadow: 0 16px 42px rgba(0, 0, 0, .22);
}
.support-milestone-strip b {
  display: block;
  color: #ffe3a4;
  font-size: 20px;
  margin-bottom: 5px;
}
.support-milestone-strip span {
  color: rgba(238, 226, 198, .82);
  line-height: 1.65;
}
.donation-milestone-box {
  position: relative;
  z-index: 1;
  margin: 14px 0 16px;
  padding: 15px;
  border: 1px solid rgba(255, 220, 150, .18);
  border-radius: 18px;
  background: rgba(0, 0, 0, .20);
}
.donation-milestone-box > b {
  display: block;
  color: #ffe3a4;
  margin-bottom: 10px;
}
.donation-milestone-list {
  display: grid;
  gap: 8px;
}
.donation-milestone-row {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 8px 10px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255, 220, 150, .14);
  background: rgba(255, 255, 255, .035);
}
.donation-milestone-row b {
  color: #ffdf99;
}
.donation-milestone-row span {
  color: #eee2c6;
}
.donation-milestone-row em {
  grid-column: 1 / -1;
  color: rgba(238, 226, 198, .68);
  font-style: normal;
  font-size: 13px;
}
.donation-milestone-row.claimed {
  border-color: rgba(143, 240, 184, .28);
  background: rgba(69, 148, 95, .09);
}
.donation-milestone-row.claimed em {
  color: #8ff0b8;
}
.donation-next-milestone {
  margin: 10px 0 0 !important;
  color: rgba(238, 226, 198, .78) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}
.donation-confirm-box {
  display: none;
  margin: 16px 0 4px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid rgba(255, 207, 99, .36);
  background: linear-gradient(135deg, rgba(74, 43, 12, .42), rgba(0, 0, 0, .34));
  box-shadow: 0 18px 42px rgba(0, 0, 0, .24);
}
.donation-confirm-box.show {
  display: block;
}
.donation-confirm-title {
  color: #ffe3a4;
  font-size: 20px;
  font-weight: 950;
  margin-bottom: 8px;
}
.donation-confirm-box p {
  margin: 8px 0;
  color: rgba(238, 226, 198, .84);
  line-height: 1.75;
}
.donation-confirm-box b {
  color: #ffdf99;
}
.donation-confirm-warn {
  color: #ffcfb7 !important;
}
.donation-confirm-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}
.donation-order-row {
  grid-template-columns: 1.1fr 1fr auto;
  align-items: center;
}
.donation-order-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  min-width: 74px;
}
.donation-order-delete {
  appearance: none;
  cursor: pointer;
  border: 1px solid rgba(255, 113, 77, .34);
  border-radius: 999px;
  padding: 8px 14px;
  color: #ffd1c2;
  background: rgba(173, 55, 37, .14);
  font-weight: 900;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.donation-order-delete:hover {
  transform: translateY(-1px);
  border-color: rgba(255, 113, 77, .72);
  background: rgba(173, 55, 37, .28);
}
@media (max-width: 720px) {
  .support-milestone-strip {
    grid-template-columns: 1fr;
  }
  .donation-order-row {
    grid-template-columns: 1fr;
  }
  .donation-order-actions {
    justify-content: flex-start;
  }
  .donation-confirm-actions .btn {
    width: 100%;
  }
}


/* v20 donation UI fix: create confirm + delete buttons */
.donation-confirm-box.show {
  display: block !important;
  margin-top: 16px;
  padding: 18px 20px;
  border: 1px solid rgba(255, 216, 129, .55);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(25, 17, 8, .96), rgba(70, 34, 18, .86));
  box-shadow: 0 18px 42px rgba(0, 0, 0, .35), 0 0 28px rgba(255, 210, 112, .14);
}
.donation-confirm-title {
  color: #ffda7a;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: .08em;
  margin-bottom: 8px;
}
.donation-confirm-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 14px;
}
.donation-order-row {
  grid-template-columns: minmax(220px, 1.1fr) minmax(180px, .9fr) auto;
}
.donation-order-actions {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  min-width: 110px;
}
.donation-order-delete {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 92px;
  height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(255, 94, 64, .65);
  background: rgba(88, 17, 12, .72);
  color: #ffd7cd;
  font-weight: 900;
  cursor: pointer;
}
.donation-order-delete:hover {
  border-color: rgba(255, 142, 100, .95);
  background: rgba(132, 30, 18, .88);
}
.donation-order-locked {
  color: rgba(255,255,255,.38);
  font-size: 12px;
}
@media (max-width: 780px) {
  .donation-order-row {
    grid-template-columns: 1fr;
  }
  .donation-order-actions {
    justify-content: flex-start;
  }
}

/* v22 會員中心導覽 + 未登入贊助卡片提示 */
.nav-links a[href="member.php"]{
  border:1px solid rgba(255, 220, 150, .24);
  background:rgba(255, 220, 150, .055);
}
.nav-links a[href="member.php"].active{
  background:linear-gradient(135deg,var(--gold2),var(--gold));
  color:#16100a;
}
.donation-login-popup{
  display:none;
  margin:16px 0 4px;
  padding:18px 20px;
  border-radius:20px;
  border:1px solid rgba(255, 119, 85, .42);
  background:
    radial-gradient(circle at 16% 0%, rgba(255, 211, 123, .14), transparent 36%),
    linear-gradient(135deg, rgba(52, 18, 13, .92), rgba(12, 8, 7, .88));
  box-shadow:0 18px 46px rgba(0,0,0,.34), 0 0 28px rgba(255, 105, 64, .10);
}
.donation-login-popup.show{
  display:block !important;
}
.donation-login-popup-title{
  color:#ffda7a;
  font-size:20px;
  font-weight:950;
  letter-spacing:.04em;
  margin-bottom:8px;
}
.donation-login-popup p{
  margin:0;
  color:rgba(238,226,198,.84);
  line-height:1.78;
}
.donation-login-popup-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:14px;
}
@media (min-width:1181px){
  html body .site-header .brand{
    flex-basis:clamp(260px,23vw,360px) !important;
    min-width:240px !important;
  }
  html body .site-header .nav-links{
    gap:clamp(1px,.18vw,4px) !important;
  }
  html body .site-header .nav-links a{
    padding:8px clamp(5px,.48vw,9px) !important;
    font-size:clamp(12px,.78vw,13px) !important;
  }
}
@media (max-width:720px){
  .donation-login-popup-actions .btn{
    width:100%;
  }
}


/* v23 會員 ICON / 全站登入 popup / 贊助測試頁 */
.nav-links .member-header-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  flex:0 0 44px;
  padding:0;
  margin-left:6px;
  border-radius:15px;
  border:1px solid rgba(255, 205, 118, .38);
  color:#ffe6a8;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.34));
  box-shadow:0 0 0 1px rgba(255,255,255,.03) inset, 0 10px 28px rgba(0,0,0,.24);
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.nav-links .member-header-btn:hover{
  transform:translateY(-2px);
  border-color:rgba(255, 224, 150, .78);
  box-shadow:0 12px 32px rgba(233,183,91,.18), 0 0 0 1px rgba(255,255,255,.05) inset;
}
.nav-links .member-header-btn.is-member{
  color:#170f07;
  background:linear-gradient(135deg, #fff0b8, #e9b75b 62%, #a86824);
  border-color:rgba(255, 233, 166, .88);
}
.nav-links .member-header-btn.is-guest{
  background:linear-gradient(180deg, rgba(255,103,48,.12), rgba(0,0,0,.40));
  border-color:rgba(255, 97, 44, .72);
}
.member-header-btn svg{width:24px;height:24px;display:block;fill:currentColor;filter:drop-shadow(0 1px 4px rgba(0,0,0,.25));}
.member-header-btn .member-header-dot{
  position:absolute;right:5px;top:5px;width:9px;height:9px;border-radius:50%;
  background:#ff563f;box-shadow:0 0 12px rgba(255,86,63,.8);border:1px solid rgba(0,0,0,.45);
}
.member-header-btn.is-member .member-header-dot{background:#2cff94;box-shadow:0 0 12px rgba(44,255,148,.82);}
.member-header-popover{
  position:fixed;
  z-index:10050;
  top:78px;
  right:22px;
  width:min(330px, calc(100vw - 32px));
  display:none;
  padding:18px;
  border-radius:22px;
  border:1px solid rgba(255, 216, 135, .34);
  background:radial-gradient(circle at 22% 0%, rgba(255,216,130,.14), transparent 38%), linear-gradient(180deg, rgba(18,14,18,.98), rgba(5,6,10,.96));
  box-shadow:0 24px 72px rgba(0,0,0,.56), 0 0 0 1px rgba(255,255,255,.04) inset;
  color:#f8f0df;
}
.member-header-popover.show{display:block;animation:memberPopoverIn .15s ease-out;}
@keyframes memberPopoverIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.member-header-popover:before{
  content:"";position:absolute;right:22px;top:-8px;width:14px;height:14px;transform:rotate(45deg);
  border-left:1px solid rgba(255,216,135,.30);border-top:1px solid rgba(255,216,135,.30);
  background:rgba(18,14,18,.98);
}
.member-header-pop-title{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.member-header-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,#fff0b8,#e9b75b);color:#170f07;font-weight:950;box-shadow:0 10px 28px rgba(233,183,91,.18);}
.member-header-pop-title b{display:block;color:#fff1c8;font-size:18px;line-height:1.2;}
.member-header-pop-title span{display:block;color:rgba(242,225,198,.66);font-size:12px;margin-top:3px;}
.member-header-kv{display:grid;gap:8px;margin:12px 0 14px;}
.member-header-kv div{display:flex;justify-content:space-between;gap:14px;padding:9px 11px;border-radius:13px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.06);}
.member-header-kv span{color:rgba(242,225,198,.64);font-size:12px;}
.member-header-kv b{color:#ffe4a6;font-size:13px;text-align:right;word-break:break-word;}
.member-header-actions{display:flex;flex-wrap:wrap;gap:10px;}
.member-header-actions .btn{padding:10px 14px;font-size:13px;flex:1 1 auto;}
.dr-auth-modal{
  position:fixed;inset:0;z-index:10060;display:none;align-items:center;justify-content:center;padding:18px;
  background:rgba(0,0,0,.72);backdrop-filter:blur(10px);
}
.dr-auth-modal.show{display:flex;}
.dr-auth-card{
  position:relative;width:min(430px,100%);max-height:calc(100vh - 36px);overflow:auto;
  border-radius:28px;border:1px solid rgba(255,216,135,.34);
  background:radial-gradient(circle at 18% 0%, rgba(255,216,130,.15), transparent 38%), linear-gradient(180deg, rgba(22,17,20,.98), rgba(5,6,10,.98));
  box-shadow:0 28px 90px rgba(0,0,0,.62), 0 0 0 1px rgba(255,255,255,.04) inset;
  padding:24px;
}
.dr-auth-close{position:absolute;right:14px;top:12px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff0d1;font-size:22px;line-height:1;cursor:pointer;}
.dr-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;}
.dr-auth-tabs button{border:1px solid rgba(233,183,91,.26);border-radius:999px;background:rgba(0,0,0,.28);color:#f4ead8;font-weight:950;padding:11px 12px;cursor:pointer;}
.dr-auth-tabs button.active{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#170f07;}
.dr-auth-form{display:none;gap:14px;}
.dr-auth-form.active{display:grid;}
.dr-auth-form label{display:grid;gap:7px;color:#fff0c8;font-weight:850;}
.dr-auth-form input{width:100%;border-radius:14px;border:1px solid rgba(233,183,91,.22);background:rgba(0,0,0,.36);color:#fff4df;padding:12px 14px;outline:none;}
.dr-auth-form input:focus{border-color:rgba(255,224,150,.72);box-shadow:0 0 0 3px rgba(233,183,91,.10);}
.dr-auth-check{display:flex!important;grid-template-columns:none!important;align-items:center;gap:9px;color:#d8cbb8!important;font-size:13px;}
.dr-auth-check input{width:auto;}
.dr-auth-msg{min-height:21px;color:#ff9c84;font-weight:850;line-height:1.55;}
.dr-auth-msg.ok{color:#92ffbd;}
.donation-test-page .donation-test-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px;align-items:start;}
.donation-test-page .donation-test-card{border:1px solid var(--line);border-radius:26px;background:linear-gradient(180deg,rgba(22,24,34,.92),rgba(8,9,14,.96));box-shadow:var(--shadow);padding:24px;}
.donation-test-page .donation-test-form{display:grid;gap:14px;}
.donation-test-page .donation-test-form label{display:grid;gap:7px;color:#fff0c8;font-weight:850;}
.donation-test-page .donation-test-form input,.donation-test-page .donation-test-form select{border-radius:14px;border:1px solid rgba(233,183,91,.22);background:rgba(0,0,0,.35);color:#fff4df;padding:12px 14px;outline:none;}
.donation-test-page .donation-test-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;}
.donation-test-page .donation-test-log{white-space:pre-wrap;min-height:280px;max-height:620px;overflow:auto;border-radius:18px;border:1px solid rgba(233,183,91,.16);background:rgba(0,0,0,.34);padding:16px;color:#f0e5d6;line-height:1.7;font-family:"Consolas","Microsoft JhengHei",monospace;}
.donation-test-page .donation-test-warn{border-left:4px solid #ff7a4f;background:rgba(132,42,20,.18);border-radius:16px;padding:14px 16px;color:#ffe2d5;line-height:1.7;}
@media (max-width:880px){
  .nav-links .member-header-btn{width:100%;height:43px;flex:0 0 auto;border-radius:999px;margin:4px 0 0;gap:8px;}
  .nav-links .member-header-btn:after{content:attr(data-label);font-weight:950;font-size:14px;}
  .member-header-btn .member-header-dot{right:calc(50% - 56px);top:8px;}
  .member-header-popover{top:82px;left:16px;right:16px;width:auto;}
  .member-header-popover:before{display:none;}
  .donation-test-page .donation-test-grid{grid-template-columns:1fr;}
}
@media (max-width:520px){
  .dr-auth-card{padding:22px 18px;border-radius:22px;}
  .member-header-actions .btn{width:100%;}
}


/* v24 人偶收集系統 + 贊助測試頁按鈕修正 */
.doll-system-block{
  position:relative;
  overflow:hidden;
}
.doll-system-block:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 16% 14%, rgba(143, 84, 255, .16), transparent 34%),
    radial-gradient(circle at 84% 8%, rgba(255, 212, 118, .12), transparent 30%);
}
.doll-system-block > .container{position:relative;z-index:1;}
.doll-showcase-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
  gap:24px;
  align-items:stretch;
}
.doll-hero-card{
  border:1px solid rgba(255, 216, 129, .22);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(22,18,26,.92),rgba(7,8,14,.96));
  box-shadow:var(--shadow);
  overflow:hidden;
}
.doll-hero-img{
  position:relative;
  aspect-ratio:16/9;
  background:rgba(0,0,0,.35);
  overflow:hidden;
}
.doll-hero-img img,
.doll-mini-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.doll-hero-img:after,
.doll-mini-card:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.42));
}
.doll-mini-card:before{bottom:auto;height:118px;}
.doll-hero-body{padding:24px;}
.doll-hero-body h3{margin:9px 0 10px;color:#fff2c9;font-size:clamp(24px,2.2vw,34px);}
.doll-hero-body p{margin:0;color:rgba(242,231,205,.82);line-height:1.9;}
.doll-effect-row{margin-top:18px;}
.doll-feature-stack{display:grid;gap:16px;}
.doll-mini-card{
  position:relative;
  overflow:hidden;
  min-height:190px;
  padding:0;
  display:grid;
  grid-template-rows:118px auto auto;
  border-color:rgba(186, 132, 255, .28);
  background:linear-gradient(180deg,rgba(33,25,43,.88),rgba(8,8,14,.94));
}
.doll-mini-card img{position:relative;grid-row:1;}
.doll-mini-card b,
.doll-mini-card span{position:relative;z-index:1;padding-left:18px;padding-right:18px;}
.doll-mini-card b{padding-top:15px;color:#ffe59f;font-size:18px;}
.doll-mini-card span{padding-bottom:18px;color:rgba(239,228,208,.78);line-height:1.65;}
.doll-info-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.doll-info-grid article{
  border:1px solid rgba(255,216,129,.18);
  border-radius:20px;
  background:rgba(8,10,16,.62);
  padding:18px;
  box-shadow:0 16px 42px rgba(0,0,0,.22);
}
.doll-info-grid strong{display:block;color:#a98dff;font-size:24px;line-height:1;margin-bottom:10px;}
.doll-info-grid b{display:block;color:#ffe6a8;font-size:17px;margin-bottom:7px;}
.doll-info-grid span{display:block;color:rgba(239,229,207,.76);line-height:1.7;font-size:14px;}
.donation-test-page .donation-test-actions .btn.loading{
  opacity:.72;
  cursor:wait;
  transform:none;
}
.donation-test-page .donation-test-actions .btn.loading:after{
  content:"…";
  margin-left:4px;
}
@media (max-width:980px){
  .doll-showcase-grid{grid-template-columns:1fr;}
  .doll-feature-stack{grid-template-columns:repeat(3,minmax(0,1fr));}
  .doll-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:680px){
  .doll-hero-body{padding:20px 18px;}
  .doll-feature-stack,.doll-info-grid{grid-template-columns:1fr;}
  .doll-mini-card{grid-template-rows:150px auto auto;}
  .doll-mini-card:before{height:150px;}
}

/* v25 - 潛力強化 / 圖騰強化 / 贊助測試頁 */
.enhancement-system-block,
.totem-system-block{
  position:relative;
  overflow:hidden;
}
.enhancement-system-block:before,
.totem-system-block:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 8%,rgba(233,183,91,.18),transparent 30rem),
    radial-gradient(circle at 88% 18%,rgba(92,128,255,.16),transparent 30rem),
    radial-gradient(circle at 50% 100%,rgba(190,23,50,.13),transparent 34rem);
}
.totem-system-block:before{
  background:
    radial-gradient(circle at 16% 2%,rgba(233,183,91,.20),transparent 30rem),
    radial-gradient(circle at 86% 28%,rgba(190,23,50,.16),transparent 30rem),
    radial-gradient(circle at 50% 100%,rgba(110,90,255,.12),transparent 34rem);
}
.enhancement-system-block > .container,
.totem-system-block > .container{position:relative;z-index:1;}
.enhancement-showcase-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.72fr);
  gap:24px;
  align-items:stretch;
}
.enhancement-showcase-grid.reverse{grid-template-columns:minmax(320px,.72fr) minmax(0,1.45fr);}
.enhancement-showcase-grid.reverse .enhancement-main-card{grid-column:2;grid-row:1;}
.enhancement-showcase-grid.reverse .totem-feature-grid{grid-column:1;grid-row:1;}
.enhancement-main-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(233,183,91,.24);
  border-radius:30px;
  background:linear-gradient(180deg,rgba(24,26,39,.94),rgba(8,9,14,.96));
  box-shadow:var(--shadow);
}
.enhancement-main-card:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(233,183,91,.13),transparent 34%,rgba(92,128,255,.08));
}
.enhancement-main-card.totem-card:after{
  background:linear-gradient(135deg,rgba(233,183,91,.14),transparent 34%,rgba(190,23,50,.08));
}
.enhancement-screen{position:relative;overflow:hidden;background:rgba(0,0,0,.45);}
.enhancement-screen img{width:100%;height:auto;display:block;object-fit:cover;filter:saturate(1.08) contrast(1.03);}
.enhancement-screen:after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:42%;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.58));
}
.enhancement-body{position:relative;z-index:1;padding:26px;}
.enhancement-body h3{margin:9px 0 10px;color:#fff2c9;font-size:clamp(24px,2.2vw,34px);}
.enhancement-body p{margin:0;color:rgba(242,231,205,.82);line-height:1.9;}
.enhancement-effect-row{margin-top:18px;}
.enhancement-info-stack,
.totem-feature-grid{display:grid;gap:16px;}
.enhancement-info-stack{grid-template-rows:repeat(3,1fr);}
.totem-feature-grid{grid-template-rows:repeat(4,1fr);}
.enhancement-mini-card{
  position:relative;
  overflow:hidden;
  border-color:rgba(233,183,91,.24);
  background:linear-gradient(180deg,rgba(31,29,42,.90),rgba(9,10,16,.94));
}
.enhancement-mini-card:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 12% 0%,rgba(233,183,91,.14),transparent 16rem);
}
.enhancement-mini-card b,
.enhancement-mini-card span{position:relative;z-index:1;}
.enhancement-mini-card b{display:block;color:#ffe59f;font-size:19px;margin-bottom:8px;}
.enhancement-mini-card span{display:block;color:rgba(239,228,208,.78);line-height:1.75;}
.donation-test-hint{
  display:block;
  margin-top:8px;
  color:#c9bda9;
  line-height:1.6;
  font-size:13px;
}
.donation-test-form .btn-danger{
  border-color:rgba(255,104,104,.42);
  color:#ffd7d7;
}
@media (max-width:980px){
  .enhancement-showcase-grid,
  .enhancement-showcase-grid.reverse{grid-template-columns:1fr;}
  .enhancement-showcase-grid.reverse .enhancement-main-card,
  .enhancement-showcase-grid.reverse .totem-feature-grid{grid-column:auto;grid-row:auto;}
  .enhancement-info-stack,.totem-feature-grid{grid-template-rows:auto;grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:680px){
  .enhancement-body{padding:21px 18px;}
  .enhancement-info-stack,.totem-feature-grid{grid-template-columns:1fr;}
}

/* v26 admin console */
.dr-admin-page .page-hero.compact { padding-bottom: 54px; }
.dr-admin-shell { padding-top: 42px; }
.dr-admin-app[hidden], .dr-admin-login-card[hidden] { display: none !important; }
.dr-admin-card {
  border: 1px solid rgba(255, 214, 120, .22);
  background: linear-gradient(135deg, rgba(13, 16, 26, .92), rgba(34, 12, 29, .78));
  border-radius: 22px;
  padding: 24px;
  box-shadow: 0 18px 55px rgba(0,0,0,.28);
  margin-bottom: 22px;
}
.dr-admin-card.danger { border-color: rgba(255, 91, 61, .45); }
.dr-admin-login-card { max-width: 560px; margin: 0 auto 28px; }
.dr-admin-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.dr-admin-toolbar h2, .dr-admin-card h2, .dr-admin-card h3 { margin: 8px 0 16px; }
.dr-admin-toolbar-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.dr-admin-grid { display: grid; grid-template-columns: 1fr; gap: 22px; }
.dr-admin-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dr-admin-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 0 22px; }
.dr-admin-stats > div { border: 1px solid rgba(255,214,120,.2); border-radius: 16px; padding: 14px 16px; background: rgba(0,0,0,.28); }
.dr-admin-stats b { display:block; color:#ffd777; font-size: 26px; line-height:1; }
.dr-admin-stats span { display:block; color:rgba(255,255,255,.68); font-size: 12px; margin-top: 6px; }
.dr-admin-form { display: grid; gap: 14px; }
.dr-admin-form.cols { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dr-admin-form label { display: grid; gap: 7px; color: rgba(255,255,255,.82); font-size: 14px; }
.dr-admin-form input, .dr-admin-form select, .dr-admin-inline input {
  width: 100%; border: 1px solid rgba(255,214,120,.2); background: rgba(0,0,0,.42); color: #fff4d2;
  border-radius: 12px; padding: 12px 14px; outline: none;
}
.dr-admin-form input:focus, .dr-admin-form select:focus, .dr-admin-inline input:focus { border-color: rgba(255,214,120,.65); box-shadow: 0 0 0 3px rgba(255,214,120,.08); }
.dr-admin-form-actions { align-self: end; display: flex; gap: 10px; }
.dr-admin-inline { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; }
.dr-admin-check { display:flex !important; grid-auto-flow: column; align-items:center; justify-content:start; gap:9px !important; }
.dr-admin-check input { width: auto !important; }
.dr-admin-note { color: rgba(255,255,255,.68); font-size: 14px; line-height: 1.8; }
.dr-admin-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin: 20px 0; }
.dr-admin-tabs button { border: 1px solid rgba(255,214,120,.22); color: #fff0c2; background: rgba(0,0,0,.32); border-radius: 999px; padding: 10px 16px; cursor:pointer; }
.dr-admin-tabs button.active { background: linear-gradient(135deg, #ffd777, #be7b20); color: #19120b; border-color: transparent; font-weight: 800; }
.dr-admin-tabpane { display: none; }
.dr-admin-tabpane.active { display:block; }
.dr-admin-result { margin-top: 14px; color: rgba(255,255,255,.82); }
.dr-admin-mini { display:grid; gap: 6px; padding: 12px; border: 1px solid rgba(255,214,120,.16); border-radius: 14px; background: rgba(0,0,0,.25); }
.dr-admin-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid rgba(255,214,120,.14); border-radius: 14px; }
.dr-admin-table { width: 100%; border-collapse: collapse; min-width: 760px; }
.dr-admin-table th, .dr-admin-table td { padding: 10px 12px; border-bottom: 1px solid rgba(255,255,255,.08); text-align: left; font-size: 13px; vertical-align: top; }
.dr-admin-table th { color: #ffd777; background: rgba(255,214,120,.08); white-space: nowrap; }
.dr-admin-table td { color: rgba(255,255,255,.78); word-break: break-all; }
.dr-admin-log { min-height: 180px; max-height: 420px; overflow:auto; padding:16px; border-radius:16px; border:1px solid rgba(255,214,120,.18); background:rgba(0,0,0,.48); color:#fff4d2; white-space:pre-wrap; }
@media (max-width: 980px) {
  .dr-admin-grid.two, .dr-admin-form.cols, .dr-admin-stats { grid-template-columns: 1fr; }
  .dr-admin-toolbar, .dr-admin-inline { grid-template-columns: 1fr; display:grid; }
}
.donation-test-fixed-key { border:1px solid rgba(255,214,120,.22); background:rgba(255,214,120,.08); color:#ffe3a0; border-radius:12px; padding:12px 14px; font-weight:800; }

/* === v27 admin polish / footer tools / scroll performance === */
html{scroll-behavior:auto !important}
body,.section,.section-alt,.page-hero{background-attachment:scroll !important}
.dr-admin-form input,.dr-admin-form select,.dr-admin-inline input,.dr-admin-inline select,.dr-admin-selectors select{
  width:100%;border:1px solid rgba(255,214,120,.22);border-radius:12px;background:rgba(0,0,0,.42);color:#fff3d4;padding:12px 14px;outline:none;
}
.dr-admin-form input:focus,.dr-admin-form select:focus,.dr-admin-inline input:focus,.dr-admin-inline select:focus,.dr-admin-selectors select:focus{border-color:rgba(255,214,120,.65);box-shadow:0 0 0 3px rgba(255,214,120,.08)}
.dr-admin-selectors{display:grid;grid-template-columns:1fr 1.4fr 1.7fr;gap:12px;margin-top:14px;padding:14px;border:1px solid rgba(255,214,120,.14);border-radius:18px;background:rgba(0,0,0,.20)}
.dr-admin-selectors label{display:grid;gap:7px;color:rgba(255,255,255,.82);font-size:14px}.dr-admin-selector-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}.dr-admin-mini-select{margin-bottom:14px}.dr-admin-item-search-card{margin-bottom:22px}.dr-admin-item-actions{display:flex;gap:7px;flex-wrap:wrap}.dr-admin-item-actions button{border:1px solid rgba(255,214,120,.25);background:rgba(255,214,120,.08);color:#ffe0a0;border-radius:999px;padding:7px 10px;font-weight:850;cursor:pointer}.dr-admin-item-actions button:hover{background:rgba(255,214,120,.18)}
.dr-footer-tools{max-width:min(1180px,calc(100% - 40px));margin:18px auto 0;padding-top:16px;border-top:1px solid rgba(233,183,91,.12);display:flex;align-items:center;justify-content:flex-end;gap:12px}.dr-footer-admin-icon,.dr-footer-contact-btn{border:1px solid rgba(233,183,91,.28);background:rgba(255,255,255,.045);color:#f7e7c4;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;font-weight:950;cursor:pointer}.dr-footer-admin-icon{width:38px;padding:0;font-size:17px}.dr-footer-admin-icon:hover,.dr-footer-contact-btn:hover{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#170f07}.dr-contact-modal{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(0,0,0,.72);backdrop-filter:blur(10px)}.dr-contact-modal.show{display:flex}.dr-contact-card{position:relative;width:min(560px,100%);border:1px solid rgba(233,183,91,.28);border-radius:28px;background:linear-gradient(180deg,rgba(26,18,30,.98),rgba(7,8,13,.98));box-shadow:0 32px 110px rgba(0,0,0,.72);padding:30px}.dr-contact-card h2{margin:12px 0 10px}.dr-contact-card p{color:rgba(255,255,255,.74);line-height:1.8}.dr-contact-close{position:absolute;right:16px;top:14px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(233,183,91,.22);background:rgba(0,0,0,.34);color:#fff3d4;font-size:24px;cursor:pointer}.dr-contact-form{display:grid;gap:14px;margin-top:16px}.dr-contact-form label{display:grid;gap:7px;color:#fff1cf;font-weight:850}.dr-contact-form input,.dr-contact-form textarea{width:100%;border:1px solid rgba(233,183,91,.22);border-radius:16px;background:rgba(0,0,0,.42);color:#fff3d4;padding:13px 15px;outline:none;resize:vertical}.dr-contact-form input:focus,.dr-contact-form textarea:focus{border-color:rgba(255,214,120,.65);box-shadow:0 0 0 3px rgba(255,214,120,.08)}.dr-contact-msg{min-height:22px;color:#ff9b88;font-weight:850}.dr-contact-msg.ok{color:#8affbf}
@media (max-width:880px){.dr-admin-selectors{grid-template-columns:1fr}.dr-admin-selector-actions{display:grid}.dr-footer-tools{justify-content:flex-start;max-width:min(100% - 28px,1180px)}}

/* v28 contact popup fix */
.dr-contact-note{display:block;margin-top:-3px;color:rgba(255,243,212,.58);font-size:12px;font-weight:700;line-height:1.5}.dr-contact-form button[disabled]{opacity:.62;cursor:wait;filter:grayscale(.15)}

/* v29 site message center */
.dr-admin-form textarea,
.dr-admin-inline textarea {
  width: 100%;
  border: 1px solid rgba(255,214,120,.22);
  border-radius: 12px;
  background: rgba(0,0,0,.42);
  color: #fff3d4;
  padding: 12px 14px;
  outline: none;
  resize: vertical;
  min-height: 120px;
}
.dr-admin-form textarea:focus,
.dr-admin-inline textarea:focus {
  border-color: rgba(255,214,120,.65);
  box-shadow: 0 0 0 3px rgba(255,214,120,.08);
}
.dr-admin-message-list {
  display: grid;
  gap: 14px;
  max-height: 680px;
  overflow: auto;
  padding-right: 4px;
}
.dr-admin-message-card {
  border: 1px solid rgba(255,214,120,.18);
  border-radius: 18px;
  padding: 15px;
  background: rgba(0,0,0,.26);
}
.dr-admin-message-card.deleted {
  opacity: .55;
  filter: grayscale(.35);
}
.dr-admin-message-head,
.dr-admin-message-meta,
.dr-admin-message-actions {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  align-items: center;
}
.dr-admin-message-head {
  justify-content: space-between;
  margin-bottom: 8px;
}
.dr-admin-message-head b {
  color: #ffe5a0;
}
.dr-admin-message-status {
  border: 1px solid rgba(255,214,120,.22);
  border-radius: 999px;
  padding: 4px 10px;
  color: #ffe0a0;
  background: rgba(255,214,120,.08);
  font-size: 12px;
  font-weight: 900;
}
.dr-admin-message-meta {
  color: rgba(255,255,255,.62);
  font-size: 12px;
  margin-bottom: 10px;
}
.dr-admin-message-card h4 {
  margin: 6px 0 8px;
  color: #fff4d4;
}
.dr-admin-message-text,
.dr-admin-message-reply pre {
  white-space: pre-wrap;
  word-break: break-word;
  margin: 0;
  color: rgba(255,255,255,.82);
  font-family: inherit;
  line-height: 1.75;
}
.dr-admin-message-reply {
  margin-top: 12px;
  border-left: 3px solid rgba(138,255,191,.55);
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(60,255,150,.08);
  color: #ddffe9;
}
.dr-admin-message-reply small {
  display: block;
  margin-top: 6px;
  color: rgba(221,255,233,.62);
}
.dr-admin-message-actions {
  margin-top: 12px;
}
.dr-admin-message-actions button {
  border: 1px solid rgba(255,214,120,.25);
  border-radius: 999px;
  padding: 7px 12px;
  color: #ffe0a0;
  background: rgba(255,214,120,.08);
  font-weight: 900;
  cursor: pointer;
}
.dr-admin-message-actions button:hover {
  background: rgba(255,214,120,.18);
}
.dr-admin-message-actions button.danger {
  border-color: rgba(255,91,61,.42);
  color: #ffd7d7;
  background: rgba(255,91,61,.08);
}
@media (max-width: 680px) {
  .dr-admin-message-head { align-items: flex-start; }
  .dr-admin-message-list { max-height: none; }
}

/* v30 player message center */
.member-header-btn.has-unread {
  box-shadow: 0 0 0 1px rgba(255,214,120,.55), 0 0 22px rgba(255,214,120,.20);
}
.member-header-mail-dot {
  position: absolute;
  right: -7px;
  top: -7px;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg,#ffde83,#f2ad38);
  color: #160c05;
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
  box-shadow: 0 0 16px rgba(255,214,120,.78);
  animation: drMailPulse 1.2s ease-in-out infinite;
}
@keyframes drMailPulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.12)} }
.member-header-message-btn {
  width: 100%;
  display: grid;
  grid-template-columns: 38px 1fr auto;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(233,183,91,.18);
  border-radius: 16px;
  padding: 10px 11px;
  margin: 8px 0 12px;
  color: #fff7dc;
  background: rgba(255,255,255,.045);
  cursor: pointer;
  text-align: left;
}
.member-header-message-btn:hover,
.member-header-message-btn.has-unread {
  border-color: rgba(255,214,120,.48);
  background: rgba(255,214,120,.10);
}
.member-header-envelope {
  width: 38px;
  height: 34px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg,#ffe7a4,#d79a35);
  color: #160c05;
  box-shadow: 0 10px 24px rgba(233,183,91,.16);
}
.member-header-message-btn strong { color:#fff4d2; font-size: 14px; }
.member-header-message-btn b { color:#ffe2a0; font-size: 12px; text-align:right; }
.dr-global-message-modal {
  position: fixed;
  inset: 0;
  z-index: 10070;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
  background: rgba(0,0,0,.74);
  backdrop-filter: blur(10px);
}
.dr-global-message-modal.show { display:flex; }
.dr-global-message-cardbox {
  position: relative;
  width: min(820px, 100%);
  max-height: min(88dvh, 900px);
  overflow: auto;
  border: 1px solid rgba(233,183,91,.28);
  border-radius: 28px;
  background: linear-gradient(180deg,rgba(26,18,30,.98),rgba(7,8,13,.98));
  box-shadow: 0 32px 110px rgba(0,0,0,.72);
  padding: 28px;
}
.dr-global-message-close {
  position: absolute;
  right: 16px;
  top: 14px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid rgba(233,183,91,.22);
  background: rgba(0,0,0,.34);
  color: #fff3d4;
  font-size: 24px;
  cursor: pointer;
}
.dr-global-message-cardbox h2 { margin: 10px 0 8px; }
.dr-global-message-note { color: rgba(255,255,255,.78); line-height: 1.75; }
.dr-global-compose-form {
  display: grid;
  gap: 12px;
  margin: 16px 0 18px;
  padding: 14px;
  border: 1px solid rgba(233,183,91,.16);
  border-radius: 20px;
  background: rgba(255,255,255,.035);
}
.dr-global-compose-grid { display:grid; grid-template-columns: 1fr 1.2fr; gap: 12px; }
.dr-global-compose-form label { display:grid; gap:7px; color:#fff1cf; font-weight:850; }
.dr-global-compose-form input,
.dr-global-compose-form textarea,
.dr-global-reply-form textarea {
  width: 100%;
  border: 1px solid rgba(233,183,91,.22);
  border-radius: 14px;
  background: rgba(0,0,0,.42);
  color: #fff;
  padding: 12px 14px;
  outline: none;
  resize: vertical;
}
.dr-global-compose-form input:focus,
.dr-global-compose-form textarea:focus,
.dr-global-reply-form textarea:focus {
  border-color: rgba(255,214,120,.65);
  box-shadow: 0 0 0 3px rgba(255,214,120,.08);
}
.dr-global-message-msg { min-height: 22px; color:#ff9b88; font-weight:850; }
.dr-global-message-msg.ok { color:#8affbf; }
.dr-global-message-toolbar { display:flex; justify-content:flex-end; margin-bottom:12px; }
.dr-global-message-list { display:grid; gap:14px; }
.dr-global-message-empty {
  padding: 18px;
  border: 1px dashed rgba(233,183,91,.22);
  border-radius: 16px;
  color: #fff;
  background: rgba(255,255,255,.035);
}
.dr-global-message-card {
  border: 1px solid rgba(233,183,91,.22);
  border-radius: 20px;
  padding: 16px;
  background: linear-gradient(135deg, rgba(18,20,31,.88), rgba(30,13,28,.74));
}
.dr-global-message-card.unread {
  border-color: rgba(255,214,120,.52);
  box-shadow: 0 0 0 1px rgba(255,214,120,.10), 0 18px 48px rgba(0,0,0,.25);
}
.dr-global-message-head,
.dr-global-message-meta,
.dr-global-message-actions {
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  align-items:center;
}
.dr-global-message-head { justify-content:space-between; margin-bottom:8px; }
.dr-global-message-head b { color:#ffe5a0; }
.dr-global-message-head span {
  border:1px solid rgba(233,183,91,.22);
  border-radius:999px;
  padding:4px 10px;
  color:#ffe0a0;
  background:rgba(233,183,91,.08);
  font-size:12px;
  font-weight:900;
}
.dr-global-message-meta { color:rgba(255,255,255,.78); font-size:12px; margin-bottom:10px; }
.dr-global-message-card h4 { margin: 8px 0 10px; color:#fff5d8; }
.dr-global-message-card pre,
.dr-global-message-reply pre {
  margin: 0;
  white-space: pre-wrap;
  word-break: break-word;
  color: #fff;
  font-family: inherit;
  line-height: 1.8;
}
.dr-global-message-reply {
  margin-top: 14px;
  border-left: 3px solid rgba(138,255,191,.55);
  border-radius: 12px;
  padding: 11px 13px;
  background: rgba(60,255,150,.08);
  color: #ddffe9;
}
.dr-global-message-reply small { display:block; margin-top:6px; color:rgba(221,255,233,.76); }
.dr-global-message-actions { margin-top:12px; }
.dr-global-message-actions button {
  border: 1px solid rgba(255,214,120,.25);
  border-radius: 999px;
  padding: 7px 12px;
  color: #ffe0a0;
  background: rgba(255,214,120,.08);
  font-weight: 900;
  cursor: pointer;
}
.dr-global-message-actions button:hover { background: rgba(255,214,120,.18); }
.dr-global-message-actions button.danger { border-color: rgba(255,91,61,.42); color:#ffd7d7; background:rgba(255,91,61,.08); }
.dr-global-reply-form { display:none; gap:10px; margin-top:12px; }
.dr-global-reply-form.show { display:grid; }
.dr-global-reply-form > div { display:flex; gap:10px; flex-wrap:wrap; }
.dr-contact-login-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:18px; }
.dr-contact-form input[readonly] { color:#ffe4a6; background:rgba(255,214,120,.08); }
.dr-contact-form input,
.dr-contact-form textarea { color:#fff; }
@media (max-width:680px){
  .dr-global-message-cardbox{padding:22px 16px;max-height:92dvh;}
  .dr-global-compose-grid{grid-template-columns:1fr;}
  .member-header-message-btn{grid-template-columns:34px 1fr;}
  .member-header-message-btn b{grid-column:2;text-align:left;}
}

/* v31 threaded global message popup */
.dr-global-message-thread-body {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}
.dr-global-message-line {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  padding: 13px 14px;
  background: rgba(0,0,0,.24);
}
.dr-global-message-line.is-self {
  border-color: rgba(255,255,255,.20);
  background: rgba(255,255,255,.055);
}
.dr-global-message-line.is-peer,
.dr-global-message-line.is-admin-reply {
  border-color: rgba(138,255,191,.25);
  background: rgba(60,255,150,.075);
}
.dr-global-message-line.is-unread {
  box-shadow: 0 0 0 1px rgba(255,214,120,.12), 0 0 22px rgba(255,214,120,.10);
}
.dr-global-message-line-meta {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 8px;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
}
.dr-global-message-line-meta b {
  color: #fff6da;
  font-size: 15px;
}
.dr-global-message-line-meta span {
  color: #fff;
  opacity: .96;
}
.dr-global-message-line-meta em {
  border: 1px solid rgba(255,214,120,.38);
  border-radius: 999px;
  padding: 2px 8px;
  color: #fff1bd;
  background: rgba(255,214,120,.12);
  font-style: normal;
  font-size: 12px;
}
.dr-global-message-line h4 {
  margin: 8px 0 10px;
  color: #fff5d8;
  font-size: 15px;
}
.dr-global-message-line.is-self pre {
  color: #fff !important;
  font-size: 15px;
}
.dr-global-message-line.is-peer pre,
.dr-global-message-line.is-admin-reply pre {
  color: #9dffbc !important;
  font-size: 15px;
}
.dr-global-message-meta {
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 850;
}
.dr-global-message-meta span {
  color: #fff;
}
.dr-global-line-actions {
  margin-top: 10px;
}
.dr-global-message-pages {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin: 12px 0;
}
.dr-global-page-btn {
  border: 1px solid rgba(255,214,120,.28);
  border-radius: 999px;
  padding: 7px 12px;
  color: #ffe0a0;
  background: rgba(255,214,120,.08);
  font-weight: 950;
  cursor: pointer;
}
.dr-global-page-btn:hover,
.dr-global-page-btn.active {
  color: #170f07;
  background: linear-gradient(135deg, #ffe7a4, #d79a35);
  border-color: rgba(255,214,120,.65);
}
.dr-global-page-ellipsis {
  color: #fff;
  font-weight: 950;
  padding: 0 2px;
}


/* v32 unread message animations */
.nav-links .member-header-btn.has-unread .member-header-dot {
  animation: drUnreadGreenBlink 1.55s ease-in-out infinite;
}
.member-header-btn.has-unread .member-header-mail-dot {
  animation: drUnreadMailFloat 1.85s ease-in-out infinite;
}
.member-header-mail-dot {
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  overflow: visible;
}
.member-header-mail-dot span {
  grid-area: 1 / 1;
  line-height: 1;
  transform: translateY(-1px);
}
.member-header-mail-dot b {
  position: absolute;
  right: -8px;
  bottom: -8px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: #160c05;
  background: #9dff69;
  border: 1px solid rgba(0,0,0,.45);
  box-shadow: 0 0 12px rgba(157,255,105,.74);
  font-size: 10px;
  font-weight: 950;
  line-height: 1;
}
.member-header-message-btn.has-unread .member-header-envelope,
.member-header-message-btn.has-unread b {
  animation: drUnreadSoftBlink 1.9s ease-in-out infinite;
}
.member-header-message-btn.has-unread strong {
  color: #fff9dd;
  text-shadow: 0 0 12px rgba(255,214,120,.25);
}
@keyframes drUnreadGreenBlink {
  0%, 100% { opacity: 1; transform: scale(1); box-shadow: 0 0 10px rgba(44,255,148,.78), 0 0 0 0 rgba(44,255,148,.28); }
  50% { opacity: .38; transform: scale(.74); box-shadow: 0 0 22px rgba(44,255,148,.95), 0 0 0 8px rgba(44,255,148,0); }
}
@keyframes drUnreadMailFloat {
  0%, 100% { opacity: 1; transform: translateY(0) scale(1); filter: brightness(1); }
  50% { opacity: .56; transform: translateY(-2px) scale(1.08); filter: brightness(1.25); }
}
@keyframes drUnreadSoftBlink {
  0%, 100% { opacity: 1; filter: brightness(1); }
  50% { opacity: .55; filter: brightness(1.25); }
}

/* v34 admin inbox visible panel */
.dr-admin-stats > div[data-admin-stat-message] {
  cursor: pointer;
  border-color: rgba(138,255,191,.34);
  box-shadow: 0 0 0 1px rgba(138,255,191,.08) inset, 0 0 24px rgba(138,255,191,.07);
}
.dr-admin-stats > div[data-admin-stat-message]:hover {
  transform: translateY(-2px);
  background: rgba(60,255,150,.08);
}
.dr-admin-inbox-card {
  border-color: rgba(138,255,191,.30);
  background:
    radial-gradient(circle at 88% 0%, rgba(73,255,155,.13), transparent 22rem),
    linear-gradient(135deg, rgba(13, 16, 26, .94), rgba(28, 14, 34, .82));
}
.dr-admin-inbox-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
}
.dr-admin-inbox-top h3 { margin: 8px 0 10px; }
.dr-admin-inbox-top .dr-admin-note b { color: #8affbf; }
.dr-admin-inbox-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
  min-width: 260px;
}
.dr-admin-inbox-preview { margin-top: 16px; }
.dr-admin-inbox-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 12px;
}
.dr-admin-inbox-summary span {
  border: 1px solid rgba(255,214,120,.18);
  border-radius: 999px;
  padding: 7px 12px;
  background: rgba(0,0,0,.25);
  color: #fff3d4;
  font-weight: 850;
}
.dr-admin-inbox-summary b { color: #8affbf; }
.dr-admin-inbox-mini-list {
  display: grid;
  gap: 10px;
}
.dr-admin-inbox-mini-list button {
  display: grid;
  gap: 5px;
  width: 100%;
  text-align: left;
  border: 1px solid rgba(255,214,120,.17);
  border-radius: 16px;
  padding: 12px 14px;
  cursor: pointer;
  background: rgba(0,0,0,.28);
  color: #fff;
}
.dr-admin-inbox-mini-list button:hover {
  border-color: rgba(138,255,191,.45);
  background: rgba(60,255,150,.08);
}
.dr-admin-inbox-mini-list strong {
  color: #ffe5a0;
  font-size: 14px;
}
.dr-admin-inbox-mini-list span {
  color: #ffffff;
  font-weight: 850;
}
.dr-admin-inbox-mini-list small {
  color: rgba(255,255,255,.82);
  font-size: 12px;
}
.dr-admin-message-meta {
  color: rgba(255,255,255,.86) !important;
  font-size: 13px !important;
}
.dr-admin-message-text {
  color: #ffffff !important;
  font-size: 15px;
}
.dr-admin-message-card[data-admin-system-message="1"] {
  border-color: rgba(138,255,191,.35);
}
@media (max-width: 760px) {
  .dr-admin-inbox-top { display: grid; }
  .dr-admin-inbox-actions { min-width: 0; justify-content: flex-start; }
}

/* v35 admin permission panel */
.dr-admin-permission-card {
  border-color: rgba(255,214,120,.26);
  background:
    radial-gradient(circle at 92% 0%, rgba(255,214,120,.12), transparent 22rem),
    linear-gradient(135deg, rgba(13, 12, 22, .96), rgba(31, 17, 38, .86));
}
.dr-admin-permission-top {
  display: flex;
  gap: 18px;
  justify-content: space-between;
  align-items: flex-start;
}
.dr-admin-me-info {
  min-width: 320px;
  border: 1px solid rgba(255,214,120,.18);
  border-radius: 18px;
  padding: 12px 14px;
  background: rgba(0,0,0,.24);
}
.dr-admin-me-badges,
.dr-admin-perm-badges,
.dr-admin-me-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.dr-admin-me-badges b {
  color: #fff6d7;
  font-size: 18px;
}
.dr-admin-me-badges span,
.dr-admin-perm-badges em {
  border: 1px solid rgba(255,214,120,.28);
  border-radius: 999px;
  padding: 5px 9px;
  background: rgba(255,214,120,.08);
  color: #ffe6a6;
  font-size: 12px;
  font-weight: 900;
  font-style: normal;
}
.dr-admin-me-meta {
  margin: 10px 0;
  color: rgba(255,255,255,.9);
  font-size: 13px;
  font-weight: 800;
}
.dr-admin-password-form {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,214,120,.13);
}
.dr-admin-permission-checks {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 8px;
  margin-top: 10px;
}
.dr-admin-label-title {
  display: inline-block;
  margin-top: 4px;
  color: #ffe6a6;
  font-size: 14px;
}
.dr-admin-perm-item {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  padding: 9px 10px;
  background: rgba(0,0,0,.22);
  color: #fff;
}
.dr-admin-perm-item:hover {
  border-color: rgba(255,214,120,.35);
  background: rgba(255,214,120,.08);
}
@media (max-width: 820px) {
  .dr-admin-permission-top { display: grid; }
  .dr-admin-me-info { min-width: 0; }
}

/* v37 support reward cards + forum */
.support-plan-grid.reward-plan-grid {
  align-items: stretch;
}
.support-plan-card.reward-plan-card {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.support-plan-gift {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(255, 218, 132, .22);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255, 218, 132, .11), rgba(120, 20, 70, .12));
  box-shadow: inset 0 0 18px rgba(255, 218, 132, .05);
}
.support-plan-gift img {
  width: 66px;
  height: 66px;
  object-fit: contain;
  image-rendering: auto;
  border-radius: 12px;
  filter: drop-shadow(0 0 12px rgba(255, 218, 132, .25));
}
.support-plan-gift b {
  display: block;
  color: #ffe19b;
  font-size: 1rem;
  letter-spacing: .03em;
}
.support-plan-gift span {
  display: block;
  margin-top: 4px;
  color: rgba(255,255,255,.76);
  line-height: 1.6;
  font-size: .92rem;
}
.forum-hidden { display: none !important; }
.forum-shell { display: grid; gap: 28px; }
.forum-topbar {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
}
.forum-me-info {
  min-width: 240px;
  padding: 16px 18px;
  border-radius: 16px;
  border: 1px solid rgba(255, 218, 132, .2);
  background: rgba(0,0,0,.22);
  text-align: right;
}
.forum-me-info b { display:block; color:#ffe19b; }
.forum-me-info span { display:block; color:rgba(255,255,255,.72); font-size:.92rem; margin-top:4px; }
.forum-login-gate { text-align:center; max-width: 760px; margin: 0 auto; }
.forum-app {
  display: grid;
  grid-template-columns: minmax(300px, 380px) 1fr;
  gap: 24px;
  align-items: start;
}
.forum-form,
.forum-reply-form {
  display: grid;
  gap: 14px;
}
.forum-form label,
.forum-reply-form label {
  display: grid;
  gap: 8px;
  color: rgba(255,255,255,.82);
  font-weight: 700;
}
.forum-form input,
.forum-form textarea,
.forum-form select,
.forum-reply-form textarea,
.forum-filter-row select,
.forum-search-form input {
  width: 100%;
  border: 1px solid rgba(255, 218, 132, .24);
  background: rgba(0,0,0,.38);
  color: #fff;
  border-radius: 14px;
  padding: 12px 14px;
  outline: none;
}
.forum-form textarea,
.forum-reply-form textarea { resize: vertical; min-height: 120px; }
.forum-list-head,
.forum-detail-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  margin-bottom: 18px;
}
.forum-list-actions,
.forum-thread-actions,
.forum-post-actions {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.forum-filter-row {
  display:grid;
  grid-template-columns: 180px 1fr;
  gap:12px;
  margin-bottom:16px;
}
.forum-search-form { display:flex; gap:10px; }
.forum-search-form input { flex:1; }
.forum-thread-list { display:grid; gap:10px; }
.forum-thread-row {
  display:grid;
  grid-template-columns: 1fr 124px minmax(90px, auto);
  gap:14px;
  align-items:center;
  padding:14px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  background: linear-gradient(135deg, rgba(255,255,255,.045), rgba(0,0,0,.18));
}
.forum-thread-row.is-pinned { border-color: rgba(255,218,132,.42); box-shadow: 0 0 20px rgba(255,218,132,.08); }
.forum-thread-main {
  text-align:left;
  border:0;
  background:transparent;
  color:inherit;
  padding:0;
  cursor:pointer;
}
.forum-thread-title-line {
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.forum-thread-title-line b { color:#fff; font-size:1rem; }
.forum-category,
.forum-pin,
.forum-closed,
.forum-admin-badge {
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:2px 8px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
  border:1px solid rgba(255,218,132,.24);
  color:#ffe19b;
  background:rgba(255,218,132,.1);
}
.forum-pin { color:#111; background:#ffd76d; }
.forum-closed { color:#ffb4b4; border-color:rgba(255,120,120,.35); background:rgba(255,50,50,.08); }
.forum-admin-badge { color:#fff; background:rgba(190,40,90,.45); border-color:rgba(255,120,170,.4); }
.forum-thread-meta,
.forum-detail-meta {
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-top:8px;
  color:rgba(255,255,255,.62);
  font-size:.9rem;
}
.forum-thread-stats {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  text-align:center;
}
.forum-thread-stats div {
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  padding:8px;
  background:rgba(0,0,0,.22);
}
.forum-thread-stats b { display:block; color:#ffe19b; }
.forum-thread-stats span { color:rgba(255,255,255,.58); font-size:.8rem; }
.forum-mini-btn {
  border:1px solid rgba(255,218,132,.28);
  border-radius:999px;
  background:rgba(255,218,132,.08);
  color:#ffe19b;
  padding:6px 10px;
  cursor:pointer;
  font-size:.82rem;
}
.forum-mini-btn.danger { border-color:rgba(255,100,100,.35); color:#ffb1b1; background:rgba(255,80,80,.08); }
.forum-pages {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}
.forum-pages button {
  border:1px solid rgba(255,218,132,.24);
  background:rgba(0,0,0,.25);
  color:#ffe19b;
  border-radius:10px;
  min-width:38px;
  padding:8px 10px;
  cursor:pointer;
}
.forum-pages button.active { background:#ffd76d; color:#111; }
.forum-empty,
.forum-msg {
  padding:14px;
  border-radius:14px;
  background:rgba(0,0,0,.24);
  border:1px solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.75);
}
.forum-empty.bad,
.forum-msg.bad { border-color:rgba(255,100,100,.35); color:#ffb1b1; }
.forum-msg.ok { border-color:rgba(120,255,160,.3); color:#b8ffc7; }
.forum-detail-card { display:grid; gap:18px; }
.forum-thread-content {
  padding:20px;
  border-radius:18px;
  background:rgba(0,0,0,.26);
  border:1px solid rgba(255,255,255,.1);
  line-height:1.9;
  color:rgba(255,255,255,.88);
}
.forum-reply-title {
  display:flex;
  justify-content:space-between;
  color:#ffe19b;
  border-bottom:1px solid rgba(255,218,132,.18);
  padding-bottom:10px;
}
.forum-post-list { display:grid; gap:12px; }
.forum-post-row {
  display:grid;
  gap:10px;
  padding:16px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
}
.forum-post-author {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  color:#ffe19b;
}
.forum-post-author span { color:rgba(255,255,255,.58); font-size:.9rem; }
.forum-post-content { color:rgba(255,255,255,.84); line-height:1.8; }
@media (max-width: 1100px) {
  .forum-app { grid-template-columns: 1fr; }
  .forum-thread-row { grid-template-columns: 1fr; }
  .forum-thread-stats { max-width: 220px; }
  .forum-thread-actions { justify-content:flex-start; }
}
@media (max-width: 720px) {
  .forum-topbar,
  .forum-list-head,
  .forum-detail-head { flex-direction:column; }
  .forum-me-info { width:100%; text-align:left; }
  .forum-filter-row { grid-template-columns:1fr; }
  .forum-search-form { flex-direction:column; }
  .support-plan-gift { grid-template-columns: 58px 1fr; }
  .support-plan-gift img { width:52px; height:52px; }
}

/* ===== Forum v2 - forum template board + HTML editor ===== */
.forum-board-page .forum-shell,
.forum-editor-page .forum-shell { gap: 26px; }
.forum-board-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  overflow: hidden;
}
.forum-board-title h2,
.forum-editor-head h2 { margin-bottom: 8px; }
.forum-board-title p,
.forum-editor-head p { color: rgba(255,255,255,.72); line-height: 1.75; }
.forum-board-side {
  display: grid;
  gap: 12px;
  justify-items: end;
}
.forum-new-thread-btn { min-width: 180px; text-align: center; }
.forum-board-page .forum-app {
  display: grid;
  grid-template-columns: 1fr;
}
.forum-board-card { overflow: hidden; }
.forum-template-head { border-bottom: 1px solid rgba(255,218,132,.14); padding-bottom: 16px; }
.forum-category-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
  padding: 10px;
  border: 1px solid rgba(255,218,132,.13);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255,218,132,.06), rgba(0,0,0,.20));
}
.forum-category-tabs button {
  border: 1px solid rgba(255,218,132,.18);
  color: rgba(255,255,255,.78);
  background: rgba(0,0,0,.28);
  border-radius: 999px;
  padding: 9px 14px;
  font-weight: 800;
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease;
}
.forum-category-tabs button:hover,
.forum-category-tabs button.active {
  color: #111;
  background: linear-gradient(135deg, #ffe59f, #d5a94a);
  border-color: rgba(255,218,132,.6);
  transform: translateY(-1px);
}
.forum-template-filter { margin-bottom: 14px; }
.forum-table-caption {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 160px 116px 180px minmax(160px, auto);
  gap: 12px;
  padding: 10px 14px;
  border: 1px solid rgba(255,218,132,.18);
  border-radius: 14px 14px 0 0;
  color: #ffe19b;
  background: linear-gradient(135deg, rgba(255,218,132,.12), rgba(111,22,56,.18));
  font-size: .88rem;
  font-weight: 900;
  letter-spacing: .04em;
}
.forum-table-list { gap: 0; }
.forum-table-row,
.forum-thread-row.forum-table-row {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 160px 116px 180px minmax(160px, auto);
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 0;
  border: 0;
  border-left: 1px solid rgba(255,255,255,.08);
  border-right: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(90deg, rgba(255,255,255,.038), rgba(0,0,0,.18));
}
.forum-table-row:nth-child(even) { background: linear-gradient(90deg, rgba(255,218,132,.035), rgba(0,0,0,.20)); }
.forum-table-row:hover { background: linear-gradient(90deg, rgba(255,218,132,.09), rgba(102,26,55,.16)); }
.forum-table-row.is-pinned { background: linear-gradient(90deg, rgba(255,218,132,.13), rgba(80,22,48,.18)); }
.forum-table-topic { min-width: 0; }
.forum-table-topic .forum-thread-title-line { flex-wrap: nowrap; min-width: 0; }
.forum-table-topic .forum-thread-title-line b {
  display: inline-block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1rem;
}
.forum-table-author,
.forum-table-last,
.forum-table-count {
  color: rgba(255,255,255,.78);
  font-size: .92rem;
  min-width: 0;
}
.forum-table-author b,
.forum-table-last b,
.forum-table-count b {
  display: inline-block;
  color: #ffe19b;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: middle;
}
.forum-table-author span,
.forum-table-last span,
.forum-table-count span {
  display: block;
  margin-top: 3px;
  color: rgba(255,255,255,.52);
  font-size: .82rem;
}
.forum-table-count { text-align: center; }
.forum-table-count b { font-size: 1.06rem; }
.forum-table-actions { justify-content: flex-end; }
.forum-mini-btn,
.forum-thread-actions .forum-mini-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  white-space: nowrap;
}
.forum-pages button:first-child,
.forum-pages button:last-child {
  min-width: 74px;
}
.forum-detail-card {
  border-radius: 24px;
  overflow: hidden;
}
.forum-html-content {
  overflow-wrap: anywhere;
}
.forum-html-content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  border: 1px solid rgba(255,218,132,.18);
  box-shadow: 0 10px 26px rgba(0,0,0,.35);
}
.forum-html-content a { color: #ffe19b; text-decoration: underline; text-underline-offset: 3px; }
.forum-html-content blockquote {
  margin: 14px 0;
  padding: 12px 16px;
  border-left: 4px solid rgba(255,218,132,.55);
  background: rgba(255,218,132,.07);
  border-radius: 12px;
}
.forum-html-content pre,
.forum-html-content code {
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
}
.forum-html-content pre { padding: 14px; overflow: auto; }
.forum-html-content code { padding: 2px 6px; }
.forum-html-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 14px 0;
  overflow: hidden;
  border-radius: 12px;
}
.forum-html-content th,
.forum-html-content td {
  border: 1px solid rgba(255,218,132,.18);
  padding: 10px 12px;
}
.forum-html-content th { color: #ffe19b; background: rgba(255,218,132,.08); }
.forum-editor-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 430px);
  gap: 24px;
  align-items: start;
}
.forum-editor-card,
.forum-preview-card { display: grid; gap: 18px; }
.forum-editor-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
  border-bottom: 1px solid rgba(255,218,132,.14);
  padding-bottom: 16px;
}
.forum-editor-grid {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 14px;
}
.forum-editor-grid label,
.forum-editor-content-label {
  display: grid;
  gap: 8px;
  color: rgba(255,255,255,.82);
  font-weight: 900;
}
.forum-editor-grid input,
.forum-editor-grid select,
.forum-editor-content-label textarea {
  width: 100%;
  border: 1px solid rgba(255,218,132,.24);
  background: rgba(0,0,0,.38);
  color: #fff;
  border-radius: 14px;
  padding: 12px 14px;
  outline: none;
}
.forum-editor-content-label textarea {
  min-height: 420px;
  resize: vertical;
  font-family: ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', monospace;
  line-height: 1.7;
}
.forum-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(255,218,132,.14);
  border-radius: 16px;
  background: rgba(0,0,0,.22);
}
.forum-editor-toolbar button {
  border: 1px solid rgba(255,218,132,.25);
  border-radius: 999px;
  background: rgba(255,218,132,.08);
  color: #ffe19b;
  padding: 8px 12px;
  font-weight: 800;
  cursor: pointer;
}
.forum-upload-panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.forum-upload-panel > div {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(255,218,132,.16);
  border-radius: 16px;
  background: rgba(0,0,0,.22);
}
.forum-upload-panel b { color: #ffe19b; }
.forum-upload-panel span { color: rgba(255,255,255,.62); font-size: .9rem; line-height: 1.6; }
.forum-upload-panel input[type="file"] {
  width: 100%;
  color: rgba(255,255,255,.72);
}
.forum-editor-actions {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 12px;
}
.forum-preview-card {
  position: sticky;
  top: 94px;
}
.forum-editor-preview {
  min-height: 220px;
  max-height: 640px;
  overflow: auto;
}
@media (max-width: 1180px) {
  .forum-table-caption,
  .forum-table-row,
  .forum-thread-row.forum-table-row {
    grid-template-columns: minmax(260px, 1fr) 135px 92px 150px;
  }
  .forum-table-caption span:nth-child(5),
  .forum-table-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .forum-editor-layout { grid-template-columns: 1fr; }
  .forum-preview-card { position: static; }
}
@media (max-width: 820px) {
  .forum-board-header,
  .forum-editor-head,
  .forum-editor-grid,
  .forum-upload-panel { grid-template-columns: 1fr; }
  .forum-board-header,
  .forum-editor-head { display: grid; }
  .forum-board-side { justify-items: stretch; }
  .forum-new-thread-btn { width: 100%; }
  .forum-table-caption { display: none; }
  .forum-table-row,
  .forum-thread-row.forum-table-row {
    grid-template-columns: 1fr;
    gap: 8px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    margin-bottom: 10px;
  }
  .forum-table-topic .forum-thread-title-line { flex-wrap: wrap; }
  .forum-table-topic .forum-thread-title-line b { white-space: normal; }
  .forum-table-author,
  .forum-table-last,
  .forum-table-count { text-align: left; }
  .forum-table-count b,
  .forum-table-count span { display: inline; }
  .forum-table-count::before { content: '回覆 / 查看：'; color: rgba(255,255,255,.52); }
  .forum-table-last::before { content: '最後發言：'; color: rgba(255,255,255,.52); }
  .forum-pages { justify-content: flex-start; }
  .forum-pages button { min-width: 36px; padding: 8px 9px; }
}

/* =========================================================
   Forum v3：專業論壇列表 + 視覺/HTML 編輯器 + 會員論壇通知
   ========================================================= */
.forum-board-table-wrap {
  width: 100%;
  overflow-x: auto;
  border-radius: 14px;
  -webkit-overflow-scrolling: touch;
}
.forum-board-table-wrap .forum-table-caption,
.forum-board-table-wrap .forum-table-row,
.forum-board-table-wrap .forum-thread-row.forum-table-row {
  min-width: 920px;
}
.forum-board-table-wrap .forum-table-caption {
  padding: 7px 10px;
  border-radius: 12px 12px 0 0;
}
.forum-board-table-wrap .forum-table-row,
.forum-board-table-wrap .forum-thread-row.forum-table-row {
  grid-template-columns: minmax(360px, 1fr) 150px 96px 170px 166px;
  padding: 7px 10px;
  min-height: 42px;
  gap: 10px;
}
.forum-board-table-wrap .forum-thread-title-line {
  gap: 6px;
}
.forum-board-table-wrap .forum-category,
.forum-board-table-wrap .forum-pin,
.forum-board-table-wrap .forum-closed,
.forum-board-table-wrap .forum-admin-badge {
  min-height: 18px;
  padding: 1px 7px;
  font-size: .72rem;
}
.forum-board-table-wrap .forum-table-topic .forum-thread-title-line b {
  font-size: .94rem;
  line-height: 1.25;
}
.forum-board-table-wrap .forum-table-author,
.forum-board-table-wrap .forum-table-last,
.forum-board-table-wrap .forum-table-count {
  font-size: .84rem;
  line-height: 1.25;
}
.forum-board-table-wrap .forum-table-author span,
.forum-board-table-wrap .forum-table-last span,
.forum-board-table-wrap .forum-table-count span {
  margin-top: 1px;
  font-size: .72rem;
}
.forum-board-table-wrap .forum-mini-btn,
.forum-board-table-wrap .forum-thread-actions .forum-mini-btn {
  padding: 3px 7px;
  font-size: .74rem;
  min-height: 24px;
}
.forum-board-table-wrap .forum-table-actions {
  gap: 4px;
}

.forum-editor-mode-tabs {
  display: inline-flex;
  width: fit-content;
  padding: 5px;
  gap: 5px;
  border: 1px solid rgba(255,218,132,.18);
  border-radius: 999px;
  background: rgba(0,0,0,.28);
}
.forum-editor-mode-tabs button {
  border: 0;
  border-radius: 999px;
  padding: 9px 16px;
  color: rgba(255,255,255,.72);
  background: transparent;
  font-weight: 900;
  cursor: pointer;
}
.forum-editor-mode-tabs button.active {
  color: #15100a;
  background: linear-gradient(135deg, #fff0b7, #d4a13f);
  box-shadow: 0 8px 18px rgba(0,0,0,.28);
}
.forum-editor-toolbar.pro {
  gap: 6px;
  align-items: center;
  position: sticky;
  top: 78px;
  z-index: 3;
  backdrop-filter: blur(14px);
}
.forum-editor-toolbar.pro button {
  padding: 7px 10px;
  border-radius: 10px;
  font-size: .83rem;
}
.forum-rich-editor {
  width: 100%;
  min-height: 520px;
  max-height: 820px;
  overflow: auto;
  border: 1px solid rgba(255,218,132,.24);
  border-radius: 16px;
  padding: 18px;
  background: rgba(0,0,0,.38);
  color: rgba(255,255,255,.88);
  outline: none;
  line-height: 1.85;
}
.forum-rich-editor:focus {
  border-color: rgba(255,218,132,.48);
  box-shadow: 0 0 0 4px rgba(255,218,132,.08);
}
.forum-rich-editor:empty::before {
  content: attr(data-placeholder);
  color: rgba(255,255,255,.38);
}
.forum-html-wrap textarea {
  min-height: 520px;
}
.forum-editor-preview {
  min-height: 300px;
}
.forum-upload-panel input[type="file"] {
  padding: 8px;
  border-radius: 12px;
  background: rgba(255,255,255,.06);
}

.member-forum-notice-list {
  display: grid;
  gap: 12px;
}
.member-forum-notice-card {
  display: grid;
  gap: 10px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,218,132,.17);
  background: linear-gradient(135deg, rgba(255,218,132,.08), rgba(0,0,0,.24));
  box-shadow: inset 0 0 18px rgba(255,218,132,.04);
}
.member-forum-notice-card.unread {
  border-color: rgba(255,218,132,.34);
  box-shadow: 0 0 24px rgba(255,218,132,.08), inset 0 0 18px rgba(255,218,132,.05);
}
.member-forum-notice-head,
.member-forum-notice-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
}
.member-forum-notice-head span {
  color: #111;
  background: linear-gradient(135deg, #ffe59f, #d5a94a);
  border-radius: 999px;
  padding: 4px 10px;
  font-weight: 900;
  font-size: .82rem;
}
.member-forum-notice-head b {
  color: #fff;
  font-size: 1.02rem;
}
.member-forum-notice-head em {
  color: #ffcf7a;
  font-style: normal;
  font-weight: 900;
}
.member-forum-notice-meta {
  color: rgba(255,255,255,.62);
  font-size: .9rem;
}
.member-forum-notice-card p {
  margin: 0;
  color: rgba(255,255,255,.75);
  line-height: 1.65;
}

@media (max-width: 820px) {
  .forum-board-table-wrap .forum-table-caption {
    display: grid !important;
  }
  .forum-board-table-wrap .forum-table-row,
  .forum-board-table-wrap .forum-thread-row.forum-table-row {
    grid-template-columns: minmax(360px, 1fr) 150px 96px 170px 166px !important;
    border-radius: 0 !important;
    margin-bottom: 0 !important;
    border-left: 1px solid rgba(255,255,255,.08) !important;
    border-right: 1px solid rgba(255,255,255,.08) !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
  }
  .forum-board-table-wrap .forum-table-topic .forum-thread-title-line {
    flex-wrap: nowrap !important;
  }
  .forum-board-table-wrap .forum-table-topic .forum-thread-title-line b {
    white-space: nowrap !important;
  }
  .forum-board-table-wrap .forum-table-author,
  .forum-board-table-wrap .forum-table-last,
  .forum-board-table-wrap .forum-table-count {
    text-align: left !important;
  }
  .forum-board-table-wrap .forum-table-count::before,
  .forum-board-table-wrap .forum-table-last::before {
    content: none !important;
  }
  .forum-editor-toolbar.pro {
    position: static;
  }
  .forum-rich-editor,
  .forum-html-wrap textarea {
    min-height: 420px;
  }
}

/* v38 mobile header member icon */
.site-header .mobile-member-header-btn{
  display:none;
}
@media (max-width:880px){
  .site-header .navbar{
    justify-content:flex-start;
    gap:10px;
  }
  .site-header .mobile-member-header-btn{
    position:relative;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:54px;
    height:54px;
    flex:0 0 54px;
    padding:0;
    margin-left:auto;
    margin-right:8px;
    border-radius:18px;
    border:1px solid rgba(255,205,118,.38);
    color:#ffe6a8;
    background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(0,0,0,.36));
    box-shadow:0 0 0 1px rgba(255,255,255,.03) inset,0 10px 28px rgba(0,0,0,.24);
    cursor:pointer;
    transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
  }
  .site-header .mobile-member-header-btn:hover,
  .site-header .mobile-member-header-btn:focus-visible{
    transform:translateY(-1px);
    border-color:rgba(255,224,150,.78);
    box-shadow:0 12px 32px rgba(233,183,91,.20),0 0 0 1px rgba(255,255,255,.05) inset;
    outline:none;
  }
  .site-header .mobile-member-header-btn.is-member{
    color:#170f07;
    background:linear-gradient(135deg,#fff0b8,#e9b75b 62%,#a86824);
    border-color:rgba(255,233,166,.88);
  }
  .site-header .mobile-member-header-btn.is-guest{
    background:linear-gradient(180deg,rgba(255,103,48,.12),rgba(0,0,0,.40));
    border-color:rgba(255,97,44,.72);
  }
  .site-header .mobile-member-header-btn svg{
    width:25px;
    height:25px;
  }
  .site-header .mobile-member-header-btn .member-header-dot{
    right:7px;
    top:7px;
  }
  .site-header .mobile-member-header-btn .member-header-mail-dot{
    right:-7px;
    top:-7px;
  }
  .site-header .mobile-member-header-btn.has-unread .member-header-dot{
    animation:drUnreadGreenBlink 1.55s ease-in-out infinite;
  }
  .nav-links .member-header-btn[data-member-header-btn]{
    display:none !important;
  }
  .member-header-popover{
    top:86px;
    left:14px;
    right:14px;
    width:auto;
  }
}
@media (min-width:881px){
  .site-header .mobile-member-header-btn{
    display:none !important;
  }
}

/* v39 forum upload manager: image library + paperclip attachments */
.forum-attach-badge{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:3px 7px;
  border-radius:999px;
  border:1px solid rgba(255,218,132,.25);
  background:rgba(255,218,132,.08);
  color:#ffe19b;
  font-size:.78rem;
  font-weight:900;
  white-space:nowrap;
}
.forum-image-insert-panel{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid rgba(255,218,132,.18);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,218,132,.08),rgba(0,0,0,.35));
}
.forum-insert-panel-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  color:#ffe19b;
  font-weight:950;
}
.forum-insert-panel-head button,
.forum-uploaded-item button{
  border:1px solid rgba(255,218,132,.25);
  border-radius:999px;
  background:rgba(255,218,132,.08);
  color:#ffe19b;
  padding:7px 10px;
  cursor:pointer;
  font-weight:900;
}
.forum-uploaded-item button.danger{
  border-color:rgba(255,100,100,.35);
  color:#ffb1b1;
  background:rgba(255,80,80,.08);
}
.forum-insert-image-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
  gap:10px;
}
.forum-insert-image-grid button{
  display:grid;
  gap:7px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  padding:8px;
  background:rgba(0,0,0,.28);
  color:#f4ead8;
  cursor:pointer;
  text-align:left;
}
.forum-insert-image-grid img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:10px;
  border:1px solid rgba(255,218,132,.16);
}
.forum-insert-image-grid span{
  font-size:.82rem;
  color:rgba(255,255,255,.7);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.forum-upload-manager > div{
  align-content:start;
}
.forum-uploaded-list{
  display:grid;
  gap:10px;
  margin-top:4px;
}
.forum-upload-counter{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:rgba(255,255,255,.72);
  font-size:.9rem;
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:10px;
}
.forum-upload-counter b{color:#ffe19b;font-size:1rem;}
.forum-upload-empty{
  color:rgba(255,255,255,.48);
  font-size:.88rem;
  padding:10px 12px;
  border:1px dashed rgba(255,218,132,.18);
  border-radius:12px;
  background:rgba(0,0,0,.18);
}
.forum-uploaded-grid{
  display:grid;
  gap:9px;
}
.forum-uploaded-grid.images{
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
}
.forum-uploaded-item{
  min-width:0;
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:14px;
  background:rgba(0,0,0,.25);
}
.forum-uploaded-item.image img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:10px;
  border:1px solid rgba(255,218,132,.16);
}
.forum-uploaded-item.file{
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
}
.forum-uploaded-item.file i{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,218,132,.09);
  border:1px solid rgba(255,218,132,.18);
  font-style:normal;
}
.forum-uploaded-item b{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff1c8;
  font-size:.9rem;
}
.forum-uploaded-item span{
  display:block;
  color:rgba(255,255,255,.52);
  font-size:.8rem;
}
.forum-thread-attachments{
  display:grid;
  gap:12px;
  padding:16px;
  border:1px solid rgba(255,218,132,.16);
  border-radius:18px;
  background:rgba(0,0,0,.22);
}
.forum-thread-attachments h4{
  margin:0;
  color:#ffe19b;
  font-size:1.05rem;
  letter-spacing:.04em;
}
.forum-attachment-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(145px,1fr));
  gap:10px;
}
.forum-attachment-gallery a{
  display:grid;
  gap:7px;
  padding:8px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.035);
}
.forum-attachment-gallery img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:10px;
}
.forum-attachment-gallery span,
.forum-attachment-files span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff1c8;
  font-size:.9rem;
}
.forum-attachment-files{
  display:grid;
  gap:8px;
}
.forum-attachment-files a{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.035);
  text-decoration:none;
}
.forum-attachment-files i{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,218,132,.1);
  font-style:normal;
}
.forum-attachment-files em{
  color:rgba(255,255,255,.52);
  font-style:normal;
  font-size:.82rem;
}
@media (max-width:640px){
  .forum-uploaded-grid.images,
  .forum-insert-image-grid,
  .forum-attachment-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}
  .forum-uploaded-item.file,
  .forum-attachment-files a{grid-template-columns:30px minmax(0,1fr);}
  .forum-uploaded-item.file button,
  .forum-attachment-files em{grid-column:2;justify-self:start;}
}

/* v40 forum editor compact uploads + lucky coin icon + forum notice in member popover */
.support-currency-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:12px;
}
.support-currency-heading .kicker{margin-bottom:10px;}
.support-currency-heading h3{margin:0;}
.support-lucky-coin-icon{
  width:86px;
  height:86px;
  object-fit:contain;
  flex:0 0 86px;
  border-radius:22px;
  padding:12px;
  border:1px solid rgba(255,218,132,.30);
  background:
    radial-gradient(circle at 35% 28%, rgba(255,255,255,.30), transparent 28%),
    linear-gradient(135deg, rgba(255,230,151,.20), rgba(0,0,0,.28));
  box-shadow:0 18px 42px rgba(0,0,0,.30), 0 0 28px rgba(233,183,91,.18);
  image-rendering:auto;
}
.support-currency-card{position:relative;overflow:hidden;}
.support-currency-card:after{
  content:"";
  position:absolute;
  right:34px;
  top:42px;
  width:96px;
  height:96px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,218,132,.20), transparent 68%);
  pointer-events:none;
  filter:blur(2px);
}
.support-currency-card > *{position:relative;z-index:1;}

.member-header-popover{width:min(420px, calc(100vw - 32px));}
.member-header-forum-box{
  display:grid;
  gap:9px;
  margin:10px 0 12px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(255,218,132,.16);
  background:linear-gradient(135deg, rgba(255,218,132,.07), rgba(0,0,0,.24));
}
.member-header-forum-box.has-unread{
  border-color:rgba(255,218,132,.42);
  box-shadow:0 0 20px rgba(255,218,132,.09), inset 0 0 18px rgba(255,218,132,.04);
}
.member-header-forum-title{
  display:grid;
  grid-template-columns:34px 1fr auto;
  align-items:center;
  gap:9px;
}
.member-header-forum-title span{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:12px;
  background:linear-gradient(135deg,#fff0b8,#e9b75b);
  color:#190f06;
  box-shadow:0 8px 18px rgba(233,183,91,.16);
}
.member-header-forum-title strong{color:#fff4d2;font-size:14px;}
.member-header-forum-title b{color:#ffe2a0;font-size:12px;white-space:nowrap;}
.member-header-forum-box p{margin:0;color:rgba(242,225,198,.62);font-size:13px;line-height:1.6;}
.member-header-forum-list{display:grid;gap:7px;}
.member-header-forum-row{
  display:grid;
  gap:3px;
  padding:9px 10px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.035);
  text-decoration:none;
}
.member-header-forum-row:hover{border-color:rgba(255,218,132,.26);background:rgba(255,218,132,.07);}
.member-header-forum-row span{color:#ffcf7a;font-size:11px;font-weight:900;}
.member-header-forum-row b{color:#fff1c8;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.member-header-forum-row em{color:rgba(255,255,255,.58);font-style:normal;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.member-header-forum-more{
  justify-self:end;
  color:#ffe2a0;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
}
.member-header-forum-more:hover{text-decoration:underline;}

.forum-uploaded-grid.images{
  grid-template-columns:1fr !important;
  max-height:330px;
  overflow:auto;
  padding-right:4px;
}
.forum-uploaded-item.image{
  grid-template-columns:58px minmax(0,1fr) auto auto;
  align-items:center;
  gap:10px;
  min-height:74px;
  padding:8px 10px;
}
.forum-uploaded-item.image img{
  width:58px !important;
  height:58px !important;
  aspect-ratio:auto !important;
  object-fit:cover;
  border-radius:12px;
}
.forum-uploaded-item.image div{min-width:0;}
.forum-uploaded-item.image button{
  padding:7px 10px;
  white-space:nowrap;
  align-self:center;
}
.forum-insert-image-grid{
  grid-template-columns:repeat(auto-fill,minmax(92px,1fr));
  max-height:260px;
  overflow:auto;
  padding-right:4px;
}
.forum-insert-image-grid img{
  height:58px;
  aspect-ratio:auto;
}
.forum-insert-image-grid span{font-size:.76rem;}

@media (max-width:640px){
  .support-currency-heading{align-items:center;}
  .support-lucky-coin-icon{width:72px;height:72px;flex-basis:72px;padding:10px;}
  .member-header-popover{top:86px;left:14px;right:14px;width:auto;max-height:calc(100vh - 106px);overflow:auto;}
  .member-header-forum-title{grid-template-columns:34px 1fr;}
  .member-header-forum-title b{grid-column:2;}
  .forum-uploaded-item.image{
    grid-template-columns:52px minmax(0,1fr);
  }
  .forum-uploaded-item.image img{
    width:52px !important;
    height:52px !important;
    grid-row:1 / span 2;
  }
  .forum-uploaded-item.image button{
    justify-self:start;
    padding:7px 12px;
  }
}

/* =========================================================
   v41 smart accordion：手機/長版面收合，讓頁面不要像傲塔一樣爬不完
   ========================================================= */
.dr-accordion,
.dr-auto-accordion{
  min-width:0;
}
.dr-auto-accordion{
  display:block;
  margin:14px 0;
}
.dr-accordion-trigger{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:1px solid rgba(255,218,132,.22);
  border-radius:20px;
  padding:14px 16px;
  color:#fff0bf;
  background:linear-gradient(135deg,rgba(255,218,132,.13),rgba(0,0,0,.34));
  box-shadow:0 14px 34px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.025);
  cursor:pointer;
  text-align:left;
  font-weight:950;
  letter-spacing:.04em;
}
.dr-accordion-trigger:hover,
.dr-accordion-trigger:focus-visible{
  border-color:rgba(255,229,158,.52);
  background:linear-gradient(135deg,rgba(255,218,132,.18),rgba(58,17,37,.28));
  outline:none;
}
.dr-accordion-title{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.dr-accordion-icon{
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:12px;
  color:#161007;
  background:linear-gradient(135deg,#fff0b8,#d4a13f);
  box-shadow:0 10px 24px rgba(0,0,0,.24);
}
.dr-accordion-title-text{
  min-width:0;
  display:grid;
  gap:3px;
}
.dr-accordion-title-text b{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff0c7;
  font-size:1.02rem;
}
.dr-accordion-title-text small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(255,255,255,.62);
  font-size:.82rem;
  letter-spacing:.02em;
}
.dr-accordion-caret{
  position:relative;
  width:28px;
  height:28px;
  flex:0 0 28px;
  border-radius:999px;
  border:1px solid rgba(255,218,132,.25);
  background:rgba(0,0,0,.22);
}
.dr-accordion-caret:before,
.dr-accordion-caret:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:12px;
  height:2px;
  border-radius:999px;
  background:#ffe19b;
  transform:translate(-50%,-50%);
  transition:transform .22s ease, opacity .22s ease;
}
.dr-accordion-caret:after{
  transform:translate(-50%,-50%) rotate(90deg);
}
.dr-accordion.is-open > .dr-accordion-trigger .dr-accordion-caret:after,
.dr-auto-accordion.is-open > .dr-accordion-trigger .dr-accordion-caret:after{
  opacity:0;
  transform:translate(-50%,-50%) rotate(0deg);
}
.dr-accordion-panel{
  padding-top:14px;
}
.dr-accordion:not(.is-open) > .dr-accordion-panel,
.dr-auto-accordion:not(.is-open) > .dr-accordion-panel{
  display:none !important;
}
.dr-accordion-panel > :first-child{ margin-top:0 !important; }
.dr-accordion-panel > :last-child{ margin-bottom:0 !important; }
.dr-auto-accordion.is-inline-card > .dr-accordion-panel{
  padding-top:12px;
}
.support-page #plans .dr-auto-accordion .support-plan-grid{
  margin-top:0;
}
.support-page #plans .dr-auto-accordion .support-single-note,
.support-page #plans .dr-auto-accordion .support-milestone-strip{
  margin-top:18px;
}
.support-page .support-payment-grid > .dr-auto-accordion{
  margin:0;
}
.support-page .support-payment-grid > .dr-auto-accordion > .dr-accordion-panel{
  padding-top:14px;
}
.support-page .support-payment-grid > .dr-auto-accordion > .dr-accordion-panel > .support-glow-card,
.support-page .support-payment-grid > .dr-auto-accordion > .dr-accordion-panel > .support-qr-card{
  height:100%;
}
.forum-board-card .dr-auto-accordion{
  margin:12px 0 14px;
}
.forum-board-card .dr-auto-accordion .forum-category-tabs{
  margin-top:0;
}
.forum-editor-card .dr-auto-accordion{
  margin:2px 0;
}
.forum-editor-card .dr-auto-accordion .forum-upload-panel{
  margin-top:0;
}
.forum-thread-detail-accordion{
  margin-top:6px;
}
.forum-thread-detail-accordion .forum-thread-content,
.forum-thread-detail-accordion .forum-thread-attachments,
.forum-thread-detail-accordion .forum-post-list,
.forum-thread-detail-accordion .forum-reply-form{
  margin-top:0;
}
.member-header-popover .member-pop-accordion{
  margin:10px 0;
}
.member-header-popover .member-pop-accordion .dr-accordion-trigger{
  padding:11px 12px;
  border-radius:16px;
  background:linear-gradient(135deg,rgba(255,218,132,.12),rgba(0,0,0,.28));
  box-shadow:none;
}
.member-header-popover .member-pop-accordion .dr-accordion-icon{
  width:30px;
  height:30px;
  flex-basis:30px;
  border-radius:10px;
}
.member-header-popover .member-pop-accordion .dr-accordion-title-text b{
  font-size:.95rem;
}
.member-header-popover .member-pop-accordion .dr-accordion-title-text small{
  font-size:.76rem;
}
.member-header-popover .member-pop-accordion .dr-accordion-panel{
  padding-top:10px;
}
.member-header-popover .member-header-message-btn{
  width:100%;
}
.member-header-popover .member-header-kv,
.member-header-popover .member-header-actions{
  margin-top:0;
}
.member-header-popover .member-header-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
}
@media (min-width:881px){
  .dr-accordion[data-dr-accordion-mobile] > .dr-accordion-trigger,
  .dr-auto-accordion[data-dr-accordion-mobile] > .dr-accordion-trigger{
    display:none;
  }
  .dr-accordion[data-dr-accordion-mobile] > .dr-accordion-panel,
  .dr-auto-accordion[data-dr-accordion-mobile] > .dr-accordion-panel{
    display:block !important;
    padding-top:0;
  }
}
@media (max-width:880px){
  .dr-auto-accordion{
    margin:12px 0;
  }
  .dr-accordion-trigger{
    border-radius:18px;
    padding:13px 14px;
  }
  .dr-accordion-title-text b{
    font-size:.98rem;
  }
  .dr-accordion-title-text small{
    max-width:58vw;
  }
  .support-page #plans .section-title.center + .dr-auto-accordion,
  .support-page #auto-donation .section-title.center + .dr-auto-accordion{
    margin-top:18px;
  }
  .support-plan-card,
  .support-glow-card,
  .support-qr-card{
    box-shadow:0 18px 42px rgba(0,0,0,.30);
  }
  .forum-board-card .forum-list-head,
  .forum-template-head{
    gap:14px;
  }
  .forum-board-card .dr-auto-accordion .forum-filter-row{
    margin-bottom:0;
  }
  .forum-thread-detail-accordion .forum-thread-content{
    max-height:none;
  }
}


/* v43 support page: actual lucky coin icon + desktop reward card layout fix */
.support-lucky-coin-icon{
  width:58px !important;
  height:58px !important;
  flex:0 0 58px !important;
  object-fit:contain !important;
  padding:0 !important;
  border:0 !important;
  border-radius:10px !important;
  background:transparent !important;
  box-shadow:0 10px 24px rgba(0,0,0,.35), 0 0 18px rgba(233,183,91,.20) !important;
  image-rendering:auto !important;
}
.support-currency-heading{
  align-items:center !important;
}
.support-currency-card:after{
  right:28px;
  top:34px;
  width:76px;
  height:76px;
}
.support-plan-head{
  min-height:64px;
  align-items:flex-start !important;
}
.support-plan-head strong{
  display:block;
  margin-top:16px;
  line-height:.95 !important;
}
.reward-plan-card.featured .support-plan-head strong,
.reward-plan-card.legendary .support-plan-head strong{
  margin-top:22px;
}
.support-plan-gift{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  text-align:center !important;
  padding:16px 12px !important;
  min-height:178px;
}
.support-plan-gift img{
  width:68px !important;
  height:68px !important;
  margin:0 auto 2px !important;
  flex:0 0 auto;
}
.support-plan-gift > div{
  width:100%;
  min-width:0;
}
.support-plan-gift b{
  font-size:1rem;
  line-height:1.35;
}
.support-plan-gift span{
  max-width:100%;
  margin:6px auto 0;
  line-height:1.55;
  word-break:break-word;
}
@media (max-width:1180px){
  .support-plan-head{min-height:0;}
  .support-plan-head strong{margin-top:8px;}
  .reward-plan-card.featured .support-plan-head strong,
  .reward-plan-card.legendary .support-plan-head strong{margin-top:12px;}
  .support-plan-gift{min-height:0;}
}
@media (max-width:640px){
  .support-lucky-coin-icon{width:46px !important;height:46px !important;flex-basis:46px !important;}
  .support-plan-head strong{margin-top:6px;}
  .support-plan-gift{padding:14px !important;}
  .support-plan-gift img{width:58px !important;height:58px !important;}
}


/* v44 support milestone reward icons + 1000U / 1500U display */
.support-milestone-strip .support-milestone-card{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  min-height:96px;
}
.support-milestone-copy{
  position:relative;
  z-index:1;
  min-width:0;
}
.support-milestone-icon{
  position:relative;
  z-index:1;
  width:64px;
  height:64px;
  flex:0 0 64px;
  object-fit:contain;
  border-radius:14px;
  image-rendering:auto;
  filter:drop-shadow(0 0 14px rgba(255,218,132,.28));
}
@media (max-width:640px){
  .support-milestone-strip .support-milestone-card{
    min-height:82px;
    padding:15px 16px;
  }
  .support-milestone-icon{
    width:52px;
    height:52px;
    flex-basis:52px;
  }
}

/* v45 forum reply uploads + compact readable thread layout */
.forum-list-head-compact{
  align-items:center;
  margin-bottom:14px;
}
.forum-list-titlebox{
  min-width:0;
  display:grid;
  gap:7px;
}
.forum-list-title-row{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:10px 14px;
}
.forum-list-title-row h3,
.forum-list-title-row p{
  margin:0;
}
.forum-list-title-row p{
  color:#ffe19b;
  font-weight:850;
  font-size:.94rem;
  letter-spacing:.02em;
  padding:4px 11px;
  border-radius:999px;
  border:1px solid rgba(255,218,132,.20);
  background:rgba(0,0,0,.24);
}
.forum-detail-card{
  gap:14px;
}
.forum-detail-card .forum-detail-head{
  margin-bottom:4px;
}
.forum-detail-card .forum-detail-meta{
  margin-top:0;
}
.forum-thread-detail-accordion{
  margin-top:4px;
}
.forum-thread-detail-accordion .dr-accordion-trigger{
  padding:12px 14px;
  border-radius:17px;
}
.forum-thread-detail-accordion .dr-accordion-icon{
  width:30px;
  height:30px;
  flex-basis:30px;
  border-radius:10px;
}
.forum-thread-detail-accordion .dr-accordion-panel{
  padding-top:10px;
}
.forum-thread-content.forum-main-content-card{
  padding:14px 16px;
  border-radius:16px;
  line-height:1.68;
  color:#fff4d6;
  border-color:rgba(255,218,132,.24);
  background:linear-gradient(135deg,rgba(80,55,20,.32),rgba(0,0,0,.38));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.forum-post-list{
  gap:10px;
}
.forum-post-row{
  padding:13px 14px;
  gap:9px;
  border-color:rgba(135,180,255,.18);
  background:linear-gradient(135deg,rgba(20,32,58,.40),rgba(0,0,0,.32));
}
.forum-post-content{
  padding:10px 12px;
  border-radius:13px;
  line-height:1.62;
  color:#eaf2ff;
  border:1px solid rgba(135,180,255,.14);
  background:rgba(9,15,30,.46);
}
.forum-post-author{
  gap:7px;
}
.forum-post-attachments{
  display:grid;
  gap:8px;
}
.forum-post-attachments .forum-thread-attachments{
  padding:12px;
  border-radius:14px;
  border-color:rgba(135,180,255,.14);
  background:rgba(9,15,30,.30);
}
.forum-post-attachments .forum-thread-attachments h4{
  font-size:.94rem;
}
.forum-reply-form{
  display:grid;
  gap:12px;
}
.forum-reply-form textarea{
  min-height:92px;
  line-height:1.65;
  background:rgba(0,0,0,.46);
}
.forum-reply-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.forum-reply-upload-panel{
  gap:12px;
}
.forum-reply-upload-panel > div{
  padding:12px;
  border-radius:14px;
}
.forum-reply-upload-panel .forum-upload-counter{
  padding-top:8px;
  font-size:.86rem;
}
.forum-reply-upload-panel .forum-uploaded-grid.images{
  grid-template-columns:repeat(auto-fill,minmax(145px,1fr));
}
.forum-reply-upload-panel .forum-uploaded-item{
  padding:9px;
}
.forum-reply-upload-panel .forum-uploaded-item.image{
  grid-template-columns:52px minmax(0,1fr);
  align-items:center;
}
.forum-reply-upload-panel .forum-uploaded-item.image img{
  width:52px !important;
  height:52px !important;
  aspect-ratio:1/1;
  grid-row:1 / span 2;
}
.forum-reply-upload-panel .forum-uploaded-item.image button{
  justify-self:start;
  padding:6px 10px;
}
.forum-reply-upload-panel .forum-uploaded-item.file{
  grid-template-columns:30px minmax(0,1fr) auto;
}
.forum-reply-upload-panel .forum-uploaded-item.file i{
  width:30px;
  height:30px;
}
@media (max-width:820px){
  .forum-list-head-compact{
    align-items:stretch;
  }
  .forum-list-title-row{
    align-items:flex-start;
  }
  .forum-list-title-row p{
    width:100%;
    border-radius:14px;
  }
  .forum-thread-content.forum-main-content-card,
  .forum-post-content{
    padding:12px;
    line-height:1.62;
  }
  .forum-reply-upload-panel{
    grid-template-columns:1fr;
  }
}
@media (max-width:520px){
  .forum-reply-upload-panel .forum-uploaded-grid.images,
  .forum-reply-upload-panel .forum-attachment-gallery{
    grid-template-columns:1fr;
  }
  .forum-reply-upload-panel .forum-uploaded-item.file{
    grid-template-columns:30px minmax(0,1fr);
  }
  .forum-reply-upload-panel .forum-uploaded-item.file button{
    grid-column:2;
    justify-self:start;
  }
}

/* v46：帖子閱讀對比強化，主文偏暖金、回覆偏冷藍，手機版同步縮高 */
.forum-thread-content.forum-main-content-card{
  padding:11px 14px !important;
  min-height:48px !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,210,104,.16), transparent 34%),
    linear-gradient(135deg, rgba(88,43,8,.82), rgba(28,11,4,.90)) !important;
  border-color:rgba(255,207,102,.58) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 10px 24px rgba(0,0,0,.28) !important;
  color:#fff0bd !important;
}
.forum-thread-content.forum-main-content-card :where(p,div,span,li,td,blockquote,pre,code,strong,em){
  color:#fff0bd !important;
}
.forum-thread-content.forum-main-content-card a{
  color:#ffe38b !important;
}
.forum-post-row{
  padding:10px 14px !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(94,165,255,.13), transparent 32%),
    linear-gradient(135deg, rgba(5,24,58,.82), rgba(5,8,19,.92)) !important;
  border-color:rgba(106,171,255,.42) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055), 0 8px 20px rgba(0,0,0,.24) !important;
}
.forum-post-row .forum-post-head{
  margin-bottom:7px !important;
}
.forum-post-content{
  padding:8px 10px !important;
  min-height:36px !important;
  line-height:1.52 !important;
  background:rgba(1,13,34,.70) !important;
  border:1px solid rgba(122,187,255,.30) !important;
  border-radius:13px !important;
  color:#dcecff !important;
}
.forum-post-content :where(p,div,span,li,td,blockquote,pre,code,strong,em){
  color:#dcecff !important;
}
.forum-post-content a{
  color:#a9d4ff !important;
}
.forum-thread-detail-accordion .dr-accordion-trigger{
  min-height:58px;
  padding:10px 16px !important;
}
.forum-thread-detail-accordion .dr-accordion-panel{
  padding-top:8px !important;
}
.forum-reply-form textarea{
  min-height:82px !important;
}
@media (max-width:820px){
  .forum-thread-content.forum-main-content-card{
    padding:10px 12px !important;
    min-height:42px !important;
  }
  .forum-post-row{
    padding:9px 11px !important;
  }
  .forum-post-content{
    padding:8px 9px !important;
    min-height:32px !important;
    line-height:1.48 !important;
  }
  .forum-thread-detail-accordion .dr-accordion-trigger{
    min-height:52px;
    padding:9px 12px !important;
  }
  .forum-reply-form textarea{
    min-height:76px !important;
  }
}


/* v47：手機註冊暱稱欄位、論壇表情貼圖、主文/回覆再加強分色 */
.dr-auth-hint{
  margin-top:-4px;
  padding:9px 11px;
  border-radius:13px;
  border:1px solid rgba(255,218,132,.16);
  background:rgba(255,218,132,.055);
  color:rgba(255,239,207,.72);
  font-size:12px;
  line-height:1.55;
}
.forum-sticker-panel{
  display:grid;
  gap:9px;
  margin-top:8px;
  padding:10px;
  border-radius:16px;
  border:1px solid rgba(255,218,132,.22);
  background:linear-gradient(135deg,rgba(31,21,8,.88),rgba(5,8,16,.92));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 12px 24px rgba(0,0,0,.22);
}
.forum-sticker-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#ffe2a0;
  font-weight:950;
}
.forum-sticker-panel-head span{
  color:rgba(255,244,222,.66);
  font-size:.84rem;
  font-weight:800;
}
.forum-sticker-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(82px,1fr));
  gap:8px;
}
.forum-sticker-grid button{
  display:grid;
  gap:4px;
  place-items:center;
  min-height:54px;
  border:1px solid rgba(255,218,132,.24);
  border-radius:14px;
  background:rgba(255,218,132,.075);
  color:#fff6dd;
  cursor:pointer;
  font-weight:950;
}
.forum-sticker-grid button:hover{
  border-color:rgba(255,218,132,.62);
  background:rgba(255,218,132,.14);
  transform:translateY(-1px);
}
.forum-sticker-grid span{
  font-size:1.18rem;
  line-height:1.1;
}
.forum-sticker-grid em{
  color:rgba(255,244,222,.66);
  font-size:.74rem;
  font-style:normal;
}
.forum-thread-content.forum-main-content-card{
  padding:10px 14px !important;
  min-height:40px !important;
  border-left:5px solid #ffd469 !important;
  border-color:rgba(255,212,105,.78) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(255,225,128,.28), transparent 32%),
    linear-gradient(135deg, rgba(126,65,8,.96), rgba(44,17,2,.98)) !important;
  color:#fff7cf !important;
}
.forum-thread-content.forum-main-content-card :where(p,div,span,li,td,blockquote,pre,code,strong,em,th){
  color:#fff7cf !important;
}
.forum-thread-content.forum-main-content-card blockquote{
  border-left:3px solid rgba(255,238,172,.72);
  background:rgba(0,0,0,.22);
  padding:8px 10px;
  border-radius:10px;
}
.forum-post-row{
  padding:9px 13px !important;
  border-left:5px solid #6fc7ff !important;
  border-color:rgba(111,199,255,.68) !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(111,199,255,.22), transparent 30%),
    linear-gradient(135deg, rgba(4,31,86,.97), rgba(4,9,30,.98)) !important;
}
.forum-post-author b,
.forum-post-head b{
  color:#9bdcff !important;
}
.forum-post-content{
  padding:8px 10px !important;
  min-height:30px !important;
  line-height:1.48 !important;
  background:rgba(0,13,43,.90) !important;
  border:1px solid rgba(128,208,255,.46) !important;
  color:#d8f0ff !important;
}
.forum-post-content :where(p,div,span,li,td,blockquote,pre,code,strong,em,th){
  color:#d8f0ff !important;
}
.forum-post-content blockquote{
  border-left:3px solid rgba(132,212,255,.70);
  background:rgba(255,255,255,.055);
  padding:8px 10px;
  border-radius:10px;
}
@media (max-width:820px){
  .forum-sticker-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .forum-sticker-grid button{min-height:50px;padding:7px 4px;}
  .forum-sticker-panel-head{align-items:flex-start;flex-direction:column;gap:3px;}
  .forum-thread-content.forum-main-content-card{padding:9px 11px !important;}
  .forum-post-row{padding:8px 10px !important;}
  .forum-post-content{padding:7px 9px !important;}
}
@media (max-width:420px){
  .forum-sticker-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dr-auth-hint{font-size:11px;}
}

/* v48：發帖工具列選取外框、圖片式表情貼圖、會員小視窗暱稱、手機論壇表頭壓縮 */
.member-header-pop-title small.member-header-nickname{
  display:block;
  margin-top:4px;
  color:#ffe4a6;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
}
.forum-editor-toolbar button.is-active,
.forum-reply-toolbar .forum-mini-btn.is-active,
.forum-sticker-grid button:focus-visible,
.forum-editor-toolbar button:focus-visible{
  outline:0;
  border-color:#fff0b5 !important;
  color:#1a1006 !important;
  background:linear-gradient(135deg,#fff0b5,#e7b85f) !important;
  box-shadow:0 0 0 3px rgba(255,218,132,.24),0 10px 22px rgba(233,183,91,.20) !important;
}
.forum-editor-toolbar button.is-active::after,
.forum-reply-toolbar .forum-mini-btn.is-active::after{
  content:'✓';
  display:inline-grid;
  place-items:center;
  min-width:16px;
  height:16px;
  margin-left:5px;
  border-radius:50%;
  background:rgba(20,12,6,.86);
  color:#ffe7a5;
  font-size:10px;
  line-height:1;
}
.forum-sticker-image-grid{
  grid-template-columns:repeat(auto-fill,minmax(72px,1fr));
}
.forum-sticker-image-grid button{
  min-height:82px;
  padding:8px 6px;
  gap:5px;
}
.forum-sticker-image-grid button img{
  width:42px;
  height:42px;
  object-fit:contain;
  border:0;
  border-radius:12px;
  box-shadow:0 8px 18px rgba(0,0,0,.24);
}
.forum-sticker-image-grid button:hover img,
.forum-sticker-image-grid button:focus-visible img{
  transform:translateY(-1px) scale(1.04);
}
.forum-sticker-inline,
.forum-html-content img[src*="assets/img/forum-stickers/"],
.forum-html-content img[src*="/forum-stickers/"]{
  display:inline-block !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  max-width:38px !important;
  max-height:38px !important;
  object-fit:contain !important;
  vertical-align:-11px !important;
  margin:0 3px !important;
  border:0 !important;
  border-radius:10px !important;
  box-shadow:0 4px 12px rgba(0,0,0,.28) !important;
}
@media (max-width:820px){
  .forum-board-table-wrap .forum-table-caption{
    grid-template-columns:minmax(230px,1fr) 86px 82px 116px 58px !important;
    min-width:640px !important;
    align-items:center !important;
    white-space:nowrap !important;
  }
  .forum-board-table-wrap .forum-table-caption span:nth-child(5){
    grid-column:auto !important;
    display:block !important;
  }
  .forum-board-table-wrap .forum-table-row,
  .forum-board-table-wrap .forum-thread-row.forum-table-row{
    grid-template-columns:minmax(230px,1fr) 86px 82px 116px 58px !important;
    min-width:640px !important;
  }
  .forum-board-table-wrap .forum-table-author,
  .forum-board-table-wrap .forum-table-last,
  .forum-board-table-wrap .forum-table-count{
    font-size:.76rem !important;
  }
  .forum-board-table-wrap .forum-table-actions{
    grid-column:auto !important;
    justify-content:center !important;
  }
  .forum-sticker-image-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  .forum-sticker-image-grid button{min-height:70px;padding:6px 4px;}
  .forum-sticker-image-grid button img{width:36px;height:36px;}
}
@media (max-width:420px){
  .forum-sticker-image-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
.forum-tool-icon{
  display:inline-block;
  width:18px;
  height:18px;
  margin-right:5px;
  vertical-align:-4px;
  border:0 !important;
  border-radius:6px;
  box-shadow:0 3px 8px rgba(0,0,0,.22);
}
.forum-sticker-tool-btn.is-active .forum-tool-icon,
.forum-sticker-tool-btn:hover .forum-tool-icon{
  transform:scale(1.08);
}


/* v49：會員 ICON 美化、暱稱同行、Emoji 表情、手機論壇表頭同一行、popup 儲存後自動關閉輔助 */
.member-header-btn .member-header-icon-img{
  width:29px;
  height:29px;
  display:block;
  object-fit:contain;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.32));
  transition:transform .18s ease, filter .18s ease;
}
.member-header-btn:hover .member-header-icon-img{transform:translateY(-1px) scale(1.06);filter:drop-shadow(0 0 10px rgba(255,223,146,.42));}
.nav-links .member-header-btn,
.site-header .mobile-member-header-btn{
  overflow:visible;
  isolation:isolate;
}
.nav-links .member-header-btn::before,
.site-header .mobile-member-header-btn::before{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:13px;
  background:radial-gradient(circle at 28% 18%, rgba(255,255,255,.30), transparent 34%), linear-gradient(135deg, rgba(255,231,161,.26), rgba(255,160,70,.06));
  opacity:.88;
  z-index:-1;
}
.nav-links .member-header-btn.is-member::before,
.site-header .mobile-member-header-btn.is-member::before{
  background:radial-gradient(circle at 28% 18%, rgba(255,255,255,.50), transparent 34%), linear-gradient(135deg, rgba(255,246,192,.72), rgba(221,151,48,.52));
}
.member-header-pop-title{align-items:center !important;}
.member-header-idbox{min-width:0;display:grid;gap:2px;}
.member-header-name-line{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap;}
.member-header-pop-title .member-header-name-line b{display:inline;color:#fff1c8;font-size:18px;line-height:1.2;max-width:138px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.member-header-pop-title small.member-header-nickname{
  display:inline-flex !important;
  align-items:center;
  margin:0 !important;
  padding:2px 7px;
  border-radius:999px;
  border:1px solid rgba(255,218,132,.23);
  background:rgba(255,218,132,.08);
  color:#ffe4a6;
  font-size:11px;
  font-weight:950;
  white-space:nowrap;
}
.member-header-pop-title .member-header-idbox > span{display:block;color:rgba(242,225,198,.66);font-size:12px;margin-top:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.forum-sticker-panel{max-height:min(420px, 58vh);overflow:auto;}
.forum-sticker-image-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr)) !important;}
.forum-sticker-image-grid button{min-height:74px !important;border-radius:16px !important;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(0,0,0,.20)) !important;}
.forum-sticker-image-grid button img{width:42px !important;height:42px !important;border-radius:14px !important;box-shadow:0 8px 20px rgba(0,0,0,.22) !important;}
.forum-sticker-image-grid button em{font-size:11px !important;}
.forum-sticker-inline,
.forum-html-content img[src*="assets/img/forum-stickers/"],
.forum-html-content img[src*="/forum-stickers/"]{
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  max-width:42px !important;
  max-height:42px !important;
  vertical-align:-13px !important;
  border-radius:14px !important;
  background:rgba(255,255,255,.04) !important;
}
@media (max-width:820px){
  .forum-board-table-wrap{overflow-x:auto !important;overscroll-behavior-x:contain;}
  .forum-board-table-wrap .forum-table-caption{
    display:grid !important;
    grid-template-columns:minmax(176px,1fr) 64px 74px 104px 52px !important;
    gap:7px !important;
    min-width:540px !important;
    padding:8px 10px !important;
    align-items:center !important;
    white-space:nowrap !important;
    line-height:1.15 !important;
  }
  .forum-board-table-wrap .forum-table-caption span{
    display:block !important;
    grid-column:auto !important;
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  .forum-board-table-wrap .forum-table-row,
  .forum-board-table-wrap .forum-thread-row.forum-table-row{
    grid-template-columns:minmax(176px,1fr) 64px 74px 104px 52px !important;
    gap:7px !important;
    min-width:540px !important;
    padding:8px 10px !important;
  }
  .forum-board-table-wrap .forum-table-actions{grid-column:auto !important;justify-content:center !important;white-space:nowrap !important;}
  .forum-sticker-image-grid{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}
  .forum-sticker-image-grid button{min-height:64px !important;padding:6px 3px !important;}
  .forum-sticker-image-grid button img{width:34px !important;height:34px !important;}
}
@media (max-width:420px){
  .forum-sticker-image-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
  .member-header-pop-title .member-header-name-line b{max-width:116px;}
}
.site-header .mobile-member-header-btn .member-header-icon-img{width:28px;height:28px;display:block;object-fit:contain;}
@media (max-width:820px){.site-header .mobile-member-header-btn .member-header-icon-img{width:26px;height:26px;}}


/* v50：論壇表情改為外部 Twemoji CDN，不再使用本機 assets/img/forum-stickers 檔案 */
.forum-sticker-panel-head b::after{
  content:" CDN";
  margin-left:6px;
  padding:1px 6px;
  border-radius:999px;
  border:1px solid rgba(255,226,150,.24);
  color:#ffe6a6;
  font-size:10px;
  letter-spacing:.08em;
  opacity:.86;
}
.forum-sticker-image-grid{
  grid-template-columns:repeat(auto-fill,minmax(56px,1fr)) !important;
  gap:8px !important;
}
.forum-sticker-image-grid button{
  min-height:66px !important;
  padding:7px 4px !important;
  border-radius:15px !important;
}
.forum-sticker-image-grid button img[src*="twemoji"]{
  width:36px !important;
  height:36px !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:drop-shadow(0 7px 10px rgba(0,0,0,.34));
}
.forum-tool-icon[src*="twemoji"]{
  border-radius:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 2px 4px rgba(0,0,0,.30));
  background:transparent !important;
}
.forum-sticker-inline,
.forum-html-content img[src*="twemoji"],
.forum-editor-preview img[src*="twemoji"],
.forum-rich-editor img[src*="twemoji"]{
  display:inline-block !important;
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  max-width:34px !important;
  max-height:34px !important;
  object-fit:contain !important;
  vertical-align:-9px !important;
  margin:0 2px !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.30));
}
@media (max-width:820px){
  .forum-sticker-image-grid{grid-template-columns:repeat(6,minmax(0,1fr)) !important;gap:6px !important;}
  .forum-sticker-image-grid button{min-height:54px !important;padding:5px 2px !important;}
  .forum-sticker-image-grid button img[src*="twemoji"]{width:30px !important;height:30px !important;}
  .forum-sticker-image-grid button em{display:none !important;}
  .forum-sticker-inline,
  .forum-html-content img[src*="twemoji"],
  .forum-editor-preview img[src*="twemoji"],
  .forum-rich-editor img[src*="twemoji"]{width:30px !important;height:30px !important;min-width:30px !important;min-height:30px !important;max-width:30px !important;max-height:30px !important;vertical-align:-8px !important;}
}
@media (max-width:420px){
  .forum-sticker-image-grid{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}
}


/* v51：外部 Emoji 圖庫數量擴充，加入分類區塊與更好的手機捲動 */
.forum-sticker-panel{
  max-height:min(560px, 70vh) !important;
  overflow:hidden !important;
}
.forum-sticker-scroll{
  max-height:min(480px, 60vh);
  overflow:auto;
  padding-right:4px;
}
.forum-sticker-group{
  margin:0 0 12px;
  padding:0 0 10px;
  border-bottom:1px solid rgba(255,226,150,.10);
}
.forum-sticker-group:last-child{
  border-bottom:0;
  margin-bottom:0;
  padding-bottom:0;
}
.forum-sticker-group h4{
  margin:3px 0 8px;
  color:#ffe7aa;
  font-size:13px;
  letter-spacing:.12em;
  font-weight:900;
  text-shadow:0 2px 8px rgba(0,0,0,.35);
}
.forum-sticker-image-grid{
  grid-template-columns:repeat(auto-fill,minmax(58px,1fr)) !important;
  gap:7px !important;
}
.forum-sticker-image-grid button{
  min-height:67px !important;
}
.forum-sticker-image-grid button img[src*="twemoji"]{
  width:34px !important;
  height:34px !important;
}
.forum-sticker-image-grid button em{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media (max-width:820px){
  .forum-sticker-panel{max-height:min(470px, 62vh) !important;}
  .forum-sticker-scroll{max-height:min(390px, 52vh);}
  .forum-sticker-group{margin-bottom:9px;padding-bottom:8px;}
  .forum-sticker-group h4{font-size:12px;margin:2px 0 6px;}
  .forum-sticker-image-grid{grid-template-columns:repeat(7,minmax(0,1fr)) !important;gap:5px !important;}
  .forum-sticker-image-grid button{min-height:48px !important;padding:4px 1px !important;}
  .forum-sticker-image-grid button img[src*="twemoji"]{width:28px !important;height:28px !important;}
}
@media (max-width:420px){
  .forum-sticker-image-grid{grid-template-columns:repeat(6,minmax(0,1fr)) !important;}
}

/* v53：回覆編輯區改成單一切換按鈕，位置放在表情後方 */
.forum-reply-mode-tabs{
  margin-bottom:2px;
}
.forum-reply-mode-tabs button{
  padding:7px 14px;
  font-size:.84rem;
}
.forum-reply-mode-toggle{
  min-width:92px;
  justify-content:center;
  font-weight:900;
}
.forum-reply-mode-toggle.is-html{
  border-color:rgba(255,145,100,.58) !important;
}
.forum-reply-content-label{
  display:grid;
  gap:8px;
  color:rgba(255,255,255,.84);
  font-weight:900;
}
.forum-reply-rich-editor{
  min-height:116px !important;
  max-height:340px !important;
  padding:12px 14px !important;
  border-radius:14px !important;
  line-height:1.65 !important;
  background:rgba(0,0,0,.46) !important;
}
.forum-reply-rich-editor:empty::before{
  color:rgba(255,255,255,.40) !important;
}
.forum-reply-html-wrap textarea{
  min-height:116px !important;
  font-family:Consolas, Monaco, 'Courier New', monospace;
  line-height:1.6;
}
.forum-reply-form .forum-sticker-panel{
  margin-top:-2px;
}
@media (max-width:820px){
  .forum-reply-mode-tabs{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .forum-reply-mode-tabs button{
    padding:9px 8px;
    font-size:.82rem;
  }
  .forum-reply-toolbar{
    align-items:center;
  }
  .forum-reply-mode-toggle{
    min-width:88px;
    padding:7px 10px !important;
  }
  .forum-reply-rich-editor,
  .forum-reply-html-wrap textarea{
    min-height:104px !important;
    font-size:14px;
  }
}

/* v54：導覽列外部貼圖 ICON + 會員 ICON 重新調整 */
.site-header .nav-links a:not(.member-header-btn){
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;
}
.site-header .nav-links a:not(.member-header-btn)::before{
  content:"";
  display:inline-block;
  width:15px;
  height:15px;
  flex:0 0 15px;
  background-image:var(--dr-nav-icon);
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.55));
  opacity:.96;
}
.site-header .nav-links a[href$="index.html"]{--dr-nav-icon:url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f3e0.svg");}
.site-header .nav-links a[href$="systems.html"]{--dr-nav-icon:url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/2728.svg");}
.site-header .nav-links a[href$="autofight.html"]{--dr-nav-icon:url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/2694.svg");}
.site-header .nav-links a[href$="fake.html"]{--dr-nav-icon:url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f916.svg");}
.site-header .nav-links a[href$="world.html"]{--dr-nav-icon:url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f310.svg");}
.site-header .nav-links a[href$="bosses.html"]{--dr-nav-icon:url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f409.svg");}
.site-header .nav-links a[href$="infoserver.html"]{--dr-nav-icon:url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f4dc.svg");}
.site-header .nav-links a[href$="l2wiki.html"]{--dr-nav-icon:url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f4da.svg");}
.site-header .nav-links a[href$="support.html"]{--dr-nav-icon:url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f381.svg");}
.site-header .nav-links a[href$="member.php"]{--dr-nav-icon:url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f465.svg");}
.site-header .nav-links a[href$="forum.php"]{--dr-nav-icon:url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f4ac.svg");}
.site-header .nav-links a[href$="descargas.html"]{--dr-nav-icon:url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f4e6.svg");}
.site-header .nav-links a[href$="panel.html"]{--dr-nav-icon:url("https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/svg/1f4ca.svg");}

.nav-links .member-header-btn,
.site-header .mobile-member-header-btn{
  border-radius:15px !important;
  background:linear-gradient(135deg, rgba(255,238,174,.18), rgba(0,0,0,.38)) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.28), 0 0 0 1px rgba(255,255,255,.05) inset !important;
}
.nav-links .member-header-btn{
  width:40px !important;
  height:40px !important;
  flex-basis:40px !important;
  margin-left:5px !important;
}
.nav-links .member-header-btn::before,
.site-header .mobile-member-header-btn::before{
  inset:2px !important;
  border-radius:13px !important;
  background:radial-gradient(circle at 28% 18%, rgba(255,255,255,.46), transparent 35%), linear-gradient(135deg, rgba(255,239,168,.35), rgba(255,173,78,.08)) !important;
}
.member-header-btn .member-header-icon-img{
  width:32px !important;
  height:32px !important;
  object-fit:contain !important;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.46)) drop-shadow(0 0 8px rgba(255,221,142,.22)) !important;
}
.nav-links .member-header-btn.is-member,
.site-header .mobile-member-header-btn.is-member{
  background:linear-gradient(135deg,#fff2ba,#f0be61 62%,#a96721) !important;
}
.nav-links .member-header-btn.is-guest,
.site-header .mobile-member-header-btn.is-guest{
  background:linear-gradient(135deg,rgba(255,112,66,.18),rgba(0,0,0,.40)) !important;
}
.member-header-btn .member-header-dot{
  right:3px !important;
  top:3px !important;
}
@media (min-width:1181px){
  html body .site-header .nav-links{gap:clamp(1px,.12vw,3px) !important;}
  html body .site-header .nav-links a:not(.member-header-btn){
    padding:7px clamp(4px,.35vw,7px) !important;
    font-size:clamp(11px,.72vw,12.5px) !important;
  }
  html body .site-header .nav-links a:not(.member-header-btn)::before{
    width:14px !important;
    height:14px !important;
    flex-basis:14px !important;
  }
}
@media (max-width:880px){
  .site-header .mobile-member-header-btn{
    width:48px !important;
    height:48px !important;
    flex:0 0 48px !important;
    border-radius:15px !important;
    margin-right:6px !important;
  }
  .site-header .mobile-member-header-btn .member-header-icon-img{
    width:36px !important;
    height:36px !important;
  }
  .site-header .mobile-member-header-btn .member-header-dot{
    right:5px !important;
    top:5px !important;
  }
  .site-header .nav-links a:not(.member-header-btn){
    justify-content:flex-start !important;
    gap:10px !important;
    text-align:left !important;
    padding:11px 18px !important;
  }
  .site-header .nav-links a:not(.member-header-btn)::before{
    width:21px !important;
    height:21px !important;
    flex-basis:21px !important;
  }
}
@media (max-width:420px){
  .site-header .mobile-member-header-btn{
    width:46px !important;
    height:46px !important;
    flex-basis:46px !important;
  }
  .site-header .mobile-member-header-btn .member-header-icon-img{
    width:35px !important;
    height:35px !important;
  }
}


/* v55：電腦版 Header 導覽列往右避開書法 Logo */
@media (min-width:1181px){
  html body .site-header .container.navbar{
    width:min(1440px, calc(100% - 28px)) !important;
    max-width:1440px !important;
    gap:8px !important;
  }
  html body .site-header .brand{
    flex:0 0 clamp(470px, 34vw, 545px) !important;
    min-width:470px !important;
    max-width:545px !important;
    margin-right:8px !important;
    overflow:visible !important;
  }
  html body .site-header .brand span::before{
    font-size:32px !important;
    letter-spacing:.045em !important;
  }
  html body .site-header .nav-links{
    margin-left:auto !important;
    justify-content:flex-end !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    gap:clamp(0px,.08vw,2px) !important;
  }
  html body .site-header .nav-links a:not(.member-header-btn){
    padding:7px clamp(3px,.25vw,6px) !important;
    font-size:clamp(10.5px,.67vw,12px) !important;
    gap:3px !important;
    letter-spacing:0 !important;
  }
  html body .site-header .nav-links a:not(.member-header-btn)::before{
    width:12px !important;
    height:12px !important;
    flex-basis:12px !important;
  }
  html body .site-header .nav-links .nav-panel{
    padding-inline:clamp(5px,.35vw,8px) !important;
  }
  html body .nav-links .member-header-btn{
    width:36px !important;
    height:36px !important;
    flex:0 0 36px !important;
    margin-left:4px !important;
  }
  html body .member-header-btn .member-header-icon-img{
    width:29px !important;
    height:29px !important;
  }
}
@media (min-width:1181px) and (max-width:1360px){
  html body .site-header .brand{
    flex-basis:450px !important;
    min-width:450px !important;
    max-width:450px !important;
    margin-right:4px !important;
  }
  html body .site-header .brand span::before{
    font-size:30px !important;
    letter-spacing:.035em !important;
  }
  html body .site-header .nav-links a:not(.member-header-btn){
    padding-inline:3px !important;
    font-size:10.5px !important;
  }
  html body .site-header .nav-links a:not(.member-header-btn)::before{
    width:11px !important;
    height:11px !important;
    flex-basis:11px !important;
  }
}


/* v56：桌機版 Header 導覽列文字放大；保留避開左側書法 Logo 的安全距離 */
@media (min-width:1181px){
  html body .site-header .container.navbar{
    width:min(1500px, calc(100% - 22px)) !important;
    max-width:1500px !important;
    gap:10px !important;
  }
  html body .site-header .brand{
    flex:0 0 clamp(435px, 31vw, 505px) !important;
    min-width:435px !important;
    max-width:505px !important;
    margin-right:8px !important;
  }
  html body .site-header .brand span::before{
    font-size:32px !important;
    letter-spacing:.045em !important;
  }
  html body .site-header .nav-links{
    gap:clamp(2px,.16vw,5px) !important;
    justify-content:flex-end !important;
  }
  html body .site-header .nav-links a:not(.member-header-btn){
    padding:8px clamp(5px,.45vw,9px) !important;
    font-size:clamp(12.6px,.80vw,14px) !important;
    line-height:1.15 !important;
    gap:4px !important;
    letter-spacing:.01em !important;
  }
  html body .site-header .nav-links a:not(.member-header-btn)::before{
    width:15px !important;
    height:15px !important;
    flex-basis:15px !important;
  }
  html body .site-header .nav-links .nav-panel{
    padding-inline:clamp(7px,.55vw,11px) !important;
  }
  html body .nav-links .member-header-btn{
    width:40px !important;
    height:40px !important;
    flex:0 0 40px !important;
    margin-left:5px !important;
  }
  html body .member-header-btn .member-header-icon-img{
    width:32px !important;
    height:32px !important;
  }
}
@media (min-width:1181px) and (max-width:1360px){
  html body .site-header .container.navbar{
    width:calc(100% - 18px) !important;
    gap:6px !important;
  }
  html body .site-header .brand{
    flex-basis:420px !important;
    min-width:420px !important;
    max-width:420px !important;
    margin-right:4px !important;
  }
  html body .site-header .brand span::before{
    font-size:29px !important;
    letter-spacing:.03em !important;
  }
  html body .site-header .nav-links{
    gap:1px !important;
  }
  html body .site-header .nav-links a:not(.member-header-btn){
    padding:7px 4px !important;
    font-size:11.8px !important;
    gap:3px !important;
  }
  html body .site-header .nav-links a:not(.member-header-btn)::before{
    width:13px !important;
    height:13px !important;
    flex-basis:13px !important;
  }
  html body .nav-links .member-header-btn{
    width:38px !important;
    height:38px !important;
    flex-basis:38px !important;
  }
  html body .member-header-btn .member-header-icon-img{
    width:31px !important;
    height:31px !important;
  }
}
@media (min-width:1501px){
  html body .site-header .nav-links a:not(.member-header-btn){
    font-size:14.3px !important;
    padding-inline:10px !important;
  }
  html body .site-header .nav-links a:not(.member-header-btn)::before{
    width:16px !important;
    height:16px !important;
    flex-basis:16px !important;
  }
}

/* =========================================================
   v57: 桌機 Header 導覽列改為 ICON 模式，hover 顯示文字
   ========================================================= */
@media (min-width:1181px){
  html body .site-header .container.navbar{
    width:min(1500px, calc(100% - 24px)) !important;
    max-width:1500px !important;
    gap:14px !important;
  }
  html body .site-header .brand{
    flex:0 0 clamp(400px, 31vw, 470px) !important;
    min-width:400px !important;
    max-width:470px !important;
    margin-right:8px !important;
    overflow:visible !important;
  }
  html body .site-header .brand span::before{
    font-size:33px !important;
    letter-spacing:.045em !important;
  }
  html body .site-header .nav-links{
    flex:1 1 auto !important;
    min-width:0 !important;
    margin-left:auto !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:8px !important;
    overflow:visible !important;
  }
  html body .site-header .nav-links a:not(.member-header-btn){
    position:relative !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    flex:0 0 40px !important;
    padding:0 !important;
    margin:0 !important;
    border-radius:14px !important;
    font-size:0 !important;
    line-height:0 !important;
    letter-spacing:0 !important;
    color:transparent !important;
    overflow:visible !important;
    isolation:isolate !important;
    border:1px solid rgba(233,183,91,.22) !important;
    background:rgba(255,255,255,.035) !important;
    box-shadow:0 8px 22px rgba(0,0,0,.16), inset 0 0 0 1px rgba(255,255,255,.025) !important;
  }
  html body .site-header .nav-links a:not(.member-header-btn)::before{
    content:"" !important;
    display:block !important;
    width:24px !important;
    height:24px !important;
    min-width:24px !important;
    flex:0 0 24px !important;
    margin:0 !important;
    background-image:var(--dr-nav-icon) !important;
    background-repeat:no-repeat !important;
    background-position:center !important;
    background-size:contain !important;
    filter:drop-shadow(0 2px 5px rgba(0,0,0,.42)) !important;
    opacity:.98 !important;
    transform:translateZ(0) !important;
  }
  html body .site-header .nav-links a:not(.member-header-btn)::after{
    content:var(--dr-nav-label, "選單") !important;
    position:absolute !important;
    left:50% !important;
    top:calc(100% - 1px) !important;
    z-index:99999 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:max-content !important;
    padding:8px 12px !important;
    border-radius:999px !important;
    border:1px solid rgba(255,222,150,.42) !important;
    background:radial-gradient(circle at 18% 0%, rgba(255,227,166,.20), transparent 60%), linear-gradient(180deg, rgba(20,18,20,.98), rgba(6,7,12,.98)) !important;
    box-shadow:0 14px 36px rgba(0,0,0,.48), 0 0 20px rgba(233,183,91,.12) !important;
    color:#ffe7ad !important;
    font-size:13px !important;
    font-weight:950 !important;
    line-height:1.2 !important;
    letter-spacing:.04em !important;
    white-space:nowrap !important;
    opacity:0 !important;
    pointer-events:auto !important;
    transform:translate(-50%, -6px) scale(.96) !important;
    transition:opacity .16s ease, transform .16s ease !important;
  }
  html body .site-header .nav-links a:not(.member-header-btn):hover,
  html body .site-header .nav-links a:not(.member-header-btn):focus-visible,
  html body .site-header .nav-links a:not(.member-header-btn).active{
    border-color:rgba(255,225,150,.72) !important;
    background:linear-gradient(135deg, rgba(255,230,165,.96), rgba(233,183,91,.95)) !important;
    color:transparent !important;
    box-shadow:0 12px 30px rgba(233,183,91,.22), inset 0 0 0 1px rgba(255,255,255,.16) !important;
    transform:translateY(-1px) !important;
  }
  html body .site-header .nav-links a:not(.member-header-btn):hover::after,
  html body .site-header .nav-links a:not(.member-header-btn):focus-visible::after{
    opacity:1 !important;
    transform:translate(-50%, 0) scale(1) !important;
  }
  html body .site-header .nav-links .nav-panel{
    padding:0 !important;
  }
  html body .site-header .nav-links a[href$="index.html"]{--dr-nav-label:"首頁";}
  html body .site-header .nav-links a[href$="systems.html"]{--dr-nav-label:"特色系統";}
  html body .site-header .nav-links a[href$="autofight.html"]{--dr-nav-label:"內掛系統";}
  html body .site-header .nav-links a[href$="fake.html"]{--dr-nav-label:"AI假人玩家";}
  html body .site-header .nav-links a[href$="world.html"]{--dr-nav-label:"種族職業";}
  html body .site-header .nav-links a[href$="bosses.html"]{--dr-nav-label:"首領副本";}
  html body .site-header .nav-links a[href$="infoserver.html"]{--dr-nav-label:"伺服器資訊";}
  html body .site-header .nav-links a[href$="l2wiki.html"]{--dr-nav-label:"L2資料庫";}
  html body .site-header .nav-links a[href$="support.html"]{--dr-nav-label:"贊助支持";}
  html body .site-header .nav-links a[href$="member.php"]{--dr-nav-label:"會員中心";}
  html body .site-header .nav-links a[href$="forum.php"]{--dr-nav-label:"討論區";}
  html body .site-header .nav-links a[href$="descargas.html"]{--dr-nav-label:"遊戲下載";}
  html body .site-header .nav-links a[href$="panel.html"]{--dr-nav-label:"線上玩家";}
  html body .nav-links .member-header-btn{
    width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
    margin-left:4px !important;
    border-radius:14px !important;
  }
  html body .member-header-btn .member-header-icon-img{
    width:35px !important;
    height:35px !important;
  }
}
@media (min-width:1181px) and (max-width:1360px){
  html body .site-header .brand{
    flex-basis:380px !important;
    min-width:380px !important;
    max-width:380px !important;
    margin-right:4px !important;
  }
  html body .site-header .brand span::before{
    font-size:30px !important;
    letter-spacing:.035em !important;
  }
  html body .site-header .nav-links{
    gap:6px !important;
  }
  html body .site-header .nav-links a:not(.member-header-btn){
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
    flex-basis:38px !important;
  }
  html body .site-header .nav-links a:not(.member-header-btn)::before{
    width:23px !important;
    height:23px !important;
    min-width:23px !important;
    flex-basis:23px !important;
  }
  html body .nav-links .member-header-btn{
    width:40px !important;
    height:40px !important;
    flex-basis:40px !important;
  }
}


/* v58: L2資料庫導覽 ICON + l2wiki 頁面寬版修正 */
@media (min-width:1181px){
  html body .site-header .nav-links{gap:6px !important;}
}
@media (min-width:1181px) and (max-width:1360px){
  html body .site-header .nav-links{gap:4px !important;}
}

/* v61: 全站最新公告跑馬燈 + 後台公告管理 */
.dr-announcement-bar{
  --dr-ann-height:40px;
  --dr-ann-speed:520ms;
  position:sticky;
  top:82px;
  z-index:88;
  width:100%;
  height:var(--dr-ann-height);
  background:rgba(5,6,10,.36);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(255,255,255,.9);
  overflow:hidden;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.dr-announcement-inner{
  width:min(1180px,calc(100% - 40px));
  height:100%;
  margin-inline:auto;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:18px;
  min-width:0;
}
.dr-announcement-label{
  height:100%;
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#ffe4a0;
  font-weight:950;
  letter-spacing:.08em;
  white-space:nowrap;
  text-shadow:0 0 16px rgba(233,183,91,.22);
}
.dr-announcement-label i{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#ff3154;
  box-shadow:0 0 16px rgba(255,49,84,.92);
}
.dr-announcement-window{
  position:relative;
  width:100%;
  height:100%;
  min-width:0;
  overflow:hidden;
}
.dr-announcement-line{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-width:0;
  color:#fff7e4;
  font-size:16px;
  font-weight:850;
  line-height:1.32;
  letter-spacing:.03em;
  text-shadow:0 2px 12px rgba(0,0,0,.72);
  transform:translateY(0);
  transition:transform var(--dr-ann-speed) cubic-bezier(.22,.75,.18,1), opacity var(--dr-ann-speed) ease;
  will-change:transform,opacity;
}
.dr-announcement-line em{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  max-width:100%;
  overflow:hidden;
  overflow-wrap:anywhere;
  word-break:break-word;
  font-style:normal;
}
.dr-announcement-line.is-next{transform:translateY(100%);opacity:.94;}
.dr-announcement-line.is-old.is-leaving{transform:translateY(-100%);opacity:.2;}
.dr-announcement-line.is-next.is-entering{transform:translateY(0);opacity:1;}
@media (max-width:880px){
  .dr-announcement-bar{top:74px;}
  .dr-announcement-inner{width:calc(100% - 22px);gap:10px;grid-template-columns:auto minmax(0,1fr);}
  .dr-announcement-label{font-size:14px;letter-spacing:.04em;gap:7px;}
  .dr-announcement-window{min-width:0;}
  .dr-announcement-line{font-size:14px;line-height:1.28;}
}
@media (max-width:520px){
  .dr-announcement-inner{grid-template-columns:1fr;gap:0;align-content:center;}
  .dr-announcement-label{position:absolute;left:11px;top:0;height:var(--dr-ann-height);z-index:2;padding-right:8px;background:linear-gradient(90deg,rgba(5,6,10,.86),rgba(5,6,10,.50),transparent);}
  .dr-announcement-window{padding-left:86px;}
  .dr-announcement-line{font-size:13px;}
}
.dr-admin-announcement-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin:12px 0 16px;
}
.dr-admin-announcement-settings{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:16px 0 18px;
}
.dr-admin-announcement-settings label{
  display:grid;
  gap:7px;
  color:#f5e6c6;
  font-weight:900;
}
.dr-admin-announcement-settings input{
  width:100%;
}
.dr-admin-announcement-list{
  display:grid;
  gap:12px;
  margin-top:12px;
}
.dr-admin-announcement-row{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:14px;
  border:1px solid rgba(233,183,91,.18);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(0,0,0,.18));
}
.dr-admin-announcement-row-num{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(233,183,91,.10);
  border:1px solid rgba(233,183,91,.26);
  color:#ffe3a3;
  font-weight:950;
}
.dr-admin-announcement-row-body{
  display:grid;
  gap:8px;
  min-width:0;
}
.dr-admin-announcement-row textarea{
  width:100%;
  min-height:72px;
  resize:vertical;
}
.dr-admin-announcement-row-foot{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  min-width:0;
}
.dr-admin-announcement-row-foot .dr-admin-check{
  margin:0;
  white-space:nowrap;
}
.dr-admin-announcement-row-foot .dr-admin-note{
  margin:0;
  white-space:nowrap;
  font-size:12px;
  color:rgba(242,225,198,.78);
}
.dr-admin-announcement-row-tools{
  margin-left:auto;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  min-width:0;
  flex-wrap:nowrap;
}
.dr-admin-announcement-row-tools button{
  border:1px solid rgba(233,183,91,.28);
  background:rgba(0,0,0,.26);
  color:#ffe8b4;
  border-radius:999px;
  padding:7px 11px;
  min-width:50px;
  line-height:1.1;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}
.dr-admin-announcement-row-tools button:hover{
  border-color:rgba(255,224,142,.64);
  background:rgba(233,183,91,.12);
}
.dr-admin-announcement-row-tools button.danger{
  border-color:rgba(255,92,92,.35);
  color:#ffb1a9;
}
.dr-admin-announcement-preview{
  margin-top:18px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:18px;
  overflow:hidden;
  background:rgba(0,0,0,.24);
}
.dr-admin-announcement-preview .dr-announcement-bar{
  position:relative;
  top:auto;
  z-index:1;
}
.dr-admin-announcement-meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  color:rgba(242,225,198,.72);
  font-size:13px;
  margin-top:8px;
}
@media (max-width:980px){
  .dr-admin-announcement-settings{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dr-admin-announcement-row{grid-template-columns:34px minmax(0,1fr);}
  .dr-admin-announcement-row-num{width:34px;height:34px;}
  .dr-admin-announcement-row-tools{margin-left:0;justify-content:flex-start;flex-wrap:wrap;}
}
@media (max-width:560px){
  .dr-admin-announcement-settings{grid-template-columns:1fr;}
  .dr-admin-announcement-row{grid-template-columns:34px minmax(0,1fr);padding:12px;gap:10px;}
  .dr-admin-announcement-row-foot .dr-admin-note{width:100%;}
  .dr-admin-announcement-row-tools{width:100%;}
  .dr-admin-announcement-row-tools button{flex:1 1 0;min-width:0;padding-left:8px;padding-right:8px;}
}



/* v61 fix: 跑馬燈貼合 header、單行顯示，避免 40px 高度時卡半截 */
html{--dr-header-height:82px;}
.dr-announcement-bar{
  position:sticky !important;
  top:var(--dr-header-height,82px) !important;
  margin:0 !important;
  padding:0 !important;
  z-index:98 !important;
  height:var(--dr-ann-height,40px) !important;
  min-height:var(--dr-ann-height,40px) !important;
  background:rgba(5,6,10,.50) !important;
  border-top:0 !important;
  border-bottom:1px solid rgba(255,255,255,.92) !important;
  overflow:hidden !important;
}
.dr-announcement-inner{height:100% !important;align-items:center !important;}
.dr-announcement-label{height:100% !important;align-items:center !important;line-height:1 !important;}
.dr-announcement-window{height:100% !important;overflow:hidden !important;}
.dr-announcement-line{
  height:100% !important;
  min-height:100% !important;
  align-items:center !important;
  line-height:1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
}
.dr-announcement-line em{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  -webkit-line-clamp:unset !important;
  -webkit-box-orient:unset !important;
  line-height:1.2 !important;
}
.dr-admin-announcement-entry{border-color:rgba(255,214,120,.34) !important;background:linear-gradient(135deg,rgba(45,28,12,.76),rgba(9,10,16,.92)) !important;}
.dr-admin-announcement-entry h3{margin-bottom:8px;}
.dr-admin-announcement-entry-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.dr-admin-announcement-entry-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.dr-admin-announcement-entry-badges span{display:inline-flex;align-items:center;border:1px solid rgba(255,214,120,.25);border-radius:999px;padding:6px 10px;color:#ffe8b6;background:rgba(0,0,0,.24);font-size:13px;font-weight:900;}
@media (max-width:880px){html{--dr-header-height:74px;}.dr-announcement-bar{top:var(--dr-header-height,74px) !important;}}

/* v62: 公告文字直接顯示修正，不再包 em，避免手機與後台預覽空白 */
html{--dr-header-height:82px;}
.dr-announcement-bar{
  position:sticky !important;
  top:var(--dr-header-height,82px) !important;
  display:block !important;
  width:100% !important;
  height:var(--dr-ann-height,40px) !important;
  min-height:var(--dr-ann-height,40px) !important;
  margin:0 !important;
  padding:0 !important;
  background:rgba(5,6,10,.50) !important;
  border-top:0 !important;
  border-bottom:1px solid rgba(255,255,255,.92) !important;
  overflow:hidden !important;
  z-index:98 !important;
}
.dr-announcement-inner{
  width:min(1180px,calc(100% - 40px)) !important;
  height:100% !important;
  margin-inline:auto !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  align-items:center !important;
  gap:16px !important;
  min-width:0 !important;
}
.dr-announcement-label{
  height:100% !important;
  display:inline-flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  line-height:1 !important;
  white-space:nowrap !important;
}
.dr-announcement-window{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  overflow:hidden !important;
  padding:0 !important;
}
.dr-announcement-line{
  position:absolute !important;
  inset:0 !important;
  height:100% !important;
  min-height:100% !important;
  display:block !important;
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
  color:#fff7e4 !important;
  font-size:15px !important;
  font-weight:850 !important;
  line-height:var(--dr-ann-height,40px) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  text-shadow:0 2px 12px rgba(0,0,0,.72) !important;
  transform:translateY(0);
  opacity:1;
  transition:transform var(--dr-ann-speed,520ms) cubic-bezier(.22,.75,.18,1), opacity var(--dr-ann-speed,520ms) ease !important;
  will-change:transform,opacity;
}
.dr-announcement-line em{display:inline !important;color:inherit !important;font:inherit !important;line-height:inherit !important;white-space:inherit !important;}
.dr-announcement-line.is-next{transform:translateY(100%) !important;opacity:.94 !important;}
.dr-announcement-line.is-old.is-leaving{transform:translateY(-100%) !important;opacity:.2 !important;}
.dr-announcement-line.is-next.is-entering{transform:translateY(0) !important;opacity:1 !important;}
.dr-admin-announcement-preview .dr-announcement-bar{
  position:relative !important;
  top:auto !important;
  z-index:1 !important;
  border-radius:18px !important;
}
.dr-admin-announcement-row textarea{
  background:rgba(7,8,14,.92) !important;
  color:#fff7e4 !important;
  border:1px solid rgba(233,183,91,.28) !important;
}
.dr-admin-announcement-row textarea::placeholder{color:rgba(255,247,228,.48) !important;}
@media (max-width:880px){
  html{--dr-header-height:74px;}
  .dr-announcement-inner{width:calc(100% - 24px) !important;gap:10px !important;grid-template-columns:auto minmax(0,1fr) !important;}
  .dr-announcement-label{font-size:14px !important;letter-spacing:.04em !important;gap:7px !important;position:static !important;background:transparent !important;padding:0 !important;}
  .dr-announcement-line{font-size:14px !important;}
}
@media (max-width:520px){
  .dr-announcement-inner{width:calc(100% - 22px) !important;grid-template-columns:auto minmax(0,1fr) !important;gap:8px !important;}
  .dr-announcement-label{font-size:14px !important;}
  .dr-announcement-window{padding:0 !important;}
  .dr-announcement-line{font-size:13px !important;}
}


/* v63: 公告切換改成小幅上移淡入，不再整行 translateY(100%)，避免手機看到半截文字 */
.dr-announcement-bar{
  height:var(--dr-ann-height,40px) !important;
  min-height:var(--dr-ann-height,40px) !important;
  line-height:normal !important;
}
.dr-announcement-window{
  height:var(--dr-ann-height,40px) !important;
  min-height:var(--dr-ann-height,40px) !important;
  overflow:hidden !important;
}
.dr-announcement-line{
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  height:var(--dr-ann-height,40px) !important;
  min-height:var(--dr-ann-height,40px) !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  transform:translate3d(0,0,0) !important;
  transition:opacity var(--dr-ann-speed,520ms) ease, transform var(--dr-ann-speed,520ms) ease !important;
  backface-visibility:hidden !important;
  -webkit-font-smoothing:antialiased !important;
}
.dr-announcement-line.is-next{
  transform:translate3d(0,8px,0) !important;
  opacity:0 !important;
}
.dr-announcement-line.is-old.is-leaving{
  transform:translate3d(0,-8px,0) !important;
  opacity:0 !important;
}
.dr-announcement-line.is-next.is-entering{
  transform:translate3d(0,0,0) !important;
  opacity:1 !important;
}
@media (max-width:520px){
  .dr-announcement-line{font-size:13px !important;line-height:1.2 !important;}
}

/* v64: 公告高度 / 切換秒數 / 動畫速度完全吃後台設定；切換只做淡入淡出，避免露半截 */
.dr-announcement-bar{
  height:var(--dr-ann-height,40px) !important;
  min-height:var(--dr-ann-height,40px) !important;
  max-height:var(--dr-ann-height,40px) !important;
  line-height:normal !important;
  box-sizing:border-box !important;
  transition:height .18s ease, min-height .18s ease, max-height .18s ease !important;
}
.dr-announcement-inner{
  height:var(--dr-ann-height,40px) !important;
  min-height:var(--dr-ann-height,40px) !important;
  max-height:var(--dr-ann-height,40px) !important;
}
.dr-announcement-label{
  height:var(--dr-ann-height,40px) !important;
  min-height:var(--dr-ann-height,40px) !important;
  max-height:var(--dr-ann-height,40px) !important;
}
.dr-announcement-window{
  height:var(--dr-ann-height,40px) !important;
  min-height:var(--dr-ann-height,40px) !important;
  max-height:var(--dr-ann-height,40px) !important;
  overflow:hidden !important;
}
.dr-announcement-line{
  position:absolute !important;
  inset:0 !important;
  height:var(--dr-ann-height,40px) !important;
  min-height:var(--dr-ann-height,40px) !important;
  max-height:var(--dr-ann-height,40px) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  padding:0 !important;
  margin:0 !important;
  line-height:1.22 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  transform:translate3d(0,0,0) !important;
  opacity:1 !important;
  transition:opacity var(--dr-ann-speed,520ms) ease, transform var(--dr-ann-speed,520ms) ease !important;
  will-change:opacity,transform !important;
}
.dr-announcement-line.is-next{
  transform:translate3d(0,6px,0) !important;
  opacity:0 !important;
}
.dr-announcement-line.is-old.is-leaving{
  transform:translate3d(0,-6px,0) !important;
  opacity:0 !important;
}
.dr-announcement-line.is-next.is-entering{
  transform:translate3d(0,0,0) !important;
  opacity:1 !important;
}
@media (max-width:520px){
  .dr-announcement-line{font-size:13px !important;line-height:1.22 !important;}
}


/* v65: 跑馬燈完整公告視窗 - 電腦 hover 顯示，手機點擊 popup */
.dr-announcement-bar{
  overflow:visible !important;
  cursor:pointer !important;
  outline:none !important;
}
.dr-announcement-bar:focus-visible{
  box-shadow:0 0 0 2px rgba(255,255,255,.72),0 0 24px rgba(233,183,91,.32) !important;
}
.dr-announcement-detail-panel{
  position:absolute !important;
  left:50% !important;
  top:calc(100% + 8px) !important;
  width:min(860px,calc(100vw - 28px)) !important;
  max-height:min(58vh,520px) !important;
  overflow:auto !important;
  transform:translate3d(-50%,-8px,0) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  z-index:10020 !important;
  border:1px solid rgba(255,255,255,.72) !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,rgba(17,18,25,.98),rgba(3,4,8,.97)) !important;
  box-shadow:0 22px 56px rgba(0,0,0,.62),0 0 32px rgba(233,183,91,.14) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease !important;
}
@media (hover:hover) and (pointer:fine){
  .dr-announcement-bar:hover .dr-announcement-detail-panel,
  .dr-announcement-bar:focus-within .dr-announcement-detail-panel,
  .dr-announcement-bar:focus-visible .dr-announcement-detail-panel{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translate3d(-50%,0,0) !important;
  }
}
.dr-announcement-detail-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:14px 18px !important;
  color:#fff3cf !important;
  border-bottom:1px solid rgba(255,255,255,.86) !important;
  background:linear-gradient(90deg,rgba(233,183,91,.18),rgba(255,255,255,.04)) !important;
}
.dr-announcement-detail-head b{
  font-size:16px !important;
  font-weight:950 !important;
  letter-spacing:.04em !important;
}
.dr-announcement-detail-head span{
  color:rgba(255,255,255,.76) !important;
  font-size:13px !important;
  font-weight:850 !important;
  white-space:nowrap !important;
}
.dr-announcement-detail-list,
.dr-announcement-popup-list{
  display:grid !important;
  gap:0 !important;
}
.dr-announcement-detail-row{
  display:grid !important;
  grid-template-columns:40px minmax(0,1fr) !important;
  gap:12px !important;
  align-items:start !important;
  padding:15px 18px !important;
  color:#fff !important;
}
.dr-announcement-detail-row + .dr-announcement-detail-row{
  border-top:1px solid rgba(255,255,255,.82) !important;
}
.dr-announcement-detail-num{
  width:30px !important;
  height:30px !important;
  display:inline-grid !important;
  place-items:center !important;
  border-radius:999px !important;
  background:rgba(233,183,91,.20) !important;
  border:1px solid rgba(255,255,255,.66) !important;
  color:#ffe7aa !important;
  font-size:13px !important;
  font-weight:950 !important;
  line-height:1 !important;
}
.dr-announcement-detail-body{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
}
.dr-announcement-detail-row p{
  margin:0 !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:760 !important;
  line-height:1.75 !important;
  white-space:normal !important;
  word-break:break-word !important;
  overflow-wrap:anywhere !important;
  text-shadow:0 2px 10px rgba(0,0,0,.66) !important;
}
.dr-announcement-detail-time{
  align-self:flex-end !important;
  margin-top:2px !important;
  color:#42ff68 !important;
  font-size:12px !important;
  font-weight:950 !important;
  line-height:1.35 !important;
  letter-spacing:.03em !important;
  text-align:right !important;
  white-space:nowrap !important;
  text-shadow:0 0 10px rgba(66,255,104,.36),0 2px 8px rgba(0,0,0,.72) !important;
}
.dr-announcement-popup{
  position:fixed !important;
  inset:0 !important;
  z-index:10050 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  padding:calc(var(--dr-header-height,74px) + 14px) 14px 22px !important;
  background:rgba(0,0,0,.66) !important;
  backdrop-filter:blur(7px) !important;
  -webkit-backdrop-filter:blur(7px) !important;
}
.dr-announcement-popup-box{
  width:min(680px,100%) !important;
  max-height:calc(100vh - var(--dr-header-height,74px) - 40px) !important;
  overflow:auto !important;
  border:1px solid rgba(255,255,255,.82) !important;
  border-radius:20px !important;
  background:linear-gradient(180deg,rgba(17,18,25,.98),rgba(3,4,8,.98)) !important;
  box-shadow:0 22px 62px rgba(0,0,0,.70),0 0 34px rgba(233,183,91,.14) !important;
}
.dr-announcement-popup-head{
  position:sticky !important;
  top:0 !important;
  z-index:2 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:15px 16px !important;
  border-bottom:1px solid rgba(255,255,255,.86) !important;
  background:linear-gradient(90deg,rgba(233,183,91,.20),rgba(5,6,10,.96)) !important;
}
.dr-announcement-popup-head span{
  display:block !important;
  color:#d20c2b !important;
  font-size:13px !important;
  font-weight:950 !important;
  letter-spacing:.10em !important;
}
.dr-announcement-popup-head b{
  display:block !important;
  margin-top:2px !important;
  color:#fff3cf !important;
  font-size:19px !important;
  font-weight:950 !important;
}
.dr-announcement-popup-head button{
  width:38px !important;
  height:38px !important;
  border:1px solid rgba(255,255,255,.66) !important;
  border-radius:999px !important;
  background:rgba(0,0,0,.34) !important;
  color:#fff !important;
  font-size:28px !important;
  line-height:34px !important;
  font-weight:400 !important;
  cursor:pointer !important;
}
.dr-announcement-popup-head button:active{
  transform:scale(.96) !important;
}
html.dr-announcement-popup-open,
html.dr-announcement-popup-open body{
  overflow:hidden !important;
}
@media (max-width:880px), (hover:none), (pointer:coarse){
  .dr-announcement-detail-panel{display:none !important;}
}
@media (max-width:520px){
  .dr-announcement-popup{padding:calc(var(--dr-header-height,74px) + 10px) 10px 16px !important;}
  .dr-announcement-detail-row{grid-template-columns:34px minmax(0,1fr) !important;gap:9px !important;padding:13px 13px !important;}
  .dr-announcement-detail-num{width:28px !important;height:28px !important;font-size:12px !important;}
  .dr-announcement-detail-row p{font-size:14px !important;line-height:1.68 !important;}
  .dr-announcement-detail-time{font-size:11px !important;white-space:normal !important;}
  .dr-announcement-popup-head b{font-size:18px !important;}
}

/* v70 fix: 後台公告編輯框與上移/下移/刪除同一行，縮短卡片高度 */
.dr-admin-announcement-editline{
  display:grid !important;
  grid-template-columns:minmax(180px,1fr) auto !important;
  align-items:center !important;
  gap:10px !important;
  min-width:0 !important;
}
.dr-admin-announcement-editline textarea{
  min-width:0 !important;
  width:100% !important;
  min-height:68px !important;
}
.dr-admin-announcement-editline .dr-admin-announcement-row-tools{
  margin-left:0 !important;
  width:auto !important;
  align-self:center !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:6px !important;
  flex-wrap:nowrap !important;
}
.dr-admin-announcement-editline .dr-admin-announcement-row-tools button{
  flex:0 0 auto !important;
  min-width:50px !important;
  padding:7px 11px !important;
}
.dr-admin-announcement-row-foot{
  padding-left:2px !important;
}
@media (max-width:720px){
  .dr-admin-announcement-editline{
    grid-template-columns:1fr !important;
    align-items:stretch !important;
  }
  .dr-admin-announcement-editline .dr-admin-announcement-row-tools{
    justify-content:flex-start !important;
    width:100% !important;
    flex-wrap:wrap !important;
  }
  .dr-admin-announcement-editline .dr-admin-announcement-row-tools button{
    flex:1 1 0 !important;
    min-width:0 !important;
  }
}


/* v71 fix: 討論區帖子列表操作欄四顆按鈕同一行，刪除不再掉到下一列 */
.forum-board-table-wrap .forum-table-caption,
.forum-board-table-wrap .forum-table-row,
.forum-board-table-wrap .forum-thread-row.forum-table-row{
  grid-template-columns:minmax(280px,1fr) 160px 116px 180px minmax(205px,auto) !important;
}
.forum-board-table-wrap .forum-table-actions,
.forum-thread-actions.forum-table-actions{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:5px !important;
  white-space:nowrap !important;
  min-width:0 !important;
}
.forum-board-table-wrap .forum-thread-actions .forum-mini-btn,
.forum-thread-actions.forum-table-actions .forum-mini-btn{
  flex:0 0 auto !important;
  min-width:0 !important;
  width:auto !important;
  padding:5px 8px !important;
  font-size:12px !important;
  line-height:1.12 !important;
  border-radius:10px !important;
}
@media (max-width:820px){
  .forum-board-table-wrap .forum-table-caption,
  .forum-board-table-wrap .forum-table-row,
  .forum-board-table-wrap .forum-thread-row.forum-table-row{
    grid-template-columns:minmax(176px,1fr) 64px 74px 104px 180px !important;
    min-width:700px !important;
  }
  .forum-board-table-wrap .forum-table-actions,
  .forum-thread-actions.forum-table-actions{
    justify-content:flex-start !important;
  }
  .forum-board-table-wrap .forum-thread-actions .forum-mini-btn,
  .forum-thread-actions.forum-table-actions .forum-mini-btn{
    padding:5px 7px !important;
    font-size:11px !important;
  }
}


/* v75 全站會員註冊成功 popup */
.dr-register-success-card { text-align: center; }
.dr-register-success-message {
  margin: 14px 0 12px;
  color: #ffe2a7;
  font-weight: 850;
  line-height: 1.75;
}
.dr-register-success-account {
  display: grid;
  gap: 6px;
  margin: 14px 0 20px;
  padding: 14px 16px;
  border: 1px solid rgba(233,183,91,.30);
  border-radius: 18px;
  background: rgba(233,183,91,.08);
}
.dr-register-success-account span { color: #d8cbb8; font-size: 13px; }
.dr-register-success-account b { color: #fff5df; font-size: 18px; overflow-wrap: anywhere; }
.dr-register-success-card .actions { justify-content: center; flex-wrap: wrap; }

/* v76 後台批量物品：全服 / 多帳號 / 多角色 發放、刪除、強化 */
.dr-admin-bulk-item-card{
  margin-top:22px !important;
}
.dr-admin-bulk-check{
  align-self:end !important;
  min-height:46px !important;
}
.dr-admin-bulk-targets select[multiple]{
  min-height:190px !important;
  padding:10px 12px !important;
  overflow:auto !important;
}
.dr-admin-bulk-targets label small,
.dr-admin-bulk-item-card label small{
  display:block !important;
  margin-top:4px !important;
  color:rgba(235,224,204,.68) !important;
  font-size:12px !important;
  font-weight:600 !important;
}
.dr-admin-bulk-item-card textarea{
  resize:vertical !important;
  min-height:82px !important;
}
.dr-admin-bulk-items-head{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:12px 0 10px !important;
  padding:12px 14px !important;
  border:1px solid rgba(233,183,91,.24) !important;
  border-radius:16px !important;
  background:rgba(233,183,91,.06) !important;
  flex-wrap:wrap !important;
}
.dr-admin-bulk-items-head b{
  color:#ffe2a7 !important;
  font-size:15px !important;
}
.dr-admin-bulk-items-head span{
  color:rgba(235,224,204,.72) !important;
  font-size:13px !important;
  flex:1 1 260px !important;
}
.dr-admin-bulk-item-rows{
  display:grid !important;
  gap:10px !important;
}
.dr-admin-bulk-item-row{
  display:grid !important;
  grid-template-columns:minmax(150px,1.3fr) minmax(94px,.75fr) minmax(94px,.75fr) minmax(150px,1fr) auto !important;
  gap:10px !important;
  align-items:end !important;
  padding:12px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:18px !important;
  background:rgba(0,0,0,.18) !important;
}
.dr-admin-bulk-item-row label{
  margin:0 !important;
}
.dr-admin-bulk-item-row button.danger{
  min-height:44px !important;
  padding:8px 12px !important;
  border-radius:14px !important;
  border:1px solid rgba(255,84,104,.42) !important;
  color:#ffd0d6 !important;
  background:rgba(255,84,104,.10) !important;
  cursor:pointer !important;
}
.dr-admin-bulk-item-row button.danger:hover{
  background:rgba(255,84,104,.18) !important;
}
@media (max-width:920px){
  .dr-admin-bulk-item-row{
    grid-template-columns:1fr 1fr !important;
  }
  .dr-admin-bulk-item-row button.danger{
    grid-column:1 / -1 !important;
  }
}
@media (max-width:560px){
  .dr-admin-bulk-item-row{
    grid-template-columns:1fr !important;
  }
  .dr-admin-bulk-items-head .btn{
    width:100% !important;
  }
}

/* v77 admin mobile overflow / accordion / clear buttons */
.dr-admin-page{overflow-x:hidden;}
.dr-admin-shell .container,
.dr-admin-app,
.dr-admin-card,
.dr-admin-result,
.dr-admin-tabpane,
.dr-admin-grid,
.dr-admin-form,
.dr-admin-inline{min-width:0;max-width:100%;}
.dr-admin-card{overflow:hidden;}
.dr-admin-table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;}
.dr-admin-table{table-layout:auto;}
.dr-admin-table th,
.dr-admin-table td{overflow-wrap:anywhere;}
.dr-admin-table td .btn,
.dr-admin-table td button{max-width:100%;white-space:normal;}
.dr-admin-log-actions{margin:10px 0 12px;}
.btn-danger{border-color:rgba(255,91,61,.48);background:rgba(255,91,61,.10);color:#ffd7d7;box-shadow:none;}
.btn-danger:hover{border-color:rgba(255,142,120,.72);background:rgba(255,91,61,.18);transform:translateY(-2px);}
.dr-admin-accordion-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px;}
.dr-admin-accordion-title{min-width:0;display:grid;gap:8px;}
.dr-admin-accordion-title .kicker{width:max-content;max-width:100%;}
.dr-admin-accordion-title h2,
.dr-admin-accordion-title h3{margin:0!important;}
.dr-admin-accordion-toggle{flex:0 0 auto;border:1px solid rgba(255,214,120,.24);background:rgba(0,0,0,.32);color:#ffe0a0;border-radius:999px;padding:8px 12px;font-weight:950;cursor:pointer;}
.dr-admin-accordion-toggle:hover{background:rgba(255,214,120,.13);}
.dr-admin-card.is-collapsed .dr-admin-accordion-body{display:none;}
.dr-admin-card.is-collapsed{padding-bottom:18px;}
.dr-admin-bulk-targets select,
.dr-admin-form select[multiple]{max-width:100%;min-width:0;}
@media (max-width:680px){
  .dr-admin-shell .container{width:min(100% - 20px,1180px);}
  .dr-admin-shell{padding-top:26px;}
  .dr-admin-card{padding:17px 14px;border-radius:18px;margin-bottom:18px;}
  .dr-admin-toolbar{gap:12px;}
  .dr-admin-toolbar-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:9px;}
  .dr-admin-toolbar-actions .btn{width:100%;padding:11px 10px;font-size:13px;white-space:normal;}
  .dr-admin-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .dr-admin-tabs button{width:100%;padding:10px 9px;font-size:13px;white-space:normal;line-height:1.35;}
  .dr-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
  .dr-admin-stats b{font-size:22px;}
  .dr-admin-form-actions,
  .dr-admin-selector-actions,
  .dr-admin-log-actions{display:grid;grid-template-columns:1fr;width:100%;}
  .dr-admin-form-actions .btn,
  .dr-admin-selector-actions .btn,
  .dr-admin-log-actions .btn{width:100%;}
  .dr-admin-item-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:260px;}
  .dr-admin-item-actions button{padding:8px 6px;font-size:13px;line-height:1.35;white-space:normal;}
  .dr-admin-table{min-width:620px;}
  .dr-admin-result{overflow:hidden;}
  .dr-admin-mini{font-size:13px;}
  .dr-admin-accordion-head{align-items:flex-start;}
  .dr-admin-accordion-toggle{padding:7px 10px;font-size:13px;}
}

/* v79 forum follow / member profile popup / clickable forum names */
.forum-thread-topic-cell{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.forum-thread-topic-cell .forum-thread-main{
  flex:1 1 auto;
  min-width:0;
  width:100%;
}
.forum-follow-btn{
  flex:0 0 31px;
  width:31px;
  height:31px;
  display:inline-grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,218,132,.30);
  background:rgba(255,218,132,.06);
  color:rgba(255,226,160,.74);
  cursor:pointer;
  font-size:18px;
  line-height:1;
  box-shadow:inset 0 0 14px rgba(255,218,132,.035);
}
.forum-follow-btn:hover,
.forum-follow-btn.is-followed,
.forum-detail-follow-btn.is-followed{
  color:#181006;
  border-color:rgba(255,226,143,.72);
  background:linear-gradient(135deg,#fff0b8,#e4b055);
  box-shadow:0 0 18px rgba(255,218,132,.18), inset 0 0 10px rgba(255,255,255,.18);
}
.forum-thread-row.is-followed{
  box-shadow:inset 3px 0 0 rgba(255,218,132,.58), 0 0 18px rgba(255,218,132,.045);
}
.forum-user-link{
  display:inline;
  max-width:100%;
  padding:0;
  border:0;
  background:transparent;
  color:#ffe19b;
  font:inherit;
  font-weight:950;
  text-align:left;
  cursor:pointer;
  text-decoration:none;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  vertical-align:middle;
}
.forum-user-link:hover,
.forum-user-link:focus-visible{
  color:#fff2c7;
  text-decoration:underline;
  text-underline-offset:3px;
  outline:none;
}
.forum-detail-meta .forum-user-link,
.forum-post-author .forum-user-link{white-space:normal;}
.member-header-pop-title.is-clickable{
  cursor:pointer;
  border-radius:16px;
  padding:6px;
  margin:-6px -6px 10px;
  transition:background .16s ease, border-color .16s ease, transform .16s ease;
}
.member-header-pop-title.is-clickable:hover,
.member-header-pop-title.is-clickable:focus-visible{
  background:rgba(255,218,132,.07);
  outline:1px solid rgba(255,218,132,.18);
  transform:translateY(-1px);
}
.member-header-forum-links{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.member-header-forum-links .member-header-forum-more{
  justify-self:auto;
}
.dr-member-profile-modal{
  position:fixed;
  inset:0;
  z-index:99997;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(4,3,8,.76);
  backdrop-filter:blur(8px);
}
.dr-member-profile-modal.show{display:flex;}
.dr-member-profile-card{
  position:relative;
  width:min(620px,100%);
  max-height:92dvh;
  overflow:auto;
  border-radius:24px;
  border:1px solid rgba(255,218,132,.24);
  background:linear-gradient(145deg, rgba(25,19,24,.96), rgba(10,8,14,.98));
  box-shadow:0 26px 80px rgba(0,0,0,.62), 0 0 30px rgba(255,218,132,.08);
  padding:24px;
}
.dr-member-profile-close{
  position:absolute;
  right:14px;
  top:14px;
  width:38px;
  height:38px;
  border-radius:50%;
  border:1px solid rgba(255,218,132,.25);
  background:rgba(0,0,0,.30);
  color:#ffe2a0;
  font-size:24px;
  cursor:pointer;
}
.dr-member-profile-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin:12px 0 16px;
}
.dr-member-profile-avatar{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:linear-gradient(135deg,#fff0b8,#e9b75b);
  color:#160e06;
  font-weight:950;
  font-size:20px;
  box-shadow:0 12px 28px rgba(233,183,91,.20);
}
.dr-member-profile-head h2{margin:0;color:#fff1c8;}
.dr-member-profile-head p{margin:4px 0 0;color:rgba(242,225,198,.64);}
.dr-member-profile-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:14px 0 18px;
}
.dr-member-profile-grid div,
.dr-member-profile-char,
.dr-member-profile-empty{
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.04);
  border-radius:15px;
  padding:11px 12px;
}
.dr-member-profile-grid span{display:block;color:rgba(242,225,198,.58);font-size:12px;margin-bottom:4px;}
.dr-member-profile-grid b{display:block;color:#ffe2a0;overflow-wrap:anywhere;}
.dr-member-profile-section{display:grid;gap:10px;margin-top:18px;}
.dr-member-profile-section h3{margin:0;color:#fff1c8;font-size:18px;}
.dr-member-profile-char-list{display:grid;gap:8px;max-height:260px;overflow:auto;padding-right:4px;}
.dr-member-profile-char{display:grid;gap:4px;}
.dr-member-profile-char b{color:#ffe2a0;}
.dr-member-profile-char span{color:rgba(255,255,255,.76);font-size:13px;}
.dr-member-profile-char em{color:rgba(255,255,255,.54);font-size:12px;font-style:normal;}
.dr-member-profile-empty{color:rgba(255,255,255,.70);line-height:1.65;}
.dr-member-profile-message-form{display:grid;gap:10px;}
.dr-member-profile-message-form label{display:grid;gap:7px;color:rgba(255,255,255,.78);font-weight:900;}
.dr-member-profile-message-form input,
.dr-member-profile-message-form textarea{
  width:100%;
  border:1px solid rgba(255,218,132,.20);
  background:rgba(0,0,0,.36);
  color:#fff;
  border-radius:14px;
  padding:11px 13px;
  outline:none;
}
.dr-member-profile-message-form textarea{resize:vertical;min-height:106px;}
.dr-member-profile-msg{min-height:22px;color:#ff9b88;font-weight:900;}
.dr-member-profile-msg.ok{color:#8affbf;}
.dr-member-profile-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;}
@media (max-width:820px){
  .forum-thread-topic-cell{align-items:flex-start;}
  .forum-follow-btn{margin-top:2px;}
  .forum-table-author .forum-user-link,
  .forum-table-last .forum-user-link{white-space:normal;}
}
@media (max-width:560px){
  .dr-member-profile-card{padding:22px 16px;border-radius:20px;}
  .dr-member-profile-grid{grid-template-columns:1fr;}
  .dr-member-profile-head{align-items:flex-start;}
  .dr-member-profile-actions .btn{width:100%;}
}
.forum-list-actions .btn.active{
  color:#111;
  background:linear-gradient(135deg,#ffe59f,#d5a94a);
  border-color:rgba(255,218,132,.60);
}

/* === v80 favicon + admin donation list === */
.dr-admin-donation-list-card .dr-admin-form-actions,
.dr-admin-donation-edit-card .dr-admin-form-actions { align-self: end; }
.dr-admin-donation-table td b,
.dr-admin-donation-table td small { display:block; }
.dr-admin-donation-table td small { margin-top:4px; color:rgba(255,255,255,.58); line-height:1.45; }
.dr-admin-badge { display:inline-flex; align-items:center; justify-content:center; min-height:22px; padding:3px 9px; border-radius:999px; border:1px solid rgba(255,214,120,.26); background:rgba(255,214,120,.08); color:#ffe2a5; font-weight:950; font-size:12px; white-space:nowrap; }
.dr-admin-badge.live { color:#bfffd6; border-color:rgba(82,255,154,.34); background:rgba(82,255,154,.08); }
.dr-admin-badge.test { color:#9ed5ff; border-color:rgba(105,185,255,.36); background:rgba(105,185,255,.10); }
.dr-admin-badge.admin { color:#ffd89a; border-color:rgba(255,187,84,.34); background:rgba(255,187,84,.10); }
.dr-admin-badge.status-paid,
.dr-admin-badge.status-granted { color:#aaffc7; border-color:rgba(91,255,161,.38); background:rgba(91,255,161,.10); }
.dr-admin-badge.status-waiting,
.dr-admin-badge.status-checking { color:#ffe5a8; border-color:rgba(255,214,120,.38); background:rgba(255,214,120,.10); }
.dr-admin-badge.status-cancelled,
.dr-admin-badge.status-failed { color:#ffb4a8; border-color:rgba(255,100,90,.40); background:rgba(255,100,90,.10); }
.dr-admin-txid { display:block; max-width:220px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dr-admin-row-actions { display:flex; gap:7px; flex-wrap:wrap; }
.dr-admin-row-actions button { border:1px solid rgba(255,214,120,.25); background:rgba(255,214,120,.08); color:#ffe0a0; border-radius:999px; padding:7px 10px; font-weight:850; cursor:pointer; }
.dr-admin-row-actions button:hover { background:rgba(255,214,120,.18); }
.dr-admin-row-actions button.danger { border-color:rgba(255,91,91,.36); color:#ffb0a6; background:rgba(255,91,91,.08); }
.dr-admin-row-actions button.danger:hover { background:rgba(255,91,91,.16); }
@media (max-width:880px){
  .dr-admin-donation-table { min-width:980px; }
  .dr-admin-txid { max-width:180px; }
}


/* =========================================================
   v86 scroll performance fix：保留原功能，只降低捲動時重繪成本
   - Header / 影片 / 大區塊 blur/filter 在捲動時暫時降載
   - 對長頁面區塊啟用 content-visibility，減少離屏區塊參與繪製
   - 不移除任何按鈕、影片、會員、論壇、公告、贊助與後台功能
   ========================================================= */
html{
  scroll-behavior:auto !important;
  scrollbar-gutter:stable;
}
body{
  overflow-x:hidden;
}
.site-header{
  background:rgba(5,6,10,.90) !important;
  -webkit-backdrop-filter:blur(6px) !important;
  backdrop-filter:blur(6px) !important;
  transform:translateZ(0);
  will-change:transform;
  contain:paint;
}
/* 首頁大型區塊原本 backdrop-filter 疊在全螢幕影片上，捲動時最容易卡。改成同樣暗色疊層，不動內容功能。 */
.home-page .section,
.home-page .section-alt{
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
.site-video-bg,
.page-hero-video,
.cinema-video-card,
.wide-video-card{
  transform:translateZ(0);
  backface-visibility:hidden;
  contain:paint;
}
.site-video-bg video,
.page-hero-bg-video,
.cinema-video{
  transform:translateZ(0) scale(1.015);
  backface-visibility:hidden;
  will-change:transform;
}
.site-video-bg video{
  transform:translateZ(0) scale(1.035);
}
@supports (content-visibility:auto){
  body > section.section,
  body > section.section-alt,
  main > section,
  .job-group,
  .systems-feature-block,
  .support-glow-card,
  .forum-thread-card,
  .member-panel,
  .dr-admin-card{
    content-visibility:auto;
    contain-intrinsic-size:1px 760px;
  }
}
/* 使用者正在捲動時暫時關閉最耗 GPU 的模糊/濾鏡；停止後自動恢復原本視覺。 */
html.dr-is-scrolling .site-header,
html.dr-is-scrolling .dr-announcement-bar,
html.dr-is-scrolling .cinema-video-label,
html.dr-is-scrolling .wide-video-caption,
html.dr-is-scrolling .dr-contact-modal,
html.dr-is-scrolling .dr-auth-modal,
html.dr-is-scrolling .member-auth-modal,
html.dr-is-scrolling .member-item-modal{
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
html.dr-is-scrolling .site-video-bg video,
html.dr-is-scrolling .page-hero-bg-video,
html.dr-is-scrolling .cinema-video{
  filter:none !important;
}
html.dr-is-scrolling .card,
html.dr-is-scrolling .feature-card,
html.dr-is-scrolling .media-card,
html.dr-is-scrolling .image-card,
html.dr-is-scrolling .story-card,
html.dr-is-scrolling .support-plan-card,
html.dr-is-scrolling .support-step-grid article,
html.dr-is-scrolling .dr-admin-card{
  box-shadow:0 12px 34px rgba(0,0,0,.32) !important;
}
@media (max-width:640px){
  /* 原本手機版就會改用 poster，這裡只補強 Header 降載，不擴大影響範圍。 */
  .site-header{
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
  }
}
@media (prefers-reduced-motion:reduce){
  .site-video-bg video,
  .page-hero-bg-video,
  .cinema-video{
    display:none !important;
  }
}


/* =========================================================
   v87 mobile menu / touch actions restore
   修正 v86 為了捲動效能加在 .site-header 的 transform/contain 會讓手機 fixed 導覽選單被 header 限制或裁切。
   這裡只還原 Header 的互動容器行為，保留影片與頁面降載優化。
   ========================================================= */
.site-header{
  transform:none !important;
  will-change:auto !important;
  contain:none !important;
  overflow:visible !important;
}
.site-header .navbar{
  overflow:visible !important;
}
.menu-toggle,
.site-header .mobile-member-header-btn,
.site-header .nav-links,
.site-header .nav-links a{
  pointer-events:auto !important;
}
.menu-toggle,
.site-header .mobile-member-header-btn{
  touch-action:manipulation;
  -webkit-tap-highlight-color:rgba(233,183,91,.18);
}
@media (max-width:880px){
  html body .site-header{
    position:sticky !important;
    top:0 !important;
    z-index:10000 !important;
    transform:none !important;
    contain:none !important;
    overflow:visible !important;
    isolation:isolate;
  }
  html body .site-header .container.navbar,
  html body .site-header .navbar{
    overflow:visible !important;
    contain:none !important;
    transform:none !important;
  }
  html body .site-header .nav-links{
    position:fixed !important;
    top:74px !important;
    left:16px !important;
    right:16px !important;
    bottom:auto !important;
    z-index:10002 !important;
    max-height:calc(100dvh - 96px) !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
    visibility:visible;
  }
  html body .site-header .nav-links.open{
    display:flex !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }
  html body .menu-toggle{
    position:relative !important;
    z-index:10003 !important;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
  }
  /* 手機互動區塊不使用 content-visibility，避免折疊/展開/彈窗類元件被延遲繪製。 */
  body > section.section,
  body > section.section-alt,
  main > section,
  .job-group,
  .systems-feature-block,
  .support-glow-card,
  .forum-thread-card,
  .member-panel,
  .dr-admin-card{
    content-visibility:visible !important;
    contain-intrinsic-size:auto !important;
  }
}


/* =========================================================
   v88 mobile top gap fix
   v87 為了修手機選單把 header 改回 sticky，但舊版 body padding-top 仍保留，
   會造成手機頁面最上方多出一塊空白。這裡把手機 header 恢復為 fixed，
   並保留 v87 對 transform/contain 的解除，所以選單不會再被裁切。
   ========================================================= */
@media (max-width:880px){
  :root{
    --dr-fixed-header-height:74px;
    --dr-header-height:74px;
  }
  html,
  body{
    margin-top:0 !important;
  }
  body{
    padding-top:var(--dr-fixed-header-height) !important;
  }
  html body .site-header,
  html body.official-video-page > header.site-header{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    margin-top:0 !important;
    z-index:10000 !important;
    transform:none !important;
    contain:none !important;
    overflow:visible !important;
  }
  html body .site-header .nav-links{
    position:fixed !important;
    top:var(--dr-fixed-header-height) !important;
    left:16px !important;
    right:16px !important;
    max-height:calc(100dvh - var(--dr-fixed-header-height) - 22px) !important;
  }
}

/* v89 member profile/login popup + forum attachment replace buttons */
.forum-uploaded-item.image{
  grid-template-columns:58px minmax(0,1fr) auto auto auto;
}
.forum-uploaded-item.file{
  grid-template-columns:34px minmax(0,1fr) auto auto;
}
.dr-login-success-modal .dr-register-success-card{
  max-width:440px;
}
@media (max-width:640px){
  .forum-uploaded-item.image,
  .forum-uploaded-item.file{
    grid-template-columns:52px minmax(0,1fr);
  }
  .forum-uploaded-item.image button,
  .forum-uploaded-item.file button{
    grid-column:2;
    justify-self:start;
  }
}

/* =========================================================
   v90 管理員 Header 瀏覽 IP 統計
   - API 以 IP hash 去重，重新整理不會增加顯示人數。
   - 一般玩家 API 不回傳統計，前端也不顯示。
   ========================================================= */
.dr-visitor-counter{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:260px;
  max-width:360px;
  margin-left:auto;
  margin-right:10px;
  padding:9px 13px;
  border:1px solid rgba(233,183,91,.32);
  border-radius:999px;
  color:#fff2c8;
  background:linear-gradient(135deg,rgba(10,10,14,.72),rgba(55,38,16,.46));
  box-shadow:0 12px 32px rgba(0,0,0,.30),0 0 0 1px rgba(255,255,255,.035) inset;
  font-weight:950;
  letter-spacing:.02em;
  line-height:1;
  cursor:default;
  white-space:nowrap;
  backdrop-filter:blur(8px);
}
.dr-visitor-counter[hidden]{display:none!important}
.dr-visitor-counter-dot{width:8px;height:8px;border-radius:999px;background:#ff2d62;box-shadow:0 0 16px rgba(255,45,98,.95);flex:0 0 auto}
.dr-visitor-counter-main{font-size:13px;color:#ffe7a0;opacity:.95}
.dr-visitor-counter b{font-size:13px;color:#fff;font-weight:950}
.dr-visitor-counter em{font-style:normal;font-size:13px;color:#f1d98b;font-weight:950}
.dr-visitor-counter small{font-size:12px;color:#c8bca6;font-weight:850}
@media (max-width:1180px){
  .dr-visitor-counter{min-width:auto;max-width:260px;margin-left:auto;padding:8px 10px;gap:6px}
  .dr-visitor-counter-main{display:none}
}
@media (max-width:880px){
  .dr-visitor-counter{position:static;max-width:170px;margin-left:auto;margin-right:8px;padding:7px 9px;border-radius:16px;display:grid;grid-template-columns:auto 1fr;gap:4px 6px;text-align:left;line-height:1.05}
  .dr-visitor-counter-dot{grid-row:1/3;align-self:center}
  .dr-visitor-counter b,.dr-visitor-counter em{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis}
  .dr-visitor-counter small{display:none}
}
@media (max-width:520px){
  .dr-visitor-counter{max-width:138px;padding:6px 8px;margin-right:6px}
  .dr-visitor-counter b,.dr-visitor-counter em{font-size:10px}
}
@media (max-width:390px){.dr-visitor-counter{max-width:112px}.dr-visitor-counter em{display:none}}
/* v90 mobile tight fit: 管理員手機版 Header 空間很窄，瀏覽數在 520px 以下自動縮成小徽章。 */
@media (max-width:520px){
  .site-header .navbar{gap:8px}
  .dr-visitor-counter{max-width:72px;min-width:62px;display:inline-flex;gap:4px;padding:6px 7px;border-radius:14px;margin-left:auto;margin-right:4px}
  .dr-visitor-counter-dot{width:6px;height:6px}
  .dr-visitor-counter-main,.dr-visitor-counter em,.dr-visitor-counter small{display:none!important}
  .dr-visitor-counter b{font-size:10px;max-width:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media (max-width:390px){
  .dr-visitor-counter{max-width:58px;min-width:52px;padding:6px 6px}
  .dr-visitor-counter b{font-size:9px;max-width:38px}
}


/* =========================================================
   v91 管理員瀏覽 IP：手機版也完整顯示
   - 只有 API 判斷為管理員後，JS 才會加上 body.dr-has-admin-visitor。
   - 手機版 Header 變成上下兩列：上列 Logo/會員/選單，下列完整瀏覽 IP 統計。
   ========================================================= */
.dr-visitor-counter-sep{font-style:normal;color:rgba(255,232,166,.55);font-weight:900;line-height:1;flex:0 0 auto}
@media (max-width:880px){
  html body.dr-has-admin-visitor{
    --dr-fixed-header-height:116px;
    --dr-header-height:116px;
    padding-top:var(--dr-fixed-header-height) !important;
  }
  html body.dr-has-admin-visitor .site-header,
  html body.dr-has-admin-visitor.official-video-page > header.site-header{
    min-height:var(--dr-fixed-header-height) !important;
    overflow:visible !important;
  }
  html body.dr-has-admin-visitor .site-header .container.navbar{
    height:var(--dr-fixed-header-height) !important;
    min-height:var(--dr-fixed-header-height) !important;
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
    align-content:center !important;
    align-items:center !important;
    column-gap:8px !important;
    row-gap:7px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }
  html body.dr-has-admin-visitor .site-header .brand{
    order:1 !important;
    flex:1 1 auto !important;
    min-width:0 !important;
  }
  html body.dr-has-admin-visitor .site-header .brand img{
    width:132px !important;
  }
  html body.dr-has-admin-visitor .site-header .mobile-member-header-btn{
    order:2 !important;
    margin-left:auto !important;
  }
  html body.dr-has-admin-visitor .site-header .menu-toggle{
    order:3 !important;
    flex:0 0 auto !important;
  }
  html body.dr-has-admin-visitor .site-header .nav-links{
    top:var(--dr-fixed-header-height) !important;
  }
  html body.dr-has-admin-visitor .dr-visitor-counter{
    order:4 !important;
    flex:0 0 100% !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    padding:7px 10px !important;
    border-radius:15px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-align:center !important;
  }
  html body.dr-has-admin-visitor .dr-visitor-counter-dot{
    width:7px !important;
    height:7px !important;
    grid-row:auto !important;
    align-self:center !important;
  }
  html body.dr-has-admin-visitor .dr-visitor-counter-main,
  html body.dr-has-admin-visitor .dr-visitor-counter b,
  html body.dr-has-admin-visitor .dr-visitor-counter em,
  html body.dr-has-admin-visitor .dr-visitor-counter small,
  html body.dr-has-admin-visitor .dr-visitor-counter-sep{
    display:inline !important;
    max-width:none !important;
    overflow:visible !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
    font-size:11px !important;
  }
  html body.dr-has-admin-visitor .dr-visitor-counter-main{color:#ffe7a0 !important;font-weight:950 !important;}
  html body.dr-has-admin-visitor .dr-visitor-counter b{color:#fff !important;font-weight:950 !important;}
  html body.dr-has-admin-visitor .dr-visitor-counter em{color:#f1d98b !important;font-style:normal !important;font-weight:950 !important;}
  html body.dr-has-admin-visitor .dr-visitor-counter small{color:#c8bca6 !important;font-weight:850 !important;}
  html body.dr-has-admin-visitor .member-header-popover{
    top:calc(var(--dr-fixed-header-height) + 12px) !important;
  }
}
@media (max-width:420px){
  html body.dr-has-admin-visitor{
    --dr-fixed-header-height:112px;
    --dr-header-height:112px;
  }
  html body.dr-has-admin-visitor .dr-visitor-counter{
    padding:6px 7px !important;
    gap:3px !important;
  }
  html body.dr-has-admin-visitor .dr-visitor-counter-main,
  html body.dr-has-admin-visitor .dr-visitor-counter b,
  html body.dr-has-admin-visitor .dr-visitor-counter em,
  html body.dr-has-admin-visitor .dr-visitor-counter small,
  html body.dr-has-admin-visitor .dr-visitor-counter-sep{
    font-size:10px !important;
  }
}
@media (max-width:360px){
  html body.dr-has-admin-visitor .dr-visitor-counter-main,
  html body.dr-has-admin-visitor .dr-visitor-counter b,
  html body.dr-has-admin-visitor .dr-visitor-counter em,
  html body.dr-has-admin-visitor .dr-visitor-counter small,
  html body.dr-has-admin-visitor .dr-visitor-counter-sep{
    font-size:9px !important;
  }
}


/* v130: 公告跑馬燈內容垂直置中 + 高度調整後維持置中 */
.dr-announcement-bar{
  display:flex !important;
  align-items:center !important;
}
.dr-announcement-inner{
  height:100% !important;
  min-height:100% !important;
  max-height:100% !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  align-items:center !important;
  column-gap:14px !important;
}
.dr-announcement-label{
  display:inline-flex !important;
  align-items:center !important;
  align-self:center !important;
  justify-content:flex-start !important;
  height:100% !important;
  line-height:1 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin:0 !important;
}
.dr-announcement-window{
  position:relative !important;
  height:100% !important;
  min-height:100% !important;
  max-height:100% !important;
  display:flex !important;
  align-items:center !important;
  overflow:hidden !important;
  padding:0 !important;
}
.dr-announcement-line{
  inset:auto 0 auto 0 !important;
  top:50% !important;
  bottom:auto !important;
  transform:translate3d(0,-50%,0) !important;
  display:flex !important;
  align-items:center !important;
  min-height:0 !important;
  height:auto !important;
  line-height:1.1 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin:0 !important;
}
.dr-announcement-line.is-next{
  transform:translate3d(0,calc(-50% + 6px),0) !important;
}
.dr-announcement-line.is-old.is-leaving{
  transform:translate3d(0,calc(-50% - 6px),0) !important;
}
.dr-announcement-line.is-next.is-entering{
  transform:translate3d(0,-50%,0) !important;
}
@media (max-width:520px){
  .dr-announcement-inner{column-gap:10px !important;}
  .dr-announcement-line{line-height:1.08 !important;}
}


/* v131: 公告跑馬燈單行文字絕對垂直置中（高度改變也跟著置中） */
html body .dr-announcement-bar,
html body .dr-announcement-bar .dr-announcement-inner,
html body .dr-announcement-bar .dr-announcement-window{
  height:var(--dr-ann-height,40px) !important;
  min-height:var(--dr-ann-height,40px) !important;
  max-height:var(--dr-ann-height,40px) !important;
}
html body .dr-announcement-bar .dr-announcement-label{
  height:var(--dr-ann-height,40px) !important;
  line-height:var(--dr-ann-height,40px) !important;
  display:inline-flex !important;
  align-items:center !important;
}
html body .dr-announcement-bar .dr-announcement-window{
  position:relative !important;
  overflow:hidden !important;
}
html body .dr-announcement-bar .dr-announcement-line{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  bottom:auto !important;
  height:var(--dr-ann-height,40px) !important;
  min-height:var(--dr-ann-height,40px) !important;
  max-height:var(--dr-ann-height,40px) !important;
  line-height:var(--dr-ann-height,40px) !important;
  display:block !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  padding:0 !important;
  margin:0 !important;
  transform:translate3d(0,0,0) !important;
}
html body .dr-announcement-bar .dr-announcement-line.is-next{
  transform:translate3d(0,6px,0) !important;
}
html body .dr-announcement-bar .dr-announcement-line.is-old.is-leaving{
  transform:translate3d(0,-6px,0) !important;
}
html body .dr-announcement-bar .dr-announcement-line.is-next.is-entering{
  transform:translate3d(0,0,0) !important;
}


/* v133 safety: mobile nav visible when hamburger toggles open */
@media (max-width: 900px), (pointer: coarse) {
  html body .site-header,
  html body .site-header .container.navbar,
  html body .site-header .navbar {
    overflow: visible !important;
  }
  html body .site-header .nav-links.open,
  html body .site-header .nav-links[aria-hidden="false"] {
    display: grid !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
}


/* =========================================================
   v49：論壇帖子/回覆內容區冰色系漸層區分
   主帖 = 冰晶青藍；回覆 = 冰霜藍紫，兩區分色更明顯
   ========================================================= */
.forum-thread-content.forum-main-content-card{
  border-left:5px solid #a9f3ff !important;
  border-color:rgba(169,243,255,.78) !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(232,252,255,.34), transparent 30%),
    radial-gradient(circle at 92% 16%, rgba(85,222,255,.18), transparent 36%),
    linear-gradient(135deg, rgba(8,58,82,.96), rgba(4,25,52,.98)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    inset 0 0 28px rgba(150,236,255,.075),
    0 12px 28px rgba(0,0,0,.30) !important;
  color:#effdff !important;
}
.forum-thread-content.forum-main-content-card :where(p,div,span,li,td,blockquote,pre,code,strong,em,th){
  color:#effdff !important;
}
.forum-thread-content.forum-main-content-card a{
  color:#bdf7ff !important;
}
.forum-thread-content.forum-main-content-card blockquote{
  border-left:3px solid rgba(188,249,255,.76) !important;
  background:linear-gradient(135deg, rgba(194,248,255,.13), rgba(0,20,44,.22)) !important;
}

.forum-post-row{
  border-left:5px solid #bac8ff !important;
  border-color:rgba(186,200,255,.68) !important;
  background:
    radial-gradient(circle at 9% 0%, rgba(210,220,255,.26), transparent 30%),
    radial-gradient(circle at 95% 18%, rgba(107,255,226,.14), transparent 36%),
    linear-gradient(135deg, rgba(24,38,88,.96), rgba(5,20,48,.98)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 0 24px rgba(185,200,255,.06),
    0 10px 22px rgba(0,0,0,.26) !important;
}
.forum-post-author b,
.forum-post-head b{
  color:#cbd5ff !important;
}
.forum-post-content{
  background:
    linear-gradient(135deg, rgba(12,35,76,.88), rgba(8,43,64,.82)) !important;
  border:1px solid rgba(192,221,255,.46) !important;
  box-shadow:inset 0 0 18px rgba(165,220,255,.055) !important;
  color:#e8f4ff !important;
}
.forum-post-content :where(p,div,span,li,td,blockquote,pre,code,strong,em,th){
  color:#e8f4ff !important;
}
.forum-post-content a{
  color:#c3e3ff !important;
}
.forum-post-content blockquote{
  border-left:3px solid rgba(202,215,255,.72) !important;
  background:linear-gradient(135deg, rgba(196,210,255,.13), rgba(0,21,48,.20)) !important;
}


/* v100 multi-account delete tools */
.dr-admin-bulk-account-delete{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(255,214,120,.16);
  display:grid;
  gap:12px;
}
.dr-admin-delete-account-filter{margin-top:4px;}
.dr-admin-delete-account-box select[multiple]{
  min-height:220px;
  line-height:1.55;
}
.dr-admin-delete-account-box option{
  padding:7px 9px;
  border-radius:8px;
}
