{"id":4125,"date":"2017-01-23T23:25:22","date_gmt":"2017-01-23T15:25:22","guid":{"rendered":"http:\/\/www.xiangqi.sg\/wordpress\/?page_id=4125"},"modified":"2026-05-07T18:44:41","modified_gmt":"2026-05-07T10:44:41","slug":"%e8%bf%91%e6%9c%9f%e8%b5%9b%e4%ba%8b","status":"publish","type":"page","link":"http:\/\/www.xiangqi.sg\/wordpress\/%e8%bf%91%e6%9c%9f%e8%b5%9b%e4%ba%8b\/","title":{"rendered":"\u6700\u65b0\u8d5b\u4e8b"},"content":{"rendered":"\n<style>\n\/* ============================================================\n   \u65b0\u52a0\u5761\u8c61\u68cb\u603b\u4f1a \u2014 Unified WordPress Internal CSS\n   Paste this into WordPress Customizer \u2192 Additional CSS\n   or into a site-wide HTML\/CSS block.\n   ============================================================ *\/\n\n\/* \u2500\u2500 Design Tokens (matching index page) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n:root {\n  --xq-crimson:       #8c2f39;\n  --xq-crimson-dark:  #6e242d;\n  --xq-gold:          #e4a855;\n  --xq-gold-light:    #f0d6a8;\n  --xq-cream:         #fdf8f0;\n  --xq-text:          #1c1c1c;\n  --xq-text-light:    #5a5a5a;\n  --xq-bg:            #fafafa;\n  --xq-white:         #ffffff;\n  --xq-radius:        12px;\n  --xq-radius-sm:     8px;\n  --xq-shadow:        0 4px 20px rgba(0, 0, 0, 0.08);\n  --xq-shadow-hover:  0 8px 30px rgba(0, 0, 0, 0.12);\n  --xq-transition:    0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   1. GLOBAL NAVIGATION BAR\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\n\/* \u2500\u2500 Main Nav Container \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.wp-block-navigation,\nnav.wp-block-navigation {\n  background: linear-gradient(135deg, var(--xq-crimson) 0%, var(--xq-crimson-dark) 100%) !important;\n  padding: 0 24px !important;\n  font-family: \"Noto Sans SC\", \"PingFang SC\", \"Microsoft YaHei\", sans-serif !important;\n  border-bottom: 3px solid var(--xq-gold) !important;\n  box-shadow: 0 2px 12px rgba(110, 36, 45, 0.3) !important;\n  position: sticky;\n  top: 0;\n  z-index: 999;\n}\n\n\/* \u2500\u2500 Nav Link Items \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.wp-block-navigation .wp-block-navigation-item__content,\n.wp-block-navigation .wp-block-navigation-item__label,\n.wp-block-navigation-item__content.wp-block-navigation-item__content,\n.wp-block-navigation.has-black-color,\n.wp-block-navigation .has-black-color {\n  color: #ffffff !important;\n  font-weight: 500 !important;\n  font-size: 0.95em !important;\n  letter-spacing: 0.3px !important;\n  transition: var(--xq-transition) !important;\n  text-decoration: none !important;\n}\n\n\/* \u2500\u2500 Nav Link Hover \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.wp-block-navigation .wp-block-navigation-item__content:hover,\n.wp-block-navigation .wp-block-navigation-item__content:focus {\n  color: var(--xq-gold) !important;\n}\n\n\/* Gold underline on hover *\/\n.wp-block-navigation .wp-block-navigation-item__content::after {\n  content: \"\" !important;\n  display: block !important;\n  width: 0 !important;\n  height: 2px !important;\n  background: var(--xq-gold) !important;\n  transition: width var(--xq-transition) !important;\n  margin-top: 2px !important;\n}\n\n.wp-block-navigation .wp-block-navigation-item__content:hover::after {\n  width: 100% !important;\n}\n\n\/* \u2500\u2500 Current \/ Active Page \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.wp-block-navigation .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,\n.wp-block-navigation .wp-block-navigation-item--active > .wp-block-navigation-item__content {\n  color: var(--xq-gold) !important;\n  font-weight: 700 !important;\n}\n\n.wp-block-navigation .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content::after {\n  width: 100% !important;\n}\n\n\/* \u2500\u2500 Submenu \/ Dropdown \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.wp-block-navigation .wp-block-navigation__submenu-container,\n.wp-block-navigation .has-child .wp-block-navigation__submenu-container {\n  background: var(--xq-crimson-dark) !important;\n  border: 1px solid rgba(228, 168, 85, 0.2) !important;\n  border-radius: var(--xq-radius-sm) !important;\n  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25) !important;\n  padding: 8px 0 !important;\n  min-width: 200px !important;\n}\n\n.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {\n  padding: 10px 20px !important;\n  font-size: 0.9em !important;\n}\n\n.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {\n  background: rgba(228, 168, 85, 0.15) !important;\n  color: var(--xq-gold) !important;\n}\n\n\/* \u2500\u2500 Nav Item Spacing \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.wp-block-navigation .wp-block-navigation-item {\n  padding: 14px 6px !important;\n}\n\n\/* \u2500\u2500 Hamburger \/ Toggle Button \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.wp-block-navigation__responsive-container-open,\n.wp-block-navigation button.wp-block-navigation__responsive-container-open {\n  color: var(--xq-gold) !important;\n}\n\n\/* \u2500\u2500 Mobile Nav \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n@media (max-width: 991px) {\n  .wp-block-navigation__responsive-container,\n  .wp-block-navigation__responsive-container-content {\n    background: linear-gradient(180deg, var(--xq-crimson-dark) 0%, var(--xq-crimson) 100%) !important;\n  }\n\n  .wp-block-navigation__responsive-container .wp-block-navigation-item__content {\n    color: #ffffff !important;\n    padding: 14px 24px !important;\n    font-size: 1.05em !important;\n    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;\n  }\n\n  .wp-block-navigation__responsive-container .wp-block-navigation-item__content:hover {\n    color: var(--xq-gold) !important;\n    background: rgba(228, 168, 85, 0.1) !important;\n  }\n\n  .wp-block-navigation__responsive-container-close,\n  .wp-block-navigation__responsive-container-close svg {\n    color: var(--xq-gold) !important;\n    fill: var(--xq-gold) !important;\n  }\n\n  \/* Mobile submenu *\/\n  .wp-block-navigation__responsive-container .wp-block-navigation__submenu-container {\n    background: rgba(0, 0, 0, 0.15) !important;\n    border: none !important;\n    box-shadow: none !important;\n    border-radius: 0 !important;\n    padding-left: 16px !important;\n  }\n}\n\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   2. SITE LOGO & BRANDING (if present)\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.wp-block-site-logo img,\n.custom-logo {\n  max-height: 48px !important;\n  width: auto !important;\n}\n\n.wp-block-site-title a {\n  color: var(--xq-gold) !important;\n  font-weight: 800 !important;\n  text-decoration: none !important;\n  font-size: 1.2em !important;\n}\n\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   3. PAGE BODY \u2014 Unified Base Styles\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\n\/* Page background *\/\nbody:not(.home) {\n  font-family: \"Noto Sans SC\", \"PingFang SC\", \"Microsoft YaHei\", \"Helvetica Neue\", Arial, sans-serif !important;\n  background: var(--xq-bg) !important;\n  color: var(--xq-text) !important;\n  line-height: 1.7 !important;\n  -webkit-font-smoothing: antialiased !important;\n}\n\n\/* Content area *\/\n.entry-content,\n.wp-block-post-content,\n.page-content,\nmain {\n  max-width: 1200px;\n  margin-left: auto;\n  margin-right: auto;\n  padding: 30px 20px;\n}\n\n\/* Page titles *\/\n.entry-title,\nh1.wp-block-post-title {\n  font-size: 2.2em !important;\n  font-weight: 800 !important;\n  color: var(--xq-crimson) !important;\n  margin-bottom: 20px !important;\n  letter-spacing: -0.5px !important;\n}\n\n\/* Section headings *\/\nh2 {\n  font-size: 1.6em !important;\n  font-weight: 700 !important;\n  color: var(--xq-crimson) !important;\n  margin-top: 32px !important;\n  margin-bottom: 16px !important;\n}\n\nh3 {\n  font-size: 1.3em !important;\n  font-weight: 600 !important;\n  color: var(--xq-crimson-dark) !important;\n}\n\n\/* Links (body text) *\/\n.entry-content a,\n.page-content a {\n  color: var(--xq-crimson) !important;\n  text-decoration: none !important;\n  border-bottom: 1px solid transparent !important;\n  transition: var(--xq-transition) !important;\n}\n\n.entry-content a:hover,\n.page-content a:hover {\n  color: var(--xq-crimson-dark) !important;\n  border-bottom-color: var(--xq-gold) !important;\n}\n\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   4. TABS (wc_tabgroup) \u2014 Rankings Page\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\n\/* Tab container *\/\n.wc-shortcodes-tabgroup,\n.wc-shortcodes-tabs-layout-box {\n  background: var(--xq-white) !important;\n  border-radius: var(--xq-radius) !important;\n  box-shadow: var(--xq-shadow) !important;\n  overflow: hidden !important;\n  border: 1px solid rgba(140, 47, 57, 0.1) !important;\n}\n\n\/* Tab navigation *\/\n.wc-shortcodes-tabs-layout-box .wc-shortcodes-tabs {\n  background: linear-gradient(135deg, var(--xq-crimson) 0%, var(--xq-crimson-dark) 100%) !important;\n  border-bottom: 3px solid var(--xq-gold) !important;\n  padding: 0 !important;\n  display: flex !important;\n  flex-wrap: wrap !important;\n  gap: 0 !important;\n}\n\n\/* Tab buttons *\/\n.wc-shortcodes-tabs-layout-box .wc-shortcodes-tabs li a,\n.wc-shortcodes-tabs li a {\n  color: rgba(255, 255, 255, 0.8) !important;\n  font-weight: 600 !important;\n  font-size: 0.95em !important;\n  padding: 14px 22px !important;\n  background: transparent !important;\n  border: none !important;\n  border-radius: 0 !important;\n  transition: var(--xq-transition) !important;\n  white-space: nowrap !important;\n}\n\n.wc-shortcodes-tabs-layout-box .wc-shortcodes-tabs li a:hover {\n  color: #ffffff !important;\n  background: rgba(255, 255, 255, 0.1) !important;\n}\n\n\/* Active tab *\/\n.wc-shortcodes-tabs-layout-box .wc-shortcodes-tabs li.active a,\n.wc-shortcodes-tabs li.active a,\n.wc-shortcodes-tabs li.resp-tab-active a {\n  color: var(--xq-crimson-dark) !important;\n  background: var(--xq-gold) !important;\n  font-weight: 700 !important;\n}\n\n\/* Tab content panel *\/\n.wc-shortcodes-tabs-layout-box .wc-shortcodes-tab-content,\n.wc-shortcodes-tab-content {\n  padding: 24px !important;\n  background: var(--xq-white) !important;\n  font-size: 0.95em !important;\n  line-height: 1.7 !important;\n}\n\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   5. TABLES \u2014 Rankings \/ Data Tables\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\n\/* TablePress & custom tables *\/\n.tablepress,\n.custom-table,\ntable.tablepress,\n.wc-shortcodes-tab-content table {\n  width: 100% !important;\n  border-collapse: separate !important;\n  border-spacing: 0 !important;\n  border-radius: var(--xq-radius-sm) !important;\n  overflow: hidden !important;\n  font-size: 0.9em !important;\n  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06) !important;\n}\n\n\/* Table header *\/\n.tablepress thead th,\n.custom-table th,\n.wc-shortcodes-tab-content table th {\n  background: linear-gradient(135deg, var(--xq-crimson) 0%, var(--xq-crimson-dark) 100%) !important;\n  color: #ffffff !important;\n  font-weight: 700 !important;\n  padding: 12px 16px !important;\n  text-align: left !important;\n  font-size: 0.85em !important;\n  text-transform: uppercase !important;\n  letter-spacing: 0.5px !important;\n  border-bottom: 3px solid var(--xq-gold) !important;\n}\n\n\/* Table cells *\/\n.tablepress td,\n.custom-table td,\n.wc-shortcodes-tab-content table td {\n  padding: 10px 16px !important;\n  border-bottom: 1px solid #f0ebe3 !important;\n  color: var(--xq-text) !important;\n  vertical-align: middle !important;\n}\n\n\/* Alternating rows *\/\n.tablepress .odd td,\n.custom-table tr:nth-child(odd) td,\n.wc-shortcodes-tab-content table tr:nth-child(odd) td {\n  background: var(--xq-white) !important;\n}\n\n.tablepress .even td,\n.custom-table tr:nth-child(even) td,\n.wc-shortcodes-tab-content table tr:nth-child(even) td {\n  background: var(--xq-cream) !important;\n}\n\n\/* Row hover *\/\n.tablepress tbody tr:hover td,\n.custom-table tr:hover td,\n.wc-shortcodes-tab-content table tbody tr:hover td {\n  background: var(--xq-gold-light) !important;\n  transition: background var(--xq-transition) !important;\n}\n\n\/* Responsive table *\/\n@media (max-width: 768px) {\n  .tablepress,\n  .custom-table,\n  .wc-shortcodes-tab-content table {\n    display: block !important;\n    overflow-x: auto !important;\n    -webkit-overflow-scrolling: touch !important;\n  }\n\n  .tablepress td,\n  .tablepress th,\n  .custom-table td,\n  .custom-table th {\n    padding: 8px 12px !important;\n    font-size: 0.85em !important;\n    white-space: nowrap !important;\n  }\n}\n\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   6. TIMELINE PAGE \u2014 Tournament Archives\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\n\/* Override timeline colors to match index *\/\n.timeline-page .hero-section,\n.hero-section {\n  background: linear-gradient(135deg, var(--xq-crimson) 0%, var(--xq-crimson-dark) 50%, var(--xq-gold) 100%) !important;\n  border-radius: var(--xq-radius) !important;\n}\n\n.hero-title {\n  color: #ffffff !important;\n  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;\n}\n\n.hero-subtitle {\n  color: rgba(255, 255, 255, 0.9) !important;\n}\n\n\/* Filter buttons *\/\n.filter-section label {\n  background: var(--xq-crimson) !important;\n  color: #ffffff !important;\n  border-radius: 25px !important;\n  font-weight: 600 !important;\n  transition: var(--xq-transition) !important;\n}\n\n.filter-section label:hover {\n  background: var(--xq-gold) !important;\n  color: var(--xq-crimson-dark) !important;\n  transform: translateY(-2px) !important;\n}\n\n\/* Active filter *\/\n#all:checked ~ .filter-wrapper .filter-section label[for=\"all\"],\n#national:checked ~ .filter-wrapper .filter-section label[for=\"national\"],\n#open:checked ~ .filter-wrapper .filter-section label[for=\"open\"],\n#student:checked ~ .filter-wrapper .filter-section label[for=\"student\"],\n#team:checked ~ .filter-wrapper .filter-section label[for=\"team\"],\n#individual:checked ~ .filter-wrapper .filter-section label[for=\"individual\"] {\n  background: var(--xq-gold) !important;\n  color: var(--xq-crimson-dark) !important;\n  box-shadow: 0 4px 15px rgba(228, 168, 85, 0.4) !important;\n}\n\n\/* Timeline cards *\/\n.timeline-card {\n  border-radius: var(--xq-radius) !important;\n  box-shadow: var(--xq-shadow) !important;\n  border: 1px solid rgba(140, 47, 57, 0.08) !important;\n  transition: var(--xq-transition) !important;\n}\n\n.timeline-card:hover {\n  box-shadow: var(--xq-shadow-hover) !important;\n  transform: translateY(-4px) !important;\n}\n\n\/* Timeline accent line *\/\n.timeline-card::before {\n  background: var(--xq-gold) !important;\n}\n\n.timeline-year {\n  color: var(--xq-crimson) !important;\n}\n\n.quarter-label {\n  color: var(--xq-crimson) !important;\n  border-left-color: var(--xq-gold) !important;\n}\n\n\/* Timeline vertical line *\/\n.timeline-wrapper::before {\n  background: linear-gradient(to bottom, var(--xq-gold), var(--xq-crimson), var(--xq-gold)) !important;\n  width: 3px !important;\n}\n\n\/* Event list links in timeline *\/\n.timeline-card .event-list a {\n  color: var(--xq-text) !important;\n}\n\n.timeline-card .event-list a:hover {\n  color: var(--xq-crimson) !important;\n}\n\n.timeline-card .event-list a::after {\n  background-color: var(--xq-gold) !important;\n}\n\n\/* Competition name badge *\/\n.comp-name {\n  background: var(--xq-cream) !important;\n  border-color: var(--xq-gold-light) !important;\n  color: var(--xq-crimson) !important;\n}\n\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   7. EVENT CARDS (general pages)\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\n.event-card {\n  border-radius: var(--xq-radius) !important;\n  box-shadow: var(--xq-shadow) !important;\n  border: 1px solid rgba(140, 47, 57, 0.06) !important;\n  transition: var(--xq-transition) !important;\n}\n\n.event-card:hover {\n  box-shadow: var(--xq-shadow-hover) !important;\n  transform: translateY(-4px) !important;\n}\n\n.event-card .event-title {\n  color: var(--xq-crimson) !important;\n}\n\n.event-card .event-badge {\n  background: linear-gradient(135deg, var(--xq-crimson) 0%, var(--xq-crimson-dark) 100%) !important;\n}\n\n\/* CTA buttons on all pages *\/\n.event-card .cta-button,\n.timeline-page .cta-button,\na.cta-button {\n  background: var(--xq-gold) !important;\n  color: var(--xq-crimson-dark) !important;\n  font-weight: 700 !important;\n  border-radius: 25px !important;\n  box-shadow: 0 4px 15px rgba(228, 168, 85, 0.4) !important;\n  transition: var(--xq-transition) !important;\n  border-bottom: none !important;\n}\n\n.event-card .cta-button:hover,\n.timeline-page .cta-button:hover,\na.cta-button:hover {\n  background: var(--xq-gold-light) !important;\n  transform: translateY(-2px) !important;\n  box-shadow: 0 6px 20px rgba(228, 168, 85, 0.5) !important;\n}\n\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   8. CALENDAR WIDGET \u2014 Color Harmony Override\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\n#xq-calendar-wrapper .xq-header {\n  background: linear-gradient(135deg, var(--xq-crimson) 0%, var(--xq-crimson-dark) 100%) !important;\n  border-bottom-color: var(--xq-gold) !important;\n}\n\n#xq-calendar-wrapper .xq-header h3 {\n  color: var(--xq-gold-light) !important;\n}\n\n#xq-calendar-wrapper .xq-header select {\n  background: rgba(228, 168, 85, 0.3) !important;\n  color: #ffffff !important;\n}\n\n#xq-calendar-wrapper .xq-table th {\n  background: var(--xq-cream) !important;\n  color: var(--xq-crimson-dark) !important;\n  border-bottom-color: var(--xq-gold) !important;\n}\n\n#xq-calendar-wrapper .tag.open {\n  background: var(--xq-crimson-dark) !important;\n  color: var(--xq-gold-light) !important;\n}\n\n#xq-calendar-wrapper .tag.team {\n  background: var(--xq-crimson) !important;\n  color: #ffffff !important;\n}\n\n#xq-calendar-wrapper .tag.student {\n  background: var(--xq-gold-light) !important;\n  color: var(--xq-crimson-dark) !important;\n}\n\n#xq-calendar-wrapper .tag.general {\n  background: var(--xq-cream) !important;\n  color: var(--xq-crimson-dark) !important;\n  border-color: var(--xq-gold) !important;\n}\n\n#xq-calendar-wrapper .btn-reg {\n  background: var(--xq-gold) !important;\n  border-color: var(--xq-gold) !important;\n  color: var(--xq-crimson-dark) !important;\n}\n\n#xq-calendar-wrapper .btn-doc {\n  border-color: var(--xq-gold-light) !important;\n  color: var(--xq-crimson) !important;\n}\n\n#xq-calendar-wrapper {\n  border-color: rgba(140, 47, 57, 0.15) !important;\n  border-radius: var(--xq-radius) !important;\n}\n\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   9. FOOTER\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\nfooter,\n.wp-block-template-part footer,\n.site-footer {\n  background: linear-gradient(135deg, var(--xq-crimson-dark) 0%, var(--xq-crimson) 100%) !important;\n  color: rgba(255, 255, 255, 0.85) !important;\n  padding: 30px 20px !important;\n  text-align: center !important;\n  border-top: 3px solid var(--xq-gold) !important;\n}\n\nfooter a,\n.site-footer a {\n  color: var(--xq-gold) !important;\n  border-bottom: none !important;\n}\n\nfooter a:hover,\n.site-footer a:hover {\n  color: var(--xq-gold-light) !important;\n}\n\n.back-to-top {\n  color: var(--xq-gold) !important;\n}\n\n.back-to-top:hover {\n  color: var(--xq-gold-light) !important;\n}\n\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   10. UTILITY \u2014 Smooth Global Transitions\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\nhtml {\n  scroll-behavior: smooth;\n}\n\n::selection {\n  background: var(--xq-gold);\n  color: var(--xq-crimson-dark);\n}\n\n\/* Scrollbar (Webkit) *\/\n::-webkit-scrollbar {\n  width: 8px;\n  height: 8px;\n}\n\n::-webkit-scrollbar-track {\n  background: var(--xq-cream);\n}\n\n::-webkit-scrollbar-thumb {\n  background: var(--xq-crimson);\n  border-radius: 4px;\n}\n\n::-webkit-scrollbar-thumb:hover {\n  background: var(--xq-crimson-dark);\n}\n<\/style>\n<div id=\"xq-calendar-wrapper\"><\/div>\n\n<script>\n(function() {\n    \/\/ ============================================================\n    \/\/ \ud83d\udc47 INSERT SNIPPET HERE\n    \/\/ ============================================================\n    const eventsData = [\n  {\n    \"date\": \"1 \u6708 1 \u65e5\u81f3 1 \u6708 31 \u65e5\",\n    \"cat\": \"general\",\n    \"cn\": \"\u7f34\u4ea4\u4f1a\u8d39\",\n    \"en\": \"Membership Renewal\",\n    \"loc_cn\": \"\u78a7\u5c71\u4f1a\u6240\",\n    \"loc_en\": \"Bishan Clubhouse\",\n    \"deadline\": \"2026-01-31 17:00\",\n    \"link_rules\": \"#\",\n    \"link_reg\": \"#\"\n  },\n  {\n    \"date\": \"1 \u6708 16-17 \u65e5\",\n    \"cat\": \"open\",\n    \"cn\": \"2026 \u5e74\u201c\u4f69\u73b2\u676f\u201d\u72ee\u57ce\u8c61\u68cb\u4e2a\u4eba\u516c\u5f00\u8d5b\",\n    \"en\": \"2026 Pei Ling Cup Individual Open\",\n    \"loc_cn\": \"\u78a7\u5c71\u4f1a\u6240\",\n    \"loc_en\": \"Bishan Clubhouse\",\n    \"deadline\": \"2026-01-11 17:00\",\n    \"link_rules\": \"https:\/\/www.xiangqi.sg\/xqsite\/wp-content\/uploads\/2025\/12\/2026%E4%BD%A9%E7%8E%B2%E6%9D%AF%E5%85%AC%E5%BC%80%E8%B5%9B%E7%AB%A0%E7%A8%8B.pdf\",\n    \"link_reg\": \"#\"\n  },\n  {\n    \"date\": \"1 \u6708 17 \u65e5\",\n    \"cat\": \"general\",\n    \"cn\": \"\u540d\u624b\u5218\u5b97\u6cfd\u8c61\u68cb\u5ea7\u8c08\u4f1a\",\n    \"en\": \"Xiangqi Seminar: Liu Zongze\",\n    \"loc_cn\": \"\u78a7\u5c71\u4f1a\u6240\",\n    \"loc_en\": \"Bishan Clubhouse\",\n    \"deadline\": \"\",\n    \"link_rules\": \"#\",\n    \"link_reg\": \"https:\/\/www.xiangqi.sg\/xqsite\/xqsem1\/\"\n  },\n  {\n    \"date\": \"2 \u6708 7 \u65e5\",\n    \"cat\": \"student\",\n    \"cn\": \"\u7b2c 28 \u5c4a\u201c\u8336\u9633\u676f\u201d\u5168\u56fd\u5b66\u751f\u8c61\u68cb\u4e2a\u4eba\u8d5b 2026\",\n    \"en\": \"28th Char Yong Cup National Student Individual\",\n    \"loc_cn\": \"\u4e39\u620e\u5df4\u845b\u6c11\u4f17\u4ff1\u4e50\u90e8\",\n    \"loc_en\": \"Tanjong Pagar CC\",\n    \"deadline\": \"2026-02-01 17:00\",\n    \"link_rules\": \"https:\/\/www.xiangqi.sg\/xqsite\/wp-content\/uploads\/2026\/01\/%E7%AC%AC28%E5%B1%8A%E8%8C%B6%E9%98%B3%E6%9D%AF%E5%85%A8%E5%9B%BD%E5%AD%A6%E7%94%9F%E8%B1%A1%E6%A3%8B%E5%85%AC%E5%BC%80%E8%B5%9B%E7%AB%A0%E7%A8%8B-copy.pdf\",\n    \"link_reg\": \"https:\/\/tinyurl.com\/mpwxs8jp\"\n  },\n  {\n    \"date\": \"2 \u6708 21 \u65e5\",\n    \"cat\": \"team\",\n    \"cn\": \"\u7b2c 14 \u5c4a\u68cb\u53cb\u676f\u56e2\u4f53\u8d5b\u66a8 2026 \u65b0\u6625\u56e2\u62dc\",\n    \"en\": \"14th Friendship Cup Team & CNY Gathering\",\n    \"loc_cn\": \"\u78a7\u5c71\u4f1a\u6240\",\n    \"loc_en\": \"Bishan Clubhouse\",\n    \"deadline\": \"2026-01-29 17:00\",\n    \"link_rules\": \"https:\/\/www.xiangqi.sg\/xqsite\/wp-content\/uploads\/2025\/12\/2026-\u7b2c\u5341\u56db\u5c4a\u65b0\u52a0\u5761\u68cb\u53cb\u676f\u8c61\u68cb\u56e2\u4f53\u8d5b\u7ae0\u7a0b_V3.pdf\",\n    \"link_reg\": \"https:\/\/wa.me\/6597839832?text=I%27m%20interested%20in%20the%202026%20%E6%A3%8B%E5%8F%8B%E6%9D%AF%E5%9B%A2%E4%BD%93%E8%B5%9B\"\n  },\n  {\n    \"date\": \"2 \u6708 28-3 \u6708 1 \u65e5\",\n    \"cat\": \"general\",\n    \"cn\": \"\u665a\u6674\u56ed\u8c61\u68cb\u63a8\u5e7f\u6d3b\u52a8\",\n    \"en\": \"Wan Qing Yuan Xiangqi Promotion\",\n    \"loc_cn\": \"\u8521\u539d\u6e2f Lot 1\",\n    \"loc_en\": \"Choa Chu Kang Lot 1 Shoppers' Mall\",\n    \"deadline\": \"\",\n    \"link_rules\": \"#\",\n    \"link_reg\": \"#\"\n  },\n  {\n    \"date\": \"3 \u6708 28-29 \u65e5\",\n    \"cat\": \"general\",\n    \"cn\": \"\u65b0\u52a0\u5761\u534e\u65cf\u6587\u5316\u4e2d\u5fc3\u8c61\u68cb\u63a8\u5e7f\u6d3b\u52a8\",\n    \"en\": \"SCCC Xiangqi Promotion\",\n    \"loc_cn\": \"\u65b0\u52a0\u5761\u534e\u65cf\u6587\u5316\u4e2d\u5fc3\",\n    \"loc_en\": \"SCCC\",\n    \"deadline\": \"\",\n    \"link_rules\": \"#\",\n    \"link_reg\": \"#\"\n  },\n  {\n    \"date\": \"5 \u6708 11-17 \u65e5\",\n    \"cat\": \"open\",\n    \"cn\": \"\u7b2c 65 \u5c4a\u201c\u5b59\u6587\u5e7f\u676f\u201d\u5168\u56fd\u8c61\u68cb\u4e2a\u4eba\u9526\u6807\u8d5b\",\n    \"en\": \"65th 'Sun Wenguang Cup' National Individual Open\",\n    \"loc_cn\": \"\u4e9a\u6d32\u6587\u660e\u535a\u7269\u9986\",\n    \"loc_en\": \"No. 1, Empress Pl, Singapore 179555\",\n    \"deadline\": \"\",\n    \"link_rules\": \"https:\/\/drive.google.com\/file\/d\/1T8u750Gla4eoRIua7nkRQtLaMGrbkCR-\/view?usp=sharing\",\n    \"link_reg\": \"https:\/\/forms.gle\/bvLUBUmQeFLg83fD9\"\n  },\n  {\n    \"date\": \"5 \u6708 23 \u65e5\",\n    \"cat\": \"open\",\n    \"cn\": \"\u7b2c6\u5c4a\u72ee\u57ce\u5251\u5357\u6625\u676f\u201c\u695a\u6c49\u667a\u8c0b\u201d\u8c61\u68cb\u6bd4\u8d5b\",\n    \"en\": \"6th 'Maotai Cup' Individual Open\",\n    \"loc_cn\": \"\u65b0\u52a0\u5761\u540c\u5b89\u4f1a\u9986\u793c\u5802\",\n    \"loc_en\": \"Tung Ann District Guild 141 Cecil Street, #09-00, Singapore 069541\",\n    \"deadline\": \"2026-05-22 17:00\",\n    \"link_rules\": \"https:\/\/drive.google.com\/file\/d\/1QhCzsHETrKLP8Ll65yMG0KTphYvaVP6H\/view?usp=sharing\",\n    \"link_reg\": \"https:\/\/forms.gle\/YaBfkrqZk7ZA5jGd9\"\n  },\n  {\n    \"date\": \"5 \u6708 30 \u65e5\",\n    \"cat\": \"general\",\n    \"cn\": \"\u4f1a\u5458\u5927\u4f1a\",\n    \"en\": \"Annual General Meeting (AGM)\",\n    \"loc_cn\": \"\u78a7\u5c71\u4f1a\u6240\",\n    \"loc_en\": \"Bishan Clubhouse\",\n    \"deadline\": \"\",\n    \"link_rules\": \"#\",\n    \"link_reg\": \"#\"\n  },\n  {\n    \"date\": \"6 \u6708\u4efd\",\n    \"cat\": \"team\",\n    \"cn\": \"\u53cc\u4eba\u8d5b\",\n    \"en\": \"Pair Tournament\",\n    \"loc_cn\": \"\u78a7\u5c71\u4f1a\u6240\",\n    \"loc_en\": \"Bishan Clubhouse\",\n    \"deadline\": \"2026-06-30 17:00\",\n    \"link_rules\": \"\",\n    \"link_reg\": \"\"\n  },\n  {\n    \"date\": \"6 \u6708\uff08\u6682\u5b9a\uff09\",\n    \"cat\": \"general\",\n    \"cn\": \"2026 \u5e74\u7b2c 5 \u5c4a\u201c\u64ce\u5929\u676f\u201d\u68cb\u738b\u8d5b\",\n    \"en\": \"2026 5th Qing Tian Cup Chess King Individual\",\n    \"loc_cn\": \"\u78a7\u5c71\u4f1a\u6240\",\n    \"loc_en\": \"Bishan Clubhouse\",\n    \"deadline\": \"\",\n    \"link_rules\": \"#\",\n    \"link_reg\": \"#\"\n  },\n  {\n    \"date\": \"7 \u6708 18-19 \u65e5\",\n    \"cat\": \"open\",\n    \"cn\": \"Pesta Sukan \u8c61\u68cb\u8d5b 2026\",\n    \"en\": \"Pesta Sukan 2026 National Individual Open\",\n    \"loc_cn\": \"\u78a7\u5c71\u4f53\u80b2\u4e2d\u5fc3\",\n    \"loc_en\": \"Bishan Sports Hall\",\n    \"deadline\": \"\",\n    \"link_rules\": \"https:\/\/www.activesgcircle.gov.sg\/hubfs\/GetActive%20Singapore\/GetActive%20Singapore%202026\/Rules%20and%20Regulations\/XiangQi\/Pesta%20Sukan%20Xiangqi%20R%26R.pdf\",\n    \"link_reg\": \"https:\/\/pestasukan.klobbi.com\/register\/xiangqi\"\n  },\n  {\n    \"date\": \"7 \u6708 25 \u65e5\",\n    \"cat\": \"open\",\n    \"cn\": \"\u7b2c 6 \u5c4a\u201c\u66fe\u58eb\u751f\u676f\u201d\u56fe\u5f62\u8c61\u68cb\u8d5b\",\n    \"en\": \"6th Chan Soo Sen Cup Graphic Xiangqi Individual Open\",\n    \"loc_cn\": \"\u5f85\u5b9a\",\n    \"loc_en\": \"TBC\",\n    \"deadline\": \"\",\n    \"link_rules\": \"#\",\n    \"link_reg\": \"#\"\n  },\n  {\n    \"date\": \"8 \u6708\u4efd\",\n    \"cat\": \"general\",\n    \"cn\": \"\u7b2c\u56db\u5c4a\u201c\u674e\u9521\u68ee\u676f\u201d\u8c61\u68cb\u5bbf\u5c06\u8d5b\",\n    \"en\": \"4th Lee Xi Sen Cup Veteran Individual Open\",\n    \"loc_cn\": \"\u78a7\u5c71\u4f1a\u6240\",\n    \"loc_en\": \"Bishan Clubhouse\",\n    \"deadline\": \"\",\n    \"link_rules\": \"#\",\n    \"link_reg\": \"#\"\n  },\n  {\n    \"date\": \"9 \u6708\",\n    \"cat\": \"open\",\n    \"cn\": \"\u7b2c 5 \u5c4a\u4e16\u754c\u8c61\u68cb\u56e2\u4f53\u516c\u5f00\u8d5b\",\n    \"en\": \"5th World Xiangqi Team Open\",\n    \"loc_cn\": \"\u5f85\u5b9a\",\n    \"loc_en\": \"TBC\",\n    \"deadline\": \"\",\n    \"link_rules\": \"#\",\n    \"link_reg\": \"#\"\n  },\n  {\n    \"date\": \"10 \u6708\",\n    \"cat\": \"general\",\n    \"cn\": \"2026 \u5e74\u8c61\u603b\u4f1a\u5458\u8d5b\",\n    \"en\": \"2026 SIXGA Member Individual Open\",\n    \"loc_cn\": \"\u78a7\u5c71\u4f1a\u6240\",\n    \"loc_en\": \"Bishan Clubhouse\",\n    \"deadline\": \"\",\n    \"link_rules\": \"#\",\n    \"link_reg\": \"#\"\n  },\n  {\n    \"date\": \"10 \u6708\u4e0b\u65ec\",\n    \"cat\": \"general\",\n    \"cn\": \"\u4e9a\u6d32\u8c61\u68cb\u9526\u6807\u8d5b\",\n    \"en\": \"Asian Xiangqi Championship\",\n    \"loc_cn\": \"\u83f2\u5f8b\u5bbe\",\n    \"loc_en\": \"Philippines\",\n    \"deadline\": \"\",\n    \"link_rules\": \"#\",\n    \"link_reg\": \"#\"\n  },\n  {\n    \"date\": \"11 \u6708\",\n    \"cat\": \"team\",\n    \"cn\": \"\u7b2c\u4e8c\u5341\u4e00\u5c4a\u201c\u8336\u9633\u676f\u201d\u5168\u56fd\u5c0f\u5b66\u6821\u9645\u8c61\u68cb\u56e2\u4f53\u8d5b\",\n    \"en\": \"21st Char Yong Cup National Primary School Team\",\n    \"loc_cn\": \"\u5f85\u5b9a\",\n    \"loc_en\": \"TBC\",\n    \"deadline\": \"\",\n    \"link_rules\": \"#\",\n    \"link_reg\": \"#\"\n  },\n  {\n    \"date\": \"12 \u6708\",\n    \"cat\": \"open\",\n    \"cn\": \"\u7b2c\u5341\u4e09\u5c4a\u201c\u56fe\u9f99\u676f\u201d\u5168\u56fd\u8c61\u68cb\u4e2a\u4eba\u516c\u5f00\u8d5b\",\n    \"en\": \"13th Tu Long Cup Individual Open\",\n    \"loc_cn\": \"\u78a7\u5c71\u4f1a\u6240\",\n    \"loc_en\": \"Bishan Clubhouse\",\n    \"deadline\": \"\",\n    \"link_rules\": \"#\",\n    \"link_reg\": \"#\"\n  }\n];\n    \/\/ ============================================================\n    \/\/ \ud83d\udc46 END SNIPPET HERE\n    \/\/ ============================================================\n\n    \/\/ --- CONFIGURATION ---\n    const DISPLAY_MODE = \"3months\"; \/\/ Change to \"all\" to show full list\n    const CONTAINER_ID = \"xq-calendar-wrapper\";\n    const ui = {\n        cn: { title: \"\ud83d\udcc5 \u8fd1\u671f\u8d5b\u4e8b\", searchPlaceholder: \"\u641c\u7d22...\", empty: \"\u8fd1\u671f\u65e0\u6bd4\u8d5b\", open: \"\u516c\u5f00\u7ec4\", student: \"\u5b66\u751f\u7ec4\", team: \"\u56e2\u4f53\u7ec4\", general: \"\u6d3b\u52a8\", date: \"\u65e5\u671f\", event: \"\u8d5b\u4e8b \/ \u5730\u70b9\", cat: \"\u7ec4\u522b\", rules: \"\u7ae0\u7a0b\", reg: \"\u62a5\u540d\" },\n        en: { title: \"\ud83d\udcc5 Upcoming Events\", searchPlaceholder: \"Search...\", empty: \"No upcoming events\", open: \"Open\", student: \"Student\", team: \"Team\", general: \"General\", date: \"Date\", event: \"Event \/ Location\", cat: \"Cat.\", rules: \"Rules\", reg: \"Reg\" }\n    };\n    let curLang = 'cn';\n    let isSearchOpen = false;\n\n    \/\/ --- HELPERS ---\n    function parseDate(dateStr) {\n        const match = dateStr.match(\/(\\d+)\\s*\u6708\/);\n        if (!match) return null;\n        const month = parseInt(match[1], 10);\n        const today = new Date();\n        let year = today.getFullYear();\n        if ((today.getMonth() + 1) > 9 && month < 4) year++;\n        return new Date(year, month - 1, 1); \n    }\n\n    \/\/ --- STYLES ---\n    const styleId = 'xq-cal-styles-engine-v10';\n    if (!document.getElementById(styleId)) {\n        const css = `\n            :root {\n                --xq-dark: #213448; --xq-med: #547792; --xq-lite: #94B4C1;\n                --xq-warm: #EAE0CF; --xq-white: #ffffff; --xq-glass: rgba(234, 224, 207, 0.4); \n            }\n            #${CONTAINER_ID} { font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; background: var(--xq-white); border: 1px solid var(--xq-lite); border-radius: 8px; overflow: hidden; max-width: 100%; box-shadow: 0 4px 12px -2px rgba(33,52,72,0.15); margin-bottom: 20px; }\n            .xq-header { display: flex; justify-content: space-between; align-items: center; padding: 12px 15px; background: var(--xq-dark); color: var(--xq-warm); border-bottom: 3px solid var(--xq-med); }\n            .xq-header h3 { margin: 0; font-size: 1.1em; font-weight: 700; color: var(--xq-warm); letter-spacing: 0.5px; }\n            .xq-controls-right { display: flex; align-items: center; gap: 10px; }\n            .xq-header select { padding: 4px 8px; border-radius: 4px; border: none; font-size: 0.85em; background: var(--xq-med); color: var(--xq-white); cursor: pointer; }\n            .btn-search-toggle { background: none; border: none; color: var(--xq-warm); cursor: pointer; font-size: 1.1em; padding: 4px; transition: 0.2s; }\n            .xq-search-bar { background: #f1f5f9; padding: 10px; border-bottom: 1px solid var(--xq-lite); display: none; }\n            .xq-search-bar.active { display: block; animation: xqFadeDown 0.2s ease-out; }\n            .xq-search-bar input { width: 100%; box-sizing: border-box; padding: 8px 12px; border: 1px solid var(--xq-lite); border-radius: 4px; font-size: 14px; outline: none; }\n            .xq-scroll { overflow-x: auto; }\n            .xq-table { width: 100%; border-collapse: separate; border-spacing: 0; min-width: 600px; }\n            .xq-table th { background: var(--xq-warm); color: var(--xq-dark); font-weight: 700; padding: 10px 12px; text-align: left; font-size: 0.8em; text-transform: uppercase; border-bottom: 2px solid var(--xq-lite); }\n            .xq-table td { padding: 12px; border-bottom: 1px solid #f1f5f9; font-size: 0.9em; vertical-align: middle; color: var(--xq-dark); }\n            .tag { display: inline-block; padding: 3px 8px; border-radius: 4px; font-size: 0.75em; font-weight: 600; white-space: nowrap; }\n            .tag.open { background: var(--xq-dark); color: var(--xq-warm); }\n            .tag.student { background: var(--xq-lite); color: var(--xq-dark); }\n            .tag.team { background: var(--xq-med); color: var(--xq-white); }\n            .tag.general { background: var(--xq-warm); color: var(--xq-dark); border: 1px solid var(--xq-lite); }\n            .btn-action { text-decoration: none; display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 4px; font-size: 14px; transition: 0.2s; }\n            .btn-doc { background: #fff; border: 1px solid var(--xq-lite); color: var(--xq-med); } \n            .btn-reg { background: var(--xq-med); color: white; border: 1px solid var(--xq-med); }\n            @keyframes xqFadeDown { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:translateY(0); } }\n            @media (min-width: 601px) {\n                .xq-table tr .xq-td:has(~ .xq-td:hover) { background: linear-gradient(to right, rgba(255,255,255,0), var(--xq-glass)) !important; border-right: 1px dashed var(--xq-lite); }\n                .xq-table:has(.xq-td:nth-child(1):hover) .xq-td:nth-child(1), .xq-table:has(.xq-td:nth-child(2):hover) .xq-td:nth-child(2), .xq-table:has(.xq-td:nth-child(3):hover) .xq-td:nth-child(3), .xq-table:has(.xq-td:nth-child(4):hover) .xq-td:nth-child(4), .xq-table:has(.xq-td:nth-child(5):hover) .xq-td:nth-child(5) { background-color: #fdfbf7 !important; }\n                .xq-table tr .xq-td:hover { background: linear-gradient(135deg, var(--xq-warm) 0%, #fff 100%) !important; box-shadow: inset 0 0 0 1px var(--xq-lite); cursor: crosshair; }\n            }\n            @media (max-width: 600px) { \n                .xq-table thead { display: none; }\n                .xq-table, .xq-table tbody, .xq-table tr, .xq-table td { display: block; width: 100%; }\n                .xq-table tr { border: 1px solid var(--xq-lite); border-radius: 8px; margin: 10px; box-sizing: border-box; overflow: hidden; background: #fff; }\n                .xq-table td { padding: 8px 15px; border: none; box-sizing: border-box; }\n                .xq-table td:nth-child(1) { background: var(--xq-warm); color: var(--xq-dark); font-weight: 700; border-bottom: 1px solid var(--xq-lite); }\n                .xq-table td:nth-child(2) { padding-top: 12px; font-size: 1.05em; font-weight: 600; }\n                .xq-table td:nth-child(4), .xq-table td:nth-child(5) { display: inline-block; width: auto; padding-bottom: 15px; }\n            }\n        `;\n        const style = document.createElement(\"style\");\n        style.id = styleId;\n        style.innerHTML = css;\n        document.head.appendChild(style);\n    }\n\n    function render() {\n        const wrapper = document.getElementById(CONTAINER_ID);\n        if (!wrapper) return;\n        const txt = ui[curLang];\n        const searchInput = document.getElementById(\"xq-search-input\");\n        const searchTerm = searchInput ? searchInput.value.toLowerCase() : \"\";\n\n        let displayEvents = eventsData.filter(item => {\n            const str = (item.cn + item.en + item.loc_cn + item.loc_en + item.date).toLowerCase();\n            return str.includes(searchTerm);\n        });\n\n        if (DISPLAY_MODE === \"3months\" && searchTerm === \"\") {\n            const startWindow = new Date(); startWindow.setDate(1); startWindow.setHours(0, 0, 0, 0);\n            const endWindow = new Date(startWindow); endWindow.setMonth(startWindow.getMonth() + 3);\n            displayEvents = displayEvents.filter(e => {\n                const dObj = parseDate(e.date);\n                return dObj ? (dObj >= startWindow && dObj <= endWindow) : true;\n            });\n        }\n\n        let html = `\n            <div class=\"xq-header\">\n                <h3>${txt.title}<\/h3>\n                <div class=\"xq-controls-right\">\n                    <button id=\"xq-btn-search\" class=\"btn-search-toggle\">\ud83d\udd0d<\/button>\n                    <select id=\"xq-lang-toggle\"><option value=\"cn\" ${curLang==='cn'?'selected':''}>\u4e2d\u6587<\/option><option value=\"en\" ${curLang==='en'?'selected':''}>English<\/option><\/select>\n                <\/div>\n            <\/div>\n            <div id=\"xq-search-container\" class=\"xq-search-bar ${isSearchOpen?'active':''}\"><input type=\"text\" id=\"xq-search-input\" placeholder=\"${txt.searchPlaceholder}\" value=\"${searchTerm}\"><\/div>\n            <div class=\"xq-scroll\"><table class=\"xq-table\"><thead><tr><th width=\"18%\">${txt.date}<\/th><th width=\"42%\">${txt.event}<\/th><th width=\"15%\">${txt.cat}<\/th><th width=\"10%\" style=\"text-align:center\">${txt.rules}<\/th><th width=\"15%\" style=\"text-align:center\">${txt.reg}<\/th><\/tr><\/thead><tbody>\n        `;\n\n        if (displayEvents.length === 0) {\n            html += `<tr><td colspan=\"5\" style=\"text-align:center; padding:30px; font-style:italic;\">${txt.empty}<\/td><\/tr>`;\n        } else {\n            displayEvents.forEach(item => {\n                const name = curLang === \"cn\" ? item.cn : item.en;\n                const loc = curLang === \"cn\" ? item.loc_cn : item.loc_en;\n                const btnRules = (item.link_rules && item.link_rules !== \"#\") ? `<a href=\"${item.link_rules}\" target=\"_blank\" class=\"btn-action btn-doc\">\ud83d\udcc4<\/a>` : `<span style=\"opacity:0.2\">\ud83d\udcc4<\/span>`;\n                const btnReg = (item.link_reg && item.link_reg !== \"#\") ? `<a href=\"${item.link_reg}\" target=\"_blank\" class=\"btn-action btn-reg\">\ud83d\udd17<\/a>` : `<span style=\"opacity:0.2\">\ud83d\udd17<\/span>`;\n\n                html += `<tr>\n                    <td class=\"xq-td\" style=\"font-feature-settings:'tnum'; color:var(--xq-med); font-weight:600\">${item.date}<\/td>\n                    <td class=\"xq-td\"><b style=\"color:var(--xq-dark)\">${name}<\/b><div style=\"font-size:0.85em; color:var(--xq-lite); margin-top:2px\">${loc}<\/div><\/td>\n                    <td class=\"xq-td\"><span class=\"tag ${item.cat}\">${txt[item.cat]}<\/span><\/td>\n                    <td class=\"xq-td\" style=\"text-align:center\">${btnRules}<\/td>\n                    <td class=\"xq-td\" style=\"text-align:center\">${btnReg}<\/td>\n                <\/tr>`;\n            });\n        }\n        html += `<\/tbody><\/table><\/div>`;\n        wrapper.innerHTML = html;\n\n        document.getElementById(\"xq-lang-toggle\").onchange = (e) => { curLang = e.target.value; render(); };\n        document.getElementById(\"xq-btn-search\").onclick = () => { isSearchOpen = !isSearchOpen; render(); if(isSearchOpen) setTimeout(() => document.getElementById(\"xq-search-input\").focus(), 50); };\n        const input = document.getElementById(\"xq-search-input\");\n        if (input) { \n            input.oninput = () => render(); \n            if(isSearchOpen) { input.focus(); const v = input.value; input.value = ''; input.value = v; }\n        }\n    }\n    render();\n})();\n<\/script>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.xiangqi.sg\/xqsite\/\u5168\u5e74\u6d3b\u52a8\u8868\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u5168\u5e74\u6d3b\u52a8<\/a><\/div>\n<\/div>\n\n\n\n<p><\/p>\n\n\n\n<style>\n\/* ============================================================\n   \u65b0\u52a0\u5761\u8c61\u68cb\u603b\u4f1a \u2014 Unified WordPress Internal CSS\n   Paste this into WordPress Customizer \u2192 Additional CSS\n   or into a site-wide HTML\/CSS block.\n   ============================================================ *\/\n\n\/* \u2500\u2500 Design Tokens (matching index page) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n:root {\n  --xq-crimson:       #8c2f39;\n  --xq-crimson-dark:  #6e242d;\n  --xq-gold:          #e4a855;\n  --xq-gold-light:    #f0d6a8;\n  --xq-cream:         #fdf8f0;\n  --xq-text:          #1c1c1c;\n  --xq-text-light:    #5a5a5a;\n  --xq-bg:            #fafafa;\n  --xq-white:         #ffffff;\n  --xq-radius:        12px;\n  --xq-radius-sm:     8px;\n  --xq-shadow:        0 4px 20px rgba(0, 0, 0, 0.08);\n  --xq-shadow-hover:  0 8px 30px rgba(0, 0, 0, 0.12);\n  --xq-transition:    0.3s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   1. GLOBAL NAVIGATION BAR\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\n\/* \u2500\u2500 Kill gap above nav \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\nhtml, body {\n  margin-top: 0 !important;\n  padding-top: 0 !important;\n}\n\n.wp-site-blocks,\n.wp-block-template-part,\nheader.wp-block-template-part,\n.site-header {\n  margin-top: 0 !important;\n  padding-top: 0 !important;\n}\n\n\/* \u2500\u2500 Fix nav container constraint \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\nheader.wp-block-template-part > div,\nheader.wp-block-template-part .wp-block-group,\n.wp-block-group.is-layout-constrained:has(.wp-block-navigation) {\n  padding: 0 !important;\n  margin: 0 !important;\n  max-width: 100% !important;\n  width: 100% !important;\n}\n\n\/* \u2500\u2500 Main Nav Container \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.wp-block-navigation,\nnav.wp-block-navigation {\n  background: linear-gradient(135deg, var(--xq-crimson) 0%, var(--xq-crimson-dark) 100%) !important;\n  padding: 0 24px !important;\n  font-family: \"Noto Sans SC\", \"PingFang SC\", \"Microsoft YaHei\", sans-serif !important;\n  border-bottom: 3px solid var(--xq-gold) !important;\n  box-shadow: 0 2px 12px rgba(110, 36, 45, 0.3) !important;\n  position: sticky !important;\n  top: 0 !important;\n  z-index: 999 !important;\n  margin: 0 !important;\n  width: 100% !important;\n  max-width: 100% !important;\n  box-sizing: border-box !important;\n  display: block !important;\n  left: 0 !important;\n  right: 0 !important;\n}\n\n\/* \u2500\u2500 Force inner container to full width \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.wp-block-navigation > .wp-block-navigation__inner-container,\n.wp-block-navigation .wp-block-navigation__container,\n.wp-block-navigation > ul {\n  width: 100% !important;\n  max-width: 100% !important;\n  display: flex !important;\n  flex-wrap: wrap !important;\n  align-items: center !important;\n  margin: 0 !important;\n  padding: 0 !important;\n}\n\n\/* \u2500\u2500 Nav Link Items \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.wp-block-navigation .wp-block-navigation-item__content,\n.wp-block-navigation .wp-block-navigation-item__label,\n.wp-block-navigation-item__content.wp-block-navigation-item__content,\n.wp-block-navigation.has-black-color,\n.wp-block-navigation .has-black-color {\n  color: #ffffff !important;\n  font-weight: 500 !important;\n  font-size: 0.95em !important;\n  letter-spacing: 0.3px !important;\n  transition: var(--xq-transition) !important;\n  text-decoration: none !important;\n}\n\n\/* \u2500\u2500 Nav Link Hover \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.wp-block-navigation .wp-block-navigation-item__content:hover,\n.wp-block-navigation .wp-block-navigation-item__content:focus {\n  color: var(--xq-gold) !important;\n}\n\n\/* Gold underline on hover *\/\n.wp-block-navigation .wp-block-navigation-item__content::after {\n  content: \"\" !important;\n  display: block !important;\n  width: 0 !important;\n  height: 2px !important;\n  background: var(--xq-gold) !important;\n  transition: width var(--xq-transition) !important;\n  margin-top: 2px !important;\n}\n\n.wp-block-navigation .wp-block-navigation-item__content:hover::after {\n  width: 100% !important;\n}\n\n\/* \u2500\u2500 Current \/ Active Page \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.wp-block-navigation .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,\n.wp-block-navigation .wp-block-navigation-item--active > .wp-block-navigation-item__content {\n  color: var(--xq-gold) !important;\n  font-weight: 700 !important;\n}\n\n.wp-block-navigation .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content::after {\n  width: 100% !important;\n}\n\n\/* \u2500\u2500 Submenu \/ Dropdown \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.wp-block-navigation .wp-block-navigation__submenu-container,\n.wp-block-navigation .has-child .wp-block-navigation__submenu-container {\n  background: var(--xq-crimson-dark) !important;\n  border: 1px solid rgba(228, 168, 85, 0.2) !important;\n  border-radius: var(--xq-radius-sm) !important;\n  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25) !important;\n  padding: 8px 0 !important;\n  min-width: 200px !important;\n}\n\n.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {\n  padding: 10px 20px !important;\n  font-size: 0.9em !important;\n}\n\n.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {\n  background: rgba(228, 168, 85, 0.15) !important;\n  color: var(--xq-gold) !important;\n}\n\n\/* \u2500\u2500 Nav Item Spacing \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.wp-block-navigation .wp-block-navigation-item {\n  padding: 14px 6px !important;\n  margin: 0 !important;\n}\n\n\/* \u2500\u2500 Buttons \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.wp-block-button__link.wp-element-button,\n.wp-block-button__link.wp-element-button:visited,\n.entry-content .wp-block-button__link,\n.entry-content .wp-block-button__link:visited,\n.page-content .wp-block-button__link,\n.page-content .wp-block-button__link:visited {\n  background: var(--xq-gold) !important;\n  color: var(--xq-crimson-dark) !important;\n  font-weight: 700 !important;\n  border-radius: 25px !important;\n  padding: 12px 28px !important;\n  border: 2px solid var(--xq-gold) !important;\n  box-shadow: 0 4px 15px rgba(228, 168, 85, 0.4) !important;\n  transition: background var(--xq-transition), color var(--xq-transition), border-color var(--xq-transition), box-shadow var(--xq-transition) !important;\n  text-decoration: none !important;\n  border-bottom: 2px solid var(--xq-gold) !important;\n  font-size: 0.95em !important;\n  display: inline-block !important;\n  transform: none !important;\n}\n\n.wp-block-button__link.wp-element-button:hover,\n.wp-block-button__link.wp-element-button:focus,\n.entry-content .wp-block-button__link:hover,\n.entry-content .wp-block-button__link:focus,\n.page-content .wp-block-button__link:hover,\n.page-content .wp-block-button__link:focus {\n  background: var(--xq-crimson) !important;\n  color: #ffffff !important;\n  border: 2px solid var(--xq-crimson) !important;\n  border-bottom: 2px solid var(--xq-crimson) !important;\n  box-shadow: 0 6px 20px rgba(140, 47, 57, 0.4) !important;\n  transform: none !important;\n}\n\n\/* \u2500\u2500 Hamburger \/ Toggle Button \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.wp-block-navigation__responsive-container-open,\n.wp-block-navigation button.wp-block-navigation__responsive-container-open {\n  color: var(--xq-gold) !important;\n}\n\n\/* \u2500\u2500 Mobile Nav \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n@media (max-width: 991px) {\n  .wp-block-navigation,\n  nav.wp-block-navigation {\n    padding: 0 16px !important;\n  }\n\n  .wp-block-navigation__responsive-container,\n  .wp-block-navigation__responsive-container-content {\n    background: linear-gradient(180deg, var(--xq-crimson-dark) 0%, var(--xq-crimson) 100%) !important;\n    margin: 0 !important;\n    padding: 0 !important;\n  }\n\n  .wp-block-navigation__responsive-container ul,\n  .wp-block-navigation__responsive-container-content ul {\n    margin: 0 !important;\n    padding: 0 !important;\n    gap: 0 !important;\n    \/* Do NOT set display:block here \u2014 breaks close button *\/\n  }\n\n  .wp-block-navigation__responsive-container .wp-block-navigation-item,\n  .wp-block-navigation__responsive-container li {\n    padding: 0 !important;\n    margin: 0 !important;\n  }\n\n  .wp-block-navigation__responsive-container .wp-block-navigation-item__content {\n    color: #ffffff !important;\n    padding: 14px 24px !important;\n    font-size: 1.05em !important;\n    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;\n    display: block !important;\n    margin: 0 !important;\n  }\n\n  .wp-block-navigation__responsive-container .wp-block-navigation-item__content:hover {\n    color: var(--xq-gold) !important;\n    background: rgba(228, 168, 85, 0.1) !important;\n  }\n\n  .wp-block-navigation__responsive-container-close {\n    position: relative !important;\n    z-index: 9999 !important;\n    pointer-events: auto !important;\n    cursor: pointer !important;\n  }\n\n  .wp-block-navigation__responsive-container-close,\n  .wp-block-navigation__responsive-container-close svg {\n    color: var(--xq-gold) !important;\n    fill: var(--xq-gold) !important;\n  }\n\n  .wp-block-navigation__responsive-container .wp-block-navigation__submenu-container {\n    background: rgba(0, 0, 0, 0.15) !important;\n    border: none !important;\n    box-shadow: none !important;\n    border-radius: 0 !important;\n    padding-left: 16px !important;\n    margin: 0 !important;\n  }\n}\n\n\/* \u2500\u2500 Fix close button being covered by ul \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n.wp-block-navigation__responsive-container-close {\n  position: absolute !important;\n  top: 12px !important;\n  right: 16px !important;\n  z-index: 99999 !important;\n  pointer-events: auto !important;\n  cursor: pointer !important;\n}\n\n.wp-block-navigation__responsive-container {\n  position: relative !important;\n}\n\n.wp-block-navigation__responsive-container-content {\n  padding-top: 56px !important;\n}\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   2. SITE LOGO & BRANDING (if present)\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n.wp-block-site-logo img,\n.custom-logo {\n  max-height: 48px !important;\n  width: auto !important;\n}\n\n.wp-block-site-title a {\n  color: var(--xq-gold) !important;\n  font-weight: 800 !important;\n  text-decoration: none !important;\n  font-size: 1.2em !important;\n}\n\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   3. PAGE BODY \u2014 Unified Base Styles\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\n\/* Page background *\/\nbody:not(.home) {\n  font-family: \"Noto Sans SC\", \"PingFang SC\", \"Microsoft YaHei\", \"Helvetica Neue\", Arial, sans-serif !important;\n  background: var(--xq-bg) !important;\n  color: var(--xq-text) !important;\n  line-height: 1.7 !important;\n  -webkit-font-smoothing: antialiased !important;\n}\n\n\/* Content area *\/\n.entry-content,\n.wp-block-post-content,\n.page-content,\nmain {\n  max-width: 1200px;\n  margin-left: auto;\n  margin-right: auto;\n  padding: 30px 20px;\n}\n\n\/* Page titles *\/\n.entry-title,\nh1.wp-block-post-title {\n  font-size: 2.2em !important;\n  font-weight: 800 !important;\n  color: var(--xq-crimson) !important;\n  margin-bottom: 20px !important;\n  letter-spacing: -0.5px !important;\n}\n\n\/* Section headings *\/\nh2 {\n  font-size: 1.6em !important;\n  font-weight: 700 !important;\n  color: var(--xq-crimson) !important;\n  margin-top: 32px !important;\n  margin-bottom: 16px !important;\n}\n\nh3 {\n  font-size: 1.3em !important;\n  font-weight: 600 !important;\n  color: var(--xq-crimson-dark) !important;\n}\n\n\/* Links (body text) *\/\n.entry-content a,\n.page-content a {\n  color: var(--xq-crimson) !important;\n  text-decoration: none !important;\n  border-bottom: 1px solid transparent !important;\n  transition: var(--xq-transition) !important;\n}\n\n.entry-content a:hover,\n.page-content a:hover {\n  color: var(--xq-crimson-dark) !important;\n  border-bottom-color: var(--xq-gold) !important;\n}\n\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   4. TABS (wc_tabgroup) \u2014 Rankings Page\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\n.wc-shortcodes-tabgroup,\n.wc-shortcodes-tabs-layout-box {\n  background: var(--xq-white) !important;\n  border-radius: var(--xq-radius) !important;\n  box-shadow: var(--xq-shadow) !important;\n  overflow: hidden !important;\n  border: 1px solid rgba(140, 47, 57, 0.1) !important;\n}\n\n.wc-shortcodes-tabgroup .wc-shortcodes-tabs,\n.wc-shortcodes-tabs-layout-box .wc-shortcodes-tabs {\n  background: linear-gradient(135deg, var(--xq-crimson) 0%, var(--xq-crimson-dark) 100%) !important;\n  border-bottom: 3px solid var(--xq-gold) !important;\n  padding: 0 !important;\n  display: flex !important;\n  flex-wrap: wrap !important;\n  gap: 0 !important;\n}\n\n.wc-shortcodes-tabgroup .wc-shortcodes-tabs li a,\n.wc-shortcodes-tabs-layout-box .wc-shortcodes-tabs li a {\n  color: rgba(255, 255, 255, 0.85) !important;\n  font-weight: 600 !important;\n  font-size: 0.95em !important;\n  padding: 14px 22px !important;\n  background: transparent !important;\n  border: none !important;\n  border-bottom: none !important;\n  border-radius: 0 !important;\n  transition: var(--xq-transition) !important;\n  white-space: nowrap !important;\n}\n\n.wc-shortcodes-tabgroup .wc-shortcodes-tabs li a:hover,\n.wc-shortcodes-tabs-layout-box .wc-shortcodes-tabs li a:hover {\n  color: #ffffff !important;\n  background: rgba(255, 255, 255, 0.1) !important;\n  border-bottom: none !important;\n}\n\n.wc-shortcodes-tabgroup .wc-shortcodes-tabs li.active a,\n.wc-shortcodes-tabs-layout-box .wc-shortcodes-tabs li.active a,\n.wc-shortcodes-tabgroup .wc-shortcodes-tabs li.resp-tab-active a {\n  color: var(--xq-crimson-dark) !important;\n  background: var(--xq-gold) !important;\n  font-weight: 700 !important;\n  border-bottom: none !important;\n}\n\n.wc-shortcodes-tabgroup .wc-shortcodes-tab-content,\n.wc-shortcodes-tabs-layout-box .wc-shortcodes-tab-content {\n  padding: 24px !important;\n  background: var(--xq-white) !important;\n  font-size: 0.95em !important;\n  line-height: 1.7 !important;\n}\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   5. TABLES \u2014 Rankings \/ Data Tables\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\n\/* TablePress & custom tables *\/\n.tablepress,\n.custom-table,\ntable.tablepress,\n.wc-shortcodes-tab-content table {\n  width: 100% !important;\n  border-collapse: separate !important;\n  border-spacing: 0 !important;\n  border-radius: var(--xq-radius-sm) !important;\n  overflow: hidden !important;\n  font-size: 0.9em !important;\n  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06) !important;\n}\n\n\/* Table header *\/\n.tablepress thead th,\n.custom-table th,\n.wc-shortcodes-tab-content table th {\n  background: linear-gradient(135deg, var(--xq-crimson) 0%, var(--xq-crimson-dark) 100%) !important;\n  color: #ffffff !important;\n  font-weight: 700 !important;\n  padding: 12px 16px !important;\n  text-align: left !important;\n  font-size: 0.85em !important;\n  text-transform: uppercase !important;\n  letter-spacing: 0.5px !important;\n  border-bottom: 3px solid var(--xq-gold) !important;\n}\n\n\/* Table cells *\/\n.tablepress td,\n.custom-table td,\n.wc-shortcodes-tab-content table td {\n  padding: 10px 16px !important;\n  border-bottom: 1px solid #f0ebe3 !important;\n  color: var(--xq-text) !important;\n  vertical-align: middle !important;\n}\n\n\/* Alternating rows *\/\n.tablepress .odd td,\n.custom-table tr:nth-child(odd) td,\n.wc-shortcodes-tab-content table tr:nth-child(odd) td {\n  background: var(--xq-white) !important;\n}\n\n.tablepress .even td,\n.custom-table tr:nth-child(even) td,\n.wc-shortcodes-tab-content table tr:nth-child(even) td {\n  background: var(--xq-cream) !important;\n}\n\n\/* Row hover *\/\n.tablepress tbody tr:hover td,\n.custom-table tr:hover td,\n.wc-shortcodes-tab-content table tbody tr:hover td {\n  background: var(--xq-gold-light) !important;\n  transition: background var(--xq-transition) !important;\n}\n\n\/* Responsive table *\/\n@media (max-width: 768px) {\n  .tablepress,\n  .custom-table,\n  .wc-shortcodes-tab-content table {\n    display: block !important;\n    overflow-x: auto !important;\n    -webkit-overflow-scrolling: touch !important;\n  }\n\n  .tablepress td,\n  .tablepress th,\n  .custom-table td,\n  .custom-table th {\n    padding: 8px 12px !important;\n    font-size: 0.85em !important;\n    white-space: nowrap !important;\n  }\n}\n\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   6. TIMELINE PAGE \u2014 Tournament Archives\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\n\/* Override timeline colors to match index *\/\n.timeline-page .hero-section,\n.hero-section {\n  background: linear-gradient(135deg, var(--xq-crimson) 0%, var(--xq-crimson-dark) 50%, var(--xq-gold) 100%) !important;\n  border-radius: var(--xq-radius) !important;\n}\n\n.hero-title {\n  color: #ffffff !important;\n  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;\n}\n\n.hero-subtitle {\n  color: rgba(255, 255, 255, 0.9) !important;\n}\n\n\/* Filter buttons *\/\n.filter-section label {\n  background: var(--xq-crimson) !important;\n  color: #ffffff !important;\n  border-radius: 25px !important;\n  font-weight: 600 !important;\n  transition: var(--xq-transition) !important;\n}\n\n.filter-section label:hover {\n  background: var(--xq-gold) !important;\n  color: var(--xq-crimson-dark) !important;\n  transform: translateY(-2px) !important;\n}\n\n\/* Active filter *\/\n#all:checked ~ .filter-wrapper .filter-section label[for=\"all\"],\n#national:checked ~ .filter-wrapper .filter-section label[for=\"national\"],\n#open:checked ~ .filter-wrapper .filter-section label[for=\"open\"],\n#student:checked ~ .filter-wrapper .filter-section label[for=\"student\"],\n#team:checked ~ .filter-wrapper .filter-section label[for=\"team\"],\n#individual:checked ~ .filter-wrapper .filter-section label[for=\"individual\"] {\n  background: var(--xq-gold) !important;\n  color: var(--xq-crimson-dark) !important;\n  box-shadow: 0 4px 15px rgba(228, 168, 85, 0.4) !important;\n}\n\n\/* Timeline cards *\/\n.timeline-card {\n  border-radius: var(--xq-radius) !important;\n  box-shadow: var(--xq-shadow) !important;\n  border: 1px solid rgba(140, 47, 57, 0.08) !important;\n  transition: var(--xq-transition) !important;\n}\n\n.timeline-card:hover {\n  box-shadow: var(--xq-shadow-hover) !important;\n  transform: translateY(-4px) !important;\n}\n\n\/* Timeline accent line *\/\n.timeline-card::before {\n  background: var(--xq-gold) !important;\n}\n\n.timeline-year {\n  color: var(--xq-crimson) !important;\n}\n\n.quarter-label {\n  color: var(--xq-crimson) !important;\n  border-left-color: var(--xq-gold) !important;\n}\n\n\/* Timeline vertical line *\/\n.timeline-wrapper::before {\n  background: linear-gradient(to bottom, var(--xq-gold), var(--xq-crimson), var(--xq-gold)) !important;\n  width: 3px !important;\n}\n\n\/* Event list links in timeline *\/\n.timeline-card .event-list a {\n  color: var(--xq-text) !important;\n}\n\n.timeline-card .event-list a:hover {\n  color: var(--xq-crimson) !important;\n}\n\n.timeline-card .event-list a::after {\n  background-color: var(--xq-gold) !important;\n}\n\n\/* Competition name badge *\/\n.comp-name {\n  background: var(--xq-cream) !important;\n  border-color: var(--xq-gold-light) !important;\n  color: var(--xq-crimson) !important;\n}\n\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   7. EVENT CARDS (general pages)\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\n.event-card {\n  border-radius: var(--xq-radius) !important;\n  box-shadow: var(--xq-shadow) !important;\n  border: 1px solid rgba(140, 47, 57, 0.06) !important;\n  transition: var(--xq-transition) !important;\n}\n\n.event-card:hover {\n  box-shadow: var(--xq-shadow-hover) !important;\n  transform: translateY(-4px) !important;\n}\n\n.event-card .event-title {\n  color: var(--xq-crimson) !important;\n}\n\n.event-card .event-badge {\n  background: linear-gradient(135deg, var(--xq-crimson) 0%, var(--xq-crimson-dark) 100%) !important;\n}\n\n\/* CTA buttons on all pages *\/\n.event-card .cta-button,\n.timeline-page .cta-button,\na.cta-button {\n  background: var(--xq-gold) !important;\n  color: var(--xq-crimson-dark) !important;\n  font-weight: 700 !important;\n  border-radius: 25px !important;\n  box-shadow: 0 4px 15px rgba(228, 168, 85, 0.4) !important;\n  transition: var(--xq-transition) !important;\n  border-bottom: none !important;\n}\n\n.event-card .cta-button:hover,\n.timeline-page .cta-button:hover,\na.cta-button:hover {\n  background: var(--xq-gold-light) !important;\n  transform: translateY(-2px) !important;\n  box-shadow: 0 6px 20px rgba(228, 168, 85, 0.5) !important;\n}\n\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   8. CALENDAR WIDGET \u2014 Color Harmony Override\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\n#xq-calendar-wrapper .xq-header {\n  background: linear-gradient(135deg, var(--xq-crimson) 0%, var(--xq-crimson-dark) 100%) !important;\n  border-bottom-color: var(--xq-gold) !important;\n}\n\n#xq-calendar-wrapper .xq-header h3 {\n  color: var(--xq-gold-light) !important;\n}\n\n#xq-calendar-wrapper .xq-header select {\n  background: rgba(228, 168, 85, 0.3) !important;\n  color: #ffffff !important;\n}\n\n#xq-calendar-wrapper .xq-table th {\n  background: var(--xq-cream) !important;\n  color: var(--xq-crimson-dark) !important;\n  border-bottom-color: var(--xq-gold) !important;\n}\n\n#xq-calendar-wrapper .tag.open {\n  background: var(--xq-crimson-dark) !important;\n  color: var(--xq-gold-light) !important;\n}\n\n#xq-calendar-wrapper .tag.team {\n  background: var(--xq-crimson) !important;\n  color: #ffffff !important;\n}\n\n#xq-calendar-wrapper .tag.student {\n  background: var(--xq-gold-light) !important;\n  color: var(--xq-crimson-dark) !important;\n}\n\n#xq-calendar-wrapper .tag.general {\n  background: var(--xq-cream) !important;\n  color: var(--xq-crimson-dark) !important;\n  border-color: var(--xq-gold) !important;\n}\n\n#xq-calendar-wrapper .btn-reg {\n  background: var(--xq-gold) !important;\n  border-color: var(--xq-gold) !important;\n  color: var(--xq-crimson-dark) !important;\n}\n\n#xq-calendar-wrapper .btn-doc {\n  border-color: var(--xq-gold-light) !important;\n  color: var(--xq-crimson) !important;\n}\n\n#xq-calendar-wrapper {\n  border-color: rgba(140, 47, 57, 0.15) !important;\n  border-radius: var(--xq-radius) !important;\n}\n\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   9. FOOTER\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\nfooter,\n.wp-block-template-part footer,\n.site-footer {\n  background: linear-gradient(135deg, var(--xq-crimson-dark) 0%, var(--xq-crimson) 100%) !important;\n  color: rgba(255, 255, 255, 0.85) !important;\n  padding: 30px 20px !important;\n  text-align: center !important;\n  border-top: 3px solid var(--xq-gold) !important;\n}\n\nfooter a,\n.site-footer a {\n  color: var(--xq-gold) !important;\n  border-bottom: none !important;\n}\n\nfooter a:hover,\n.site-footer a:hover {\n  color: var(--xq-gold-light) !important;\n}\n\n.back-to-top {\n  color: var(--xq-gold) !important;\n}\n\n.back-to-top:hover {\n  color: var(--xq-gold-light) !important;\n}\n\n\n\/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n   10. UTILITY \u2014 Smooth Global Transitions\n   \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n\nhtml {\n  scroll-behavior: smooth;\n}\n\n::selection {\n  background: var(--xq-gold);\n  color: var(--xq-crimson-dark);\n}\n\n\/* Scrollbar (Webkit) *\/\n::-webkit-scrollbar {\n  width: 8px;\n  height: 8px;\n}\n\n::-webkit-scrollbar-track {\n  background: var(--xq-cream);\n}\n\n::-webkit-scrollbar-thumb {\n  background: var(--xq-crimson);\n  border-radius: 4px;\n}\n\n::-webkit-scrollbar-thumb:hover {\n  background: var(--xq-crimson-dark);\n}\n\n\n\n<\/style>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":7,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4125","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/www.xiangqi.sg\/wordpress\/wp-json\/wp\/v2\/pages\/4125","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.xiangqi.sg\/wordpress\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www.xiangqi.sg\/wordpress\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www.xiangqi.sg\/wordpress\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"http:\/\/www.xiangqi.sg\/wordpress\/wp-json\/wp\/v2\/comments?post=4125"}],"version-history":[{"count":32,"href":"http:\/\/www.xiangqi.sg\/wordpress\/wp-json\/wp\/v2\/pages\/4125\/revisions"}],"predecessor-version":[{"id":8220,"href":"http:\/\/www.xiangqi.sg\/wordpress\/wp-json\/wp\/v2\/pages\/4125\/revisions\/8220"}],"wp:attachment":[{"href":"http:\/\/www.xiangqi.sg\/wordpress\/wp-json\/wp\/v2\/media?parent=4125"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}