:root{--bg:#17110d;--bg2:#221913;--panel:#2a1f17;--ink:#efe3cf;--ink2:#b9a68c;--ink3:#8b7862;--rule:#3f3024;--brass:#c9a24c;--brass2:#e1bf6a;--cobalt:#2f5bb7;--red:#c0392b;--walnut:#5e3b22;--maple:#d9c39a;--hand-h:150px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;overscroll-behavior:none;margin:0;font-family:"Source Sans 3",system-ui,sans-serif;font-size:16px;line-height:1.45}button{font:inherit;color:inherit}h1,h2{margin:0;font-family:Fraunces,Georgia,serif;font-weight:600}.seatstrip{flex-wrap:wrap;flex:none;justify-content:center;align-self:center;gap:4px 6px;width:100%;max-width:640px;margin:0;padding:0;list-style:none;display:flex}.seatstrip li{border:1px solid var(--rule);background:var(--bg2);color:var(--ink2);border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:3px 9px 3px 6px;font-size:13px;display:flex}.seatstrip li.turn{border-color:var(--brass);color:var(--ink);background:#33261b}.seatstrip li.me .who{color:var(--ink);font-weight:700}.seatstrip li.done{opacity:.55}.seatstrip .who{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.seatstrip .cards{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:700}.pip{background:var(--seat,#888);border-radius:50%;flex:none;width:11px;height:11px;box-shadow:inset 0 -2px 3px #00000073,0 0 0 1px #0006}.s0{--seat:#c0392b}.s1{--seat:#2f5bb7}.s2{--seat:#2e8b57}.s3{--seat:#d9a531}.s4{--seat:#7b4fa0}.s5{--seat:#e07a2f}.s6{--seat:#2aa6a6}.s7{--seat:#e9e2d0}.tag{text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);border:1px solid var(--rule);border-radius:4px;padding:0 4px;font-size:11px}.tag.away{color:var(--brass2);border-color:var(--brass)}.setup.narrow{max-width:420px}.lead{color:var(--ink2);margin:0}.error{color:#f0a08f;margin:0}.actions{flex-direction:column;gap:10px;display:flex}.actions button:not(.primary):not(.go){background:var(--bg2);border:1px solid var(--rule);cursor:pointer;color:var(--ink);border-radius:6px;padding:12px 16px}.actions .hint{margin:-4px 0 6px}.text{background:var(--bg2);border:1px solid var(--rule);width:100%;color:var(--ink);font:inherit;border-radius:6px;padding:11px 12px}.text:focus-visible{outline:2px solid var(--brass);outline-offset:1px}.joinrow{align-items:stretch;gap:8px;display:flex}.joinrow .text{flex:1}.joinrow button{border:1px solid var(--rule);background:var(--bg2);cursor:pointer;white-space:nowrap;border-radius:6px;padding:10px 16px}.joinrow button.go{background:var(--brass);color:#1b1410;border-color:#0000;font-weight:700}.code-in{letter-spacing:.3em;text-transform:uppercase;text-align:center;font-family:Fraunces,Georgia,serif;font-size:22px}.code-card{text-align:center}.bigcode{letter-spacing:.18em;color:var(--brass2);text-indent:.18em;margin:4px 0 12px;font-family:Fraunces,Georgia,serif;font-size:46px}.hud .code{letter-spacing:.12em;color:var(--brass2);align-self:center;padding-right:4px;font-family:Fraunces,Georgia,serif}.clock{color:var(--brass2);font-variant-numeric:tabular-nums}.trouble{color:var(--brass2);text-align:center;border-bottom:1px solid var(--brass);background:#43301c;padding:5px;font-size:14px}.seats{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.seatrow{border:1px solid var(--rule);background:var(--bg2);border-radius:6px;align-items:center;gap:9px;padding:8px 10px;display:flex}.seatrow.me{border-color:var(--brass)}.seatrow .who{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.seatrow .vacant{color:var(--ink3)}.seatrow .colour{color:var(--ink3);font-size:13px}.seatact{align-items:center;gap:6px;display:flex}.seatact select{min-width:118px}.seatact button,.seatact select{background:var(--panel);border:1px solid var(--rule);cursor:pointer;color:var(--ink2);font:inherit;border-radius:5px;padding:5px 9px;font-size:13px}.seatact button.go{background:var(--brass);color:#1b1410;border-color:#0000;font-weight:700}.primary:disabled{background:var(--rule);color:var(--ink3);cursor:default}.account{border-top:1px solid var(--rule);margin-top:4px;padding-top:18px}.account .handle{color:var(--ink3)}.account button:not(.link):not(.go){background:var(--bg2);border:1px solid var(--rule);cursor:pointer;color:var(--ink);border-radius:6px;padding:10px 16px}.stack{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.stack>span{color:var(--ink2);font-size:14px}.saved{flex-direction:column;gap:8px;margin-top:10px;display:flex}.savedlist{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.savedlist li{align-items:center;gap:8px;display:flex}.savedlist li .hint{flex:1;margin:0}.invites{border:1px solid var(--brass);background:#33261b;border-radius:8px;padding:14px}.sharecode{letter-spacing:.12em;color:var(--brass2);font-family:Fraunces,Georgia,serif;font-size:14px}.saved .hint{margin:0}.dot{background:var(--ink3);border-radius:50%;flex:none;width:8px;height:8px;margin-right:2px;display:inline-block}.dot.on{background:#4bbd7a;box-shadow:0 0 0 3px #4bbd7a2e}.tag.here{color:#7fd3a1;border-color:#37704f}.tiles{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.tiles li{background:var(--bg2);border:1px solid var(--rule);text-align:center;border-radius:8px;padding:12px 10px}.tiles b{color:var(--brass2);font-family:Fraunces,Georgia,serif;font-size:26px;line-height:1.1;display:block}.tiles span{color:var(--ink3);text-transform:uppercase;letter-spacing:.05em;margin-top:3px;font-size:12px;display:block}.bars{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.bars li{align-items:center;gap:10px;font-size:14px;display:flex}.bars .who{color:var(--ink2);text-overflow:ellipsis;white-space:nowrap;flex:0 0 34%;overflow:hidden}.bars .bar{background:var(--bg2);border:1px solid var(--rule);border-radius:999px;flex:1;height:12px;overflow:hidden}.bars .played{background:var(--walnut);height:100%;display:block}.bars .won{background:var(--brass);height:100%;display:block}.bars .colour{font-variant-numeric:tabular-nums;flex:none}.games{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.games li{border:1px solid var(--rule);background:var(--bg2);border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.games li.won{border-color:var(--brass)}.games .badge{text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);border:1px solid var(--rule);border-radius:4px;flex:none;padding:1px 6px;font-size:11px}.games li.won .badge{color:#1b1410;background:var(--brass);border-color:#0000;font-weight:700}.games .who{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.setup{position:relative}.soundtoggle{z-index:3;background:var(--bg2);border:1px solid var(--rule);color:var(--ink3);cursor:pointer;border-radius:999px;width:38px;height:38px;font-size:17px;line-height:1;position:absolute;top:10px;right:10px}.soundtoggle.on{color:var(--brass2);border-color:var(--brass)}.soundtoggle .sr-label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.rgroup.guide .rgroup-head{color:var(--brass2)}.release-line{color:var(--ink);margin:0;padding:12px 12px 4px;font-size:15px}.cardguide{flex-direction:column;gap:2px;margin:0;padding:8px 12px 12px;list-style:none;display:flex}.cardguide li{border-radius:5px;align-items:baseline;gap:12px;padding:6px 8px;display:flex}.cardguide li:nth-child(odd){background:#00000029}.cardguide li.out{box-shadow:inset 3px 0 0 var(--brass);background:#33261b}.pip-card{text-align:center;color:#1f1a16;background:#f4ecdb;border:1px solid #cdbb95;border-radius:4px;flex:0 0 42px;padding:3px 0;font-family:Fraunces,Georgia,serif;font-size:17px;font-weight:700;line-height:1.15}.cardguide li.out .pip-card{box-shadow:0 0 0 2px var(--brass)}.does{flex-direction:column;gap:2px;min-width:0;display:flex}.does b{color:var(--ink);font-size:15px;font-weight:600}.notes{color:var(--ink3);font-size:13px;line-height:1.35}@media (width<=480px){.pip-card{flex-basis:36px;font-size:15px}.cardguide li{gap:9px}}.rulebook{text-align:left;flex-direction:column;gap:6px;display:flex}.rgroup{border:1px solid var(--rule);background:var(--bg2);border-radius:6px;overflow:hidden}.rgroup-head{cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;border:0;align-items:center;gap:8px;padding:10px 12px;font-family:Fraunces,Georgia,serif;font-size:16px;display:flex}.rgroup-head span:first-child{flex:1}.rgroup.open .rgroup-head{border-bottom:1px solid var(--rule)}.rgroup-head .chev{color:var(--ink3);text-align:center;width:14px;font-size:18px;line-height:1}.rfields{margin:0;padding:0;list-style:none}.rfields li{border-bottom:1px solid var(--rule);align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.rfields li:last-child{border-bottom:0}.rfields li.changed{box-shadow:inset 3px 0 0 var(--brass);background:#33261b}.rlabel{flex:1;min-width:0}.rlabel b{color:var(--ink);font-weight:600;display:block}.rlabel p{color:var(--ink3);margin:2px 0 0;font-size:13px;line-height:1.35}.rvalue{flex:none;justify-content:flex-end;max-width:46%;display:flex}.rvalue .ro{color:var(--brass2);text-align:right;font-size:14px}.rvalue .text{width:auto;min-width:0}.rvalue .num{width:74px}.switch{color:var(--ink2);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;display:flex}.ranks{flex-wrap:wrap;justify-content:flex-end;gap:3px;display:flex}.ranks button{border:1px solid var(--rule);background:var(--panel);color:var(--ink3);cursor:pointer;border-radius:4px;min-width:26px;padding:3px 6px;font-size:12px}.ranks button.on{background:var(--brass);color:#1b1410;border-color:#0000;font-weight:700}.problems{color:#f0a08f;background:#3a2119;border:1px solid #8d4a3a;border-radius:6px;margin:0 0 8px;padding:10px 12px;font-size:14px;list-style:none}.panel{z-index:5;background:#17110df7;flex-direction:column;gap:10px;padding:14px;display:flex;position:absolute;inset:0;overflow-y:auto}.panel>header{background:var(--bg);border-bottom:1px solid var(--rule);align-items:center;gap:12px;margin:-14px -14px 0;padding:14px;display:flex;position:sticky;top:-14px}.panel>header h2{flex:1;font-size:20px}.panel .hint{margin:0}@media (width<=480px){.rfields li{flex-direction:column;gap:6px}.rvalue{justify-content:flex-start;max-width:100%}.ranks{justify-content:flex-start}.rvalue .ro{text-align:left}}.setup{flex-direction:column;gap:26px;max-width:640px;margin:0 auto;padding:32px 20px 60px;display:flex}.brand{color:var(--ink);text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.brand .tag{color:var(--ink2);margin:4px 0 0}.field h2{letter-spacing:.04em;text-transform:uppercase;color:var(--brass);margin-bottom:10px;font-family:"Source Sans 3",sans-serif;font-size:15px;font-weight:700}.seg{border:1px solid var(--rule);background:var(--bg2);border-radius:6px;display:flex;overflow:hidden}.seg button{cursor:pointer;color:var(--ink2);border:0;border-right:1px solid var(--rule);background:0 0;flex:1;min-width:40px;padding:10px 0}.seg button:last-child{border-right:0}.seg button.on{background:var(--walnut);color:var(--ink);font-weight:700}.seg button:focus-visible,.choice:focus-visible,.primary:focus-visible,.card:focus-visible,.link:focus-visible,.icon:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.check{color:var(--ink2);align-items:center;gap:8px;margin-top:10px;display:flex}.hint{color:var(--ink3);margin:8px 0 0;font-size:14px}.choices{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:8px;display:grid}.choice{text-align:left;background:var(--bg2);border:1px solid var(--rule);cursor:pointer;border-radius:6px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.choice b{color:var(--ink)}.choice span{color:var(--ink2);font-size:13px;line-height:1.35}.choice.on{border-color:var(--brass);background:#33261b}.diff{margin-top:10px;font-size:14px}.link{color:var(--brass2);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.diff ul{color:var(--ink2);margin:8px 0 0;padding-left:18px}.primary{background:var(--brass);color:#1b1410;cursor:pointer;border:0;border-radius:6px;align-self:stretch;padding:14px 20px;font-size:17px;font-weight:700}.primary:hover{background:var(--brass2)}.game{grid-template-rows:auto minmax(0,1fr) auto;height:100%;display:grid}.hud{border-bottom:1px solid var(--rule);background:var(--bg2);align-items:center;gap:12px;min-height:48px;padding:8px 12px;display:flex}.hud .title{color:var(--ink);align-items:center;gap:8px;display:flex}.hud .status{text-align:center;min-width:0;color:var(--ink2);flex:1;font-size:15px;line-height:1.2}.hud .status b{color:var(--ink)}.hud .right{gap:6px;display:flex}.icon{border:1px solid var(--rule);color:var(--ink2);cursor:pointer;background:0 0;border-radius:6px;padding:4px 9px;font-size:13px}.icon.on{border-color:var(--brass);color:var(--brass2)}.stage{flex-direction:column;justify-content:center;align-items:stretch;gap:8px;min-height:0;padding:8px;display:flex;position:relative}.board{aspect-ratio:1;flex:0 auto;width:100%;height:auto;min-height:0;max-height:100%;margin:0 auto;display:block}.rotor{transition:transform .7s cubic-bezier(.4,0,.2,1)}@media (prefers-reduced-motion:reduce){.rotor{transition-duration:.12s}}.pulse{transform-box:fill-box;transform-origin:50%;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.pulse{opacity:1;animation:none}}.seatLabel text{opacity:.8}.seatLabel.turn text{opacity:1}.sheet{background:var(--panel);border:1px solid var(--rule);border-radius:8px;align-items:center;gap:12px;width:max-content;max-width:calc(100% - 24px);margin-inline:auto;padding:10px 14px;display:flex;position:absolute;bottom:10px;left:12px;right:12px;box-shadow:0 8px 24px #00000073}.sheet p{margin:0;font-size:15px}.sheet .warn{color:var(--brass2)}.sheet button{border:1px solid var(--rule);background:var(--bg2);cursor:pointer;white-space:nowrap;border-radius:6px;padding:8px 14px}.sheet button.go{background:var(--brass);color:#1b1410;border-color:#0000;font-weight:700}.sheet button.danger{background:var(--red);color:#fff;border-color:#0000;font-weight:700}.cover{text-align:center;background:#17110deb;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:20px;display:flex;position:absolute;inset:0}.cover h2{font-size:26px}.cover p{color:var(--ink2);margin:0}.dock{border-top:1px solid var(--rule);background:linear-gradient(180deg, var(--bg2), var(--bg));padding:10px 8px calc(8px + env(safe-area-inset-bottom));min-height:var(--hand-h);justify-content:center;align-items:flex-end;display:flex}.hand{justify-content:center;align-items:flex-end;width:100%;max-width:560px;display:flex}.watching{color:var(--ink3);align-self:center;margin:0}.dock:has(.watching){min-height:0;padding-block:6px}.hand.hidden{filter:blur(6px);pointer-events:none}.slot{min-width:0;transform:rotate(var(--r)) translateY(var(--y));flex:0 84px;justify-content:center;transition:transform .18s;display:flex;position:relative}.slot:has(.card.selected){z-index:2;transform:rotate(0)translateY(-16px)}.card{aspect-ratio:60/84;cursor:pointer;background:0 0;border:0;border-radius:7px;width:84px;padding:0;transition:box-shadow .18s;box-shadow:0 3px 8px #00000073}.card svg{width:100%;height:100%;display:block}.card.selected{box-shadow:0 0 0 2.5px var(--brass), 0 8px 18px #00000080}.card:disabled{cursor:default}.noPlay{pointer-events:none;background:#17110d52;border-radius:7px;position:absolute;inset:0}@media (width<=600px){.hud .wm{display:none}.hud{gap:8px;padding:6px 10px}}@media (width<=480px){.seatstrip li{padding:2px 7px 2px 5px;font-size:12px}.bigcode{font-size:38px}.seatrow{flex-wrap:wrap}.card{width:64px}.slot{flex-basis:56px}:root{--hand-h:120px}.hud .status{font-size:13px}}@media (width<=340px){.card{width:54px}.slot{flex-basis:46px}}.over{text-align:center;background:#17110ddb;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;display:flex;position:absolute;inset:0}.over h2{font-size:30px}.over .primary{align-self:center;min-width:200px}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}
