:root{--ink: #143044;--parchment: #f4efe4;--cream: #fbf7f0;--teal: #0e6a80;--teal-deep: #0c3348;--navy: #123652;--brass: #9a7430;--red: #c65b3e;--coral-deep: #8f3d28;--gold: #c4a15a;--lagoon: #1f8a78;--felt: #0e627c;--card-red: #c23a32;--card-ink: #1a2430;--line: #b7c9d2;--muted: #5d7380;--mist: #e4eef1;color:var(--ink);font-family:Iowan Old Style,Palatino,Palatino Linotype,Georgia,serif;font-size:18px;line-height:1.4}*{box-sizing:border-box}body{margin:0;min-height:100vh;padding:18px;background-color:#0c3e56;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Crect width='28' height='28' fill='%230c3e56'/%3E%3Cpath d='M14 1.5 L17.2 10.8 L26.5 14 L17.2 17.2 L14 26.5 L10.8 17.2 L1.5 14 L10.8 10.8 Z' fill='%231a7a92'/%3E%3Cpath d='M14 6.2 L16.2 11.8 L21.8 14 L16.2 16.2 L14 21.8 L11.8 16.2 L6.2 14 L11.8 11.8 Z' fill='%23c4a15a'/%3E%3Ccircle cx='14' cy='14' r='2.1' fill='%23c65b3e'/%3E%3C/svg%3E");background-size:28px 28px}button,input{font:inherit}button{cursor:pointer}.app{max-width:1280px;margin:0 auto;min-height:calc(100vh - 36px);padding:18px 22px 48px;background-color:var(--parchment);background-image:radial-gradient(rgba(18,54,82,.045) .6px,transparent .7px);background-size:6px 6px;box-shadow:inset 0 0 0 3px var(--gold),inset 0 0 0 8px var(--navy)}.picado{height:58px;margin:0 0 10px;background-image:url(/art/picado.png);background-repeat:repeat-x;background-position:center top;background-size:auto 58px}.top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin-bottom:12px}.title-block{grid-column:2;text-align:center}.account-slot{grid-column:1;justify-self:start}.top .ghost{grid-column:3;justify-self:end}.signed-in{margin:0;color:var(--teal);font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:15px}.round-plaque{width:fit-content;margin:4px auto 2px;background:var(--navy);color:var(--brass);letter-spacing:.14em;text-transform:uppercase;font-weight:800;font-size:14px;padding:4px 18px;border-radius:4px}.target-line{text-align:center;margin:0 0 12px}h1{font-size:44px;line-height:.9;margin:0;letter-spacing:.06em;text-transform:uppercase;font-weight:800}.title-baja{color:var(--navy)}.title-rummy{color:var(--brass)}.muted{color:var(--muted)}.ghost,.primary,.danger{border-radius:999px;padding:8px 16px;border:1px solid var(--ink);background:transparent;letter-spacing:.06em;text-transform:uppercase;font-size:15px}.ghost{color:var(--teal);border-color:var(--teal);background:transparent}.primary{background:var(--red);color:var(--cream);border-color:var(--coral-deep)}.danger{color:var(--red);border-color:var(--red);background:transparent}.setup{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}.setup button{text-align:left;padding:22px;border-radius:8px;border:1px solid var(--line);background:var(--cream);box-shadow:inset 0 0 0 4px var(--parchment);color:var(--ink)}.setup button:hover{border-color:var(--teal)}.setup button[aria-pressed=true]{border-color:var(--teal);box-shadow:inset 0 0 0 4px var(--parchment),0 0 0 2px var(--teal)}.setup strong{display:block;font-size:26px;margin-bottom:6px;color:var(--teal);letter-spacing:.04em;text-transform:uppercase}.online-setup{margin-top:22px;padding:18px;background:var(--cream);border:1px solid var(--line);border-radius:8px;box-shadow:inset 0 0 0 4px var(--parchment)}.online-setup h2{margin:0 0 8px;color:var(--teal);letter-spacing:.08em;text-transform:uppercase;font-size:18px}.online-setup .setup{margin-top:14px}.pace-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.pace-choice.two{grid-template-columns:1fr 1fr}.pace-choice button{text-align:left;padding:12px 14px;border-radius:8px;border:1px solid var(--line);background:#fff;box-shadow:inset 0 0 0 4px var(--parchment);color:var(--ink)}.pace-choice button[aria-pressed=true]{border-color:var(--teal);box-shadow:inset 0 0 0 4px var(--parchment),0 0 0 2px var(--teal)}.pace-choice strong{display:block;margin-bottom:4px;color:var(--teal);letter-spacing:.04em;text-transform:uppercase}.join-line{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-top:14px}.join-line button{align-self:end}.queue-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.paid-toggle{display:flex;gap:8px;align-items:center;margin-top:10px}.online-setup label{display:block;margin:8px 0}.online-setup label.paid-toggle{display:flex;margin-top:10px}.online-setup input{display:block;margin-top:4px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}.code-line{width:8em;font-size:28px;font-weight:800;letter-spacing:.18em;text-align:center;color:var(--teal)}.seat-pills{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;padding:0;list-style:none}.seat-pills li{border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:var(--parchment)}.warning-banner{color:var(--red);font-weight:800}.account-card{max-width:560px;margin:22px auto 0;padding:18px 18px 8px;background:var(--cream);border:1px solid var(--line);border-radius:8px;box-shadow:inset 0 0 0 4px var(--parchment)}.account-card h2{margin:0 0 8px;color:var(--teal);letter-spacing:.06em;text-transform:uppercase}.account-card label{display:block;margin:12px 0}.account-card input{display:block;width:100%;margin-top:4px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}.account-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.text-button{border:0;padding:0;background:transparent;color:var(--teal);text-decoration:underline;letter-spacing:0;text-transform:none}.match-list{list-style:none;margin:16px 0 0;padding:0}.match-list li{display:grid;gap:2px;margin:0 0 12px;padding-bottom:12px;border-bottom:1px dotted var(--line)}.match-list strong{color:var(--teal);letter-spacing:.04em;text-transform:uppercase}.felt{--card-full-w: 88.8px ;--card-full-h: calc(var(--card-full-w) * 700 / 423);--card-w: var(--card-full-w);--card-h: var(--card-full-h);color:var(--ink);display:grid;gap:12px;width:100%;min-width:0}.table-scene{display:grid;gap:14px;align-items:start;width:100%;min-width:0}.score-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;align-items:start;width:100%;min-width:0}.across{display:flex;justify-content:center;align-items:start;gap:28px;flex-wrap:wrap;width:100%;min-width:0}.play{display:grid;justify-items:center;gap:14px;width:100%;padding:22px 24px 26px;border-radius:90px;color:var(--cream);background-color:#0e5c74;background-image:radial-gradient(ellipse at 50% 14%,rgba(232,176,110,.24),transparent 36%),linear-gradient(180deg,#08283a47,#0620306b),url(/art/coast.jpg);background-size:auto,auto,cover;background-position:center;background-repeat:no-repeat;box-shadow:0 0 0 8px var(--gold),0 0 0 13px var(--navy),inset 0 0 40px #06182647}.other-melds{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;width:100%;min-width:0;align-items:start}.meld-lane{display:grid;justify-items:center;align-content:start;gap:4px;min-width:0;width:100%}.meld-lane .melds{justify-content:center;width:100%}.play .piles{justify-self:center;padding:0;background:none;box-shadow:none}.play .banner{color:var(--cream);text-shadow:0 1px 1px rgba(6,24,38,.45)}.hand,.plays,.piles{display:flex;flex-wrap:wrap;gap:10px}.piles,.you-row{justify-content:center}.team-name{margin:0;text-align:center;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.order-line{text-align:center}.order{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}.spot.acting .order{color:var(--red)}.shield{position:relative;min-width:0;width:100%;box-sizing:border-box;display:grid;justify-items:center;align-content:start;gap:4px;text-align:center;padding:0 14px 14px;background-color:var(--parchment);background-image:radial-gradient(rgba(18,54,82,.05) .6px,transparent .7px);background-size:6px 6px;border:3px solid var(--gold);box-shadow:inset 0 0 0 6px #1236521f,0 8px 18px #081c2a1f}.shield.b{box-shadow:inset 0 0 0 6px #c65b3e29,0 8px 18px #081c2a1f}.shield.c{box-shadow:inset 0 0 0 6px #1f8a7829,0 8px 18px #081c2a1f}.shield-picado{width:calc(100% + 28px);height:28px;margin:0 -14px 2px;background-image:url(/art/picado.png);background-repeat:repeat-x;background-position:center top;background-size:auto 28px}.shield:after{content:"";position:absolute;top:2px;right:8px;width:40px;height:40px;background:url(/art/life-ring.png) center / contain no-repeat;pointer-events:none}.shield.b:after{background-image:url(/art/maracas.png)}.shield.c:after{background-image:url(/art/shell.png)}.opened-mark{display:flex;align-items:center;gap:8px;width:100%;margin:2px 0 0;color:var(--teal);font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.opened-mark:before,.opened-mark:after{content:"";flex:1;border-bottom:2px dotted var(--line)}.team-ribbon{margin:0;background:var(--navy);color:var(--cream);font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;padding:3px 18px 4px;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%)}.shield.b .team-ribbon{background:var(--red)}.shield.c .team-ribbon{background:var(--lagoon)}.shield-names{font-size:18px;padding:0 42px}.shield b,.meld b{display:block;color:var(--teal)}.shield.a .shield-names{color:var(--teal)}.shield.b .shield-names{color:var(--red)}.shield.c .shield-names{color:var(--lagoon)}.shield .score-line{width:100%;margin:0}.shield .score-line b{display:inline;letter-spacing:0;text-transform:none}.shield .points{font-size:26px;line-height:1}.spot{display:grid;justify-items:center;gap:4px;text-align:center;padding:6px;border-radius:12px;min-width:0;max-width:100%}.spot.partner{outline:2px solid var(--gold)}.nameplate{margin:0;background:var(--navy);color:var(--cream);padding:3px 16px 4px;font-size:14px;letter-spacing:.05em;text-transform:uppercase;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%)}.across .nameplate{clip-path:none;border-radius:999px;max-width:148px;white-space:normal;line-height:1.15;font-size:12px;padding:4px 10px 5px}.spot.acting .nameplate{background:var(--red)}.spot .count{font-size:13px;color:var(--muted);max-width:100%;overflow-wrap:anywhere}.mini-fan{display:flex;align-items:flex-end;min-height:calc(36px * 700 / 423)}.mini-fan .card{width:36px;height:calc(36px * 700 / 423);margin-left:-17px}.mini-fan .card:first-child{margin-left:0}.pile,.meld{background:var(--cream);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.pile{background:transparent;border-color:transparent;color:var(--cream);text-shadow:0 1px 1px rgba(6,24,38,.45)}.play .meld{background:transparent;border-color:transparent;box-shadow:none;padding:0}.points{color:var(--red);font-weight:700}.felt .muted{color:var(--muted)}.felt-tools{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 14px}.tool-toggle{padding:4px 14px;font-size:13px}.tool-toggle[aria-pressed=true]{background:var(--navy);color:var(--cream);border-color:var(--navy)}.card-flight{box-shadow:0 14px 28px #06182661}.turn-line{justify-self:center;width:fit-content;max-width:100%;box-sizing:border-box;margin:0;padding:4px 28px 6px;background:var(--navy);color:var(--cream);font-size:16px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,12px 100%,0 50%)}.book-shelf{justify-self:stretch;width:100%;display:flex;flex-wrap:wrap;justify-content:center;align-items:start;gap:10px 24px;margin-top:6px}.book-group{flex:1 1 140px;max-width:280px;display:grid;justify-items:center}.book-caption{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.book-caption:before,.book-caption:after{content:"";flex:1;border-bottom:2px dotted var(--line)}.book-group .book-caption{width:100%}.book-group.clean .book-caption{color:var(--teal)}.book-group.spoiled .book-caption{color:var(--coral-deep)}.book-group .melds{gap:6px;justify-content:center}.book-pile{--card-w: 45.6px ;--card-h: calc(var(--card-w) * 700 / 423);width:calc(var(--card-w) + 10px);height:calc(var(--card-h) + 10px);margin-top:0}.dirty-mark{display:none}.book-pile .card .pip{font-size:26px;top:8px}.book-pile .card .rank{font-size:11px}.book-pile .card .suit{font-size:10px}.meld-heading{color:var(--teal);background:var(--cream);display:table;margin:0;padding:2px 12px;border-radius:999px;letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:700}.play .meld-heading{color:#111;text-shadow:none}.piles{align-items:center}.play .pile{--card-w: calc(var(--card-full-w) * .75);--card-h: calc(var(--card-full-h) * .75);display:grid;justify-items:center;align-items:center;gap:6px;padding:8px 12px 6px;border:2px dotted rgba(20,48,68,.78);border-radius:18px;background:transparent;box-shadow:none;color:#143044;text-shadow:none}button.pile{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;text-align:inherit}.play .pile.can-draw{border-style:solid;border-color:var(--gold);background:#fbf7f024}.play .pile.can-draw:hover,.play .pile.can-draw:focus-visible{background:#fbf7f047;outline:2px solid var(--gold);outline-offset:3px}.spot-name{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;line-height:1}.stock-fan,.discard-cards{position:relative;width:var(--card-w);height:var(--card-h)}.pile-flat{position:relative;height:var(--card-w)}.pile-flat>.stock-fan,.pile-flat>.discard-cards{position:absolute;top:0;left:0;transform-origin:top left;transform:rotate(90deg) translateY(-100%)}.stock-fan.n2{height:calc(var(--card-h) + 14px * .75)}.stock-fan.n3{height:calc(var(--card-h) + 28px * .75)}.stock-layer,.discard-layer{position:absolute;left:0;bottom:0}.stock-fan.n2 .stock-layer:nth-child(1){bottom:10.5px}.stock-fan.n3 .stock-layer:nth-child(1){bottom:21px}.stock-fan.n3 .stock-layer:nth-child(2){bottom:10.5px}.discard-layer.top{z-index:1}button.discard-layer{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer}button.discard-layer.take:hover .card,button.discard-layer.take:focus-visible .card{outline:2px solid var(--gold);outline-offset:2px}.card{position:relative;flex:0 0 auto;width:var(--card-w);height:var(--card-h);border-radius:calc(var(--card-w) * .11);border:1px solid #d2c8b8;background:var(--cream);color:var(--card-ink);padding:0;box-shadow:0 1px #24191129}button.card{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block}.card.red{color:var(--card-red)}.card.joker{color:var(--teal)}.card .corner{position:absolute;top:4px;left:5px;z-index:1;display:flex;flex-direction:column;align-items:center;line-height:1;font-weight:800;pointer-events:none}.card .rank{font-size:calc(var(--card-w) * .22)}.card .suit{font-size:calc(var(--card-w) * .2);margin-top:1px}.card .pip{position:absolute;left:0;right:0;top:8%;bottom:4%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(var(--card-h) * .34);line-height:.8;pointer-events:none}.card.joker .pip{font-size:calc(var(--card-h) * .26)}.card.illustrated{border-color:transparent;background:#f6f1e6;overflow:hidden;padding:0}.face-art{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none;border-radius:inherit}.pip-name{margin-top:2px;font-size:11px;line-height:1;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.card.selected{outline:3px solid var(--gold)}.card.hint{outline:2px dashed var(--gold)}.card.must{box-shadow:inset 0 0 0 2px var(--red)}.card.back{background:#0c4e66;border-color:var(--gold);overflow:hidden;padding:0}.back-art{display:block;width:100%;height:100%}.you-row{display:grid;justify-items:center;gap:6px;position:relative;z-index:1;margin-top:-8px;width:100%;min-width:0;overflow-x:clip}.sort-hand{padding:4px 14px;font-size:13px}.you-ribbon{margin:0;background:var(--navy);color:var(--cream);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:15px;padding:4px 28px 5px;clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,12px 100%,0 50%)}.hand{align-items:flex-end;justify-content:center;flex-wrap:nowrap;gap:0;width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:34px calc(var(--card-h) * .3) 10px;container-type:inline-size;overflow:visible}.hand .card{margin-left:clamp(calc(var(--card-w) * -.78),calc((100cqi - var(--card-w)) / max(var(--fan, 12) - 1,1) - var(--card-w)),-16px);transform-origin:50% 120%}.hand .card:first-child{margin-left:0}.foot{display:flex;justify-content:center;align-items:flex-end;margin-top:-8px;padding:4px 4px 2px}.foot .card+.card{margin-left:calc(var(--card-w) * -.82)}.foot .card{transform-origin:50% 130%}.melds{display:flex;flex-wrap:wrap;gap:8px}.meld .cards{display:flex;gap:4px;margin-top:6px}.meld-stack{position:relative;width:calc(var(--card-w) + 16px);height:calc(var(--card-h) + 16px);margin-top:6px}.meld-stack.spread{width:calc(var(--card-w) + 62px);height:calc(var(--card-h) + 20px)}.meld-stack .card{position:absolute;top:0;left:0;box-shadow:0 1px #24191159}.meld-fan{display:flex;align-items:flex-end;margin-top:6px}.meld-fan .card+.card{margin-left:calc(var(--card-w) * -.62)}.meld-fan.spread .card:last-child{margin-left:calc(var(--card-w) * -.34)}.meld-fan .card{box-shadow:1px 0 #24191147}.set-count{display:none}.plays{align-items:stretch}.plays button,.panel button{background:var(--cream);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 12px;text-align:left}.plays button.primary,.panel button.primary{background:var(--red);color:var(--cream);border-color:var(--coral-deep)}.plays button.primary:disabled{background:var(--mist);color:var(--muted);border-color:var(--line);cursor:not-allowed}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:28px 16px;overflow:auto;background:#081c2aa8}.poster{width:min(820px,100%);margin:auto;padding:0 28px 26px;display:grid;justify-items:center;gap:12px;background-color:var(--parchment);background-image:radial-gradient(rgba(18,54,82,.05) .6px,transparent .7px);background-size:6px 6px;border:3px solid var(--gold);box-shadow:inset 0 0 0 8px #1236521f,0 22px 48px #081c2a66}.poster-picado{width:calc(100% + 56px);height:42px;margin:0 -28px;background-image:url(/art/picado.png);background-repeat:repeat-x;background-position:center top;background-size:auto 42px}.poster-ribbon{margin:0;background:var(--navy);color:var(--cream);font-weight:800;letter-spacing:.16em;text-transform:uppercase;font-size:14px;padding:5px 28px 6px;clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,12px 100%,0 50%)}.poster h2{margin:0;color:var(--brass);font-size:34px;line-height:1.05;text-align:center}.poster-note{margin:0;text-align:center}.poster-scores{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.poster-side{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:12px 16px 14px}.poster-side.yours{box-shadow:inset 0 0 0 3px var(--teal)}.poster-side h3{margin:0 0 8px;color:var(--teal);font-size:16px;letter-spacing:.08em;text-transform:uppercase;text-align:center}.score-line{display:flex;align-items:baseline;gap:8px;margin:0 0 4px}.score-line span:first-child{color:var(--teal);font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.score-line .dots{flex:1;border-bottom:2px dotted var(--line);transform:translateY(-3px)}.score-line b{color:var(--red);font-size:18px}.score-line.minus b{color:var(--ink)}.poster-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:8px 0 0;padding-top:8px;border-top:2px solid var(--teal);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.poster-total b{color:var(--red);font-size:26px;letter-spacing:0}.poster-match{margin:2px 0 0;text-align:center;color:var(--muted)}.poster-action{margin-top:4px;background:var(--red);color:var(--cream);border:2px solid var(--coral-deep);border-radius:999px;padding:8px 26px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.error{color:var(--red);margin:0}.banner{margin:0;max-width:100%;overflow-wrap:anywhere;text-align:center}.account-chip{display:inline-flex;align-items:center;gap:8px;padding-left:6px}.leader-links{margin-top:28px}.shore{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:end;margin-top:36px;pointer-events:none}.shore-props{display:flex;align-items:end;justify-content:flex-end;gap:16px;min-width:0}.shore-prop{width:92px;height:auto}.shore-prop.ring{width:112px}.shore-prop.compass{width:76px}.shore-ship{width:min(280px,36vw);border-radius:8px;border:3px solid var(--gold);box-shadow:0 0 0 6px var(--navy)}.leader-links h2{margin:0 0 6px;color:var(--teal);font-size:15px;letter-spacing:.06em;text-transform:uppercase}.leader-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px}.leader-links{text-align:center}.deal{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:28px 40px;margin-top:8px}.deck{position:relative;width:360px;height:620px;flex:0 0 auto}.ship-card,.fan-tab{width:210px;aspect-ratio:508 / 650}.ship-card{position:absolute;left:0;bottom:0;z-index:10;overflow:hidden;border-radius:16px;border:3px solid var(--gold);box-shadow:0 0 0 6px var(--navy),0 16px 18px #081c2852;transform:rotate(-6deg)}.ship-card .back-art,.fan-tab .back-art{display:block;width:100%;height:100%;object-fit:cover}.ship-title{position:absolute;left:7%;right:7%;top:58%;margin:0;padding:8px 8px 10px;display:flex;flex-direction:column;align-items:center;gap:0;border-radius:8px;background:#0c3348b8;font-size:32px;line-height:.92;text-align:center;pointer-events:none}.ship-title .title-baja,.ship-title .title-rummy{color:#fbf7f0}.ship-title .title-rummy{color:#e8c97a}.deal-hand{position:relative;width:min(560px,100%);min-height:460px}.fan-tab{position:absolute;left:0;bottom:0;padding:0;overflow:hidden;border:3px solid var(--gold);border-radius:16px;background:#0c3348;box-shadow:0 10px 16px #081c2847;transform-origin:40% 100%;transition:transform .28s ease;cursor:pointer}.fan-tab.step-0{transform:translate(22px,-71px) rotate(-2deg);z-index:8}.fan-tab.step-1{transform:translate(44px,-142px) rotate(3deg);z-index:7}.fan-tab.step-2{transform:translate(66px,-213px) rotate(8deg);z-index:6}.fan-tab.step-3{transform:translate(88px,-284px) rotate(13deg);z-index:5}.fan-tab.is-on{box-shadow:0 0 0 3px var(--teal),0 10px 16px #081c2847}.fan-tab.locked{filter:grayscale(.9) brightness(.78)}.fan-tab:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.tab-title{position:absolute;top:10px;left:8px;right:8px;z-index:1;margin:0;padding:4px 6px;border-radius:6px;background:#08202cc7;color:#fbf7f0;font-size:13px;font-weight:800;letter-spacing:.08em;line-height:1.15;text-align:center;text-transform:uppercase}.tab-rank{letter-spacing:0;text-transform:none}.option-wrap{position:relative;z-index:1;width:min(380px,100%);display:flex;flex-direction:column;align-items:center;gap:14px}.option-card{position:relative;width:100%;min-height:680px;padding:18px 14px 16px;overflow:hidden;border-radius:16px;border:1px solid #c8bba8;background:var(--cream);color:var(--card-ink);box-shadow:inset 0 0 0 5px var(--cream),inset 0 0 0 6px #e4d8c8,0 16px 24px #0c334833;animation:face-up .24s ease}.option-card.red{--court: var(--card-red)}.option-card.black{--court: var(--card-ink)}.court-index{position:absolute;top:8px;left:10px;z-index:2;display:flex;flex-direction:column;align-items:center;width:1.4em;color:var(--court);line-height:.85;font-weight:800;pointer-events:none}.court-index b{font-size:28px}.court-index i{font-size:22px;font-style:normal}.court-index.turned{top:auto;left:auto;right:10px;bottom:8px;transform:rotate(180deg)}.court-pip{position:absolute;left:0;right:0;top:50%;z-index:0;margin:0;color:var(--court);font-size:210px;line-height:0;text-align:center;opacity:.14;pointer-events:none;transform:translateY(-50%)}.court-face{position:relative;z-index:1;padding:28px 34px 26px}.option-card.locked{background:#e6e1d6;color:var(--muted)}.option-card.locked .court-index,.option-card.locked .court-pip{opacity:.4}.option-card.locked h2{color:var(--muted)}.option-card h2{margin:0 0 6px;color:var(--teal);font-size:18px;letter-spacing:.08em;text-transform:uppercase}.rules-blurb{margin:0}.rules-blurb+.ghost{margin-top:18px}.option-card .muted{margin:0;font-size:16px}.option-card .online-setup{margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.option-card .setup{grid-template-columns:1fr;gap:8px;margin-top:12px}.option-card .setup button{padding:12px 14px}.option-card .setup strong{font-size:18px;margin-bottom:2px}.option-card .pace-choice,.option-card .pace-choice.two{gap:6px;margin-top:10px}.option-card .pace-choice.two{grid-template-columns:1fr 1fr}.option-card .pace-choice button{padding:8px;font-size:14px}.option-card .pace-choice strong{font-size:13px}.option-card .primary{margin-top:16px}.option-card .join-line input{width:8em}.shuffle{min-width:9em}@keyframes face-up{0%{opacity:.45;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.option-card{animation:none}.fan-tab{transition:none}}.rules-page{max-width:680px;margin:12px auto 0}.rules-page h2{margin:8px 0 4px;color:var(--teal);letter-spacing:.08em;text-transform:uppercase}.rules-page h3{margin:18px 0 4px;color:var(--navy);font-size:18px;letter-spacing:.06em;text-transform:uppercase}.rules-page p{margin:6px 0}.rules-page ul{margin:6px 0 0;padding-left:1.2em}.rules-page section+section{border-top:1px solid var(--line)}.standings{list-style:none;margin:16px 0 0;padding:0}.standing{display:grid;grid-template-columns:2rem auto 1fr;gap:10px;align-items:center;width:100%;margin:0 0 8px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--parchment);color:var(--ink);text-align:left;letter-spacing:0;text-transform:none}.standing strong{display:block;color:var(--teal)}.standing .rank{font-weight:800;text-align:center;color:var(--teal)}.account-card.wide{max-width:760px}.account-card h3{margin:18px 0 6px;color:var(--teal);letter-spacing:.06em;text-transform:uppercase;font-size:15px}.account-card label.paid-toggle{display:flex;align-items:center;gap:8px}.account-card label.paid-toggle input{width:auto;margin:0}.who{display:flex;align-items:center;gap:10px}.who strong,.admin-row strong,.who .muted,.admin-row .muted{display:block}.portrait{position:relative;display:inline-block;flex:none;border-radius:50%;border:2px solid var(--teal);background:var(--mist);line-height:0}.portrait.gold{border-color:var(--gold)}.portrait img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;image-rendering:pixelated}.portrait .star{position:absolute;right:-4px;bottom:-2px;width:14px;height:14px;border-radius:50%;background:var(--gold);color:var(--navy);font-size:11px;line-height:14px;text-align:center;box-shadow:0 0 0 2px var(--cream)}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px;margin:8px 0 4px;padding:0;list-style:none}.avatar-grid button{display:grid;justify-items:center;gap:4px;padding:6px 4px 8px;border-radius:8px;border:1px solid var(--line);background:var(--parchment);color:var(--ink);letter-spacing:0;text-transform:none;font-size:12px}.avatar-grid button[aria-pressed=true]{border-color:var(--teal);box-shadow:0 0 0 2px var(--gold)}.admin-filters{display:grid;gap:10px;margin:14px 0 4px}.admin-filter{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.admin-filter .ghost{font-size:13px;padding:6px 12px}.admin-filter .ghost[aria-pressed=true]{background:var(--teal);color:var(--cream)}.admin-pages{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}.admin-pages p{margin:0}.admin-list{list-style:none;margin:12px 0;padding:0}.admin-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.admin-row p{margin:0}.account-card.wide.admin-suite{max-width:880px}.floor-counts{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:8px;margin:14px 0;padding:0;list-style:none}.floor-counts li{margin:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--parchment)}.floor-counts strong{display:block;color:var(--teal);font-size:22px}.floor-counts span{color:var(--muted);font-size:13px}.floor-counts .alert strong{color:var(--coral-deep)}.floor-note p{margin:8px 0}.floor-block{margin:0 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--cream)}.floor-block.alert{border-color:var(--coral-deep)}.floor-title{margin:0;font-weight:800;color:var(--teal)}.floor-code{margin:0;font-weight:800;letter-spacing:.14em;color:var(--teal)}.floor-line,.floor-seats{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}.floor-line li,.floor-seat{display:flex;gap:8px;align-items:center}.floor-line p,.floor-seat p{margin:0}.floor-line strong,.floor-seat strong,.floor-line .muted,.floor-seat .muted{display:block}.floor-place{width:1.4rem;flex:none;font-weight:800;text-align:center;color:var(--teal)}.shield-faces{display:flex;justify-content:center;gap:4px;margin-bottom:4px}.seat-pills li{display:inline-flex;align-items:center;gap:6px}@media(min-width:721px){.play{height:800px;grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch}.other-melds{height:100%;min-height:0;align-items:stretch}.play .meld-lane{height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr);align-content:stretch}.play .meld-lane.far{grid-template-rows:minmax(0,1fr) auto}.play .meld-lane.far .melds{order:0}.play .meld-lane.far .meld-heading{order:1;align-self:end}.play .melds{--meld-gap: 16px;display:flex;flex-wrap:wrap;justify-content:center;align-content:center;align-items:center;gap:14px var(--meld-gap);width:100%;height:100%;min-height:0;container-type:size}.play .meld-break{flex-basis:100%;height:0}.play .meld{--slot: calc((100cqi - (var(--meld-cols, 1) - 1) * var(--meld-gap)) / var(--meld-cols, 1));--fit-w: calc(var(--slot) / var(--meld-span, 3.2));--row-h: calc((100cqb - (var(--meld-rows, 1) - 1) * 14px) / var(--meld-rows, 1));--h-cap: max(50px, min(calc(100px * 700 / 423), calc(var(--row-h) - 6px)));--w-cap: max(30px, min(100px, calc(var(--h-cap) * 423 / 700), var(--fit-w)));--card-w: var(--w-cap);--card-h: calc(var(--w-cap) * 700 / 423);display:flex;justify-content:center;flex:0 1 auto;width:max-content;max-width:var(--slot);min-width:0}.play .meld .cards .card+.card{margin-left:calc(var(--card-w) * -.62)}}@media(max-width:720px){body{padding:12px}.app{padding:14px 12px 36px}h1{font-size:32px}.top{grid-template-columns:1fr auto;grid-template-areas:"account actions" "title title"}.account-slot{grid-area:account}.title-block{grid-area:title;grid-column:1 / -1}.top>.ghost{grid-area:actions;grid-column:auto;justify-self:end}.setup,.pace-choice,.pace-choice.two{grid-template-columns:1fr}.code-line{width:100%}.felt{--card-full-w: 69.6px ;--card-full-h: calc(var(--card-full-w) * 700 / 423);--card-w: var(--card-full-w);--card-h: var(--card-full-h)}.play .meld{--card-w: calc(var(--card-full-w) * .9);--card-h: calc(var(--card-full-h) * .9)}.meld-break{display:none}.play{border-radius:28px;padding:16px 10px 18px;box-shadow:0 0 0 5px var(--gold),0 0 0 8px var(--navy),inset 0 0 36px #06182647}.across{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;justify-items:center}.across .nameplate{max-width:100%;font-size:11px;padding:3px 8px 4px}.mini-fan .card{width:calc(24px * 1.2);height:calc(24px * 1.2 * 700 / 423);margin-left:-14px}.spot .count{font-size:11px}.shield .points{font-size:22px}.meld-fan.set-pile{display:block;position:relative;width:calc(var(--card-w) + 8px);height:calc(var(--card-h) + 8px)}.meld-fan.set-pile .card,.meld-fan.set-pile.spread .card:last-child{position:absolute;top:0;left:0;margin-left:0}.meld-fan.set-pile .card:nth-last-of-type(1){z-index:6;transform:translate(8px,8px)}.meld-fan.set-pile .card:nth-last-of-type(2){z-index:5;transform:translate(4px,4px)}.meld-fan.set-pile .card:nth-last-of-type(3){z-index:4;transform:translate(0)}.meld-fan.set-pile.spread .card:nth-last-of-type(1){z-index:5;transform:translate(4px,4px)}.meld-fan.set-pile.spread .card:nth-last-of-type(2){z-index:6;transform:translate(8px,8px)}.set-pile{position:relative}.set-count{display:grid;place-items:center;position:absolute;right:-4px;bottom:-4px;z-index:8;width:22px;height:22px;padding:0;border-radius:50%;background:var(--teal);color:var(--cream);font-size:13px;font-weight:800;line-height:1;letter-spacing:0;text-transform:none;box-shadow:0 0 0 2px var(--cream);pointer-events:none}.set-count.wide{width:26px;font-size:11px}.book-pile.set-pile .set-count{width:20px;height:20px;font-size:11px;right:-2px;bottom:-2px}.book-pile.set-pile .set-count.wide{width:24px;font-size:10px}.shore{grid-template-columns:1fr}.shore-props{flex-wrap:wrap;justify-content:center}.shore-ship{width:100%}.shore-prop,.shore-prop.ring,.shore-prop.compass{width:64px}.deal{flex-direction:column;align-items:center;gap:8px}.deck{width:min(100%,280px);height:490px}.ship-card,.fan-tab{width:148px}.ship-card .ship-title{font-size:18px;top:54%;padding:6px}.fan-tab.step-0{transform:translate(14px,-57px) rotate(-2deg)}.fan-tab.step-1{transform:translate(28px,-114px) rotate(2deg)}.fan-tab.step-2{transform:translate(42px,-171px) rotate(6deg)}.fan-tab.step-3{transform:translate(56px,-228px) rotate(10deg)}.tab-title{top:6px;font-size:10px;letter-spacing:.06em;padding:3px 4px}.option-wrap{width:100%}.option-card{min-height:0;padding:16px 12px 12px}.shield:after{width:32px;height:32px;top:0;right:4px}.shield-names{padding:0 28px}.poster{padding:0 14px 18px}.poster h2{font-size:26px}.poster-picado{width:calc(100% + 28px);margin:0 -14px}}@media(max-width:720px),(pointer:coarse)and (max-width:1100px){.meld-lane,.melds,.meld,.meld-fan.dirty,.cards.dirty{overflow:visible}.meld-fan.dirty,.cards.dirty{position:relative}.dirty-mark{display:block;position:absolute;top:50%;left:50%;z-index:12;transform:translate(-50%,-50%);padding:1px 7px;border-radius:999px;background:var(--coral-deep);color:var(--cream);font-size:11px;font-weight:800;letter-spacing:.08em;line-height:1.35;text-transform:uppercase;white-space:nowrap;pointer-events:none;box-shadow:0 0 0 2px var(--cream)}}.log-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.game-log{width:min(720px,100%);max-height:11rem;overflow:auto;padding:8px 12px;background:var(--cream);border:1px solid var(--line);border-radius:10px;text-align:left}.game-log ol,.log-list{margin:0;padding-left:1.2rem;display:grid;gap:4px}.game-log li,.log-list li{font-size:15px;line-height:1.35}.game-log p{margin:0;text-align:center;color:var(--muted)}.log-poster{justify-items:stretch}.log-list{width:100%;max-height:min(60vh,520px);overflow:auto;text-align:left}
