:root{--green-950:#0b2926;--green-900:#123733;--green-800:#1b4b45;--green-700:#28635b;--paper:#f1e8d8;--paper-light:#fffaf0;--ink:#202722;--gold:#efbd55;--red:#d85c4a;--sage:#8fb0a2;--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:200;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(32,39,34,.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:#6f6a65;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(--green-900);font-family:var(--serif);font-size:clamp(3.8rem,6.4vw,7rem);font-weight:400;line-height:.84;letter-spacing:-.04em}.game-intro>p{max-width:450px;margin:0;color:#69635f;line-height:1.7}
.game-shell{position:relative;background:var(--green-900);color:var(--paper-light)}.game-topbar{min-height:82px;display:grid;grid-template-columns:1fr auto 1fr;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(--green-950)}.match-score{display:flex;align-items:center;gap:.65rem;color:#c4d7ce;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.match-score b{display:inline-grid;place-items:center;min-width:30px;height:30px;margin:0 .3rem;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-family:var(--serif);font-size:1rem;font-weight:400}.match-score i{color:var(--gold);font-style:normal}.deal-data{display:flex;align-items:center;justify-content:center;gap:1.3rem;color:#9cb8ac;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}.deal-data b{color:#fff}.trump-chip{padding:.55rem .8rem;border-radius:999px;background:rgba(255,255,255,.1)}.trump-chip b{margin-left:.35rem;color:var(--gold);font-size:1rem}.quiet-button{justify-self:end;padding:.6rem .9rem;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:transparent;color:#d9e4df;font-size:.68rem;cursor:pointer}.table-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;min-height:760px}.felt-table{position:relative;min-width:0;min-height:760px;overflow:hidden;background-color:var(--green-800);background-image:radial-gradient(circle at center,rgba(239,189,85,.09),transparent 26%),url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.075'/%3E%3C/svg%3E")}.felt-table::before{content:"";position:absolute;width:640px;height:640px;left:50%;top:50%;border:1px solid rgba(255,255,255,.1);border-radius:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 88px rgba(11,41,38,.08),inset 0 0 0 89px rgba(255,255,255,.035)}.table-rings{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.025);font-family:var(--serif);font-size:17rem}.player-seat{position:absolute;z-index:8;display:flex;align-items:center;gap:.65rem}.player-seat .avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;font-family:var(--serif);font-size:1.1rem}.avatar.opponent{background:#86a79a}.avatar.human{background:var(--gold);color:var(--green-950)}.player-seat>span:last-child{display:flex;flex-direction:column}.player-seat strong{font-size:.78rem}.player-seat small{color:#b6cbc1;font-size:.58rem;letter-spacing:.07em;text-transform:uppercase}.opponent-seat{left:50%;top:24px;transform:translateX(-50%)}.human-seat{left:50%;bottom:174px;transform:translateX(-50%)}.human-seat.is-turn{padding:.35rem .8rem .35rem .35rem;border:1px solid var(--gold);border-radius:999px}.opponent-hand{position:absolute;z-index:6;left:50%;top:78px;width:210px;height:74px;transform:translateX(-50%)}.back-card{position:absolute;width:42px;height:60px;border:2px solid var(--paper-light);border-radius:5px;background:var(--red);box-shadow:0 5px 9px rgba(0,0,0,.23);transform:translateX(calc(var(--i)*18px)) rotate(calc((var(--i) - 4)*1.2deg))}.back-card::after,.stock-pile::after{content:"9";position:absolute;inset:4px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.65);border-radius:3px;color:rgba(255,255,255,.85);font-family:var(--serif)}
.stock-zone{position:absolute;z-index:7;left:calc(50% - 245px);top:45%;width:154px;height:145px;transform:translate(-50%,-50%)}.stock-pile,.trump-card{position:absolute;width:72px;height:104px;border-radius:7px}.stock-pile{z-index:2;left:62px;top:0;border:3px solid var(--paper-light);background:var(--red);box-shadow:-5px 5px 0 #a74739,-9px 9px 15px rgba(0,0,0,.28)}.stock-pile.is-empty{display:none}.stock-pile::after{font-size:1.25rem}.trump-card{z-index:1;left:0;top:18px;transform:rotate(-8deg);transform-origin:center;background:var(--paper-light);color:var(--ink);box-shadow:0 8px 14px rgba(0,0,0,.2)}.stock-zone>span{position:absolute;left:0;right:0;bottom:0;color:#c6d7cf;font-size:.57rem;font-weight:700;letter-spacing:.1em;text-align:center;text-transform:uppercase}.stock-zone>span b{color:var(--gold)}.trick-area{position:absolute;z-index:4;left:50%;top:45%;width:250px;height:330px;transform:translate(-50%,-50%)}.played-slot{position:absolute;left:50%;width:78px;height:112px;border:1px dashed rgba(255,255,255,.18);border-radius:8px;transform:translateX(-50%)}.opponent-slot{top:0}.human-slot{bottom:0}.trick-label{position:absolute;left:50%;top:50%;width:230px;text-align:center;transform:translate(-50%,-50%)}.trick-label span{display:inline-block;margin-bottom:.5rem;padding:.35rem .6rem;border-radius:999px;background:rgba(11,41,38,.48);color:var(--gold);font-size:.56rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.trick-label strong{display:block;color:#eef5f1;font-size:.7rem}.playing-card{position:relative;width:72px;height:104px;flex:0 0 auto;margin-left:-22px;border:0;border-radius:7px;background:var(--paper-light);color:var(--ink);box-shadow:0 9px 18px rgba(0,0,0,.24);cursor:pointer;transition:150ms ease}.playing-card:first-child{margin-left:0}.playing-card.red{color:var(--red)}.playing-card:hover:not(:disabled){z-index:20;transform:translateY(-12px)}.playing-card:disabled{cursor:not-allowed;filter:brightness(.76);opacity:.78}.card-corner{position:absolute;left:8px;top:7px;font-family:var(--serif);font-size:1.25rem;line-height:.72;text-align:center}.card-corner small{font-size:.72rem}.card-suit{position:absolute;inset:0;display:grid;place-items:center;font-size:2.15rem}.played-slot .playing-card{position:absolute;inset:4px auto auto 3px;margin:0;cursor:default;animation:deal-card 180ms ease-out}.played-slot .playing-card:hover{transform:none}@keyframes deal-card{from{opacity:.25;transform:scale(.84)}to{opacity:1;transform:scale(1)}}.human-hand{position:absolute;z-index:10;left:50%;bottom:18px;display:flex;justify-content:center;align-items:flex-end;width:min(720px,calc(100% - 24px));min-height:120px;transform:translateX(-50%)}
.game-panel{display:flex;flex-direction:column;gap:1.2rem;padding:30px 24px;background:#102621;border-left:1px solid rgba(255,255,255,.1)}.score-card{padding:1.35rem;background:var(--paper);color:var(--ink)}.score-card>span,.tricks-card>span,.rank-card>span{color:var(--red);font-size:.58rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.score-card>div{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;margin-top:1rem}.score-card p{display:flex;flex-direction:column;margin:0;text-align:center}.score-card strong{font-family:var(--serif);font-size:2.2rem;font-weight:400}.score-card small{color:#77726c;font-size:.58rem;text-transform:uppercase}.score-card i{color:#989087;font-size:.56rem;font-style:normal;text-transform:uppercase}.tricks-card{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.tricks-card>span{color:#9db6aa}.tricks-card strong{font-family:var(--serif);font-size:1.3rem;font-weight:400}.rank-card{padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.12)}.rank-card>span{color:#9db6aa}.rank-card p{display:flex;align-items:center;justify-content:space-between;margin:1rem 0 .4rem;font-family:var(--serif)}.rank-card p b{color:var(--gold);font-weight:400}.rank-card p small{color:#c0d0c8}.rank-card em{color:#789287;font-size:.55rem;font-style:normal;letter-spacing:.1em;text-transform:uppercase}.fair-play{margin:auto 0 0;padding:1rem;border:1px solid rgba(255,255,255,.14);color:#8fa69c;font-size:.65rem;line-height:1.5}.fair-play span{float:left;margin-right:.6rem;color:var(--gold);font-size:1rem}.fair-play strong{display:block;color:#eef5f1}
.result-dialog{position:absolute;z-index:100;inset:82px 0 0;display:grid;place-items:center;padding:2rem;background:rgba(6,28,25,.89);backdrop-filter:blur(8px)}.result-dialog[hidden]{display:none}.result-card{width:min(520px,100%);padding:3rem;background:var(--paper);color:var(--ink);text-align:center}.result-card .eyebrow{justify-content:center}.result-card h2{margin:.5rem 0 1rem;font-family:var(--serif);font-size:3rem;font-weight:400}.result-card>p:not(.eyebrow){color:#69635f;line-height:1.6}.result-score{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1.5rem 0;font-family:var(--serif);font-size:2rem}.result-score i{color:var(--red);font-style:normal}.primary-button{display:inline-flex;justify-content:space-between;gap:2rem;min-width:190px;padding:.9rem 1.1rem;border:0;border-radius:999px;background:var(--green-700);color:#fff;font-weight:700;cursor:pointer}.ad-section{padding:54px max(48px,calc((100vw - 1440px)/2));background:#e5dccb;border-bottom:1px solid rgba(32,39,34,.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(32,39,34,.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,.rule-number{margin-right:.7rem;color:var(--red)}.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(--green-700);font-weight:400}.rules-heading>p{max-width:430px;color:#69635f;line-height:1.75}.rules-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(32,39,34,.2)}.rules-grid article{min-height:220px;padding:2rem;border-right:1px solid rgba(32,39,34,.2);border-bottom:1px solid rgba(32,39,34,.2)}.rules-grid article:nth-child(even){border-right:0}.rule-number{font-size:.68rem;font-weight:700}.rules-grid h3{margin:1.7rem 0 .7rem;font-family:var(--serif);font-size:1.65rem;font-weight:400}.rules-grid p{margin:0;color:#66615e;font-size:.88rem;line-height:1.7}.rank-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin:1rem 0 0;padding:0;list-style:none}.rank-list li{display:flex;justify-content:space-between;gap:.4rem;padding:.5rem;border-bottom:1px solid rgba(32,39,34,.16);font-size:.7rem}.rank-list b{font-family:var(--serif);font-size:1rem}.rank-list span{color:#756f69}.rules-ad,.game-taxonomy{grid-column:1/-1}footer{display:flex;justify-content:space-between;gap:2rem;padding:32px max(48px,calc((100vw - 1440px)/2));background:var(--green-950);color:#a6bbb1;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:1080px){.table-layout{grid-template-columns:1fr}.game-panel{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;min-height:auto;border-left:0;border-top:1px solid rgba(255,255,255,.12)}.fair-play{grid-column:1/-1;margin:0}.rules{grid-template-columns:1fr;gap:4rem}.stock-zone{left:calc(50% - 225px)}}
@media(max-width:760px){.site-header{width:calc(100% - 36px);height:78px}.site-header nav{gap:1rem;font-size:.72rem}.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{grid-template-columns:1fr;padding:12px 18px}.match-score,.deal-data{justify-content:center;flex-wrap:wrap}.quiet-button{justify-self:center}.table-layout,.felt-table{min-height:700px}.felt-table::before{width:500px;height:500px}.opponent-hand{top:76px;width:175px}.back-card{width:37px;height:53px}.stock-zone{left:18px;top:39%;width:118px;height:118px;transform:translateY(-50%)}.stock-pile,.trump-card{width:55px;height:79px}.stock-pile{left:48px}.trump-card{top:15px}.trick-area{top:42%;width:210px;height:300px}.human-seat{bottom:160px}.human-hand{bottom:12px;width:calc(100% - 8px)}.playing-card{width:59px;height:88px;margin-left:-32px}.playing-card:first-child{margin-left:0}.card-corner{font-size:1.05rem}.card-suit{font-size:1.8rem}.game-panel{grid-template-columns:1fr;padding:24px 18px}.ad-section{padding:34px 22px}.ad-slot{min-height:100px;padding:1.15rem}.rules{padding:84px 22px}.rules-grid{grid-template-columns:1fr}.rules-grid article{min-height:auto;padding:1.5rem 0;border-right:0}.rank-list{grid-template-columns:1fr 1fr}.result-dialog{inset:174px 0 0}.result-card{padding:2rem 1.2rem}footer{align-items:flex-start;flex-direction:column;padding:32px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.trump-card.red{color:var(--red)}.trump-card.is-drawn{display:none}
