:root{--paper:#ece7da;--ink:#172c29;--muted:#526159;--red:#a33429;--jade:#102a27;--line:#b8b9a9;--gold:#c8b58a}*{box-sizing:border-box}html{scroll-padding-top:110px;overflow-anchor:none}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Arial,"Taiji Han","Taiji Rare","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:Georgia,"Taiji Han","Taiji Rare","Songti SC",SimSun,serif;font-weight:400;line-height:1.16}h1{font-size:clamp(38px,4.7vw,68px)}h2{font-size:clamp(28px,3vw,42px)}a{color:inherit;text-decoration:none}a,button{touch-action:manipulation}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}a:hover{color:var(--red)}::selection{background:var(--red);color:white}.wrap{width:min(1280px,88%);margin:auto}.skip{position:fixed;top:-90px;left:16px;z-index:50;background:white;padding:12px 24px}.skip:focus{top:10px}.header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 6%;min-height:86px;background:#ece7daf7;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px}.brand>span{font:25px Georgia,"Taiji Han","Taiji Rare",serif;letter-spacing:4px}.brand small{display:block;font-size:12px;letter-spacing:1px;margin-top:4px}.header nav{display:flex;gap:32px}.header nav a{padding:26px 0 23px;border-bottom:3px solid transparent;font-size:15px}.header nav a[aria-current=page]{border-color:var(--red)}.language{background:none;border:0;display:flex;gap:10px;align-items:center;padding:12px 0;min-height:46px;font-size:14px;white-space:nowrap;color:var(--muted)}.language strong{color:var(--red)}.hero{height:480px;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero-art{width:100%;height:100%;object-fit:cover;object-position:center 40%;position:absolute}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#ece7daf2,#ece7dace 34%,transparent 68%);pointer-events:none}.hero-copy{position:relative;z-index:1;margin:auto;width:88%;padding-top:45px}.eyebrow{font-size:13px;line-height:1.5;letter-spacing:1.8px;text-transform:uppercase;color:var(--red)}.hero h1{font-size:100px;letter-spacing:9px;line-height:.95;margin:21px 0}.hero h1 span{display:block;font-size:42px;line-height:1.2;letter-spacing:0;margin-top:12px}.hero-intro{max-width:445px;font-size:17px;line-height:1.65}.hero-links{display:flex;align-items:center;gap:28px;margin-top:27px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 22px;font-size:15px}.primary{background:var(--red);color:#fff8eb}.primary:hover{background:#80281f;color:white}.text-link{display:inline-block;border-bottom:1px solid var(--red);padding-bottom:3px;font-size:15px}.hero-seal{position:absolute;right:6%;top:34px;z-index:1;background:var(--red);color:var(--paper);font:24px/1.3 "Taiji Han","Taiji Rare",SimSun,serif;padding:9px 12px;border:1px solid #dec6a1;outline:3px solid var(--red)}.collection{padding:52px 0 62px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:29px}.section-heading h2{margin-top:12px}.section-heading>p{max-width:420px;color:var(--muted)}.category-index{display:grid;grid-template-columns:repeat(3,1fr);column-gap:36px}.category-link{display:grid;grid-template-columns:24px 1fr 30px;gap:13px;align-items:center;border-top:1px solid var(--line);padding:20px 0;min-height:94px}.category-number{font:13px Georgia,"Taiji Han","Taiji Rare",serif;color:var(--red);align-self:start;padding-top:3px}.category-link strong{font:23px/1.2 Georgia,"Taiji Han","Taiji Rare","Songti SC",serif}.category-link small{display:block;color:var(--muted);font-size:14px;margin-top:6px}.category-count{font:17px Georgia,"Taiji Han","Taiji Rare",serif;text-align:right}.home-about{border-top:1px solid var(--line);padding:45px 0 65px;display:grid;grid-template-columns:120px 1fr;gap:34px;max-width:1000px}.home-about>img{margin-top:38px}.home-about h2{margin:9px 0 15px}.home-about p:not(.eyebrow){max-width:750px;margin-bottom:20px}.catalogue-head{padding:48px 0 33px}.catalogue-head h1{margin:13px 0 22px}.catalogue-meta{display:flex;justify-content:space-between;gap:30px;color:var(--muted)}.catalogue-meta span{font-size:14px}.catalogue-layout{display:grid;grid-template-columns:235px 1fr;gap:50px;padding-bottom:70px}.category-nav{position:sticky;top:110px;display:flex;flex-direction:column}.category-nav a{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:9px 12px;border-left:2px solid transparent;font-size:15px}.category-nav a.selected{background:#dcded1;border-color:var(--red);color:var(--red)}.category-nav span{font-size:13px;color:var(--muted)}.catalogue-section{margin-bottom:42px}.category-heading{border-top:2px solid var(--ink);padding:19px 0;display:flex;align-items:baseline;justify-content:space-between;gap:20px}.category-heading h2{font-size:31px}.category-heading>span{font-size:14px;white-space:nowrap;color:var(--muted)}.entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:34px}.entry{display:grid;grid-template-columns:minmax(0,1fr) 32px;column-gap:10px;border-bottom:1px solid #b8b9a988;padding:15px 0;min-height:91px;align-content:center}.card-name{font:21px/1.25 Georgia,"Taiji Han","Taiji Rare","Songti SC",SimSun,serif;overflow-wrap:anywhere}.alternate{grid-column:1;color:var(--muted);font-size:14px;line-height:1.4;margin-top:5px}.entry-no{grid-column:2;grid-row:1 / span 2;color:var(--muted);font:13px Georgia,"Taiji Han","Taiji Rare",serif;align-self:center;text-align:right}.detail{padding:26px 0 60px}.breadcrumb{display:flex;gap:13px;flex-wrap:wrap;color:var(--muted);font-size:14px;margin-bottom:31px}.breadcrumb a{border-bottom:1px solid var(--line)}.detail-grid{display:grid;grid-template-columns:minmax(280px,440px) minmax(0,1fr);gap:clamp(35px,6vw,90px);align-items:start}.card-figure{position:sticky;top:116px}.full-card{width:100%;height:auto;display:block;border-radius:12px;background:#d8d6cb;box-shadow:0 15px 32px #142e2926;object-fit:contain}.card-figure figcaption{display:flex;justify-content:space-between;gap:16px;font-size:13px;line-height:1.6;color:var(--muted);margin-top:17px}.card-figure figcaption a{border-bottom:1px solid var(--line)}.card-content h1{margin:15px 0 12px;font-size:clamp(35px,4vw,58px);overflow-wrap:anywhere}.card-hanzi{font:28px/1.5 "Taiji Han","Taiji Rare","Songti SC",SimSun,serif;letter-spacing:3px;color:var(--red);margin-bottom:20px}.classification{font-size:14px;color:var(--muted);margin-bottom:18px}.card-content section{border-top:1px solid var(--line);padding-top:24px;margin-top:25px}.card-content h2{font-size:25px;margin-bottom:15px}.card-content p+p{margin-top:12px}.source-caption,.provenance{font-size:13px;color:var(--muted);line-height:1.6;margin-top:16px!important}.provenance{overflow-wrap:anywhere}details{margin-top:18px;border-top:1px solid #b8b9a980;padding-top:12px}summary{cursor:pointer;font-size:14px;font-weight:600;padding:5px 0}blockquote{margin:18px 0 12px;padding-left:18px;border-left:2px solid var(--red);font:20px/1.9 "Taiji Han","Taiji Rare","Songti SC",SimSun,serif;overflow-wrap:anywhere}.translation-note{font-size:14px;color:var(--muted);padding-bottom:12px}.editorial p{font-size:15px;margin-top:12px}.card-rules>p{white-space:pre-line}.card-pagination{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:33px;padding-top:20px;border-top:1px solid var(--line)}.card-pagination a:last-child{text-align:right}.card-pagination small{display:block;font-size:13px;color:var(--muted)}.card-pagination span{font:19px/1.4 Georgia,"Taiji Han","Taiji Rare","Songti SC",serif;display:block;margin-top:5px}.background-hero{background:linear-gradient(90deg,#102a27fa,#102a278c),url('/assets/mountains.webp') center 44%/cover;color:var(--paper);padding:60px 0}.background-hero .eyebrow{color:var(--gold);margin-bottom:20px}.reading{max-width:860px;padding:30px 0 75px}.reading-nav{display:flex;gap:28px;flex-wrap:wrap;font-size:15px;border-bottom:1px solid var(--line);padding-bottom:20px}.reading section{padding-top:47px}.section-label{font-size:13px;color:var(--red);letter-spacing:1.5px}.reading h2{margin:13px 0 24px}.reading p+p{margin-top:20px}.reading p{font-size:18px;line-height:1.85}.reading .citations{font-size:14px}.citations a{text-decoration:underline;text-underline-offset:4px}.balance-inline{display:flex;gap:28px;background:#dde0d2;padding:25px;margin-top:25px;align-items:center}.balance-inline p{font-size:15px}.polarity-controls{display:flex;gap:10px;margin:12px 0}.polarity-controls button{padding:6px 16px;background:transparent;border:1px solid var(--line);min-height:44px}.polarity-controls [aria-pressed=true]{background:var(--jade);color:var(--paper)}.reading .button{margin-top:26px}.footer{padding:27px 6%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:14px;background:#e0dfd2}.footer>div{display:flex;gap:26px;flex-wrap:wrap}.footer a{text-decoration:underline;text-underline-offset:4px}.missing{padding:80px 0}.missing .button{margin-top:30px}main:focus{outline:none}
@media(min-width:1700px){.hero-copy{max-width:1280px}}
@media(max-width:1000px){.catalogue-layout{grid-template-columns:190px 1fr;gap:28px}.category-nav a{font-size:14px}.category-index{column-gap:25px}.category-link strong{font-size:21px}.detail-grid{grid-template-columns:minmax(250px,38%) 1fr;gap:35px}.entries{column-gap:23px}.hero h1{font-size:88px}.header nav{gap:20px}.catalogue-meta{display:block}.catalogue-meta span{display:block;margin-top:8px}}
@media(max-width:720px){html{scroll-padding-top:126px}.wrap{width:88%}.header{flex-wrap:wrap;gap:0;min-height:111px;padding:11px 6% 0}.brand>span{font-size:22px}.brand small{font-size:11px}.brand img{width:26px;height:26px}.header nav{order:3;width:100%;justify-content:space-between;gap:15px}.header nav a{font-size:14px;padding:9px 0 10px}.language{font-size:14px;padding:7px 0}.hero{height:495px}.hero-copy{padding-top:33px}.hero:after{background:linear-gradient(90deg,#ece7daf5,#ece7daaa 65%,#ece7da55)}.hero-art{object-position:60% center}.hero h1{font-size:80px;letter-spacing:5px;margin:24px 0}.hero h1 span{font-size:35px}.hero-intro{max-width:390px;font-size:16px;line-height:1.65}.hero-links{align-items:start;gap:16px;flex-wrap:wrap;margin-top:24px}.hero-links .text-link{margin-top:9px}.hero-seal{display:none}.hero .eyebrow{font-size:12px;max-width:290px}.section-heading{display:block}.section-heading>p{margin-top:18px}.collection{padding:35px 0 38px}.category-index{grid-template-columns:1fr 1fr;column-gap:23px}.category-link{grid-template-columns:1fr 25px;gap:9px;padding:17px 0}.category-number{display:none}.category-link strong{font-size:21px}.category-link small{font-size:13px}.category-count{font-size:15px}.home-about{grid-template-columns:1fr;padding:32px 0 42px;gap:20px}.home-about>img{display:none}.catalogue-head{padding:31px 0 24px}.catalogue-head h1{font-size:40px}.catalogue-layout{display:block}.catalogue-layout aside{margin-bottom:28px}.category-nav{position:static;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;padding-bottom:10px;gap:10px}.category-nav a{white-space:nowrap;border:1px solid var(--line);padding:10px 12px;font-size:14px}.category-nav a.selected{border:1px solid var(--red)}.category-nav span{display:none}.category-heading h2{font-size:29px}.entries{grid-template-columns:1fr}.entry{min-height:81px}.card-name{font-size:22px}.catalogue-section{margin-bottom:30px}.detail{padding-top:20px}.breadcrumb{font-size:13px;gap:9px;margin-bottom:24px}.detail-grid{display:flex;flex-direction:column;gap:33px}.card-figure{position:static;width:min(100%,420px);margin:auto}.card-content{width:100%}.card-content h1{font-size:40px}.card-hanzi{font-size:26px}.background-hero{padding:37px 0}.background-hero h1{font-size:43px}.reading{padding-top:25px}.reading-nav{gap:20px}.reading section{padding-top:37px}.reading p{font-size:17px}.balance-inline{padding:19px;gap:20px}.balance-inline>img{width:45px;height:45px}.footer{display:block;font-size:13px}.footer>div{margin-top:13px;gap:20px}.eyebrow{font-size:12px}.card-pagination span{font-size:18px}}
@media(max-width:380px){.hero{height:545px}.hero h1{font-size:70px}.hero h1 span{font-size:30px}.category-index{grid-template-columns:1fr}.header nav a{font-size:13px}.balance-inline>img{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Introduction, original identity and learning pages. */
.header{background:#102a27;color:#f2ecdf;border-bottom-color:#3c5148;min-height:92px}
.header .brand{display:block;flex-shrink:0;padding:9px 0}
.header .brand img{display:block;width:136px;height:auto;object-fit:contain}
.header nav{gap:28px}.header nav a{padding:29px 0 25px}.header nav a:hover{color:#dcc08e}
.header nav a[aria-current=page]{border-color:#d8b576}
.language-switch{display:flex;align-items:center;gap:6px;white-space:nowrap;color:#8eaaa0}
.language-switch button{border:0;border-bottom:2px solid transparent;color:#c2cec6;background:transparent;min-height:44px;padding:6px;font-size:14px}
.language-switch [aria-pressed=true]{color:#fff4dc;border-bottom-color:#d8b576;font-weight:700}
.language-switch button:hover{color:white}
.intro-hero{position:relative;overflow:hidden;color:#f2ecdf;background:#102a27}
.intro-landscape{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;opacity:.25}
.intro-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#102a27f2 10%,#102a2799 55%,#102a2730);pointer-events:none}
.intro-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:8%;align-items:center;padding:68px 0 72px}
.intro-hero .eyebrow{color:#dfc591;font-size:12px;letter-spacing:1.6px;max-width:430px}
.intro-hero h1{font-size:clamp(42px,4.7vw,70px);line-height:1.08;margin:20px 0 24px}
.intro-hero p{max-width:590px;line-height:1.75}.intro-hero p+p{margin-top:16px;color:#d5dfd2;font-size:16px}
.intro-lead{font-size:20px}.intro-hero .text-link{border-color:#d6b981}.intro-hero .text-link:hover{color:#dfc591}
.intro-emblem{text-align:center}.intro-emblem img{width:100%;max-width:430px;height:auto;object-fit:contain;display:block;margin:auto}
.intro-emblem figcaption{font:30px/1.4 Georgia,"Taiji Han","Taiji Rare","Songti SC",SimSun,serif;letter-spacing:3px;margin-top:26px;color:#dfc591}
.welcome{padding:60px 0 76px}.welcome h2{font-size:43px;margin-top:14px}.welcome-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin-top:42px}
.welcome-paths article{border-top:1px solid var(--line);padding-top:25px;display:flex;align-items:start;flex-direction:column}
.welcome-paths h3{font-size:27px;margin:16px 0}.welcome-paths p{line-height:1.8;color:var(--muted);font-size:16px;margin-bottom:23px}.welcome-paths .text-link{margin-top:auto}
.reading h3{font-size:29px;margin:28px 0 18px}.source-reading{margin:30px 0;border-top:1px solid var(--line);padding:4px 0 12px}
.source-reading blockquote{font-size:25px;line-height:1.8;margin:22px 0;color:var(--red);border-left-color:var(--red)}
.reading .source-reading p{font-size:17px;line-height:1.85}.reading .source-reading .citations{font-size:14px}
.game-connection{background:#dde0d2;padding:2px 28px 28px;margin-top:34px}.game-connection p{font-size:17px}.game-connection .text-link{margin-top:19px}
.reading-nav a:hover{color:var(--red)}.play-guide{max-width:1020px}
.reading .rulebook-panel{padding:30px;margin-top:10px;background:#dde0d2;border-left:4px solid var(--red)}
.rulebook-panel h2{font-size:33px;margin-bottom:17px}.rulebook-panel p{max-width:760px;font-size:17px}
.download-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:25px}.download-actions .button{margin:0}
.download-actions>a:not(.button){font-size:15px;border-bottom:1px solid var(--red)}
.english-guide{max-width:810px;margin:auto}.guide-language-note{margin-top:30px;font-size:16px!important;color:var(--red)}
.turn-steps{padding-left:25px;font-size:17px;line-height:1.8}.turn-steps li{padding-left:9px;margin-bottom:18px}.turn-steps li::marker{color:var(--red)}
.classical-source h2{margin-bottom:20px}.passage-reference{font-size:15px;line-height:1.7}.passage-reference span{display:block;color:var(--muted);margin-top:4px}
.matched-passage details{margin-top:12px}.matched-passage blockquote{max-height:520px;overflow:auto;padding-right:12px;scrollbar-color:var(--line) transparent}
.matched-passage+.matched-passage{margin-top:25px}.classical-source>.citations{font-size:13px}
@media(max-width:1000px){.header{gap:20px}.header nav{gap:19px}.header nav a{font-size:14px}.header .brand img{width:115px}.intro-grid{gap:6%;padding:52px 0}.intro-emblem figcaption{font-size:25px}.welcome-paths{gap:27px}.welcome-paths h3{font-size:25px}}
@media(max-width:720px){html{scroll-padding-top:140px}.header{display:grid;grid-template-columns:1fr auto;gap:0 20px;padding:4px 6% 0}.header .brand{padding:8px 0}.header .brand img{width:108px}.header nav{grid-column:1/-1;grid-row:2;display:flex;justify-content:space-between;gap:12px;width:100%;order:initial}.header nav a{padding:8px 0 12px;font-size:13px}.language-switch{grid-column:2;grid-row:1}.language-switch button{font-size:13px}.intro-grid{display:flex;flex-direction:column-reverse;gap:27px;padding:32px 0 40px}.intro-emblem img{width:230px;max-width:100%}.intro-emblem figcaption{display:none}.intro-hero h1{font-size:43px;margin:15px 0 21px}.intro-hero .eyebrow{font-size:11px;letter-spacing:1.3px}.intro-lead{font-size:18px}.intro-hero p+p{font-size:16px}.intro-hero .hero-links{flex-direction:row;flex-wrap:wrap;gap:23px;margin-top:27px}.welcome{padding:37px 0 48px}.welcome h2{font-size:34px}.welcome-paths{display:block;margin-top:27px}.welcome-paths article{padding:24px 0 29px}.welcome-paths h3{font-size:26px;margin:13px 0}.welcome-paths p{font-size:16px;margin-bottom:17px}.reading h3{font-size:26px}.source-reading blockquote{font-size:22px}.game-connection{padding:1px 20px 23px}.reading .rulebook-panel{padding:21px 18px}.rulebook-panel h2{font-size:29px}.rulebook-panel p{font-size:16px}.download-actions{display:block;margin-top:23px}.download-actions .button{font-size:14px;width:100%;padding:12px 14px;line-height:1.55;text-align:center}.download-actions>a:not(.button){display:inline-block;margin-top:19px}.turn-steps{padding-left:22px;font-size:16px}.reading .source-reading p{font-size:16px}.background-hero h1{font-size:40px}.card-figure{scroll-margin-top:140px}}
@media(max-width:380px){.header nav{gap:8px}.header nav a{font-size:12px}.intro-hero h1{font-size:38px}.intro-grid{padding-top:27px}.intro-emblem img{width:205px}}

.reader{max-width:1060px;padding-top:45px;padding-bottom:70px}.reader-heading{margin-bottom:30px}.reader-heading h1{font-size:45px;margin:12px 0 17px}.reader-heading p{line-height:1.7;margin-bottom:15px}.reader-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding:15px 0;border-top:1px solid var(--line)}.reader-page-controls,.reader-view-controls{display:flex;align-items:center;gap:12px}.reader-page-controls label{display:flex;align-items:center;gap:8px}.reader-control,.reader-toolbar button,.reader-toolbar select{min-height:44px;border:1px solid var(--line);padding:10px 13px;background:#f6f1e6;color:var(--ink);font:inherit;border-radius:2px}.reader-toolbar button{cursor:pointer}.reader-toolbar button:disabled{opacity:.35;cursor:default}.reader-toolbar button:hover:not(:disabled),.reader-control:hover{border-color:var(--red);color:var(--red)}.reader-view-controls span{font-size:14px;min-width:40px;text-align:center}.reader-document{min-width:0}#pdf-status{font-size:14px;line-height:1.6;margin:10px 0 14px;color:var(--muted)}#pdf-viewport{scrollbar-gutter:stable;overflow:auto;max-height:78vh;background:#ccc9bf;padding:10px;scrollbar-color:#88877d #ccc9bf}#pdf-canvas{display:block;background:#fff;box-shadow:0 2px 9px #0003}#pdf-canvas:not([data-rendered]){visibility:hidden}#pdf-transcript{margin-top:20px;font-size:15px}#pdf-transcript summary{cursor:pointer;padding:12px 0}#pdf-page-text{white-space:pre-wrap;line-height:1.7;padding:20px;background:#eee8db;max-height:50vh;overflow:auto}.reader-download{margin-top:28px}.reader-download .source-caption{margin-top:14px}.reader-control:focus-visible,.reader-toolbar :focus-visible,#pdf-viewport:focus-visible{outline:2px solid var(--red);outline-offset:3px}
@media(max-width:720px){.reader{padding-top:29px}.reader-heading h1{font-size:35px}.reader-heading p{font-size:16px}.reader-toolbar{gap:13px}.reader-page-controls{justify-content:space-between;width:100%;gap:7px}.reader-page-controls label{font-size:14px;gap:5px}.reader-control,.reader-toolbar select{font-size:13px;padding:10px 8px}.reader-view-controls{justify-content:center;width:100%}.reader-download .button{display:block;text-align:center;font-size:14px;padding:12px 10px}#pdf-viewport{max-height:65vh}}

.menu-toggle{display:none}
@media(max-width:720px){
 html{scroll-padding-top:90px}
 .header{grid-template-columns:minmax(0,1fr) auto 44px;min-height:76px;gap:10px;padding:7px 5%;padding-top:max(7px,env(safe-area-inset-top));}
 .header .brand{padding:0;justify-self:start;min-width:0}
 .header .brand img{width:96px;max-width:100%;height:auto}
 .language-switch{grid-column:2;grid-row:1;gap:2px}
 .language-switch button{font-size:13px;padding:6px;min-height:44px}
 .language-switch>span{font-size:12px}
 .menu-toggle{grid-column:3;grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;border:1px solid #566c61;border-radius:3px;background:transparent;color:#f2ecdf}
 .menu-toggle span{display:block;width:20px;height:1.5px;background:currentColor}
 .header[data-menu-open=true] .menu-toggle{gap:0;position:relative}
 .header[data-menu-open=true] .menu-toggle span:nth-child(1){position:absolute;transform:rotate(45deg)}
 .header[data-menu-open=true] .menu-toggle span:nth-child(2){opacity:0}
 .header[data-menu-open=true] .menu-toggle span:nth-child(3){position:absolute;transform:rotate(-45deg)}
 .header nav{grid-area:auto;display:none;position:absolute;top:100%;left:0;right:0;width:100%;margin:0;padding:9px 5% 16px;background:#102a27;border-bottom:1px solid #566c61;box-shadow:0 12px 20px #102a271a;max-height:calc(100dvh - 85px);overflow:auto}
 .header[data-menu-open=true] nav{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .header nav a{display:block;font-size:16px;line-height:1.4;padding:14px 12px;min-height:50px;border-bottom:1px solid #344b41;border-left:2px solid transparent}
 .header nav a[aria-current=page]{border-bottom-color:#344b41;border-left-color:#d8b576;background:#1d3931;color:#fff0cb}
 .header nav a:last-child{border-bottom:0}
 .header a:focus-visible,.header button:focus-visible{outline:2px solid #e0c48b;outline-offset:2px}
 .card-figure{scroll-margin-top:90px}
}
@media(max-width:350px){.header{gap:6px;padding-left:14px;padding-right:14px}.header .brand img{width:84px}.language-switch button{padding:6px 5px}}

/* The game identity is permanent; this badge identifies its first edition. */
.header-edition{display:flex;align-items:center;flex-shrink:0;background:var(--paper);padding:8px 12px;border-radius:2px}
.header-edition img{display:block;width:124px;height:auto}
.edition-name{font:28px/1.45 Georgia,"Taiji Han","Taiji Rare","Songti SC",SimSun,serif;color:#e3c994;margin:0 0 20px}
.edition-name span{font:14px/1.4 Arial,"Taiji Han","Taiji Rare","Microsoft YaHei",sans-serif;display:block;margin-top:7px;letter-spacing:1px;color:#c9d1c4}
.intro-emblem .edition-logo{display:block;background:var(--paper);width:260px;max-width:100%;padding:16px 22px;margin:28px auto 0;border-radius:2px}
.intro-emblem .edition-logo img{width:100%;height:auto}
.first-print{padding:65px 0 70px;border-bottom:1px solid var(--line);scroll-margin-top:108px}
.print-heading{max-width:760px;margin-bottom:35px}.print-heading h2{margin:14px 0 20px}.print-heading>p:last-child{font-size:18px;color:var(--muted);max-width:690px}
.print-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:7%}
.deck-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:530px}.deck-pair img{display:block;width:100%;height:auto;border-radius:10px;box-shadow:0 10px 22px #142e2920}.deck-pair figcaption{margin-top:17px}.deck-pair h3{font-size:27px}.deck-pair figcaption span{font-size:14px;color:var(--muted)}
.interest-panel{border-top:3px solid var(--red);padding-top:25px}.interest-panel h3{font-size:30px;margin-bottom:15px}.interest-panel>p{color:var(--muted);font-size:16px;margin-bottom:23px}
#interest-form>label{display:block;margin-bottom:8px;font-size:15px}#interest-email{width:100%;min-height:50px;border:1px solid #7e8c7f;background:#f8f5ed;border-radius:2px;padding:10px 12px;font:inherit;color:var(--ink)}
#interest-form .beta-option{display:flex;align-items:flex-start;gap:12px;font-size:15px;line-height:1.6;margin:18px 0}.beta-option input{width:20px;height:20px;flex:0 0 20px;margin:2px 0 0;accent-color:var(--red)}
.interest-note{font-size:14px;line-height:1.7;color:var(--muted);margin:0 0 21px}#interest-form .button{border:0;font-size:16px;min-height:50px}#interest-form button:disabled{opacity:.65;cursor:wait}#interest-form input:focus-visible{outline:2px solid var(--red);outline-offset:3px}
#interest-status{font-size:15px;margin-top:15px;min-height:26px}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:1120px) and (min-width:721px){.header{padding-left:4%;padding-right:4%;gap:16px}.header nav{gap:16px}.header-edition{padding:7px 9px}.header-edition img{width:102px}.header .brand img{width:108px}}
@media(max-width:850px) and (min-width:721px){.header{gap:12px}.header nav{gap:13px}.header nav a{font-size:13px}.header-edition img{width:84px}.header .brand img{width:94px}.language-switch{gap:1px}.language-switch button{padding:6px 4px;font-size:13px}}
@media(max-width:720px){.header{grid-template-columns:minmax(0,1fr) auto 44px;row-gap:4px;padding-bottom:7px;min-height:92px}.header .brand{grid-row:1;grid-column:1}.header .brand img{width:90px}.header-edition{grid-column:1;grid-row:2;justify-self:start;padding:4px 8px}.header-edition img{width:90px}.language-switch{grid-row:1/3}.menu-toggle{grid-row:1/3}.intro-grid{flex-direction:column;padding-top:35px;gap:26px}.intro-emblem{display:none}.intro-hero h1{margin-top:13px;margin-bottom:13px;font-size:48px}.edition-name{font-size:27px}.edition-name span{font-size:14px}.first-print{padding:38px 0 45px;scroll-margin-top:115px}.print-heading{margin-bottom:27px}.print-heading h2{font-size:34px}.print-heading>p:last-child{font-size:16px}.print-grid{grid-template-columns:1fr;gap:35px}.deck-pair{gap:18px;width:100%;max-width:470px;margin:auto}.deck-pair h3{font-size:25px}.interest-panel h3{font-size:28px}.interest-panel .button{width:100%}.interest-note{font-size:14px}html{scroll-padding-top:115px}.card-figure{scroll-margin-top:115px}}

#interest-profile{margin-top:24px}#interest-profile>label{display:block;font-size:15px;margin:18px 0 8px}#interest-profile input,#interest-profile select{display:block;width:100%;min-height:50px;border:1px solid #7e8c7f;background:#f8f5ed;border-radius:2px;padding:10px 12px;font:inherit;color:var(--ink)}#interest-profile .interest-note{margin-top:13px}.profile-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.profile-actions .button{border:0;font-size:16px}#skip-profile{font:inherit;background:transparent;border:0;border-bottom:1px solid var(--red);padding:6px 0;min-height:44px}.signup-success{font:27px/1.3 Georgia,"Taiji Han","Taiji Rare","Songti SC",SimSun,serif;color:var(--red);margin:10px 0 15px}#interest-profile [role=status]{font-size:15px;margin-top:15px}#interest-profile input:focus-visible,#interest-profile select:focus-visible{outline:2px solid var(--red);outline-offset:3px}

/* First-print campaign: original card artwork staged as a face-off. */
.campaign-hero{position:relative;isolation:isolate;overflow:hidden;background:#081c20;color:#fff5e8;border-bottom:1px solid #bfa576}
.campaign-landscape{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:.24;filter:saturate(.65)}
.campaign-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 66% 49%,#e35b232b 0,transparent 38%),radial-gradient(ellipse at 98% 54%,#27c9d446 0,transparent 43%),linear-gradient(90deg,#071718ed 0%,#10201e8a 53%,#071c2566 100%)}
.campaign-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:35px;min-height:690px;align-items:center;padding:65px 0 62px}
.campaign-copy{position:relative;z-index:2;min-width:0}.campaign-kicker{font-size:14px;letter-spacing:3px;color:#edc68b;margin-bottom:22px;font-weight:700}
.campaign-copy h1{font-size:clamp(42px,4.4vw,66px);line-height:1.07;letter-spacing:-1.3px;margin-bottom:24px}.campaign-copy h1 em{font-style:normal;color:#f5bf77}
.campaign-edition{display:flex;align-items:center;gap:16px;margin:0 0 26px}.campaign-edition img{width:158px;height:auto;padding:8px 12px;background:#f0e7d7;flex-shrink:0}.campaign-edition span{font-size:14px;color:#c9cfca;max-width:145px;line-height:1.55}
.campaign-lead{font-size:18px;line-height:1.75;max-width:465px;color:#e4e4d8}.campaign-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-top:29px}.campaign-cta{background:#efb36c;color:#172624;font-size:17px;min-height:56px;padding:13px 28px;font-weight:700;box-shadow:0 5px 22px #d5662133;border:1px solid #ffd598}.campaign-cta:hover{background:#ffcc8b;color:#071b1d}.campaign-secondary{font-size:15px;border-bottom:1px solid #928c6d;padding-bottom:3px;color:#e6ddc9}.campaign-note{font-size:14px;color:#b9c8bf;margin-top:20px;max-width:450px}
.battle-stage{position:relative;min-width:0;height:520px;align-self:center}.battle-heading{position:absolute;top:0;left:1%;right:1%;display:flex;justify-content:space-between;gap:60px;font-family:Georgia,"Taiji Han","Taiji Rare","Songti SC",SimSun,serif;font-size:31px;letter-spacing:3px}.battle-heading span:first-child{color:#fac694}.battle-heading span:last-child{color:#afe0dc;text-align:right}
.battle-card{position:absolute;width:43%;top:93px;z-index:1}.battle-card img{display:block;width:100%;height:auto;border-radius:13px;box-shadow:0 20px 36px #0009}.battle-card figcaption{text-align:center;font-size:15px;letter-spacing:1px;margin-top:15px;line-height:1.4;font-weight:700}.battle-fire{left:1%;transform:rotate(-11deg);transform-origin:bottom center}.battle-fire img{box-shadow:-7px 8px 40px #e9723159,0 19px 34px #000a}.battle-water{right:1%;top:105px;transform:rotate(11deg);transform-origin:bottom center}.battle-water img{box-shadow:7px 8px 40px #24c9db59,0 19px 34px #000a}
.battle-versus{position:absolute;z-index:2;left:50%;top:47%;transform:translate(-50%,-50%) rotate(-8deg);font:bold italic 55px/1 Georgia,"Taiji Han","Taiji Rare","Songti SC",SimSun,serif;color:#ffdfaa;text-shadow:0 3px 4px #000,0 0 30px #1e2425;background:#112326e8;padding:16px 12px;border-top:1px solid #eac48a;border-bottom:1px solid #eac48a}
.battle-footnote{position:absolute;left:0;right:0;bottom:0;text-align:center;font-size:13px;letter-spacing:2px;color:#c8d4ca}
.campaign-signup{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:70px;padding-bottom:72px;align-items:start}.campaign-signup .print-heading{margin:0}.campaign-signup .print-heading h2{font-size:43px;line-height:1.16}.campaign-signup .print-heading>p:last-of-type{font-size:17px;line-height:1.8}.campaign-signup .interest-panel{padding:28px;background:#f5f0e5;border-top:4px solid var(--red);box-shadow:0 8px 30px #1a29200b}.campaign-signup .interest-panel>p{margin-bottom:22px}.campaign-signup .interest-panel .button{min-height:52px;width:100%;font-size:17px}.signup-deck-names{display:flex;gap:20px;align-items:center;margin-top:30px;font:30px/1.4 Georgia,"Taiji Han","Taiji Rare","Songti SC",SimSun,serif}.signup-deck-names span:first-child{color:#a74126}.signup-deck-names span:last-child{color:#28606c}.signup-deck-names small{font:20px Arial,"Taiji Han","Taiji Rare";color:#718078}
@media(min-width:1400px){.battle-card{width:41%}.battle-stage{height:590px}.battle-versus{top:47%}.campaign-grid{min-height:730px}}
@media(max-width:1050px) and (min-width:721px){.campaign-grid{gap:18px;grid-template-columns:1fr 1fr;min-height:660px;padding:48px 0}.campaign-copy h1{font-size:44px}.campaign-lead{font-size:16px}.campaign-edition{gap:12px}.campaign-edition img{width:133px}.battle-stage{height:430px}.battle-heading{font-size:23px;letter-spacing:1px}.battle-card{top:94px}.battle-water{top:102px}.battle-versus{font-size:39px;top:48%;padding:12px 8px}.battle-footnote{font-size:12px;letter-spacing:1px}.campaign-signup{gap:5%}.campaign-signup .print-heading h2{font-size:37px}}
@media(max-width:720px){.campaign-grid{grid-template-columns:1fr;gap:23px;padding:34px 0 31px;min-height:0}.campaign-copy h1{font-size:46px;line-height:1.08;letter-spacing:-.8px;margin-bottom:20px}.campaign-kicker{font-size:13px;letter-spacing:2px;margin-bottom:16px}.campaign-edition{margin-bottom:20px;gap:13px}.campaign-edition img{width:139px}.campaign-edition span{font-size:14px;max-width:none}.campaign-lead{font-size:16px;line-height:1.7}.campaign-actions{margin-top:23px;gap:14px}.campaign-cta{width:100%;font-size:17px;min-height:54px}.campaign-secondary{align-self:center;font-size:15px}.campaign-note{text-align:center;font-size:13px;margin-top:15px}.battle-stage{height:395px;width:min(100%,390px);margin:10px auto 0}.battle-heading{font-size:26px;letter-spacing:2px;left:4%;right:4%}.battle-card{width:40%;top:73px}.battle-fire{left:5%}.battle-water{right:5%;top:82px}.battle-versus{font-size:37px;top:44%;padding:11px 8px}.battle-footnote{font-size:12px;letter-spacing:1px;bottom:9px}.campaign-signup{display:block;padding-top:39px;padding-bottom:42px}.campaign-signup .print-heading h2{font-size:35px}.campaign-signup .print-heading>p:last-of-type{font-size:16px}.signup-deck-names{font-size:27px;margin-top:21px;gap:18px}.campaign-signup .interest-panel{margin-top:29px;padding:24px 19px}.campaign-hero:before{background:radial-gradient(ellipse at 0 82%,#db6c304d,transparent 42%),radial-gradient(ellipse at 100% 80%,#2dbecc57,transparent 42%),linear-gradient(#081d22da,#081d2260)}.campaign-signup .profile-actions{gap:14px}}
@media(max-width:350px){.campaign-copy h1{font-size:40px}.campaign-edition img{width:126px}.campaign-edition span{font-size:13px}.battle-stage{height:342px}.battle-heading{font-size:23px}.battle-card{top:70px}.battle-water{top:77px}.battle-versus{font-size:31px;top:45%}.campaign-signup .interest-panel{padding:22px 16px}.signup-deck-names{gap:14px;font-size:25px}}
@media(max-width:720px){.campaign-grid{gap:14px;padding-top:24px}.campaign-copy{display:contents}.campaign-kicker{order:0;margin:0}.campaign-copy h1{order:1;margin:0}.battle-stage{order:2;height:330px;margin:4px auto 0}.battle-card{top:56px}.battle-water{top:64px}.battle-versus{top:45%}.battle-footnote{bottom:0}.campaign-actions{order:3;margin:0}.campaign-note{order:4;margin:0}.campaign-edition{order:5;margin:12px 0 0}.campaign-lead{order:6;margin:0}.campaign-hero:before{background:radial-gradient(ellipse at 0 42%,#db6c305c,transparent 45%),radial-gradient(ellipse at 100% 45%,#2dbecc60,transparent 45%),linear-gradient(#081d22d9,#081d2270)}}
@media(max-width:350px){.battle-stage{height:300px}}
@media(max-width:720px){.battle-heading{font-size:19px;letter-spacing:1px;gap:16px;white-space:nowrap}.campaign-cta{text-align:center;justify-content:center}}

/* A personal invitation, with the two-deck beta kept in view. */
.campaign-copy h1{font-size:clamp(38px,4.1vw,60px);line-height:1.12}
.campaign-story{max-width:465px;font-size:18px;line-height:1.75;color:#fff5e8;margin-bottom:26px}
.campaign-lead{font-size:16px}
@media(max-width:720px){
 .campaign-copy h1{font-size:clamp(32px,8.6vw,46px);line-height:1.16;letter-spacing:-.5px}
 .campaign-story{order:2;font-size:16px;line-height:1.75;margin:0}
 .battle-stage{order:3}
 .campaign-actions{order:4}
 .campaign-note{order:5}
 .campaign-edition{order:6}
 .campaign-lead{order:7}
}

.contact-methods{border:0;padding:0;margin:0 0 20px;min-width:0}.contact-methods legend{font-size:15px;margin-bottom:10px}.contact-options{display:flex;gap:12px;flex-wrap:wrap}.contact-options label{display:flex;align-items:center;gap:9px;min-height:44px;flex:1;cursor:pointer;padding:10px 14px;border:1px solid #7e8c7f;border-radius:2px;background:#f8f5ed;font-size:15px;white-space:nowrap}.contact-options label:has(input:checked){border-color:var(--red);background:#f0e4d7;color:var(--red)}.contact-options input{width:18px;height:18px;margin:0;accent-color:var(--red)}.contact-help{font-size:13px;line-height:1.6;color:var(--muted);margin:8px 0 0}

.wechat-contact h4{font:26px/1.3 Georgia,"Taiji Han","Taiji Rare","Songti SC",SimSun,serif;margin:0 0 12px}.wechat-contact>p:not(.interest-note){font-size:16px;line-height:1.7;margin:0 0 20px}.wechat-qr-frame{box-sizing:border-box;width:100%;max-width:376px;padding:24px;margin:0 auto 20px;background:#fff}.wechat-qr{display:block;width:100%;height:auto}.wechat-contact .button{box-sizing:border-box}.wechat-contact .interest-note{margin:14px 0 0}

/* Keep links in the personal story easy to recognise in both languages. */
.origins-reading p a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.origins-reading blockquote{margin:24px 0;font-size:clamp(21px,2.2vw,25px);color:var(--red)}

/* Lead the artwork story with the commitment to commissioned illustrations. */
.artwork-commitment{border-left:4px solid var(--red);background:#dde0d2;padding:22px 24px;margin-bottom:26px}.artwork-commitment p:first-child{font-size:20px;line-height:1.7}@media(max-width:720px){.artwork-commitment{padding:18px}.artwork-commitment p:first-child{font-size:18px}}

/* Two ways to browse the same catalogue. */
.catalogue-toolbar{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-top:24px;flex-wrap:wrap}
.catalogue-tools{display:grid;grid-template-columns:minmax(220px,1fr) minmax(190px,240px) auto minmax(190px,220px);align-items:end;gap:8px 12px;flex:1;min-width:min(100%,600px)}
.catalogue-tools label{font-size:13px;color:var(--muted)}
.catalogue-tools input,.catalogue-tools select{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:4px;background:#fffdf6;color:var(--ink);font:inherit}
.catalogue-empty{padding:28px 0;color:var(--muted)}
.catalogue-view-switch{display:inline-flex;border:1px solid var(--line);padding:4px;gap:4px}
.catalogue-view-switch button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:8px 18px;border:0;background:transparent;color:var(--ink);font-size:15px}
.catalogue-view-switch button[aria-pressed="true"]{background:var(--jade);color:#fff8eb}
.catalogue-view-switch button[aria-pressed="false"]:hover{background:#dcded1}
.catalogue-body{min-width:0}
.catalogue-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,185px),1fr));gap:28px 20px}
.catalogue-gallery>div{min-width:0}
.gallery-card{display:block;height:100%;border-bottom:1px solid var(--line);padding-bottom:16px}
.gallery-image{display:block;width:100%;height:auto;aspect-ratio:5/7;object-fit:contain;border-radius:9px;background:#dedccd;box-shadow:0 5px 14px #142e291c}
.gallery-caption{display:grid;grid-template-columns:minmax(0,1fr) 32px;column-gap:8px;margin-top:13px}
.gallery-caption .card-name{font-size:20px;line-height:1.3}
.gallery-caption .alternate{overflow-wrap:anywhere}
.gallery-caption .entry-no{font-size:14px}
.gallery-card:hover .card-name{text-decoration:underline;text-underline-offset:4px}
@media(max-width:720px){.catalogue-toolbar{justify-content:flex-start;margin-top:20px}.catalogue-tools{grid-template-columns:1fr;min-width:100%;gap:5px 10px}.catalogue-tools label:not(:first-child){margin-top:8px}.catalogue-view-switch{width:100%}.catalogue-view-switch button{flex:1}.catalogue-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.gallery-caption{grid-template-columns:1fr}.gallery-caption .entry-no{grid-column:1;grid-row:auto;text-align:left;margin-top:7px}.gallery-caption .card-name{font-size:19px}.gallery-image{border-radius:6px}}
@media(max-width:340px){.catalogue-gallery{grid-template-columns:1fr}}

/* Keep the artwork readable and enlarge it without navigating to an image file. */
.image-link{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in}
.card-full-button{padding:0;background:none;border:0;border-bottom:1px solid var(--line);color:inherit;font:inherit;text-align:right;min-height:32px}
.card-full-button:hover{color:var(--red);border-color:var(--red)}
[data-card-art]{user-select:none;-webkit-user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}
.card-viewer-open{overflow:hidden}
.card-viewer{width:min(1100px,96vw);max-width:96vw;max-height:96vh;max-height:96dvh;margin:auto;padding:20px;border:1px solid var(--line);background:var(--paper);color:var(--ink);box-shadow:0 20px 80px #0007}
.card-viewer::backdrop{background:#081410dc}
.card-viewer-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.card-viewer-heading h2{font-size:clamp(22px,3vw,30px);overflow-wrap:anywhere}
.card-viewer button{min-height:44px;padding:8px 14px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:15px}
.card-viewer button:hover:not(:disabled){border-color:var(--red);color:var(--red)}
.card-viewer button:disabled{opacity:.4;cursor:default}
.card-viewer-close{white-space:nowrap}.card-viewer-close span{font-size:22px;margin-left:8px}
.card-viewer-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:12px 0}
.card-viewer-zoom{min-width:54px;text-align:center;font-size:14px}
.card-viewer-viewport{height:calc(92vh - 148px);height:calc(92dvh - 148px);min-height:160px;overflow:auto;overscroll-behavior:contain;background:#d5d5c9;padding:16px;outline-offset:-3px}
.card-viewer-viewport img{display:block;max-width:none;margin:0 auto;object-fit:contain}
@media(max-width:720px){.card-viewer{padding:12px}.card-viewer-heading{gap:10px}.card-viewer-heading h2{font-size:22px}.card-viewer-viewport{height:calc(92vh - 155px);height:calc(92dvh - 155px)}}

.classical-source .source-card-link{text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px}
/* The new bilingual edition marks are square rather than banner-shaped. */
.header-edition img{width:54px!important;height:54px!important;object-fit:contain}
