
:root{
  --bg:#100d0a;
  --bg-2:#17120d;
  --panel:#211912;
  --panel-2:#2b2117;
  --paper:#f2e4c8;
  --paper-2:#dfcda9;
  --muted:#b9ab91;
  --line:rgba(242,228,200,.17);
  --gold:#c28b2c;
  --gold-2:#e2b85a;
  --green:#6f8e45;
  --green-dark:#304329;
  --danger:#b45a3c;
  --shadow:0 22px 70px rgba(0,0,0,.35);
  --radius:22px;
  --max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:radial-gradient(circle at 18% -10%,rgba(194,139,44,.18),transparent 34%),radial-gradient(circle at 90% 0,rgba(111,142,69,.14),transparent 30%),var(--bg);
  color:var(--paper);
  font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC","Microsoft JhengHei",sans-serif;
  line-height:1.75;
  letter-spacing:.02em;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 36px));margin-inline:auto}
.skip-link{position:absolute;left:-999px;top:10px;background:var(--gold);color:#160f08;padding:8px 12px;border-radius:10px;z-index:999}
.skip-link:focus{left:10px}
.site-header{
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(18px);
  background:rgba(16,13,10,.82);
  border-bottom:1px solid var(--line);
}
.nav-wrap{height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-logo{width:46px;height:46px;object-fit:contain;border-radius:50%;background:rgba(255,255,255,.04)}
.brand-title{display:block;font-weight:800;white-space:nowrap;letter-spacing:.05em}
.brand-subtitle{display:block;font-size:12px;color:var(--muted);text-transform:lowercase;letter-spacing:.12em}
.site-nav{display:flex;align-items:center;gap:8px;font-size:14px}
.site-nav a{padding:9px 12px;border-radius:999px;color:var(--paper-2)}
.site-nav a:hover,.site-nav a[aria-current="page"]{background:rgba(226,184,90,.12);color:#fff}
.nav-cta,.btn.primary{background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#1a1008!important;box-shadow:0 12px 30px rgba(194,139,44,.23)}
.nav-toggle{display:none;background:transparent;border:1px solid var(--line);border-radius:12px;width:44px;height:40px;position:relative}
.nav-toggle span,.nav-toggle:before,.nav-toggle:after{content:"";position:absolute;left:11px;right:11px;height:2px;background:var(--paper);transition:.2s}
.nav-toggle span{top:19px}.nav-toggle:before{top:12px}.nav-toggle:after{top:26px}
.nav-open .nav-toggle span{opacity:0}.nav-open .nav-toggle:before{top:19px;transform:rotate(45deg)}.nav-open .nav-toggle:after{top:19px;transform:rotate(-45deg)}
.hero{
  min-height:calc(100vh - 76px);
  display:grid;align-items:center;
  padding:54px 0 70px;
  position:relative;overflow:hidden;
  border-bottom:1px solid var(--line);
}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,13,10,.92),rgba(16,13,10,.72),rgba(16,13,10,.92)),var(--hero-img,none);background-size:cover;background-position:center;opacity:.95;z-index:-2}
.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,transparent,rgba(0,0,0,.45) 70%);z-index:-1}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center}
.eyebrow,.section-kicker{display:inline-block;color:var(--gold-2);font-weight:800;font-size:13px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px}
h1,h2,h3{line-height:1.22;margin:0 0 14px;font-family:Georgia,"Noto Serif TC",serif}
h1{font-size:clamp(42px,7vw,86px);letter-spacing:.08em;text-shadow:0 8px 34px rgba(0,0,0,.55)}
h2{font-size:clamp(30px,4vw,48px);letter-spacing:.04em}
h3{font-size:24px}.lead{font-size:clamp(17px,2.2vw,22px);color:var(--paper-2);max-width:720px}.subtle{color:var(--muted)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(242,228,200,.24);background:rgba(255,255,255,.05);color:var(--paper);padding:11px 18px;border-radius:999px;font-weight:800;cursor:pointer;transition:.18s;min-height:44px}
.btn:hover{transform:translateY(-1px);border-color:rgba(226,184,90,.55);background:rgba(226,184,90,.12)}
.btn.small{font-size:14px;min-height:38px;padding:8px 13px}.btn.block{width:100%}
.hero-card{background:linear-gradient(180deg,rgba(43,33,23,.86),rgba(22,17,12,.88));border:1px solid var(--line);border-radius:32px;box-shadow:var(--shadow);padding:24px;position:relative;overflow:hidden}
.hero-card:before{content:"";position:absolute;inset:14px;border:1px solid rgba(226,184,90,.16);border-radius:24px;pointer-events:none}
.hero-logo{width:min(360px,72vw);margin:0 auto 18px;filter:drop-shadow(0 24px 40px rgba(0,0,0,.45))}
.motto{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px;text-align:center;font-weight:900;color:#f8e6b7;font-size:18px;letter-spacing:.08em;padding:12px 8px 0}
.section{padding:76px 0;border-bottom:1px solid var(--line)}
.section.compact{padding:50px 0}.section-head{margin-bottom:28px}.section-head.center{text-align:center}.section-head.center .lead{margin-inline:auto}
.grid{display:grid;gap:20px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:linear-gradient(180deg,rgba(43,33,23,.82),rgba(31,24,17,.82));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 14px 44px rgba(0,0,0,.2)}
.card.pad{padding:24px}.card.clickable{transition:.18s}.card.clickable:hover{transform:translateY(-3px);border-color:rgba(226,184,90,.45)}
.card-img{aspect-ratio:16/9;object-fit:cover;width:100%;background:#241a11}.card-img.tall{aspect-ratio:4/3}.card-body{padding:20px}.card .meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:11px;color:var(--gold-2);font-size:13px;font-weight:800}.tag{display:inline-flex;border:1px solid rgba(226,184,90,.28);background:rgba(226,184,90,.10);border-radius:999px;padding:4px 9px;font-size:12px;color:var(--gold-2);font-weight:800}
.dark-band{background:linear-gradient(135deg,rgba(194,139,44,.13),rgba(111,142,69,.09));border-block:1px solid var(--line)}
.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:start}
.quote-poem{font-size:21px;font-weight:900;letter-spacing:.16em;text-align:center;line-height:2.1;color:#f8e9c7}.quote-poem span{display:block}
.music-box{border:1px dashed rgba(226,184,90,.42);border-radius:var(--radius);padding:24px;background:rgba(0,0,0,.16);text-align:center;color:var(--paper-2)}
.news-list{display:grid;gap:18px}.news-item{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.035)}
.news-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;background:#241a11}
.footer{padding:44px 0;background:#0b0907;color:var(--muted)}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start}.footer-links{display:flex;flex-wrap:wrap;gap:10px}.footer-links a{color:var(--paper-2);padding:6px 8px}.legal{font-size:13px;max-width:800px;margin-top:18px;color:#978b78}
.page-hero{padding:70px 0 42px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(194,139,44,.11),transparent)}.page-title{max-width:850px}.breadcrumb{color:var(--muted);font-size:14px;margin-bottom:10px}.breadcrumb a{color:var(--gold-2)}
.article{max-width:880px;margin:auto}.article p{font-size:18px;color:var(--paper-2)}.article .big-lines p{margin:0 0 16px}.list-check{padding-left:0;list-style:none}.list-check li{margin:10px 0;padding-left:28px;position:relative}.list-check li:before{content:"✦";position:absolute;left:0;color:var(--gold-2)}
.timeline{position:relative;display:grid;gap:20px}.timeline:before{content:"";position:absolute;left:23px;top:0;bottom:0;width:2px;background:var(--line)}.timeline-item{display:grid;grid-template-columns:48px 1fr;gap:18px}.timeline-dot{width:18px;height:18px;border-radius:50%;background:var(--gold);margin:18px 0 0 15px;box-shadow:0 0 0 8px rgba(194,139,44,.13);z-index:2}.timeline-card{display:grid;grid-template-columns:230px 1fr;gap:18px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.035)}.timeline-card img{aspect-ratio:4/3;object-fit:cover;border-radius:16px;background:#241a11}.timeline-date{color:var(--gold-2);font-weight:800;font-size:14px;margin-bottom:4px}
details.post{background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:var(--radius);padding:18px}details.post summary{cursor:pointer;font-weight:900;font-size:20px;color:var(--paper)}details.post[open] summary{margin-bottom:12px}.post-content{color:var(--paper-2)}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.82);display:none;align-items:center;justify-content:center;padding:20px;z-index:100}.lightbox.open{display:flex}.lightbox-dialog{width:min(960px,100%);background:#120e0a;border:1px solid var(--line);border-radius:24px;padding:16px}.lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.icon-btn{background:rgba(255,255,255,.08);border:1px solid var(--line);color:var(--paper);width:40px;height:40px;border-radius:50%;font-size:24px;cursor:pointer}.lightbox img{max-height:70vh;margin:auto;border-radius:16px}.lightbox-caption{color:var(--muted);margin-top:10px;text-align:center}
@media (max-width: 960px){
  .nav-toggle{display:block}.site-nav{position:absolute;left:18px;right:18px;top:76px;display:none;flex-direction:column;align-items:stretch;background:rgba(20,15,10,.96);border:1px solid var(--line);border-radius:18px;padding:12px;box-shadow:var(--shadow)}.nav-open .site-nav{display:flex}.site-nav a{padding:12px 14px}.hero{min-height:auto}.hero-grid,.two-col,.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.hero-card{order:-1}.motto{font-size:16px}.news-item{grid-template-columns:1fr}.timeline-card{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.brand-title{font-size:15px}.brand-subtitle{font-size:11px}h1{font-size:42px}.quote-poem{font-size:18px;letter-spacing:.1em}.section{padding:56px 0}
}
@media (max-width: 520px){.container{width:min(100% - 24px,var(--max))}.nav-wrap{height:68px}.site-nav{top:68px}.brand-logo{width:40px;height:40px}.brand-title{max-width:190px;overflow:hidden;text-overflow:ellipsis}.hero-actions{display:grid}.btn{width:100%}.motto{grid-template-columns:1fr}.quote-poem{text-align:left;letter-spacing:.06em}.section{padding:44px 0}.page-hero{padding:44px 0 30px}.card-body{padding:16px}}


/* Join Discord page */
.join-hero{padding:64px 0 70px;border-bottom:1px solid var(--line);background:radial-gradient(circle at 15% 15%,rgba(194,139,44,.16),transparent 36%),linear-gradient(180deg,rgba(255,255,255,.025),transparent)}
.join-hero-grid{display:grid;grid-template-columns:1fr .88fr;gap:44px;align-items:center}
.join-hero-copy h1{font-size:clamp(46px,6vw,76px)}
.join-motto{font-family:Georgia,"Noto Serif TC",serif;font-size:clamp(24px,3vw,38px);line-height:1.45;color:#f7dfaa;margin:12px 0 18px;font-weight:800;letter-spacing:.04em}
.join-note{margin-top:18px;color:var(--muted);font-size:14px}
.join-hero-visual{margin:0;background:linear-gradient(180deg,rgba(43,33,23,.9),rgba(20,15,10,.92));padding:14px;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow);transform:rotate(1deg)}
.join-hero-visual img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:22px;background:#241a11}
.join-hero-visual figcaption{padding:12px 8px 2px;color:var(--muted);font-size:14px;text-align:center}
.join-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.join-steps li{display:flex;gap:16px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.035)}
.join-steps h3{font-size:21px;margin-bottom:8px}.join-steps p{margin:0;color:var(--paper-2)}
.join-step-number{font-family:Georgia,serif;color:var(--gold-2);font-size:28px;font-weight:800;line-height:1}
.join-worlds{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}
.faction-marks{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;justify-items:center}
.faction-marks figure{margin:0;text-align:center;color:var(--paper-2);font-weight:800}
.faction-marks img{width:min(170px,28vw);height:190px;object-fit:contain;filter:drop-shadow(0 16px 24px rgba(0,0,0,.35))}
.faction-plus{font-size:42px;color:var(--gold-2)}
.join-community-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:38px;align-items:center}
.join-wide-image{margin:0;border:1px solid var(--line);padding:12px;border-radius:26px;background:rgba(255,255,255,.035);box-shadow:var(--shadow)}
.join-wide-image img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:18px;background:#241a11}
@media (max-width:960px){.join-hero-grid,.join-worlds,.join-community-grid{grid-template-columns:1fr}.join-hero-visual{order:-1;transform:none}.join-steps{grid-template-columns:1fr}.faction-marks{max-width:520px;margin:auto}.join-community-grid .join-wide-image{order:-1}}
@media (max-width:520px){.join-hero{padding:38px 0 46px}.join-hero-copy h1{font-size:40px}.join-motto{font-size:25px}.join-steps li{padding:18px}.faction-marks{gap:8px}.faction-marks img{height:130px}.faction-plus{font-size:30px}}
