:root{--ink:#12111a;--cream:#fff0d2;--white:#fff;--orange:#ff5b35;--lime:#99ee36;--purple:#bd58e6;--mono:"DM Mono",monospace;--sans:"Manrope",system-ui,sans-serif;--display:"Bowlby One SC",Impact,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.5;overflow-x:hidden}a{color:inherit}img{max-width:100%}:focus-visible{outline:4px solid var(--lime);outline-offset:4px}
.site-header{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 clamp(1rem,4vw,4.5rem);background:var(--ink);color:#fff;border-bottom:4px solid var(--orange)}.wordmark{display:flex;align-items:center;gap:.8rem;text-decoration:none}.wordmark>span:last-child{display:grid}.wordmark strong{font-size:.84rem;letter-spacing:.11em}.wordmark small{color:#b9b5c8;font:500 .55rem var(--mono);letter-spacing:.13em}.mark{display:grid;place-items:center;width:42px;height:42px;background:var(--orange);color:var(--ink);font:500 1.1rem var(--mono);box-shadow:5px 5px 0 var(--purple)}.back-link{font:500 .72rem var(--mono);letter-spacing:.08em;text-transform:uppercase;text-underline-offset:.35rem}
.intro{position:relative;min-height:700px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:3rem;align-items:end;padding:clamp(4rem,8vw,8rem) clamp(1rem,5vw,5rem);background:var(--orange);border-bottom:8px solid var(--ink)}.intro>p{position:absolute;top:3rem;left:clamp(1rem,5vw,5rem);margin:0;font:500 .72rem var(--mono);letter-spacing:.13em}.intro h1{margin:0;font:400 clamp(4.2rem,8.8vw,9rem)/.83 var(--display);letter-spacing:-.05em;text-transform:uppercase}.intro-copy{display:grid;gap:2rem;padding-bottom:.8rem}.intro-copy p{margin:0;font-size:clamp(1.05rem,1.7vw,1.35rem);font-weight:800}.intro-copy span{display:inline-block;width:max-content;padding:.7rem .9rem;background:var(--ink);color:var(--lime);font:500 .65rem var(--mono);letter-spacing:.1em}
.game-list{container:game-list/inline-size;padding:clamp(1rem,3vw,2rem);background:var(--ink)}.game-entry{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);min-height:650px;margin-bottom:clamp(1rem,2.5vw,2rem);border:6px solid var(--cream);background:#fff;box-shadow:10px 10px 0 var(--purple)}.game-entry:nth-child(even){grid-template-columns:minmax(320px,.65fr) minmax(0,1.35fr);box-shadow:10px 10px 0 var(--lime)}.game-entry:nth-child(even) .game-art{order:2}.game-art{display:block;min-height:520px;overflow:hidden;background:var(--ink)}.game-art img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .4s ease}.game-art:hover img{transform:scale(1.025)}.halloween-entry{background:#fff0d2;box-shadow:10px 10px 0 var(--orange)}.halloween-entry .game-art img{object-position:center 58%}.game-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,5rem)}.game-copy>p:first-child{color:#9b311e;font:500 .67rem var(--mono);letter-spacing:.13em}.game-copy h2{margin:.4rem 0 1.4rem;font:400 clamp(3rem,5.3vw,5.7rem)/.84 var(--display);letter-spacing:-.045em;text-transform:uppercase}.game-copy>p:nth-of-type(2){margin:0 0 2rem;color:#4f4a5c;font-weight:700}.play-link{align-self:flex-start;padding:1rem 1.2rem;background:var(--ink);color:#fff;text-decoration:none;font-weight:800;box-shadow:6px 6px 0 var(--orange)}.play-link:hover{background:var(--purple)}.petal-entry{background:#fff8eb;box-shadow:10px 10px 0 #ef7f9c}.petal-entry .game-art img{object-position:center}.petal-entry .game-copy>p:first-child{color:#7656a5}.petal-entry .play-link{box-shadow:6px 6px 0 #f5ca67}
.mahjong-entry{background:#f1fff9;box-shadow:10px 10px 0 #44cbe0}.mahjong-entry .game-art img{object-position:center}.mahjong-entry .game-copy>p:first-child{color:#0c719d}.mahjong-entry .play-link{box-shadow:6px 6px 0 #ef5e9a}
.solitaire-entry{background:#fff7df;box-shadow:10px 10px 0 #d5a334}.solitaire-entry .game-art img{object-position:center}.solitaire-entry .game-copy>p:first-child{color:#805313}.solitaire-entry .play-link{box-shadow:6px 6px 0 #f2c65d}
.next-strip{display:grid;grid-template-columns:auto 1fr auto;gap:2rem;align-items:center;padding:3rem clamp(1rem,5vw,5rem);background:var(--lime);border-block:7px solid var(--ink)}.next-strip p{margin:0;font:500 .67rem var(--mono);letter-spacing:.12em}.next-strip h2{margin:0;font:400 clamp(2rem,4vw,4rem)/.9 var(--display);text-transform:uppercase}.next-strip a{padding:.85rem 1rem;background:var(--ink);color:#fff;font-weight:800;text-decoration:none}
footer{display:flex;justify-content:space-between;padding:2rem clamp(1rem,5vw,5rem);background:var(--orange);font:500 .72rem var(--mono);letter-spacing:.08em}footer p{margin:0}
@media(max-width:850px){.intro{grid-template-columns:1fr;min-height:620px}.next-strip{grid-template-columns:1fr}.next-strip a{justify-self:start}}
@container game-list (max-width:850px){.game-entry,.game-entry:nth-child(even){grid-template-columns:1fr}.game-entry:nth-child(even) .game-art{order:0}.game-entry{min-height:0}.game-art{min-height:0;aspect-ratio:16/11}.mahjong-entry .game-art,.solitaire-entry .game-art{aspect-ratio:16/9}.mahjong-entry .game-art img,.solitaire-entry .game-art img{object-fit:contain}}
@media(max-width:520px){.site-header{min-height:72px}.wordmark small{display:none}.wordmark strong{font-size:.72rem}.intro{padding-top:6rem}.intro h1{font-size:3.65rem}.game-copy{padding:2rem 1.2rem}.game-copy h2{font-size:3rem}footer{flex-direction:column;gap:.7rem}}
