:root{color-scheme:dark;--bg:#141a16;--text:#f1eee2;--muted:#adb7a7;--gold:#d2b77c;--line:#c4cda326;font-family:ui-sans-serif,system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 90% 0,#36423150,transparent 55%),var(--bg)}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}h1,h2,h3,p{margin:0}.site-header,main,footer{max-width:1180px;margin:auto}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 32px}.wordmark{display:flex;gap:10px;align-items:center;font-size:14px;letter-spacing:2px;font-weight:600}.brand-mark{font:39px Georgia,serif;color:var(--gold);line-height:1}.wordmark small{display:block;font-size:11px;color:var(--gold);letter-spacing:4px;margin-top:3px}nav{display:flex;gap:26px;color:var(--muted);font-size:14px}nav a:hover,footer a:hover{color:var(--gold)}main{padding:0 32px}.hero{padding:34px 0 30px}.eyebrow{font-size:12px;letter-spacing:1.7px;color:var(--gold)}h1{font-family:"Songti SC",Georgia,serif;font-weight:500;line-height:1.3;font-size:40px;letter-spacing:1px;margin:10px 0}h1 span{color:var(--gold)}.hero-copy{font-size:16px;line-height:1.7;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:16px}.section-heading .eyebrow{display:none}.section-heading h2{font-size:19px;font-weight:600}.section-heading p{font-size:13px;color:var(--muted)}#game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.game-card{display:flex;flex-direction:column;min-width:0;border:1px solid #9ba58145;border-radius:18px;overflow:hidden;background:#1e2b22;box-shadow:0 12px 36px #0002}.game-art{position:relative;height:184px;overflow:hidden;background:radial-gradient(ellipse at 50% 30%,#3c5942,#253c2a 65%,#203123)}.felt-line{position:absolute;inset:22px 42px;border:1px solid #d8d6ae21;border-radius:50%}.art-index{position:absolute;left:18px;bottom:12px;color:#d1d9c5;font-size:12px;letter-spacing:1px}.playing-card{position:absolute;width:88px;height:122px;border-radius:7px;top:30px;left:calc(50% - 44px);background:#eeeade;border:1px solid #d9d5c0;box-shadow:0 10px 22px #0005;color:#222a24}.playing-card b{position:absolute;top:7px;left:8px;font:21px Georgia,serif}.playing-card small{display:block;font-size:17px;line-height:1.1}.playing-card i{position:absolute;inset:25px 5px 12px;display:grid;place-items:center;font:57px Georgia,serif}.card-back{transform:translate(-54px,-2px) rotate(-20deg);background:repeating-linear-gradient(45deg,#485647 0px,#485647 3px,#54634f 3px,#54634f 4px);border:6px solid #cac8b4;display:grid;place-items:center}.card-back span{font:20px Georgia,serif;color:#d4cca7;border:1px solid #cfc597;padding:14px 8px}.card-king{transform:translate(-4px,-6px) rotate(-3deg)}.card-ace{transform:translate(49px,5px) rotate(17deg);color:#a54945}.chip{position:absolute;top:119px;left:calc(50% + 100px);width:45px;height:39px;border:4px dashed #bca676;border-radius:50%;background:#2b4231;box-shadow:0 4px 0 #17281d,0 7px 0 #9b895c,0 10px 12px #0005;display:grid;place-items:center;color:#dfcb97;font:15px Georgia}.pokemon-entry{background:#1b2d35;border-color:#81acb347}.pokemon-entry .game-art{background:radial-gradient(ellipse at 50% 110%,#43889a,#234d61 70%,#214152)}.pokemon-entry .felt-line{border-color:#d1eef029}.pokemon-team{position:absolute;inset:10px 30px 22px;display:flex;align-items:center;justify-content:center;gap:4px}.pokemon-team img{width:29%;max-width:126px;height:126px;object-fit:contain;filter:drop-shadow(0 8px 8px #122d3e50)}.pokemon-team img:nth-child(2){height:152px;width:33%;max-width:140px;transform:translateY(-3px)}.game-copy{display:flex;flex-direction:column;flex:1;padding:23px 25px}.game-copy h3{font-family:"Songti SC",Georgia,serif;font-size:28px;font-weight:500;line-height:1.35;margin:9px 0 11px}.game-description{color:#bdc7b8;font-size:15px;line-height:1.7}.pokemon-entry .game-description{color:#bbd0d6}.game-tags{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0 20px}.game-tags span{padding:5px 8px;border:1px solid #b3be9636;border-radius:5px;font-size:12px;color:#cad6c0}.pokemon-entry .game-tags span{color:#c1d7df;border-color:#add5e02b}.game-actions{display:flex;gap:10px;margin-top:auto}.button{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;min-height:46px;padding:11px 15px;border-radius:8px;font-size:15px;font-weight:600;transition:background .15s,transform .15s}.button:hover{transform:translateY(-2px)}.primary{background:var(--gold);color:#1c271c}.primary:hover{background:#dfc68b}.secondary{border:1px solid #c2c7a653;background:#ffffff03}.secondary:hover{background:#ffffff0b}.game-note{font-size:12px;line-height:1.6;color:#98a993;margin-top:11px}.pokemon-entry .game-note{color:#91b2bd}footer{display:flex;justify-content:space-between;gap:16px;padding:25px 32px 28px;font-size:12px;line-height:1.6;color:#94a08e}footer a{text-decoration:underline}.loading{grid-column:1/-1;padding:24px;line-height:1.8;color:var(--muted)}.loading a,noscript a{text-decoration:underline;color:var(--gold)}
@media(max-width:700px){.site-header{height:66px;padding:0 20px}main{padding:0 20px}.hero{padding:26px 0}h1{font-size:34px}.section-heading p{display:none}#game-grid{grid-template-columns:1fr;gap:20px}.game-art{height:164px}.playing-card{top:22px}.art-index{bottom:10px}.game-copy{padding:21px}.game-copy h3{font-size:28px}.pokemon-team{inset:0 26px 20px}.pokemon-team img{height:114px}.pokemon-team img:nth-child(2){height:136px}footer{padding:24px 20px;flex-direction:column;gap:6px}}
@media(max-width:400px){.wordmark{font-size:12px;letter-spacing:1px}nav{gap:16px;font-size:13px}h1{font-size:31px}.hero-copy{font-size:15px}.game-copy h3{font-size:25px}.button{font-size:14px;padding:11px 13px}.game-tags{gap:6px}.game-tags span{font-size:11px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}.button:hover{transform:none}}


.game-card--arcane{grid-template-columns:1fr 1.05fr;border-color:#aa9be944;background:#19172a;box-shadow:0 22px 70px #08061266,0 0 0 1px #89e3d908 inset}
.game-card--arcane .game-art{order:2}
.game-card--arcane .game-copy{order:1;position:relative;background:radial-gradient(circle at 12% 12%,#46396732,transparent 32%),linear-gradient(145deg,#211d37,#181628);overflow:hidden}
.game-card--arcane .game-copy:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(#b8a9ef12 1px,transparent 1px),linear-gradient(90deg,#b8a9ef12 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(115deg,#000,transparent 72%)}
.game-card--arcane .game-copy>*{position:relative}
.game-card--arcane .eyebrow{color:#9ee9df}
.game-card--arcane .game-copy h3{color:#f4edff;text-shadow:0 0 28px #b596e947}
.game-card--arcane .game-description{color:#bbb6cf}
.game-card--arcane .game-tags span{border-color:#a898d84f;color:#d3cbea;background:#a999dc0b}
.game-card--arcane .secondary{border:1px solid #a9eee080;color:#121726;background:linear-gradient(115deg,#a9eee0,#c2a8ff);box-shadow:0 10px 30px #866ed132}
.game-card--arcane .secondary:hover{background:linear-gradient(115deg,#c1f7ed,#d3c1ff);box-shadow:0 13px 34px #866ed14d}
.game-card--arcane .game-note{color:#837e9c}
.arcane-art{background:radial-gradient(circle at 50% 48%,#5c4b8c52 0 16%,transparent 42%),radial-gradient(circle at 25% 18%,#326d7752,transparent 28%),linear-gradient(145deg,#17162c,#262044 58%,#111827)}
.arcane-art:before{content:"";position:absolute;inset:-25%;background:conic-gradient(from 35deg at 50% 50%,transparent,#72d7d20d,transparent 20%,#b498ec12,transparent 43%);animation:arcane-drift 22s linear infinite}
.arcane-art .art-caption{color:#b5eee684;letter-spacing:2.1px}
.arcane-art .art-index{color:#aaa2c7}
.arcane-halo{position:absolute;left:50%;top:49%;width:310px;height:310px;transform:translate(-50%,-50%)}
.arcane-ring{position:absolute;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.ring-outer{width:276px;height:276px;border:1px solid #a7ece052;box-shadow:0 0 34px #73ddd01c,inset 0 0 30px #6cd9d014}
.ring-outer:before,.ring-outer:after{content:"";position:absolute;inset:15px;border:1px dashed #b9a4f94f;border-radius:50%}
.ring-outer:after{inset:34px;border-style:solid;border-color:#d8c9ff26}
.ring-inner{width:154px;height:154px;border:1px solid #d6c3ff4d;box-shadow:0 0 60px #9d80e02b}
.ring-inner:before,.ring-inner:after{content:"";position:absolute;left:50%;top:50%;width:109px;height:109px;border:1px solid #b9f5e832;transform:translate(-50%,-50%) rotate(45deg)}
.ring-inner:after{width:76px;height:76px;transform:translate(-50%,-50%) rotate(22.5deg)}
.sigil{position:absolute;color:#c7b7fa8c;font:18px Georgia,serif;text-shadow:0 0 14px #a9eee0;z-index:2}
.sigil-one{left:18px;top:70px;transform:rotate(-18deg)}
.sigil-two{right:18px;top:76px;transform:rotate(18deg)}
.sigil-three{left:50%;bottom:4px;transform:translateX(-50%)}
.rune-orbit{position:absolute;inset:0;z-index:3}
.rune-stone{--angle:0deg;--counter:0deg;position:absolute;left:50%;top:50%;width:34px;height:42px;border:1px solid #b9abdf;border-radius:48% 48% 42% 42%;display:grid;place-items:center;color:#201c35;background:linear-gradient(145deg,#eee9da,#bfb3d4);box-shadow:0 0 0 3px #28213e,0 5px 12px #05040d8c,0 0 18px #9ee9df2e;font:600 15px Georgia,serif;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(-123px) rotate(var(--counter))}
.rune-stone:nth-child(1){--angle:0deg;--counter:0deg}.rune-stone:nth-child(2){--angle:45deg;--counter:-45deg}.rune-stone:nth-child(3){--angle:90deg;--counter:-90deg}.rune-stone:nth-child(4){--angle:135deg;--counter:-135deg}.rune-stone:nth-child(5){--angle:180deg;--counter:-180deg}.rune-stone:nth-child(6){--angle:225deg;--counter:-225deg}.rune-stone:nth-child(7){--angle:270deg;--counter:-270deg}.rune-stone:nth-child(8){--angle:315deg;--counter:-315deg}
.spellbook{position:absolute;left:50%;top:50%;width:120px;height:151px;transform:translate(-50%,-50%) rotate(-2deg);display:flex;flex-direction:column;align-items:center;justify-content:center;clip-path:polygon(50% 7%,94% 0,100% 88%,52% 100%,0 88%,6% 0);color:#d7f6ef;background:linear-gradient(90deg,#282342 0 48%,#151329 49% 51%,#302a4e 52%);box-shadow:0 18px 32px #05040cb3}
.spellbook:before{content:"";position:absolute;inset:9px 10px 14px;border:1px solid #a9eee04a;clip-path:inherit}
.spellbook:after{content:"";position:absolute;left:50%;top:15px;bottom:11px;width:1px;background:linear-gradient(transparent,#ad98e5,#a9eee0,transparent);opacity:.55}
.book-rune{position:relative;z-index:1;width:48px;height:48px;border:1px solid #a9eee077;border-radius:50%;display:grid;place-items:center;font:32px Georgia,serif;box-shadow:0 0 24px #9fe9df3d}
.spellbook i{position:relative;z-index:1;width:23px;height:1px;background:#bdaef06b;margin:13px 0 9px}
.spellbook b{position:relative;z-index:1;font-size:6px;letter-spacing:2.5px;color:#bfb4db}
.arcane-whisper{position:absolute;left:50%;bottom:27px;transform:translateX(-50%);white-space:nowrap;font-size:6px;letter-spacing:2.5px;color:#9ae4db70}
.arcane-stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#c8fff8;box-shadow:0 0 8px #b6fff5}
.arcane-stars i:nth-child(1){left:13%;top:19%}.arcane-stars i:nth-child(2){left:22%;top:67%;width:1px;height:1px}.arcane-stars i:nth-child(3){left:76%;top:17%}.arcane-stars i:nth-child(4){left:86%;top:61%;width:3px;height:3px}.arcane-stars i:nth-child(5){left:63%;top:81%;width:1px;height:1px}.arcane-stars i:nth-child(6){left:40%;top:13%;width:1px;height:1px}
.fallback-piece{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:120px Georgia,serif;color:#d2b77c}
.game-card--arcane:hover .ring-outer{transform:translate(-50%,-50%) rotate(8deg)}
.ring-outer{transition:transform 1s ease}
@keyframes arcane-drift{to{transform:rotate(360deg)}}
@media(max-width:800px){.arcane-halo{transform:translate(-50%,-50%) scale(.9)}.game-card--arcane .game-copy{padding-left:28px;padding-right:28px}}
@media(max-width:580px){body{overflow-x:hidden}#games,#game-grid,.game-card,.game-art,.game-copy{min-width:0;max-width:100%}.game-card{grid-template-columns:minmax(0,1fr);width:100%}.game-copy{overflow:hidden}.game-actions .button{min-width:0}.game-card--arcane{grid-template-columns:minmax(0,1fr)}.game-card--arcane .game-art{order:1;min-height:310px}.game-card--arcane .game-copy{order:2}.arcane-halo{top:50%;transform:translate(-50%,-50%) scale(.78)}.arcane-whisper{bottom:19px}}
@media(prefers-reduced-motion:reduce){.arcane-art:before{animation:none}.game-card--arcane:hover .ring-outer{transform:translate(-50%,-50%)}}

.game-card--arcane .game-art{order:0;height:184px;min-height:0}
.game-card--arcane .game-copy{order:1}
.arcane-art .art-caption,.arcane-whisper{display:none}
.arcane-halo{top:46%;transform:translate(-50%,-50%) scale(.5)}
@media(max-width:700px){.game-card--arcane .game-art{height:164px}.arcane-halo{transform:translate(-50%,-50%) scale(.45)}}

/* Aeroplane Chess keeps its own warm paper palette within the shared catalog. */
.game-card--aeroplane{background:#243744;border-color:#d2bf9560}.aeroplane-art{background:#f6f3eb}.aeroplane-art img{width:100%;height:100%;object-fit:cover;object-position:50% 52%}.aeroplane-art .art-index{color:#23374a;background:#f6f3ebdd;padding:4px 8px;border-radius:5px}.game-card--aeroplane .game-description{color:#c0cbd0}.game-card--aeroplane .game-note{color:#a4b4bd}

.game-card--chamber{background:#171412;border-color:#8f3a3345}
.game-card--chamber .game-art{background:#0a0b0a}
.chamber-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%}
.chamber-art:after{content:"";position:absolute;inset:auto 0 0;height:48%;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(8,6,5,.62))}
.game-card--chamber .art-index{z-index:1;color:#e6dfd0;text-shadow:0 1px 10px #000}
.game-card--chamber .eyebrow{color:#d7bc7e}
.game-card--chamber .game-copy h3{color:#eee7d0}
.game-card--chamber .game-description{color:#b8b09c}
.game-card--chamber .game-tags span{border-color:#8f3a3348;color:#d4cbb8}
.game-card--chamber .secondary{border-color:#8f3a3360}
.game-card--chamber .game-note{color:#8d8676}

/* Steel Expedition: the sixth game's catalog card. */
.game-card--steel-arc{background:#153748;border-color:#e5874f66}.game-card--steel-arc .game-art{background:#192c3b}
.game-card--steel-arc .eyebrow{color:#69dbd3}.game-card--steel-arc .game-description{color:#c4d8d6}.game-card--steel-arc .game-note{color:#91b6b9}.game-card--steel-arc .game-tags span{color:#f5d8a4;border-color:#e88d555e}.game-card--steel-arc .primary{background:#ef8b3d;color:#172b35}.game-card--steel-arc .primary:hover{background:#ffac55}
.steel-arc-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%;transform:scale(1.012)}
.steel-arc-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(7,18,27,.16) 72%,rgba(7,18,27,.72));pointer-events:none}
.steel-arc-art .art-index{z-index:1;color:#fff5df;text-shadow:0 2px 8px #07121be0}
.game-card--turning-sanctuary{background:#12312f;border-color:#8fc4b855}.game-card--turning-sanctuary .game-art{background:#0e2024}.turning-sanctuary-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 44%}.turning-sanctuary-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 46%,rgba(8,26,28,.2) 70%,rgba(8,26,28,.78));pointer-events:none}.turning-sanctuary-art .art-index{z-index:1;color:#eaf6f1;text-shadow:0 2px 8px #07181ae0}

/* Original architectural illustration for City Ledger. */
.monopoly-art{background:#dce3cd!important;color:#58735d}
.monopoly-art .art-caption{position:absolute;top:28px;left:28px;font-size:10px;letter-spacing:.14em}
.city-blocks{position:absolute;inset:55px 45px 35px;display:flex;align-items:end;justify-content:center;gap:12px;border-bottom:2px solid #74886b}
.city-blocks i{display:block;width:48px;height:65%;border:2px solid #74886b;background:repeating-linear-gradient(0deg,transparent 0 13px,#74886b55 14px 16px,transparent 17px 23px),#dce3cd}
.city-blocks i:nth-child(2){height:85%;width:60px}.city-blocks i:nth-child(3){height:100%;width:66px;border-radius:20px 20px 0 0}.city-blocks i:nth-child(4){height:72%;width:50px}.city-blocks i:nth-child(5){height:50%}

.ink-war-art img{object-position:center 52%}.ink-war-art .art-index{color:#25231f;background:#eee9dfd9;border:1px solid #37332c25;border-radius:4px;padding:4px 8px}
