/* WIN PALACE · 賭桌夜盤 / 左導文檔樹 */
:root{
  --ink:#101418;
  --ink-soft:#1a2027;
  --ink-line:#2a323c;
  --paper:#f4f1ea;
  --paper-dim:#e4dfd4;
  --gold:#d4a857;
  --gold-deep:#a87f36;
  --text:#e7e3da;
  --text-dim:#a3aab2;
  --text-dark:#1d232a;
  --serif:"Noto Serif TC","Songti TC",serif;
  --sans:"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;
  --rail:250px;
  --gap:clamp(18px,2.6vw,38px);
  --radius:3px;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--ink);
  color:var(--text);
  font-family:var(--sans);
  font-size:16.5px;
  line-height:1.78;
  letter-spacing:.01em;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--gold);text-decoration:none;}
a:hover{color:#f0cf90;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.28;letter-spacing:.01em;}

/* ---------- shell ---------- */
.wp-shell{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);min-height:100vh;}

.wp-rail{
  border-right:1px solid var(--ink-line);
  background:linear-gradient(180deg,#0d1116 0%,#121821 100%);
  padding:22px 20px 34px;
  position:sticky;top:0;height:100vh;overflow-y:auto;
}
.wp-brand{display:flex;align-items:center;gap:11px;margin-bottom:6px;}
.wp-brand img{width:42px;height:42px;border-radius:var(--radius);border:1px solid #33404d;}
.wp-brand b{font-family:var(--serif);font-size:17px;letter-spacing:.06em;color:var(--paper);display:block;line-height:1.2;}
.wp-brand span{font-size:11.5px;color:var(--text-dim);letter-spacing:.16em;text-transform:uppercase;}
.wp-rail-note{font-size:12.5px;color:var(--text-dim);margin:0 0 20px;line-height:1.6;}

.wp-railnav{list-style:none;margin:0;padding:0;}
.wp-railnav li{margin:0;}
.wp-railnav a{
  display:flex;justify-content:space-between;align-items:baseline;gap:10px;
  padding:10px 10px 10px 12px;
  border-left:2px solid transparent;
  color:#c9cfd6;font-size:14.5px;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.wp-railnav a small{font-size:11px;color:#6f7a86;font-family:var(--sans);}
.wp-railnav a:hover{background:#18202a;color:var(--paper);}
.wp-railnav a.is-active{border-left-color:var(--gold);background:#1b232d;color:var(--gold);}
.wp-rail-label{
  font-size:11px;letter-spacing:.2em;color:#6f7a86;text-transform:uppercase;
  margin:26px 0 8px;padding-left:12px;
}

.wp-main{min-width:0;display:flex;flex-direction:column;}

.wp-topbar{
  position:sticky;top:0;z-index:30;
  display:flex;align-items:center;gap:14px;
  padding:12px clamp(16px,3vw,40px);
  background:rgba(13,17,22,.94);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--ink-line);
}
.wp-burger{
  display:none;background:none;border:1px solid #37424f;color:var(--paper);
  font-size:13px;padding:7px 12px;border-radius:var(--radius);cursor:pointer;font-family:var(--sans);
}
.wp-topbar .wp-crumbline{font-size:12.5px;color:var(--text-dim);letter-spacing:.04em;}
.wp-topbar .wp-crumbline a{color:#cfd5db;}
.wp-topbar-spacer{flex:1;}
.wp-topbar-tag{font-size:11.5px;letter-spacing:.14em;color:var(--gold-deep);border:1px solid #3b4451;padding:4px 9px;border-radius:var(--radius);}

.wp-content{padding:clamp(20px,3vw,44px) clamp(16px,3.4vw,52px) 56px;max-width:1180px;width:100%;}

/* ---------- type blocks ---------- */
.wp-kicker{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 10px;}
h1.wp-h1{font-size:clamp(26px,3.5vw,42px);margin:0 0 14px;color:var(--paper);}
.wp-lead{font-size:16.5px;color:#c3cad2;max-width:62ch;margin:0 0 24px;}
.wp-h2{font-size:clamp(20px,2.2vw,26px);margin:34px 0 12px;color:var(--paper);border-top:1px solid var(--ink-line);padding-top:20px;}
.wp-h3{font-size:18px;margin:22px 0 8px;color:#e8dcc4;}
.wp-p{margin:0 0 15px;color:#c8cfd6;max-width:70ch;}
.wp-p a{text-decoration:underline;text-underline-offset:3px;}

/* ---------- home panels ---------- */
.wp-tape{
  display:flex;flex-wrap:wrap;gap:0;
  border:1px solid var(--ink-line);border-radius:var(--radius);overflow:hidden;
  margin-bottom:30px;background:#141a22;
}
.wp-tape div{
  flex:1 1 150px;padding:14px 16px;border-right:1px solid var(--ink-line);
}
.wp-tape div:last-child{border-right:none;}
.wp-tape b{display:block;font-family:var(--serif);font-size:19px;color:var(--gold);letter-spacing:.02em;}
.wp-tape span{font-size:12px;color:var(--text-dim);letter-spacing:.08em;}

.wp-nightboard{
  display:grid;grid-template-columns:1.35fr 1fr;gap:var(--gap);
  align-items:stretch;margin-bottom:38px;
}
.wp-nightboard figure{margin:0;position:relative;}
.wp-nightboard img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius);min-height:300px;}
.wp-nightboard figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:14px 16px;
  background:linear-gradient(0deg,rgba(9,12,16,.92),rgba(9,12,16,0));
  font-size:12.5px;color:#d5dbe2;
}
.wp-nightboard aside{
  border:1px solid var(--ink-line);border-radius:var(--radius);padding:20px;background:#141a22;
}
.wp-nightboard aside h2{font-size:17px;margin:0 0 12px;color:var(--paper);}
.wp-quicklist{list-style:none;margin:0;padding:0;}
.wp-quicklist li{border-top:1px solid #232c36;padding:10px 0;}
.wp-quicklist li:first-child{border-top:none;padding-top:0;}
.wp-quicklist a{font-size:14.5px;color:#dbe1e7;display:block;}
.wp-quicklist a:hover{color:var(--gold);}
.wp-quicklist em{display:block;font-size:12px;color:#77828e;font-style:normal;margin-top:2px;}

/* category drawer */
.wp-drawer{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ink-line);border:1px solid var(--ink-line);border-radius:var(--radius);margin-bottom:40px;}
.wp-drawer a{
  display:block;padding:18px 18px 20px;background:#141a22;min-height:120px;
  transition:background .2s ease;
}
.wp-drawer a:hover{background:#1b2430;}
.wp-drawer strong{display:block;font-family:var(--serif);font-size:17px;color:var(--paper);margin-bottom:6px;}
.wp-drawer span{font-size:13px;color:#8b959f;line-height:1.65;display:block;}
.wp-drawer i{display:block;font-style:normal;font-size:11.5px;color:var(--gold-deep);letter-spacing:.14em;margin-top:10px;}

/* feature split */
.wp-tablesplit{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-bottom:42px;align-items:center;}
.wp-tablesplit img{border-radius:var(--radius);width:100%;height:100%;object-fit:cover;max-height:340px;}
.wp-tablesplit .wp-body h2{margin-top:0;border-top:none;padding-top:0;}

/* ledger rows */
.wp-ledger{margin-bottom:40px;}
.wp-ledger h2{font-size:22px;margin:0 0 16px;color:var(--paper);}
.wp-ledger ol{list-style:none;margin:0;padding:0;counter-reset:led;}
.wp-ledger li{
  counter-increment:led;
  display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:baseline;
  padding:14px 4px;border-bottom:1px dashed #29313b;
}
.wp-ledger li::before{
  content:counter(led,decimal-leading-zero);
  font-family:var(--serif);font-size:14px;color:var(--gold-deep);
}
.wp-ledger a{font-size:16px;color:#e3e8ee;font-family:var(--serif);}
.wp-ledger em{font-style:normal;font-size:12.5px;color:#7d878f;}

/* two column editorial */
.wp-editorial{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-bottom:42px;}
.wp-edcard{border:1px solid var(--ink-line);border-radius:var(--radius);overflow:hidden;background:#141a22;}
.wp-edcard img{width:100%;height:190px;object-fit:cover;}
.wp-edcard .wp-edbody{padding:16px 18px 20px;}
.wp-edcard h3{margin:0 0 8px;font-size:17.5px;}
.wp-edcard h3 a{color:var(--paper);}
.wp-edcard p{margin:0;font-size:13.5px;color:#9aa4ae;line-height:1.7;}

/* strip gallery */
.wp-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:40px;}
.wp-strip figure{margin:0;}
.wp-strip img{width:100%;height:130px;object-fit:cover;border-radius:var(--radius);}
.wp-strip figcaption{font-size:12px;color:#98a2ac;margin-top:6px;}

/* promo panel */
.wp-promo{
  border:1px solid #3b4451;border-radius:var(--radius);
  background:linear-gradient(120deg,#151c25 0%,#1d2531 55%,#151c25 100%);
  padding:24px 26px;margin-bottom:42px;
}
.wp-promo h2{margin:0 0 10px;font-size:21px;color:var(--paper);}
.wp-promo ul{margin:0;padding-left:18px;color:#b9c2cb;font-size:14.5px;}
.wp-promo li{margin:7px 0;}

/* FAQ */
.wp-faq{margin-bottom:36px;}
.wp-faq details{border-bottom:1px solid #29313b;padding:12px 0;}
.wp-faq summary{cursor:pointer;font-family:var(--serif);font-size:16px;color:#e6e2d8;}
.wp-faq p{margin:9px 0 0;font-size:14.5px;color:#a9b2bb;}

/* ---------- category page ---------- */
.wp-cathead{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--gap);margin-bottom:30px;align-items:start;}
.wp-cathead img{border-radius:var(--radius);height:200px;width:100%;object-fit:cover;}
.wp-catlist{list-style:none;margin:0;padding:0;}
.wp-catlist li{padding:18px 0;border-bottom:1px solid #242d37;}
.wp-catlist h3{margin:0 0 6px;font-size:18.5px;}
.wp-catlist h3 a{color:#eef1f5;}
.wp-catlist p{margin:0;font-size:14px;color:#98a2ac;max-width:66ch;}
.wp-catlist small{display:block;margin-top:7px;font-size:12px;color:#727d88;letter-spacing:.06em;}

/* ---------- article ---------- */
.wp-article{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(20px,3vw,44px);align-items:start;}
.wp-breadcrumb{font-size:12.5px;color:#7f8994;margin:0 0 16px;}
.wp-breadcrumb a{color:#aab3bc;}
.wp-breadcrumb span{margin:0 6px;color:#5b6672;}
.wp-meta{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:#8b959f;margin:0 0 22px;padding-bottom:14px;border-bottom:1px solid #242d37;}
.wp-meta b{color:#d6dde4;font-weight:500;}
.wp-figure{margin:0 0 22px;}
.wp-figure img{border-radius:var(--radius);width:100%;}
.wp-figure figcaption{font-size:12px;color:#7f8994;margin-top:7px;}
.wp-sidebar{border:1px solid var(--ink-line);border-radius:var(--radius);background:#141a22;padding:18px;}
.wp-sidebar h2{font-size:14px;letter-spacing:.12em;color:#c9cfd6;margin:0 0 12px;font-family:var(--sans);text-transform:uppercase;}
.wp-sidebar ul{list-style:none;margin:0;padding:0;}
.wp-sidebar li{border-top:1px solid #232c36;padding:10px 0;}
.wp-sidebar li:first-child{border-top:none;padding-top:0;}
.wp-sidebar a{font-size:14px;color:#dde3e9;display:block;line-height:1.55;}
.wp-sidebar a:hover{color:var(--gold);}
.wp-sidebar .wp-side-note{font-size:12.5px;color:#7f8994;margin:14px 0 0;padding-top:12px;border-top:1px solid #232c36;}
.wp-backcat{display:inline-block;margin-top:26px;font-size:14px;border:1px solid #3b4451;padding:9px 16px;border-radius:var(--radius);}

/* ---------- footer ---------- */
.wp-footer{
  border-top:1px solid var(--ink-line);background:#0c1015;
  padding:32px clamp(16px,3.4vw,52px) 40px;
  color:#96a0aa;font-size:13.5px;
}
.wp-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px;max-width:1180px;}
.wp-footer h3{font-size:14px;letter-spacing:.12em;color:#cfd6dd;margin:0 0 10px;font-family:var(--sans);text-transform:uppercase;}
.wp-footer a{color:#b9c2cb;}
.wp-footer ul{list-style:none;margin:0;padding:0;}
.wp-footer li{margin:6px 0;}
.wp-footer p{margin:0 0 7px;line-height:1.7;}
.wp-legal{margin-top:26px;padding-top:18px;border-top:1px solid #1d252e;font-size:12.5px;color:#78828c;line-height:1.9;max-width:1180px;}

@media (max-width:1024px){
  .wp-nightboard{grid-template-columns:1fr;}
  .wp-cathead{grid-template-columns:1fr;}
  .wp-article{grid-template-columns:1fr;}
  .wp-drawer{grid-template-columns:repeat(2,1fr);}
  .wp-editorial{grid-template-columns:1fr;}
  .wp-tablesplit{grid-template-columns:1fr;}
}

@media (max-width:768px){
  .wp-shell{grid-template-columns:minmax(0,1fr);}
  .wp-rail{
    position:fixed;left:0;top:0;bottom:0;width:270px;height:100vh;
    transform:translateX(-102%);transition:transform .25s ease;z-index:60;
    box-shadow:0 0 40px rgba(0,0,0,.5);
  }
  .wp-rail.is-open{transform:translateX(0);}
  .wp-burger{display:inline-block;}
  .wp-content{padding:20px 16px 44px;}
  .wp-drawer{grid-template-columns:1fr;}
  .wp-strip{grid-template-columns:repeat(2,1fr);}
  .wp-footer-grid{grid-template-columns:1fr;}
  .wp-tape div{flex:1 1 100%;border-right:none;border-bottom:1px solid var(--ink-line);}
  .wp-tape div:last-child{border-bottom:none;}
  .wp-ledger li{grid-template-columns:32px minmax(0,1fr);}
  .wp-ledger li em{grid-column:2;}
  h1.wp-h1{font-size:26px;}
  .wp-topbar-tag{display:none;}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none !important;}
}
