:root{--felt:#1f3557;--felt-deep:#12223b;--felt-light:#2b4673;--ivory:#f4f0e6;--ink:#17171f;--vermilion:#c8352b;--ochre:#e2a833;--chalk:#a9b9cf;--loss:#ef9a90;--spade:#17171f;--heart:#c8352b;--diamond:#1e5fb8;--club:#23814a;--font-ui:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;--font-card:"Gloock",Georgia,"Times New Roman",serif;--cw-base:clamp(40px,min(15vw,7vh),76px);--cw:var(--cw-base);--buncss-light: ;--buncss-dark:initial;color-scheme:dark;font-family:var(--font-ui);color:var(--ivory);background:var(--felt-deep);-webkit-font-smoothing:antialiased;font-size:16px}*{box-sizing:border-box}body{background:radial-gradient(ellipse 80% 70% at 50% 48%,var(--felt-light)0%,var(--felt)48%,var(--felt-deep)100%);background-attachment:fixed;min-height:100dvh;margin:0}body:before{content:"";position:fixed;pointer-events:none;opacity:.22;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");inset:0}#root{position:relative}h1,h2,h3,p{margin:0}.app{display:grid;grid-template-rows:auto 1fr;min-height:100dvh}.topbar{display:flex;border-bottom:1px solid #a9b9cf1f;justify-content:space-between;align-items: center;gap:16px;padding:10px 20px}.brand{color:inherit;text-decoration:none;display:flex;align-items:baseline;gap:12px}.brand__mark{background:var(--card-back)center/cover;border-radius:3px;width:17px;height:24px;transform:rotate(-8deg)translateY(4px);box-shadow:0 2px 4px #0006}.brand__name{font-family:var(--font-card);letter-spacing:.01em;font-size:26px;font-weight:400}.brand__sub{color:var(--chalk);font-size:13px}.topbar__info{display:flex;align-items: center;gap:16px;font-size:14px}.info{color:var(--chalk)}.match{display:inline-flex;align-items:baseline;gap:6px}.match__label{color:var(--chalk)}.match__value{font-family:var(--font-card);font-variant-numeric:tabular-nums;min-width:2ch;font-size:22px}.pos{color:var(--ochre)}.neg{color:var(--loss)}.toggle{display:inline-flex;cursor:pointer;color:var(--chalk);align-items: center;gap:6px}.toggle input{accent-color:var(--ochre);width:16px;height:16px;margin:0}.btn{font:600 14px/1 var(--font-ui);color:var(--ivory);cursor:pointer;background:0 0;border:1px solid #a9b9cf59;border-radius:10px;padding:10px 16px;transition:background-color .15s,border-color .15s,transform .1s}.btn:hover:not(:disabled){background:#ffffff12;border-color:#a9b9cf99}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.38;cursor:not-allowed}.btn--primary{background:var(--ochre);border-color:var(--ochre);color:var(--ink)}.btn--primary:hover:not(:disabled){background:#f0b941;border-color:#f0b941}.btn--quiet{color:var(--chalk);border-color:#0000}:focus-visible{outline:2px solid var(--ochre);outline-offset:2px}.tag{white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:600}.tag--fl{color:var(--ochre);background:#e2a8332e}.tag--foul{color:#ffc2ba;background:#c8352b4d}.dealer-chip{display:inline-grid;background:var(--ivory);color:var(--ink);font:13px/1 var(--font-card);box-shadow:inset 0 0 0 2px var(--ivory),inset 0 0 0 3px #17171f59,0 2px 3px #0006;border-radius:50%;place-items: center;width:22px;height:22px}.table{display:grid;grid-template-areas:"opps" "stage" "me";grid-template-rows:auto minmax(220px,1fr)auto;gap:12px;width:100%;max-width:1120px;margin:0 auto;padding:10px 16px 20px}.table__opps{grid-area:opps;display:grid;gap:6px}.table__me{grid-area:me}.stage{grid-area:stage}.table__meta{display:flex;justify-content:space-between;align-items: center;gap:12px;min-height:28px;font-size:14px}.table__title{display:inline-flex;align-items: center;gap:10px}.opps{display:flex;justify-content:center;gap:24px}@media (min-width:1000px) and (min-aspect-ratio:4/3){:root{--cw-base:clamp(44px,min(5.6vw,calc((100dvh - 230px)/7.6)),84px)}.table{grid-template-areas:"opps stage" "me stage";grid-template-columns:minmax(0,1.15fr)minmax(400px,1fr);grid-template-rows:auto 1fr;column-gap:24px;max-width:1500px;height:calc(100dvh - 60px);padding:10px 24px 20px}.table__me{align-self: center}}.board{display:grid;justify-items:center}.board--opp{--cw:calc(var(--cw-base)*.68)}.opps--2 .board--opp{--cw:calc(var(--cw-base)*.46)}.opps--2 .row__label,.opps--2 .row__meta{display:none}.opps--2 .row{grid-template-columns:auto;justify-content:center}.board.is-active .board__name{color:var(--ochre)}.board.is-active .board__name:after{content:"";display:inline-block;vertical-align:middle;background:var(--ochre);animation:1s ease-in-out infinite dot;border-radius:50%;width:7px;height:7px;margin-left:8px}.board__total{font-family:var(--font-card);color:var(--chalk);font-size:17px}.presence{background:#5fd38a;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 2px #5fd38a33}.presence.is-off{box-shadow:none;background:#6b7a90}.board__head{display:flex;align-items: center;gap:8px;min-height:24px;margin-bottom:6px}.board__name{font-size:15px;font-weight:600}.board__rows{display:grid;gap:calc(var(--cw)*.1);width:100%}.row{display:grid;grid-template-columns:1fr auto 1fr;border-radius:12px;align-items: center;column-gap:16px;padding:3px 6px;transition:background-color .15s}.row__label{color:var(--chalk);justify-self:end;font-size:13px}.row__slots{display:flex;gap:calc(var(--cw)*.1)}.row__meta{display:flex;white-space:nowrap;justify-self:start;align-items: center;gap:8px;min-height:1lh;font-size:13px}.row__hand{color:#f4f0e6d1}.row__royalty{font-family:var(--font-card);color:var(--ochre);font-size:17px}.row__result{color:var(--chalk);font-weight:600}.row__result.pos{color:var(--ochre)}.row.is-droppable{cursor:pointer}.row.is-droppable:hover{background:#e2a83314}.row.is-droppable:focus-visible{background:#e2a83314}.row.is-droppable .slot:not(.slot--filled){border-color:#e2a8338c}.row.is-over{background:#e2a8332e}.row.is-lost .card{filter:saturate(.55)brightness(.78)}.board.is-fouled .row__slots{opacity:.75}.slot{display:block;width:var(--cw);height:calc(var(--cw)*1.4);border-radius:calc(var(--cw)*.09);background:#08102038;border:1px dashed #a9b9cf40;transition:border-color .15s;box-shadow:inset 0 1px 4px #00000059}.slot--filled{box-shadow:none;background:0 0;border:0}.card{position:relative;display:block;width:var(--cw);height:calc(var(--cw)*1.4);border-radius:calc(var(--cw)*.09);background:var(--ivory);font:inherit;user-select:none;-webkit-user-select:none;border:0;padding:0;transition:transform .16s,box-shadow .16s,opacity .16s,filter .3s;box-shadow:inset 0 0 0 1px #17171f14,0 2px 4px #00000059}button.card{cursor:grab;touch-action:none}.card--face{background-color:#fbfaf6;background-size:100% 100%}.card--back{background:var(--card-back)center/cover}.card.is-selected{box-shadow:0 0 0 3px var(--ochre),0 10px 18px #00000073;transform:translateY(-12%)}.card.is-tentative{cursor:pointer;box-shadow:0 0 0 2px var(--ochre),0 4px 8px #0006}.card.is-dragging{opacity:.25}.card.is-arriving{animation:.42s cubic-bezier(.2,.8,.3,1) backwards arrive}@keyframes arrive{0%{opacity:0;transform:translateY(-36px)rotate(-5deg)scale(1.06)}}.stage{position:relative;display:grid;grid-template-rows:1fr auto;overflow:hidden;background:#08102033;border-radius:20px;min-height:220px;box-shadow:inset 0 0 0 1px #a9b9cf1a,inset 0 2px 18px #00000040}.peel-tray{position:relative;outline:none;width:100%;height:100%;min-height:180px}.peel-tray:focus-visible{box-shadow:inset 0 0 0 2px var(--ochre);border-radius:20px 20px 0 0}.peel-tray canvas{position:absolute;inset:0}.stage__bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items: center;gap:10px 16px;padding:10px 14px 12px}.status{color:#f4f0e6e0;font-size:15px}.actions{display:flex;flex-wrap:wrap;gap:8px}.hand{--cw:calc(var(--cw-base)*1.08);display:flex;place-content: center;gap:calc(var(--cw)*.18);flex-wrap:wrap;padding:18px 16px 26px}.hand__card{position:relative}.hand__card.is-discard .card{opacity:.5;cursor:default;transform:rotate(-7deg)translateY(4px)}.hand__note{position:absolute;color:var(--chalk);font-size:12px;bottom:-22px;left:50%;transform:translate(-50%)}.hand__empty{color:var(--chalk);font-size:14px}.waiting{grid-row:1/-1;display:grid;align-content: center;place-items: center;gap:12px}.waiting__dots{display:flex;gap:6px}.waiting__dots i{background:var(--chalk);animation:1s ease-in-out infinite dot;border-radius:50%;width:7px;height:7px}.waiting__dots i:nth-child(2){animation-delay:.15s}.waiting__dots i:nth-child(3){animation-delay:.3s}@keyframes dot{0%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.drag-ghost{--cw:calc(var(--cw-base)*1.08);position:fixed;z-index:50;pointer-events:none;filter:drop-shadow(0 14px 18px #00000080);transform:translate(-50%,-60%)rotate(4deg)}.showdown{grid-row:1/-1;display:grid;align-content: center;justify-items:start;gap:18px;width:100%;max-width:640px;margin:0 auto;padding:24px 32px}.showdown__total{display:flex;align-items:baseline;gap:16px}.showdown__points{font-family:var(--font-card);font-variant-numeric:tabular-nums;font-size:72px;line-height:1}.showdown__verdict{color:#f4f0e6e0;font-size:15px}.showdown__table{border-collapse:collapse;width:100%;font-size:14px}.showdown__table th{text-align:left;color:var(--chalk);padding:4px 12px 4px 0;font-weight:400}.showdown__table td{color:#f4f0e699;padding:4px 12px 4px 0}.showdown__table td.win{color:var(--ivory);font-weight:600}.royal{color:var(--ochre);font-family:var(--font-card);margin-left:.4em;font-weight:400}.showdown__math{color:var(--chalk);max-width:60ch;font-size:14px}.showdown__fl{color:var(--ochre);font-size:14px}.showdown .btn--primary{justify-self:start}.rules{background:var(--ivory);color:var(--ink);border:0;border-radius:16px;width:min(680px,100vw - 32px);max-height:86dvh;padding:0;box-shadow:0 30px 60px #00000080}.rules::backdrop{backdrop-filter:blur(2px);background:#080e1c9e}.rules__body{padding:28px 32px 32px;line-height:1.55}.rules h2{font-family:var(--font-card);margin-bottom:12px;font-size:32px;font-weight:400;line-height:1.1}.rules h3{margin:22px 0 6px;font-size:16px;font-weight:700}.rules p,.rules ol{max-width:64ch}.rules ol{margin:0;padding-left:1.3em}.rules__tables{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:14px;font-size:14px}.rules__tables--fl{grid-template-columns:minmax(0,260px);margin:10px 0 12px}.rules__tables caption{text-align:left;padding-bottom:4px;font-weight:700}.rules__tables table{border-collapse:collapse;width:100%}.rules__tables td{border-top:1px solid #17171f1a;padding:3px 0}.rules__tables td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-card);color:var(--vermilion)}.rules__keys{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:0 0 24px;font-size:14px}.rules__keys dd{margin:0}kbd{font:600 12px/1 var(--font-ui);background:#fff;border:1px solid #17171f40;border-bottom-width:2px;border-radius:5px;padding:3px 6px}@media (max-width:720px){.brand__sub,.info{display:none}.topbar{padding:8px 16px}.topbar__info{gap:10px}.table{grid-template-rows:auto auto auto;gap:8px;padding:8px 12px 16px}.stage{min-height:0}.peel-tray{height:clamp(140px,40vw,240px);min-height:0}.stage__bar{padding:6px 12px 10px}.status{font-size:14px}.row{grid-template-columns:1fr auto;grid-template-areas:"label meta" "slots slots";row-gap:0;padding:0 4px;line-height:1.25}.row__label{grid-area:label;justify-self:start;font-size:12px}:root{--cw-base:clamp(40px,min(13.5vw,6.6vh),70px)}.board__head{margin-bottom:2px}.row__meta{grid-area:meta;justify-self:end;font-size:12px}.row__slots{grid-area:slots;justify-self:center}.board--opp .row{grid-template-columns:1fr;grid-template-areas:"slots"}.board--opp .row__label,.board--opp .row__meta{display:none}.showdown{padding:16px}.showdown__points{font-size:56px}.rules__tables{grid-template-columns:1fr}.rules__body{padding:22px 20px 24px}}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.pts{white-space:nowrap}.pts__sign{font-family:var(--font-ui);vertical-align:.06em;margin-right:.04em;font-size:.8em;font-weight:500}a{color:var(--ochre)}.nav{display:flex;gap:4px;margin-left:24px;margin-right:auto}.nav__link{position:relative;display:inline-flex;color:var(--chalk);text-decoration:none;border-radius:10px;align-items: center;gap:8px;padding:8px 12px;font-size:14px;font-weight:600}.nav__link:hover{color:var(--ivory);background:#ffffff0f}.nav__link.is-active{color:var(--ivory);background:#ffffff1a}.badge{background:var(--ochre);color:var(--ink);display:inline-grid;border-radius:9px;place-items: center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700}.topbar__tools{display:flex;align-items: center;gap:6px}.icon-btn{display:inline-grid;color:var(--chalk);cursor:pointer;list-style:none;background:0 0;border:0;border-radius:10px;place-items: center;width:36px;height:36px}.icon-btn::-webkit-details-marker{display:none}.icon-btn:hover{color:var(--ivory);background:#ffffff12}.menu{position:relative}.menu__panel{position:absolute;z-index:40;display:grid;background:var(--felt-deep);border-radius:12px;gap:12px;min-width:180px;padding:14px 16px;top:calc(100% + 6px);right:0;box-shadow:0 0 0 1px #a9b9cf2e,0 16px 30px #0006}.user{display:inline-flex;align-items: center;gap:4px;margin-left:6px}.user__name{font-size:14px;font-weight:600}.btn--icon{display:inline-flex;text-decoration:none;align-items: center;gap:8px}.btn--small{padding:7px 11px;font-size:13px}a.btn{text-decoration:none;display:inline-flex;align-items: center}.page{width:100%;max-width:1080px;margin:0 auto;padding:36px 24px 48px}.page--narrow{max-width:460px}.page__title{font-family:var(--font-card);margin-bottom:10px;font-size:clamp(30px,4vw,42px);font-weight:400;line-height:1.1}.page__lede{color:#f4f0e6cc;max-width:62ch;margin-bottom:26px;line-height:1.5}.page__aside{color:var(--chalk);margin-top:18px;font-size:14px}.muted{color:var(--chalk);font-size:14px}.choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.choice{display:grid;color:var(--ivory);text-decoration:none;background:#08102040;border-radius:16px;gap:8px;padding:22px;transition:background-color .15s,box-shadow .15s;box-shadow:inset 0 0 0 1px #a9b9cf24}.choice svg{color:var(--ochre)}.choice:hover{background:#08102066;box-shadow:inset 0 0 0 1px #e2a83380}.choice__title{font-size:18px;font-weight:700}.choice__text{color:var(--chalk);font-size:14px;line-height:1.45}.lobby{display:grid;grid-template-columns:minmax(0,1.4fr)minmax(280px,1fr);align-items: start;gap:20px}.panel{display:grid;background:#08102038;border-radius:16px;gap:14px;padding:20px;box-shadow:inset 0 0 0 1px #a9b9cf1f}.panel__title{font-size:17px;font-weight:700}.panel__sub{color:var(--chalk);margin:6px 0 -4px;font-size:14px;font-weight:700}.list{list-style:none;display:grid;gap:6px;margin:0;padding:0}.list__item{display:flex;background:#ffffff0a;border-radius:10px;align-items: center;gap:12px;padding:10px 12px}.list__item--empty{color:var(--chalk);background:0 0;border:0;font-size:14px;box-shadow:inset 0 0 0 1px #a9b9cf2e}.list--compact .list__item{padding:7px 10px}.list__icon{color:var(--chalk);display:inline-grid}.list__main{display:grid;gap:2px;min-width:0;margin-right:auto}.list__title{display:inline-flex;align-items: center;gap:8px;font-weight:600}.list__sub{color:var(--chalk);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.seats{display:inline-flex;color:#a9b9cf66;gap:2px}.seats .is-taken{color:var(--ochre)}.ready{color:var(--chalk);font-size:13px}.ready.is-ready{color:#5fd38a;font-weight:600}.row-actions{display:flex;flex-wrap:wrap;gap:10px}.form{display:grid;gap:16px}.form--inline{grid-template-columns:1fr auto;align-items: end}.field{display:grid;border:0;gap:6px;min-width:0;margin:0;padding:0}.field>span,.field>legend{margin-bottom:6px;padding:0;font-size:14px;font-weight:600}.field small{color:var(--chalk);font-size:13px}.field input:not([type=radio]):not([type=checkbox]){font:inherit;color:var(--ivory);background:#08102073;border:1px solid #a9b9cf4d;border-radius:10px;width:100%;padding:10px 12px}.field input:focus-visible{outline:2px solid var(--ochre);outline-offset:1px}.segmented{display:flex;flex-wrap:wrap;gap:8px}.segmented label{position:relative}.segmented input{position:absolute;opacity:0;inset:0}.segmented span{display:inline-block;cursor:pointer;border:1px solid #a9b9cf4d;border-radius:10px;padding:9px 14px;font-size:14px}.segmented input:checked+span{border-color:var(--ochre);color:var(--ochre);background:#e2a83326;font-weight:600}.segmented input:focus-visible+span{outline:2px solid var(--ochre);outline-offset:2px}.form__error{color:#ffb4aa;font-size:14px}.form__ok{color:#9fe3b6;font-size:14px}.sit-bar{position:fixed;z-index:30;background:var(--felt-deep);border-radius:14px;padding:10px 14px;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #a9b9cf33,0 14px 30px #00000073}.showdown__math{list-style:none;display:grid;gap:2px;margin:0;padding:0}.showdown__net th,.showdown__net td{border-top:1px solid #a9b9cf2e;padding-top:8px;font-weight:700}.showdown__next{display:flex;flex-wrap:wrap;align-items: center;gap:14px}.showdown__note{color:var(--chalk);font-size:14px}.toasts{position:fixed;z-index:60;display:grid;gap:10px;max-width:min(420px,100vw - 40px);bottom:20px;right:20px}.toast{display:flex;background:var(--felt-deep);border-radius:14px;align-items: center;gap:12px;padding:12px 12px 12px 16px;font-size:14px;box-shadow:0 0 0 1px #e2a83366,0 16px 30px #00000073}.toast>span{margin-right:auto}@media (max-width:860px){.lobby{grid-template-columns:1fr}.nav{margin-left:8px}.nav__link span:not(.badge),.user__name{display:none}.form--inline{grid-template-columns:1fr}}
