@font-face{font-family:Manrope;src:url(fonts/Manrope.ttf) format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:Cormorant;src:url(fonts/CormorantGaramond.ttf) format('truetype');font-weight:300 700;font-display:swap}
:root{color-scheme:dark;--bg:#102a29;--cream:#f3eddd;--muted:#b1c0b8;--gold:#dac398;--line:#ffffff21}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--cream);background:var(--bg);font:500 15px/1.6 Manrope,system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:5px}[hidden]{display:none!important}.page{max-width:1392px;margin:auto;padding:0 clamp(20px,5vw,72px)}.masthead{height:102px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:34px;letter-spacing:-2px;font-weight:700;line-height:1}.brand span{font-size:10px;letter-spacing:.13em;font-weight:500;margin-left:14px;text-transform:uppercase;color:var(--muted)}.header-link{text-decoration:none;font-size:12px;min-height:44px;display:flex;align-items:center;gap:20px}.header-link span{font-size:23px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px;padding:70px 0 78px;overflow:hidden}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.15em;line-height:1.6;margin:0;color:var(--gold)}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:8px;vertical-align:middle}.hero h1{font:400 clamp(64px,8vw,116px)/.88 Cormorant,Georgia,serif;letter-spacing:-.045em;margin:30px 0}.hero h1 em{font-weight:400;color:var(--gold)}.intro{font-size:15px;line-height:1.85;color:var(--muted);margin:0 0 28px}.hero-cta{display:inline-flex;gap:35px;align-items:center;padding:14px 24px;background:var(--cream);color:var(--bg);border-radius:5px;text-decoration:none;font-size:13px;font-weight:800;min-height:50px}.hero-cta span{font-size:21px;font-weight:400}.hero-note{font-size:10px;letter-spacing:.02em;color:var(--muted);margin:17px 0 0}.hero-art{height:480px;position:relative;isolation:isolate}.orbit-ring{position:absolute;border:1px solid #dabf8b30;border-radius:50%;width:440px;height:440px;left:calc(50% - 220px);top:20px;z-index:-1}.ring-two{width:340px;height:340px;left:calc(50% - 170px);top:70px}.hero-tile{position:absolute;width:58%;aspect-ratio:1.32;border-radius:12px;overflow:hidden;box-shadow:0 25px 45px #00151535;border:1px solid #ffffff18}.hero-tile img{width:100%;height:100%;object-fit:cover}.tile-dice{top:32px;left:5%;transform:rotate(-12deg);background:#b4bc96}.tile-art{right:1%;top:125px;transform:rotate(12deg);background:#d0a781}.tile-hand{left:12%;bottom:5px;transform:rotate(-5deg);background:#335b54}.art-label{position:absolute;right:3%;top:23px;font-size:9px;letter-spacing:.15em;line-height:1.7;color:var(--gold)}.art-caption{position:absolute;right:0;bottom:14px;writing-mode:vertical-rl;font-size:8px;letter-spacing:.16em;color:var(--muted)}.star{position:absolute;color:var(--gold)}.star-one{font-size:68px;left:0;bottom:79px}.star-two{font-size:34px;right:6%;bottom:68px}.catalog{padding:38px 0 64px;border-top:1px solid var(--line)}.catalog-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.catalog h2{font:400 clamp(32px,3.3vw,47px)/1.15 Cormorant,Georgia,serif;letter-spacing:-.025em;margin:12px 0 0;display:flex;align-items:center;gap:12px}.game-count{font:500 12px/1 Manrope,system-ui;border:1px solid var(--line);padding:7px 9px;border-radius:50%;align-self:flex-start}.catalog-note{font-size:11px;color:var(--muted);white-space:nowrap;margin:0 0 9px}.catalog-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:26px 0 28px}.filters{display:flex;gap:6px;flex-wrap:wrap}.filters button{background:transparent;border:1px solid transparent;color:var(--muted);padding:10px 17px;border-radius:5px;min-height:44px;font-size:12px;white-space:nowrap}.filters button[aria-pressed=true]{background:var(--cream);color:var(--bg);font-weight:800}.filters button:hover{border-color:var(--line)}.search{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);max-width:230px;width:100%;color:var(--muted)}.search span{font-size:28px}.search input{background:transparent;color:var(--cream);border:0;width:100%;min-height:44px;padding:8px 0;font-size:16px;border-radius:0;min-width:0}.search input::placeholder{color:var(--muted)}.games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 24px}.card{min-width:0}.card-link{display:flex;flex-direction:column;text-decoration:none;height:100%;border-radius:8px}.card-art{border-radius:8px;overflow:hidden;position:relative;background:var(--accent);aspect-ratio:1.58}.card-art>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.players{position:absolute;left:14px;top:14px;background:#f5efdfec;color:#18342f;border-radius:4px;font-size:10px;font-weight:800;padding:6px 9px}.card-arrow{position:absolute;bottom:14px;right:14px;width:34px;height:34px;display:grid;place-items:center;background:#f5efdfec;border-radius:50%;color:var(--bg);font-size:20px}.card-copy{padding:19px 2px 8px;display:flex;flex-direction:column;flex:1}.category{color:var(--muted);font-size:9px;letter-spacing:.07em;text-transform:uppercase;margin:0 0 8px}.category span{margin:0 6px}.card h3{font:500 31px/1.1 Cormorant,Georgia,serif;margin:0 0 12px;letter-spacing:-.015em}.subtitle{color:var(--muted);font-size:12px;line-height:1.85;margin:0 0 19px;max-width:35em}.play{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:800;color:var(--gold);margin-top:auto;min-height:26px}.card-link:hover .card-art>img{transform:scale(1.035)}.card-link:hover .play span{transform:translateX(4px)}.play span{transition:transform .2s}.recent{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#ffffff08;border:1px solid var(--line);border-radius:6px;padding:16px 20px;margin:0 0 32px;font-size:12px;color:var(--muted)}.recent strong{color:var(--cream);margin-left:8px;font-weight:600}.recent a{color:var(--gold);white-space:nowrap}.invitation{padding:30px 0 34px;border-top:1px solid var(--line);display:flex;align-items:center;gap:25px}.invitation-symbol{font-size:65px;line-height:1;color:var(--gold)}.invitation h2{font:400 31px/1.1 Cormorant,Georgia,serif;margin:0 0 8px}.invitation p{font-size:12px;color:var(--muted);margin:0}.invitation a{margin-left:auto;font-size:12px;text-decoration:none;display:flex;align-items:center;gap:22px;min-height:44px;white-space:nowrap}.invitation a span{font-size:22px}.footer{border-top:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:28px 0 max(28px,env(safe-area-inset-bottom));color:var(--muted)}.footer-brand{color:var(--cream);font-size:28px}.footer p,.footer>span{font-size:10px;margin:0}.footer>span{margin-left:auto}.empty{padding:45px;text-align:center;background:#ffffff06;border-radius:8px}.empty h3{font:400 32px Cormorant,serif;margin:0}.empty p{color:var(--muted);font-size:13px}.empty button{background:var(--cream);color:var(--bg);border:0;border-radius:5px;padding:12px 20px;min-height:44px;font-size:13px}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip:focus{position:fixed;top:10px;left:10px;z-index:100;background:var(--cream);color:var(--bg);padding:12px}
@media(min-width:1100px){.games{grid-template-columns:repeat(6,minmax(0,1fr))}.card{grid-column:span 2}.card:nth-child(4),.card:nth-child(5){grid-column:span 3}.card:nth-child(4) .card-art,.card:nth-child(5) .card-art{aspect-ratio:2.1}}
@media(max-width:1000px){.brand span{display:none}.hero{padding:55px 0;gap:0}.hero-art{height:380px}.hero-tile{width:64%}.tile-dice{top:25px;left:3%}.tile-art{top:120px}.tile-hand{bottom:15px;left:2%}.orbit-ring{width:330px;height:330px;left:calc(50% - 165px)}.ring-two{width:260px;height:260px;left:calc(50% - 130px);top:55px}.art-label{right:0;top:0;font-size:8px}.art-caption{display:none}.star-one{font-size:45px;bottom:105px}.games{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-note{display:none}.hero .eyebrow{max-width:230px;font-size:9px}.invitation{gap:15px}.invitation-symbol{font-size:45px}}
@media(max-width:600px){.page{padding:0 max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left))}.masthead{height:78px}.brand{font-size:30px}.brand img{width:30px;height:30px}.header-link{font-size:11px;gap:10px}.hero{grid-template-columns:1fr;padding:37px 0 35px;position:relative}.hero .eyebrow{max-width:none;font-size:8px;letter-spacing:.11em}.hero h1{font-size:79px;margin:26px 0 23px}.intro{font-size:13px;line-height:1.8}.hero-cta{font-size:12px;gap:40px;padding:12px 20px}.hero-note{font-size:9px}.hero-art{height:270px;width:100%;max-width:390px;justify-self:center;margin:25px 0 0}.hero-tile{width:48%}.tile-dice{left:7%;top:8px}.tile-art{right:3%;top:77px}.tile-hand{width:49%;bottom:2px;left:16%}.orbit-ring{width:250px;height:250px;top:0;left:calc(50% - 125px)}.ring-two{width:190px;height:190px;top:30px;left:calc(50% - 95px)}.art-label{font-size:7px;right:5%;top:4px}.star-one{bottom:25px;left:3%;font-size:35px}.star-two{right:9%;bottom:13px;font-size:24px}.catalog{padding:28px 0 35px}.catalog h2{font-size:34px;max-width:330px;gap:9px}.catalog .eyebrow{font-size:9px}.game-count{font-size:10px;padding:6px 8px;margin-top:3px}.catalog-tools{flex-direction:column;align-items:stretch;gap:14px;margin:23px 0}.filters{gap:3px}.filters button{padding:10px 14px;font-size:11px}.search{max-width:none}.games{grid-template-columns:1fr;gap:30px}.card-art{aspect-ratio:1.6}.card-copy{padding-top:17px}.card h3{font-size:33px}.subtitle{font-size:13px;margin-bottom:12px}.category{font-size:9px}.play{min-height:32px;font-size:12px}.players{font-size:10px}.invitation{flex-wrap:wrap;gap:14px;padding:27px 0}.invitation-symbol{font-size:35px}.invitation>div{flex:1}.invitation h2{font-size:29px}.invitation p{font-size:11px}.invitation p br{display:none}.invitation a{margin:0 0 0 49px}.footer{flex-wrap:wrap;gap:16px;padding-top:24px}.footer p{flex:1;font-size:10px}.footer>span{margin:0;font-size:9px;width:100%}.recent{align-items:flex-start;flex-direction:column;padding:15px;font-size:11px}.recent strong{display:block;margin:3px 0 0}.empty{padding:30px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.open-lobby{padding:32px 0 40px;border-top:1px solid var(--line)}.open-lobby h2{font:400 clamp(32px,3.3vw,47px)/1.1 Cormorant,Georgia,serif;margin:12px 0}.open-lobby>p{color:var(--muted);font-size:13px}.open-room-list{list-style:none;padding:0;display:grid;gap:10px}.open-room{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;background:#ffffff07;border:1px solid var(--line);border-radius:10px}.open-room>div{min-width:0;overflow-wrap:anywhere}.open-room strong,.open-room span{display:block}.open-room span{font-size:12px;color:var(--muted);margin-top:4px}.open-room a{flex-shrink:0;display:flex;align-items:center;min-height:44px;padding:8px 14px;border-radius:5px;background:var(--cream);color:var(--bg);font-size:12px;text-decoration:none;font-weight:700}@media(max-width:600px){.open-lobby .catalog-heading{align-items:start;flex-direction:column;gap:0}.open-room{align-items:stretch;flex-direction:column;gap:10px;padding:14px}.open-room a{justify-content:center}}
