:root{--red:#8B1A1A;--red-dk:#5C0E0E;--gold:#B8860B;--gold-lt:#D4A017;--white:#FFFFFF;--offwhite:#F7F4EF;--light:#EDE8DF;--border:#DDD5C4;--text:#1A1209;--muted:#6B5B45;--nav-bg:#1C0A0A;--tag-bg:#F0EAE0;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Source Sans 3','Noto Serif SC',sans-serif;background:var(--offwhite);color:var(--text);font-size:15px;line-height:1.6;}
a{text-decoration:none;color:inherit;}
img{display:block;max-width:100%;}

/* TOP BAR */
#topbar{background:var(--nav-bg);padding:6px 20px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:rgba(255,255,255,.55);border-bottom:1px solid rgba(255,255,255,.06);}
#topbar .mw{flex:1;overflow:hidden;white-space:nowrap;}
#topbar .mi{display:inline-block;animation:ticker 30s linear infinite;color:var(--gold-lt);font-size:12px;}
@keyframes ticker{from{transform:translateX(100vw);}to{transform:translateX(-100%);}}
.ls{display:flex;gap:4px;flex-shrink:0;margin-left:20px;}
.ls button{background:transparent;border:1px solid rgba(255,255,255,.25);color:rgba(255,255,255,.65);font-size:11px;padding:2px 10px;cursor:pointer;border-radius:2px;transition:all .15s;font-family:'Source Sans 3','Noto Serif SC',sans-serif;}
.ls button.active,.ls button:hover{background:var(--gold);border-color:var(--gold);color:#fff;}

/* HEADER */
header{display:block;background:#fff;border-bottom:3px solid var(--gold);line-height:0;}
header a{display:block;}
header img{width:100%;max-height:120px;object-fit:contain;object-position:center;display:block;}

/* NAV */
nav{background:var(--red);border-bottom:1px solid rgba(0,0,0,.15);position:sticky;top:0;z-index:900;}
.ni{display:flex;align-items:stretch;max-width:1200px;margin:0 auto;position:relative;}
.nv{position:relative;}
.nv>a{display:flex;align-items:center;gap:4px;padding:13px 18px;color:#fff;font-size:13.5px;font-weight:600;letter-spacing:.04em;white-space:nowrap;transition:background .15s;}
.nv>a:hover,.nv:hover>a,.nv>a.active-nav{background:var(--red-dk);}
.nv>a .arr{font-size:9px;opacity:.6;}
.dd{display:none;position:absolute;top:100%;left:0;background:var(--nav-bg);border:1px solid rgba(255,255,255,.08);border-top:2px solid var(--gold);min-width:200px;z-index:999;box-shadow:0 6px 20px rgba(0,0,0,.35);}
.nv:hover .dd{display:block;}
.dd a{display:block;padding:9px 16px;font-size:13px;color:rgba(255,255,255,.8);border-bottom:1px solid rgba(255,255,255,.05);transition:background .15s,color .15s;}
.dd a:hover{background:#2A0E0E;color:var(--gold-lt);}

/* PAGE BANNER (sub-pages) */
.page-banner{background:linear-gradient(135deg,var(--red-dk),var(--red));padding:36px 24px;text-align:center;border-bottom:3px solid var(--gold);position:relative;overflow:hidden;}
.page-banner::before{content:'☸';position:absolute;right:40px;top:50%;transform:translateY(-50%);font-size:120px;color:rgba(255,255,255,.04);line-height:1;}
.page-banner h2{font-family:'Source Serif 4','Noto Serif SC',serif;font-size:clamp(1.4rem,3vw,2rem);color:#fff;font-weight:600;}
.page-banner .zh-title{font-family:'Noto Serif SC',serif;color:var(--gold-lt);font-size:1rem;letter-spacing:.2em;display:block;margin-top:6px;}
.breadcrumb{font-size:.78rem;color:rgba(255,255,255,.45);margin-top:10px;}
.breadcrumb a{color:rgba(255,255,255,.6);}
.breadcrumb a:hover{color:var(--gold-lt);}

/* LAYOUT */
.pw{max-width:1200px;margin:0 auto;padding:0 16px;}
.main-2col{display:grid;grid-template-columns:1fr 300px;gap:24px;padding:28px 0 48px;}
@media(max-width:860px){.main-2col{grid-template-columns:1fr;}.sb{display:none;}}
.main-full{padding:28px 0 48px;}

/* SECTION LABEL */
.sl{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--border);}
.sl::before{content:'';display:block;width:4px;height:18px;background:var(--red);border-radius:2px;flex-shrink:0;}
.sl h2{font-family:'Source Serif 4','Noto Serif SC',serif;font-size:1rem;font-weight:600;color:var(--red-dk);letter-spacing:.03em;}
.sl .zsub{font-family:'Noto Serif SC',serif;font-size:.8rem;color:var(--muted);}
.sl .ml{margin-left:auto;font-size:12px;color:var(--gold);font-weight:600;}

/* SIDEBAR */
.sb{display:flex;flex-direction:column;gap:20px;}
.wg{background:var(--white);border:1px solid var(--border);}
.wh{background:var(--red);color:#fff;padding:9px 14px;font-size:.82rem;font-weight:600;letter-spacing:.06em;}
.wb{padding:14px;}
.ll{display:flex;flex-direction:column;}
.ll a{display:flex;align-items:center;gap:6px;padding:7px 0;font-size:.82rem;color:var(--text);border-bottom:1px solid var(--border);transition:color .15s;}
.ll a:last-child{border:none;}
.ll a::before{content:'▸';color:var(--red);font-size:10px;flex-shrink:0;}
.ll a:hover{color:var(--red);}
.ll a .zh{font-family:'Noto Serif SC',serif;}
.qb{border-left:3px solid var(--gold);padding:10px 12px;background:#FFFBF3;}
.qt{font-family:'Source Serif 4','Noto Serif SC',serif;font-style:italic;font-size:.85rem;color:var(--text);line-height:1.6;}
.qt .zh{font-family:'Noto Serif SC',serif;font-style:normal;}
.qs{font-size:.72rem;color:var(--gold);margin-top:8px;font-weight:600;}

/* CARDS */
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;}
.card{background:var(--white);border:1px solid var(--border);overflow:hidden;transition:box-shadow .2s;}
.card:hover{box-shadow:0 4px 16px rgba(0,0,0,.1);}
.card-img{height:140px;background:linear-gradient(135deg,var(--light),#DDD5C4);display:flex;align-items:center;justify-content:center;font-size:48px;color:rgba(139,26,26,.15);}
.card-body{padding:14px;}
.card-tag{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-bottom:5px;}
.card-title{font-family:'Source Serif 4','Noto Serif SC',serif;font-size:.92rem;font-weight:600;color:var(--text);line-height:1.4;margin-bottom:6px;}
.card-title .zh{font-family:'Noto Serif SC',serif;}
.card-excerpt{font-size:.82rem;color:var(--muted);line-height:1.5;}
.card-excerpt .zh{font-family:'Noto Serif SC',serif;}
.card-date{font-size:.75rem;color:#A89070;margin-top:8px;}
.read-link{font-size:.78rem;color:var(--red);font-weight:600;margin-top:8px;display:inline-block;}

/* TABLE */
.data-table{width:100%;border-collapse:collapse;background:var(--white);font-size:.88rem;}
.data-table th{background:var(--red);color:#fff;padding:10px 14px;text-align:left;font-weight:600;font-size:.82rem;letter-spacing:.05em;}
.data-table th .zh{font-family:'Noto Serif SC',serif;}
.data-table td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:top;}
.data-table td .zh{font-family:'Noto Serif SC',serif;}
.data-table tr:hover td{background:var(--tag-bg);}
.badge{display:inline-block;padding:2px 8px;font-size:.7rem;font-weight:600;border-radius:2px;}
.badge-red{background:var(--red);color:#fff;}
.badge-gold{background:var(--gold);color:#fff;}
.badge-green{background:#2E7D32;color:#fff;}
.badge-blue{background:#1565C0;color:#fff;}

/* DHARMA BANNER */
.db{background:var(--red-dk);border-top:2px solid var(--gold);border-bottom:2px solid var(--gold);padding:24px;text-align:center;}
.db p{font-family:'Source Serif 4','Noto Serif SC',serif;font-style:italic;font-size:clamp(.95rem,2vw,1.15rem);color:rgba(255,255,255,.9);max-width:680px;margin:0 auto;line-height:1.7;}
.db p .zh{font-family:'Noto Serif SC',serif;font-style:normal;}
.db .attr{font-size:.78rem;color:var(--gold-lt);margin-top:10px;letter-spacing:.08em;}

/* FOOTER */
.fl{background:#1C0A0A;padding:24px;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:center;border-top:1px solid rgba(255,255,255,.06);}
.fl a{font-size:.78rem;color:rgba(255,255,255,.45);transition:color .15s;}
.fl a:hover{color:var(--gold-lt);}
.fl a .zh{font-family:'Noto Serif SC',serif;}
footer{background:var(--nav-bg);border-top:1px solid rgba(255,255,255,.05);padding:16px 24px;text-align:center;font-size:.75rem;color:rgba(255,255,255,.3);letter-spacing:.05em;}

/* BILINGUAL */
body.zh [lang-en]{display:none!important;}
body:not(.zh) [lang-zh]{display:none!important;}

/* REVEAL */
.fi{opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease;}
.fi.visible{opacity:1;transform:none;}

/* FORM ELEMENTS */
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-size:.85rem;font-weight:600;color:var(--text);margin-bottom:5px;}
.form-group label .zh{font-family:'Noto Serif SC',serif;}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:9px 12px;border:1px solid var(--border);background:var(--white);font-family:'Source Sans 3','Noto Serif SC',sans-serif;font-size:.9rem;color:var(--text);border-radius:2px;transition:border-color .15s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--red);}
.form-group textarea{resize:vertical;min-height:100px;}
.btn{display:inline-block;padding:10px 28px;background:var(--red);color:#fff;font-size:.9rem;font-weight:600;letter-spacing:.06em;border:none;cursor:pointer;transition:background .15s;font-family:'Source Sans 3',sans-serif;}
.btn:hover{background:var(--red-dk);}
.btn-gold{background:var(--gold);}
.btn-gold:hover{background:var(--gold-lt);}
.info-box{background:var(--white);border:1px solid var(--border);border-left:3px solid var(--red);padding:16px 18px;margin-bottom:18px;font-size:.88rem;color:var(--muted);}
.info-box .zh{font-family:'Noto Serif SC',serif;}
.info-box strong{color:var(--text);}
