@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap";:root{color:#f7f0df;font-synthesis:none;background:#13231f;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100dvh;margin:0}button,select{font:inherit}button{touch-action:manipulation}main{--felt:#1f3a32;--felt2:#162b25;--wood:#b9783f;--wood2:#7c4628;--accent:#e8b65a;--ink:#211810;background:radial-gradient(circle at 50% 15%,color-mix(in srgb,var(--felt) 80%,white 9%),var(--felt2) 72%);flex-direction:column;min-height:100dvh;display:flex;position:relative;overflow:hidden}main[data-theme=walnut]{--felt:#26352f;--felt2:#121b18;--wood:#70432e;--wood2:#3e241c;--accent:#d8aa65}main[data-theme=midnight]{--felt:#192b3b;--felt2:#0b121d;--wood:#3e5267;--wood2:#1c2938;--accent:#7bd3d1}main[data-theme=pastel]{--felt:#53766c;--felt2:#334f4a;--wood:#d49a91;--wood2:#9b665f;--accent:#ffd89b}header{height:74px;padding:14px max(18px,env(safe-area-inset-left));-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#0c19167a;border-bottom:1px solid #ffffff16;justify-content:space-between;align-items:center;display:flex}.brand{align-items:center;gap:11px;display:flex}.pegmark{color:var(--accent);letter-spacing:-5px;font-size:19px;transform:rotate(-28deg)}.brand h1{letter-spacing:.24em;margin:0;font-size:15px;line-height:1}.brand p{color:#d9d3c5;margin:4px 0 0;font-family:Playfair Display,serif;font-size:11px;font-style:italic}.tools{gap:8px;display:flex}.tools select,.icon{color:#eee5d3;text-transform:uppercase;letter-spacing:.08em;background:#ffffff0c;border:1px solid #ffffff24;border-radius:20px;padding:8px 12px;font-size:11px}.icon{width:35px;padding:0}.scorebar{background:#0a161359;border-bottom:1px solid #ffffff12;justify-content:center;align-items:center;gap:clamp(28px,12vw,130px);height:54px;display:flex}.scorebar>div{align-items:center;gap:9px;display:flex}.scorebar span{letter-spacing:.18em;color:#bfc8c2;font-size:9px}.scorebar strong{font-family:Playfair Display,serif;font-size:25px}.dot{border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 8px}.ivory{color:#f5eee4;background:#f5eee4}.gold{background:var(--accent);color:var(--accent)}.scorebar .round{border:1px solid #ffffff18;border-radius:20px;padding:6px 10px}.table{flex:1;grid-template-rows:minmax(100px,18vh) 50px minmax(120px,1fr) auto auto;gap:9px;width:min(960px,100%);min-height:0;margin:auto;padding:14px 14px 8px;display:grid}.board{background:linear-gradient(105deg,#ffffff0e,#00000010),repeating-linear-gradient(91deg,transparent 0 19px,#2b170912 20px 21px),linear-gradient(120deg,var(--wood),var(--wood2));border:1px solid #f8d49833;border-radius:18px;width:100%;height:100%;box-shadow:inset 0 2px #ffffff21,0 12px 35px #050d0a66}.opponent{align-items:center;gap:10px;display:flex}.avatar{color:#3a2714;background:#d6a44a;border:1px solid #e3b75d80;border-radius:50%;place-items:center;width:38px;height:38px;font-family:Playfair Display;font-size:18px;display:grid;position:relative}.avatar span{color:#dcb05d;background:#183128;border-radius:50%;padding:3px;font-size:8px;position:absolute;bottom:-2px;right:-2px}.opponent strong{font-family:Playfair Display;font-size:14px;display:block}.opponent small,.hand>small{letter-spacing:.15em;color:#a5b2ab;font-size:8px}.oppcards{margin-left:auto;padding-right:10px;display:flex}.oppcards .card{margin-left:-16px}.playzone{background:radial-gradient(#ffffff07,#0000 67%);border:1px solid #ffffff0d;border-radius:22px;justify-content:center;align-items:center;min-height:125px;display:flex;position:relative}.count{grid-template-columns:auto auto;display:grid;position:absolute;top:10px;left:10px}.count span{letter-spacing:.16em;color:#a8b6ae;grid-column:1/3;font-size:7px}.count strong{font:600 26px Playfair Display}.count em{color:#9ba9a1;align-self:end;margin-bottom:4px;font-size:9px}.pile{justify-content:center;display:flex}.pile .card{transform:rotate(var(--rot,0deg));margin-left:-25px}.pile .card:first-child{margin-left:0}.starter{text-align:center;position:absolute;top:5px;right:7px}.starter small{letter-spacing:.14em;color:#adbbb3;margin-bottom:4px;font-size:7px;display:block}.status{color:#e8dfce;justify-content:center;align-items:center;gap:14px;min-height:34px;font:italic 13px Playfair Display;display:flex}.status:before,.status:after{content:"";background:#ffffff1c;width:28px;height:1px}.status button{border:1px solid var(--accent);color:var(--accent);background:0 0;border-radius:18px;padding:5px 14px}.hand{text-align:center}.hand>div{justify-content:center;margin-top:5px;display:flex}.card{aspect-ratio:.68;color:#201c18;background:#f6f0e4;border:0;border-radius:9px;flex-direction:column;justify-content:space-between;align-items:flex-start;width:clamp(55px,17vw,82px);padding:7px;transition:all .18s;animation:.35s backwards deal;display:flex;position:relative;box-shadow:0 5px 13px #07100d55,inset 0 0 0 1px #fff}.hand .card+.card{margin-left:clamp(-8px,-1.2vw,-2px)}.card span{text-align:center;font-weight:700;line-height:.8}.card i{font-size:10px;font-style:normal;display:block}.card b{align-self:center;font-size:22px}.card .flip{align-self:flex-end;transform:rotate(180deg)}.card .red{color:#c13b34}.card.selected{box-shadow:0 0 0 3px var(--accent),0 15px 24px #07100d99;transform:translateY(-14px)}.card:disabled{opacity:.48}.card.small{border-radius:6px;width:45px;padding:5px}.card.small b{font-size:17px}.card.back{background:repeating-linear-gradient(45deg,#203f37 0 5px,#ddb45f 6px 7px);box-shadow:inset 0 0 0 4px #f3e7d1,inset 0 0 0 5px #b48a42,0 4px 9px #07100d88}.hand .card:not(:disabled):hover{transform:translateY(-8px)}footer{min-height:76px;padding:10px 18px max(13px,env(safe-area-inset-bottom));background:#0a1512b5;border-top:1px solid #ffffff12;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.primary{color:#271b0c;letter-spacing:.18em;background:linear-gradient(#e7b85d,#c98f32);border:1px solid #f1c8728f;border-radius:30px;min-width:min(390px,90vw);padding:13px 23px;font-size:10px;font-weight:700;box-shadow:0 6px 20px #070d0b80}.primary span{float:right;font-size:13px}.primary:disabled{filter:grayscale(.7);opacity:.45}footer a{color:#aab6af;letter-spacing:.12em;font-size:9px;text-decoration:none}.breakdown{z-index:5;color:#2c2015;background:#f2e7d3;border-radius:16px;width:220px;padding:18px;animation:.3s rise;position:fixed;bottom:95px;right:18px;box-shadow:0 18px 50px #0008}.breakdown>button{background:0 0;border:0;font-size:20px;position:absolute;top:7px;right:9px}.breakdown small,.eyebrow{letter-spacing:.18em;color:#8d6b3b;font-size:8px}.breakdown h2{margin:4px 0 12px;font:600 20px Playfair Display}.breakdown div{border-top:1px solid #2c20151a;justify-content:space-between;padding:6px 0;font-size:12px;display:flex}dialog{color:#2b2117;background:#f4ead7;border:1px solid #fff2;border-radius:22px;width:calc(100% - 32px);max-width:460px;padding:30px;box-shadow:0 30px 90px #000a}dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#09110eda}dialog h2{margin:6px 0 24px;font:600 29px Playfair Display}dialog h3{letter-spacing:.08em;margin-bottom:3px;font-size:12px}dialog p{color:#66584b;font-size:13px;line-height:1.6}.close{background:0 0;border:0;font-size:24px;position:absolute;top:12px;right:16px}.win{text-align:center;color:#8d6225;border-top:1px solid #0002;padding-top:18px;font-family:Playfair Display;font-style:italic}@keyframes deal{0%{opacity:0;transform:translateY(-28px)rotate(-3deg)}}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@media (width>=720px){.table{grid-template-rows:170px 55px minmax(170px,1fr) auto auto;padding:18px 30px}.card{width:82px}.playzone{min-height:180px}.board{border-radius:24px}.status{font-size:15px}.opponent{padding:0 20px}}@media (height<=680px) and (orientation:landscape){header{height:48px;padding-block:6px}.brand p{display:none}.scorebar{height:38px}.table{grid-template-rows:70px 1fr auto;grid-template-columns:38% 1fr;padding:7px 14px}.board{grid-row:1/4;height:100%}.opponent{grid-column:2}.playzone{grid-column:2;min-height:100px}.status{display:none}.hand{grid-column:2}.card{width:50px}footer{background:0 0;border:0;min-height:0;position:fixed;bottom:8px;right:15px}.primary{min-width:210px;padding:10px}.breakdown{bottom:60px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.brand h1{letter-spacing:.16em;white-space:nowrap;font-size:12px}
