:root{--purple-950:#191426;--purple-900:#241d36;--purple-800:#34284c;--purple-700:#493660;--paper:#f2eadb;--paper-light:#fffaf0;--ink:#25202b;--gold:#e4b74f;--red:#df6258;--blue:#6c87bc;--sans:"DM Sans",sans-serif;--serif:"DM Serif Display",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;z-index:100;top:-5rem;left:1rem;padding:.8rem 1rem;background:var(--gold)}.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 rgba(37,32,43,.18)}.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}.game-intro{display:flex;align-items:end;justify-content:space-between;gap:4rem;width:min(1440px,calc(100% - 96px));margin:0 auto;padding:72px 0 42px}.eyebrow{display:flex;align-items:center;gap:.65rem;margin:0 0 1rem;color:#716873;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.eyebrow span{width:26px;height:1px;background:var(--red)}.game-intro h1{margin:0;color:var(--purple-900);font-family:var(--serif);font-size:clamp(4rem,7vw,7.5rem);font-weight:400;line-height:.8;letter-spacing:-.04em}.game-intro>p{max-width:450px;margin:0;color:#6c646d;line-height:1.7}
.game-shell{position:relative;background:var(--purple-900);color:var(--paper-light)}.game-topbar{min-height:82px;display:flex;align-items:center;gap:1.5rem;padding:0 max(48px,calc((100vw - 1440px)/2));border-bottom:1px solid rgba(255,255,255,.13);background:var(--purple-950)}.game-topbar>div{display:flex;align-items:center;gap:.5rem;padding-right:1.3rem;border-right:1px solid rgba(255,255,255,.14)}.game-topbar span{color:#a79bb4;font-size:.61rem;letter-spacing:.1em;text-transform:uppercase}.game-topbar strong{font-family:var(--serif);font-size:1.15rem;font-weight:400}.game-topbar>p{flex:1;margin:0;color:#c9bfce;font-size:.72rem;text-align:center}.game-topbar>button{padding:.6rem .9rem;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:transparent;color:#d8cedd;font-size:.7rem;cursor:pointer}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;min-height:770px}.table{position:relative;min-height:770px;overflow:hidden;background-color:var(--purple-800);background-image:radial-gradient(circle at center,rgba(228,183,79,.07),transparent 32%),url("data:image/svg+xml,%3Csvg viewBox='0 0 170 170' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.07'/%3E%3C/svg%3E")}.table::before{content:"";position:absolute;width:700px;height:590px;left:50%;top:47%;border:1px solid rgba(255,255,255,.1);border-radius:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 80px rgba(25,20,38,.07),inset 0 0 0 81px rgba(255,255,255,.035)}.table-rings{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.025);font-size:14rem}.seat{position:absolute;z-index:5;display:flex;align-items:center;gap:.65rem;padding:.5rem .85rem .5rem .5rem;border:1px solid transparent;border-radius:999px}.seat.is-turn{border-color:var(--gold);background:rgba(228,183,79,.1)}.seat.is-finished{opacity:.55}.avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;font-family:var(--serif)}.avatar.you{background:var(--paper);color:var(--ink)}.avatar.west{background:#8b6fa1}.avatar.north{background:var(--gold);color:var(--ink)}.avatar.east{background:var(--blue)}.seat>div{display:grid;grid-template-columns:auto auto;gap:.05rem .7rem}.seat strong{font-size:.76rem}.seat small{grid-row:2;color:var(--gold);font-size:.55rem;letter-spacing:.06em;text-transform:uppercase}.seat b{grid-column:2;grid-row:1/3;align-self:center;color:#c5b8cb;font-size:.58rem;font-weight:500;text-transform:uppercase}.seat b span{color:#fff}.seat-west{left:28px;top:43%}.seat-north{left:50%;top:24px;transform:translateX(-50%)}.seat-east{right:28px;top:43%}.seat-you{left:50%;bottom:175px;transform:translateX(-50%)}.pile-area{position:absolute;z-index:4;left:50%;top:43%;width:340px;text-align:center;transform:translate(-50%,-50%)}.pile-label{display:block;color:#af9fba;font-size:.56rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.current-play{height:120px;display:flex;align-items:center;justify-content:center;margin:.5rem 0}.current-play:empty::before{content:"Fresh pile";display:grid;place-items:center;width:76px;height:105px;border:1px dashed rgba(255,255,255,.18);border-radius:7px;color:#85758f;font-family:var(--serif)}.pile-area>strong{display:block;font-family:var(--serif);font-size:1.25rem;font-weight:400}.pile-area>small{color:#ad9fb5;font-size:.62rem}.playing-card{position:relative;width:76px;height:105px;flex:0 0 auto;margin-left:-25px;border:0;border-radius:7px;background:var(--paper-light);color:#221d27;box-shadow:0 8px 18px rgba(0,0,0,.26);cursor:pointer;transition:150ms ease}.playing-card:first-child{margin-left:0}.playing-card.red{color:var(--red)}.playing-card:disabled{cursor:not-allowed;opacity:.58}.playing-card.is-selected{z-index:20;outline:3px solid var(--gold);outline-offset:2px;transform:translateY(-14px)}.card-rank{position:absolute;left:7px;top:6px;font-family:var(--serif);font-size:1.15rem;line-height:.78}.card-rank small{font-size:.67rem}.card-pip{position:absolute;inset:0;display:grid;place-items:center;font-size:1.9rem}.current-play .playing-card{pointer-events:none;animation:card-in 180ms ease}.human-hand{position:absolute;z-index:7;left:50%;bottom:22px;display:flex;justify-content:center;width:min(850px,calc(100% - 30px));min-height:135px;transform:translateX(-50%)}@keyframes card-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.side-panel{display:flex;flex-direction:column;gap:1.1rem;padding:28px 24px;background:#20182e;border-left:1px solid rgba(255,255,255,.1)}.turn-card{padding:1.2rem;background:var(--paper);color:var(--ink)}.turn-card>span,.rank-order>span,.positions>span,.turn-log>span{color:var(--red);font-size:.58rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.turn-card>strong{display:block;margin:.7rem 0 .25rem;font-family:var(--serif);font-size:1.55rem;font-weight:400}.turn-card p{margin:.3rem 0 1rem;color:#756c73;font-size:.68rem;line-height:1.5}.turn-card button{width:100%;padding:.7rem .8rem;border:0;font-size:.7rem;font-weight:700;cursor:pointer}.turn-card button:first-of-type{display:flex;justify-content:space-between;background:var(--red);color:#fff}.turn-card button:last-of-type{margin-top:.45rem;background:#ded4c4;color:#655e62}.turn-card button:disabled{opacity:.42;cursor:not-allowed}.rank-order,.positions,.turn-log{padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.rank-order p{color:#d8cedd;font-size:.65rem;line-height:1.7;word-spacing:.15rem}.rank-order b{color:var(--gold);font-size:.52rem;text-transform:uppercase}.positions ol,.turn-log ul{margin:.7rem 0 0;padding:0;list-style:none}.positions li{display:flex;justify-content:space-between;padding:.35rem 0;color:#aa9caf;font-size:.65rem}.positions li b{color:#fff}.turn-log li{padding:.38rem 0;color:#aa9caf;font-size:.64rem;line-height:1.4}.turn-log li:first-child{color:#fff}.fair-play{margin:auto 0 0;padding:1rem;border:1px solid rgba(228,183,79,.22);color:#a99caf;font-size:.66rem;line-height:1.5}.fair-play>span{float:left;margin-right:.6rem;color:var(--gold);font-size:1.1rem}.fair-play strong{display:block;color:#fff}.result-dialog{position:absolute;z-index:100;inset:82px 0 0;display:grid;place-items:center;padding:2rem;background:rgba(20,14,30,.88);backdrop-filter:blur(8px)}.result-dialog[hidden]{display:none}.result-card{width:min(540px,100%);padding:2.7rem;background:var(--paper);color:var(--ink);text-align:center}.result-card .eyebrow{justify-content:center}.crown{color:var(--gold);font-size:2.8rem}.result-card h2{margin:.4rem 0 .8rem;font-family:var(--serif);font-size:3rem;font-weight:400}.result-card>p:not(.eyebrow){color:#6c646d}.result-positions{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin:1.3rem 0}.result-positions span{display:flex;justify-content:space-between;padding:.65rem;background:#e4dac9;color:#6c646d;font-size:.63rem;text-transform:uppercase}.result-positions b{color:var(--ink)}.result-card button{display:inline-flex;justify-content:space-between;gap:2rem;min-width:180px;padding:.9rem 1.1rem;border:0;border-radius:999px;background:var(--red);color:#fff;font-weight:700;cursor:pointer}
.ad-section{padding:54px max(48px,calc((100vw - 1440px)/2));background:#e7ddcc;border-bottom:1px solid rgba(37,32,43,.13)}.ad-slot{width:min(970px,100%);min-height:120px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;align-content:center;gap:.25rem 2rem;margin:0 auto;padding:1.4rem 2rem;border:1px dashed rgba(37,32,43,.28);background:rgba(255,250,240,.42);color:#68736c}.ad-slot span{grid-column:1/-1;font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.ad-slot strong{color:#46524b;font-family:var(--serif);font-size:1.35rem;font-weight:400}.ad-slot small{align-self:end;color:#7c867f;font-size:.66rem}.rules{display:grid;grid-template-columns:.9fr 2fr;gap:7rem;padding:130px max(48px,calc((100vw - 1440px)/2))}.section-label{font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.section-label span,.rules-grid article>span{color:var(--red)}.section-label span{margin-right:.7rem}.rules-heading h2{margin:1.5rem 0 2rem;font-family:var(--serif);font-size:clamp(3rem,5vw,5rem);font-weight:400;line-height:.94;letter-spacing:-.035em}.rules-heading h2 em{color:var(--red);font-weight:400}.rules-heading>p{max-width:430px;color:#6c646d;line-height:1.75}.rules-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(37,32,43,.2)}.rules-grid article{min-height:205px;padding:2rem;border-right:1px solid rgba(37,32,43,.2);border-bottom:1px solid rgba(37,32,43,.2)}.rules-grid article:nth-child(even){border-right:0}.rules-grid article>span{font-size:.68rem;font-weight:700}.rules-grid h3{margin:1.5rem 0 .65rem;font-family:var(--serif);font-size:1.55rem;font-weight:400}.rules-grid p{margin:0;color:#696169;font-size:.86rem;line-height:1.65}footer{display:flex;justify-content:space-between;gap:2rem;padding:32px max(48px,calc((100vw - 1440px)/2));background:var(--purple-950);color:#b7aabe;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:1050px){.game-layout{grid-template-columns:1fr}.side-panel{display:grid;grid-template-columns:1.2fr 1fr 1fr}.turn-log{grid-column:2/4}.fair-play{grid-column:1/-1;margin:0}.rules{grid-template-columns:1fr;gap:4rem}}@media(max-width:760px){.site-header{width:calc(100% - 36px);height:78px}.site-header nav a:first-child{display:none}.game-intro{align-items:flex-start;flex-direction:column;gap:1.5rem;width:calc(100% - 36px);padding:55px 0 32px}.game-topbar{flex-wrap:wrap;justify-content:center;padding:14px 18px}.game-topbar>p{order:3;flex-basis:100%}.table{min-height:700px}.table::before{width:520px;height:520px}.seat-west{left:3px}.seat-east{right:3px}.seat-west>div,.seat-east>div{display:none}.pile-area{width:270px}.seat-you{bottom:155px}.human-hand{bottom:15px;width:calc(100% - 8px)}.playing-card{width:61px;height:88px;margin-left:-29px}.side-panel{grid-template-columns:1fr;padding:24px 18px}.turn-log,.fair-play{grid-column:1}.ad-section{padding:34px 22px}.rules{padding:84px 22px}.rules-grid{grid-template-columns:1fr}.rules-grid article{min-height:auto;padding:1.5rem 0;border-right:0}footer{align-items:flex-start;flex-direction:column;padding:32px 22px}}
.current-play .playing-card:disabled{opacity:1}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
