:root{--lime:#caf15a;--cream:#f7f5eb;--muted:#b5c7af;--edge:#ffffff21;--dark:#071a10}*{box-sizing:border-box}body{background:var(--dark);color:var(--cream);margin:0;font-family:Arial,Helvetica,sans-serif}button{font:inherit;cursor:pointer}.loading{background:#0a2e1e;place-items:center;min-height:100vh;display:grid}.app{background:radial-gradient(circle at 50% -20%,#256e48,#0b2c1e 48%,#06180f);min-height:100vh}header{border-bottom:1px solid var(--edge);background:#071a10b8;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(18px,7vw,110px);display:flex}.logo{letter-spacing:-1px;font-size:23px;font-weight:900}.logo:first-letter,.logo i{color:var(--lime)}.logo i{font-style:normal;font-weight:500}.profile{align-items:center;gap:9px;font-size:13px;display:flex}.profile>b,.avatar{border:2px solid var(--lime);color:#fff;background:#3b684e;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.profile strong,.profile small{display:block}.profile small{color:var(--muted);margin-top:3px;font-size:11px}.profile em{color:var(--lime);font-style:normal;font-weight:700}.lobby{max-width:1160px;margin:auto;padding:65px 26px}.hero{justify-content:space-between;align-items:end;gap:30px;padding-bottom:60px;display:flex}.hero p,.modal p{color:var(--lime);letter-spacing:1.5px;margin:0 0 12px;font-size:11px;font-weight:800}.hero h1{letter-spacing:-3px;margin:0;font-size:clamp(40px,6vw,68px);line-height:.94}.hero h1 i{color:var(--lime);font-style:normal}.hero span{color:var(--muted);margin-top:16px;font-size:14px;line-height:1.5;display:block}.primary{background:var(--lime);color:#162c1d;white-space:nowrap;border:0;border-radius:12px;padding:14px 19px;font-weight:800;box-shadow:0 12px 25px #0005}.primary:disabled{opacity:.4}.section-title{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.section-title h2{margin:0;font-size:24px}.section-title small,.section-title>span{color:var(--muted);font-size:12px}.rooms{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.rooms article{border:1px solid var(--edge);background:linear-gradient(135deg,#184b34,#113928);border-radius:16px;padding:20px;box-shadow:0 12px 25px #0003}.rooms article>div,.rooms footer{justify-content:space-between;align-items:center;display:flex}.rooms article>div>b{color:#193b25;background:#d8f8a2;border-radius:6px;padding:5px 8px;font-size:11px}.rooms article>div>b.cheat{color:#5b260f;background:#f0c69e}.rooms article>div small{color:var(--muted);font-size:11px}.rooms h3{margin:20px 0 13px;font-size:18px}.seats{gap:6px;margin:0 0 24px;display:flex}.seats i{color:#c9dbbf;border:1px dashed #d8edd477;border-radius:50%;place-items:center;width:29px;height:29px;font-size:12px;font-style:normal;display:grid}.seats i.full{color:#fff;background:#477555;border-style:solid}.rooms footer span{color:var(--muted);font-size:11px}.rooms footer strong{color:var(--lime);margin-top:4px;font-size:16px;display:block}.rooms footer button{color:#183324;background:#f5f3e8;border:0;border-radius:8px;padding:9px 11px;font-size:12px;font-weight:800}.rooms footer button:disabled{opacity:.4}aside{border:1px solid var(--edge);color:var(--muted);border-radius:12px;align-items:center;gap:22px;margin-top:26px;padding:16px 18px;font-size:12px;display:flex}aside b{color:#fff}.modal{z-index:3;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#021209d9;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal section{background:#153e2c;border:1px solid #ddf6a65c;border-radius:20px;width:min(630px,100%);max-height:94vh;padding:30px;position:relative;overflow:auto}.modal h2{margin:0 0 23px;font-size:31px}.modal label{margin:20px 0 9px;font-size:13px;font-weight:700;display:block}.modal label small{color:var(--muted);font-weight:400}.x{color:#fff;background:0 0;border:0;font-size:28px;position:absolute;top:13px;right:17px}.choices,.stakes{flex-wrap:wrap;gap:8px;display:flex}.choices button,.stakes button{border:1px solid var(--edge);color:#e3eddf;background:#ffffff0c;border-radius:8px;min-width:65px;padding:9px 11px;font-size:13px}.choices button.on,.stakes button.on,.modes .on{border-color:var(--lime);color:#173624;background:#d9f89c}.modes{grid-template-columns:1fr 1fr;gap:9px;display:grid}.modes button{text-align:left;border:1px solid var(--edge);color:#fff;background:#ffffff0c;border-radius:10px;min-height:78px;padding:12px}.modes b,.modes span{display:block}.modes span{color:var(--muted);margin-top:6px;font-size:11px;line-height:1.3}.submit{width:100%;margin-top:25px}.game{background:radial-gradient(#22754d,#0b2e20 70%,#06180f);flex-direction:column;min-height:100vh;display:flex}.game nav{border-bottom:1px solid var(--edge);justify-content:space-between;align-items:center;padding:15px clamp(16px,5vw,75px);font-size:13px;display:flex}.game nav button{color:#fff;background:0 0;border:0;font-weight:700}.game nav b{color:var(--lime)}.felt{background:radial-gradient(#287850aa,#0a3925aa);border:1px solid #e3f6b933;border-radius:48%;flex:1;min-height:490px;margin:25px clamp(14px,5vw,75px);padding:28px;position:relative;box-shadow:inset 0 0 60px #001a0d}.opponents{justify-content:center;gap:50px;display:flex}.opponent{text-align:center;min-width:105px}.opponent>b{border:2px solid var(--lime);background:#426f54;border-radius:50%;place-items:center;width:36px;height:36px;margin:auto;display:grid}.opponent strong,.opponent small{margin-top:6px;display:block}.opponent strong{font-size:13px}.opponent small{color:#c7d8c0;font-size:11px}.opponent>div{justify-content:center;margin-top:9px;display:flex}.card{aspect-ratio:.56;background-color:#fff;background-repeat:no-repeat;border:0;border-radius:6px;width:62px;transition:transform .18s;box-shadow:0 6px 13px #0006}.back{background-image:url(/assets/card-back.png);background-size:100% 100%;margin-left:-40px}.opponent>div .back:first-child{margin-left:0}.empty{background:0 0;border:1px dashed #d8eabf77}.table{align-items:center;gap:45px;display:flex;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)}.deck{width:72px;height:103px;transform:rotate(-5deg)}.deck img{border-radius:7px;width:100%;height:100%;box-shadow:7px 7px #dcebc2}.battle{text-align:center;place-items:center;gap:8px;min-width:140px;display:grid}.battle small{color:#d1e5c9;letter-spacing:1.4px;font-size:10px;font-weight:800}.battle p{color:#d5e6ce;font-size:13px}.check{color:#ffe7d2;background:#5e321d;border:1px solid #f6cb9d;border-radius:9px;padding:9px 13px;font-size:12px;font-weight:700;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.feed{color:#dcebd4;gap:5px;font-size:11px;display:grid;position:absolute;bottom:20px;left:23px}.hand{border-top:1px solid var(--edge);background:#06180fd9;align-items:center;gap:24px;padding:16px clamp(16px,6vw,95px) 28px;display:flex}.hand>div:first-child{min-width:160px}.hand>div:first-child>b{border:2px solid var(--lime);background:var(--lime);color:#173322;vertical-align:middle;border-radius:50%;place-items:center;width:36px;height:36px;margin-right:7px;display:inline-grid}.hand strong{font-size:14px}.hand small{color:#b9cab5;margin-top:6px;font-size:11px;display:block}.cards{flex-wrap:wrap;gap:4px;display:flex}.cards .card:hover{outline:2px solid var(--lime);transform:translateY(-17px)rotate(-2deg)}@media (max-width:750px){header{padding:0 18px}.lobby{padding:40px 18px}.hero,.section-title{flex-direction:column;align-items:start}.hero{padding-bottom:40px}.rooms{grid-template-columns:1fr}aside{gap:8px;display:grid}.modes{grid-template-columns:1fr}.game nav span{display:none}.felt{border-radius:22px;min-height:420px}.opponents{flex-wrap:wrap;gap:14px}.table{gap:20px}.hand{flex-direction:column;align-items:start;gap:10px}.card{width:48px}.back{margin-left:-31px}.cards{gap:2px}}
@keyframes deal-hand-card{0%{opacity:0;transform:translate(110px,-190px)rotate(16deg)scale(.72)}to{opacity:1;transform:translate(0)rotate(0)scale(1)}}@keyframes deal-opponent-card{0%{opacity:0;transform:translate(-70px,100px)rotate(-14deg)scale(.76)}to{opacity:1;transform:translate(0)rotate(0)scale(1)}}.cards .card{animation:.46s cubic-bezier(.18,.8,.28,1.15) backwards deal-hand-card}.cards .card:nth-child(2),.opponent>div .back:nth-child(2){animation-delay:55ms}.cards .card:nth-child(3),.opponent>div .back:nth-child(3){animation-delay:.11s}.cards .card:nth-child(4),.opponent>div .back:nth-child(4){animation-delay:.165s}.cards .card:nth-child(5),.opponent>div .back:nth-child(5){animation-delay:.22s}.cards .card:nth-child(6),.opponent>div .back:nth-child(6){animation-delay:.275s}.cards .card:nth-child(7){animation-delay:.33s}.opponent>div .back{animation:.42s cubic-bezier(.18,.8,.28,1.15) backwards deal-opponent-card}@media (prefers-reduced-motion:reduce){.cards .card,.opponent>div .back{animation:none}}
