:root{--green-950:#092d27;--green-900:#103c32;--paper:#f1e8d8;--paper-light:#fffaf0;--ink:#1d2b25;--muted:#6a736d;--line:rgba(29,43,37,.2);--red:#d84a3a;--yellow:#efb847;--sans:"DM Sans",sans-serif;--serif:"DM Serif Display",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.skip-link{position:fixed;z-index:100;top:-5rem;left:1rem;padding:.8rem 1rem;background:var(--yellow)}.skip-link:focus{top:0}.site-header{height:96px;display:flex;align-items:center;justify-content:space-between;width:min(1440px,calc(100% - 96px));margin:0 auto;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:.75rem}.brand-mark{display:grid;grid-template-columns:1fr 1fr;place-items:center;width:44px;height:44px;border:1px solid;border-radius:50%;font-size:.85rem;transform:rotate(-7deg)}.brand-mark span:last-child{color:var(--red)}.brand-name{font-size:.72rem;font-weight:700;line-height:1.05;letter-spacing:.12em;text-transform:uppercase}.site-header nav{display:flex;gap:2rem;font-size:.82rem}.site-header nav a{border-bottom:1px solid transparent}.site-header nav a:hover{border-color:currentColor}main{width:min(1240px,calc(100% - 96px));margin:0 auto;padding-bottom:120px}.index-intro{padding:90px 0 62px}.eyebrow{display:flex;align-items:center;gap:.65rem;margin:0 0 2rem;color:#6f6a65;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.eyebrow span{width:26px;height:1px;background:var(--red)}.index-intro>div{display:flex;align-items:end;justify-content:space-between;gap:5rem}.index-intro h1{margin:0;color:var(--green-900);font-family:var(--serif);font-size:clamp(4.5rem,9vw,8.5rem);font-weight:400;line-height:.72;letter-spacing:-.05em}.index-intro h1 em{color:var(--red);font-weight:400}.index-intro>div>p{max-width:460px;margin:0;color:var(--muted);line-height:1.75}.alphabet{display:grid;grid-template-columns:repeat(26,1fr);border:1px solid var(--line);background:rgba(255,250,240,.28)}.alphabet a,.alphabet span{display:grid;place-items:center;min-width:0;height:50px;border-right:1px solid var(--line);font-size:.68rem;font-weight:700}.alphabet :last-child{border-right:0}.alphabet a{background:var(--green-900);color:var(--paper-light);transition:150ms ease}.alphabet a:hover{background:var(--red)}.alphabet span{color:#aca79f}.directory{margin-top:58px;border-top:1px solid var(--ink)}.directory-head,.game-row{display:grid;grid-template-columns:1.2fr 1.35fr .55fr 1.2fr;gap:1.5rem;align-items:center}.directory-head{padding:1rem 0;border-bottom:1px solid var(--ink);color:#77736e;font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.letter-group{display:grid;grid-template-columns:120px 1fr;scroll-margin-top:24px}.letter-group h2{grid-row:1/span 20;margin:0;padding:28px 0;border-bottom:1px solid var(--line);color:var(--red);font-family:var(--serif);font-size:4.2rem;font-weight:400;line-height:1}.game-row{grid-column:2;padding:27px 0;border-bottom:1px solid var(--line);color:#5f6963;font-size:.82rem}.game-row a{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--ink);font-family:var(--serif);font-size:1.55rem}.game-row a span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--red);color:#fff;font-family:var(--sans);font-size:.8rem;transition:transform 150ms ease}.game-row a:hover span{transform:rotate(45deg)}footer{display:flex;justify-content:space-between;gap:2rem;padding:32px max(48px,calc((100vw - 1440px)/2));background:var(--green-950);color:#a8bdb3;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:900px){.index-intro>div{align-items:flex-start;flex-direction:column;gap:2.5rem}.alphabet{grid-template-columns:repeat(13,1fr)}.alphabet :nth-child(13){border-right:0}.alphabet :nth-child(-n+13){border-bottom:1px solid var(--line)}.directory-head{display:none}.letter-group{grid-template-columns:70px 1fr}.directory{border-top:1px solid var(--ink)}.game-row{grid-template-columns:1fr 1fr;gap:.7rem 1.5rem}.game-row a{grid-column:1/-1}.game-row span{font-size:.75rem}.game-row span:nth-child(3)::before{content:"Players · ";color:#8a8f8b}.game-row span:nth-child(4)::before{content:"Deck · ";color:#8a8f8b}}
@media(max-width:600px){.site-header{width:calc(100% - 36px);height:78px}.site-header nav{gap:1rem;font-size:.7rem}.site-header nav a:last-child{display:none}main{width:calc(100% - 36px);padding-bottom:80px}.index-intro{padding:64px 0 44px}.index-intro h1{font-size:4.8rem}.alphabet{grid-template-columns:repeat(9,1fr)}.alphabet :nth-child(13){border-right:1px solid var(--line)}.alphabet :nth-child(-n+13){border-bottom:0}.alphabet :nth-child(9n){border-right:0}.alphabet :nth-child(-n+18){border-bottom:1px solid var(--line)}.letter-group{grid-template-columns:46px 1fr}.letter-group h2{padding-top:25px;font-size:2.8rem}.game-row{grid-template-columns:1fr;padding:23px 0}.game-row a{font-size:1.35rem}.game-row span{grid-column:1}footer{align-items:flex-start;flex-direction:column;padding:32px 22px}}

.alphabet{grid-template-columns:repeat(27,1fr)}
.game-row a b{display:flex;min-width:0;flex-direction:column;font-weight:400;line-height:1.05}
.game-row a small{margin-top:.38rem;color:#817d76;font-family:var(--sans);font-size:.58rem;font-weight:600;letter-spacing:.1em;line-height:1.2;text-transform:uppercase}
@media(max-width:600px){.site-header nav a:nth-child(2){display:none}.site-header nav a:last-child{display:inline}}
@media(max-width:900px){.alphabet{grid-template-columns:repeat(14,1fr)}.alphabet :nth-child(13){border-right:1px solid var(--line)}.alphabet :nth-child(-n+13){border-bottom:0}.alphabet :nth-child(14){border-right:0}.alphabet :nth-child(-n+14){border-bottom:1px solid var(--line)}}
@media(max-width:600px){.alphabet{grid-template-columns:repeat(9,1fr)}.alphabet :nth-child(14){border-right:1px solid var(--line)}.alphabet :nth-child(-n+14){border-bottom:0}.alphabet :nth-child(9n){border-right:0}.alphabet :nth-child(-n+18){border-bottom:1px solid var(--line)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important}}
