@font-face{font-family:RoseSerif;src:url('/white-rose/display.woff2') format('woff2');font-display:swap;font-weight:500 700}
:root{color-scheme:light;--paper:#f7f6f1;--ink:#17201f;--muted:#59635f;--line:#d8d7d0;--orange:#f25736;--action:#b83d25;--white:#ffffff;--deck-paper:#eee5d3;--table:#191c1b;--body:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--body);padding-bottom:env(safe-area-inset-bottom);-webkit-tap-highlight-color:transparent}h1,h2,p{margin:0}a{color:inherit;text-decoration:none;touch-action:manipulation;transition:color .18s,background-color .18s}a:focus-visible{outline:3px solid var(--action);outline-offset:5px}::selection{background:#f7cbbd;color:var(--ink)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}svg{width:20px;height:20px;flex-shrink:0}.skip-link{position:absolute;top:8px;left:12px;padding:12px 16px;background:var(--ink);color:var(--white);transform:translateY(-150%);z-index:5}.skip-link:focus{transform:none}.site-header{max-width:1160px;margin:auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:650;min-height:48px}.brand img{flex-shrink:0}.toolbox-link{display:flex;align-items:center;gap:7px;min-height:48px;font-size:14px;color:var(--muted)}.toolbox-link svg{width:16px}.toolbox-link:hover{color:var(--action)}main{max-width:1160px;margin:auto;padding:48px 24px 40px}.hall-intro{margin-bottom:40px}.hall-intro h1{font-size:clamp(34px,4vw,56px);line-height:1.25;font-weight:650;letter-spacing:-.03em;text-wrap:balance}.hall-intro p{margin-top:16px;color:var(--muted);font-size:17px;line-height:1.8;max-width:65ch}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}.section-heading h2{font-size:18px;font-weight:600}.section-heading>span{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.game-list{display:grid;gap:32px}.game-entry{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);gap:40px;align-items:center;padding-bottom:32px;border-bottom:1px solid var(--line)}.game-art{display:grid;place-items:center;min-height:320px;border-radius:16px;background:var(--table);overflow:hidden;padding:34px 16px}.deck{min-width:0;display:flex;justify-content:center;align-items:center;isolation:isolate;width:100%}.deck-card{display:flex;flex-direction:column;width:130px;min-width:0;height:208px;padding:9px;border-radius:12px;background:var(--deck-paper);color:#242823;box-shadow:0 12px 26px #0006;transition:transform .25s cubic-bezier(.16,1,.3,1)}.deck-card:first-child{transform:rotate(-11deg) translate(8px,7px)}.deck-card:nth-child(2){transform:translateY(-7px);z-index:2}.deck-card:last-child{transform:rotate(11deg) translate(-8px,7px)}.deck-kind{font-size:11px;line-height:1.4;margin-bottom:7px;font-weight:650}.deck-card img{width:100%;height:140px;min-height:0;flex:1;object-fit:cover;object-position:center;border-radius:6px}.deck-card:nth-child(2) img{object-position:center top}.deck-name{font:600 20px/1.5 RoseSerif,serif;margin-top:7px;text-align:center}.game-art:hover .deck-card:first-child{transform:rotate(-14deg) translate(5px,3px)}.game-art:hover .deck-card:last-child{transform:rotate(14deg) translate(-5px,3px)}.game-heading h2{font-size:30px;line-height:1.4;font-weight:650;text-wrap:balance}.genre{display:inline-block;margin-top:8px;font-size:13px;color:var(--action)}.game-description{margin-top:18px;color:var(--muted);max-width:42ch}.game-facts{display:flex;flex-wrap:wrap;gap:10px 20px;margin:22px 0 0;padding:0;list-style:none}.game-facts li{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted)}.game-facts svg{width:17px;height:17px}.play-button{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;min-height:52px;margin-top:26px;padding:12px 22px;border-radius:12px;background:var(--action);color:var(--white);font-size:15px;font-weight:650}.game-entry:hover .play-button{background:#96331f}.game-note{margin-top:10px;font-size:12px;color:var(--muted)}.table-note{display:flex;align-items:baseline;justify-content:space-between;gap:32px;padding-top:30px}.table-note h2{font-size:18px;line-height:1.6;font-weight:600;flex-shrink:0}.table-note p{font-size:14px;color:var(--muted);max-width:52ch}.site-footer{max-width:1160px;margin:0 auto;padding:24px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.site-footer>div,.site-footer p{display:flex;flex-wrap:wrap;gap:12px 24px}.site-footer>div{justify-content:space-between;margin-bottom:12px}.site-footer>div span{font-weight:600;color:var(--ink)}.site-footer a{display:inline-flex;align-items:center;min-height:48px;text-decoration:underline;text-underline-offset:4px}.site-footer a:hover{color:var(--action)}.empty-games{padding:36px 0;border-bottom:1px solid var(--line)}.empty-games h2{font-size:24px}.empty-games p{margin-top:12px;color:var(--muted)}
@media(max-width:720px){.site-header{padding:10px 22px;gap:8px}.brand{font-size:16px;gap:8px}.brand img{width:30px;height:30px}.toolbox-link{font-size:13px;gap:4px}main{padding:28px 22px 28px}.hall-intro{margin-bottom:26px}.hall-intro p{font-size:15px;line-height:1.8;margin-top:12px}.section-heading{margin-bottom:14px}.game-entry{grid-template-columns:1fr;gap:22px;padding-bottom:26px}.game-art{min-height:220px;padding:20px 16px}.deck-card{width:112px;height:174px;padding:8px}.deck-card img{height:108px}.deck-name{font-size:18px}.game-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.game-heading h2{font-size:24px}.genre{margin-top:0;white-space:nowrap;font-size:12px}.game-description{margin-top:12px;font-size:15px}.game-facts{gap:9px 14px;margin-top:16px}.game-facts li{font-size:12px;gap:5px}.play-button{width:100%;margin-top:20px}.game-note{margin-top:8px}.table-note{display:block;padding-top:24px}.table-note h2{font-size:17px}.table-note p{margin-top:10px}.site-footer{padding:20px 22px}.site-footer a{min-height:48px}}
@media(max-width:360px){.site-header{padding-inline:16px}main{padding-inline:16px}.site-footer{padding-inline:16px}.hall-intro h1{font-size:32px}.game-art{min-height:196px;padding:16px 14px}.deck-card{width:94px;height:151px;padding:7px}.deck-name{font-size:16px}.deck-kind{font-size:10px}.game-heading{align-items:baseline;flex-wrap:wrap;gap:4px}.game-heading h2{font-size:23px}.game-facts{gap:8px 12px}.game-facts svg{width:15px;height:15px}.game-facts li{font-size:11px}.brand{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}.game-art:hover .deck-card:first-child{transform:rotate(-11deg) translate(8px,7px)}.game-art:hover .deck-card:last-child{transform:rotate(11deg) translate(-8px,7px)}}

.game-art-scene{padding:0;min-height:0;background:var(--paper)}.game-art-scene>img{display:block;width:100%;height:auto;max-height:400px;object-fit:cover;object-position:top}

.deck-card .atlas-portrait{width:100%;min-height:0;flex:1;background-size:400% 300%;background-position:var(--atlas-x) var(--atlas-y);border-radius:6px}
