:root{--night: #1d2c40;--night-2: #24364e;--cloth: #2b496c;--check: rgba(255, 255, 255, .07);--paper: #fffdf8;--ink: #1b1b1f;--red: #c0262d;--lamp: #f2c14e;--text: #e9eef5;--muted: #9fb0c5;--line: rgba(255, 255, 255, .14);--danger: #ffb4a8;--card-w: clamp(46px, 12.5vw, 74px);--card-h: calc(var(--card-w) * 1.42);--card-sm-w: clamp(26px, 7vw, 36px);--card-sm-h: calc(var(--card-sm-w) * 1.42);--ui: "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;--face: Georgia, "Times New Roman", serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--night);color:var(--text);font:16px/1.5 var(--ui);-webkit-font-smoothing:antialiased}h1,h2{font-family:var(--face);font-weight:700;line-height:1.15;margin:0 0 .5em}h1{font-size:clamp(1.9rem,6vw,2.6rem)}h2{font-size:1.4rem}p{margin:0 0 .8em}.muted{color:var(--muted)}.small{font-size:.875rem}button{font:inherit;cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:3px solid var(--lamp);outline-offset:2px}.primary,.secondary{border-radius:10px;padding:.7em 1.2em;font-weight:600;border:0}.primary{background:var(--lamp);color:#2a2006}.primary:disabled{background:#4a5a70;color:#c6d0dc}.secondary{background:transparent;color:var(--text);border:1px solid var(--line)}.link{background:none;border:0;color:var(--muted);padding:.3em .4em;text-decoration:underline;text-underline-offset:3px}.link:hover{color:var(--text)}input{font:inherit;width:100%;padding:.65em .8em;border-radius:8px;border:1px solid var(--line);background:var(--night);color:var(--text)}label{display:grid;gap:.35em;font-size:.95rem}.form-error{color:var(--danger)}.center-screen{min-height:70vh;display:grid;place-items:center;padding:16px}.panel{background:var(--night-2);border:1px solid var(--line);border-radius:14px;padding:24px;display:grid;gap:14px;width:100%;max-width:420px}.panel.narrow{max-width:520px}.auth{min-height:100vh;display:grid;align-content:center;justify-items:center;gap:28px;padding:32px 16px}.brand{text-align:center}.brand h1{font-size:clamp(2.8rem,12vw,4.2rem);letter-spacing:-.01em;margin-bottom:.1em}.brand p{color:var(--muted)}.brand-mark .red{color:var(--red)}.brand-mark{display:inline-block;font-size:1.6rem;background:var(--paper);color:var(--ink);border-radius:8px;padding:0 .35em;transform:rotate(-6deg);margin-bottom:10px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}.brand-small{font-family:var(--face);font-weight:700;font-size:1.2rem}.who{display:inline-flex;align-items:center;flex-wrap:wrap;gap:2px;color:var(--muted)}.room-code strong{letter-spacing:.08em}.score{display:flex;gap:14px;font-size:.95rem}.score b{font-size:1.1rem}.lobby-grid{max-width:1120px;margin:0 auto;padding:36px 16px 48px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:32px;align-items:start}@media(max-width:860px){.lobby-grid{grid-template-columns:1fr;padding-top:24px}}h3{font-size:.95rem;font-weight:600;margin:0 0 .4em}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.friends{max-width:none;gap:12px}.friends h2{display:flex;align-items:baseline;justify-content:space-between;margin:0}.friends .count{font-family:var(--ui);font-size:.85rem;font-weight:400;color:var(--muted)}.add-friend{display:flex;gap:8px}.friend-group{padding-top:4px}.friend-list,.friend-group ul{list-style:none;margin:0;padding:0}.friend-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.friend-row:last-child{border-bottom:0}.friend-row.status-offline .friend-name{color:var(--muted)}.friend-name{flex:1;min-width:0;display:grid;font-weight:600;overflow-wrap:anywhere}.friend-status{font-size:.8rem;font-weight:400;color:var(--muted)}.friend-row.status-waiting .friend-status{color:var(--lamp)}.friend-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 2px;flex:0 1 auto;max-width:100%}.friend-name{min-width:6em}.small-btn{padding:.4em .8em;font-size:.875rem}.link.quiet{font-size:.8rem;opacity:.7}.link.danger{color:var(--danger);font-size:.85rem}.invite-friends{display:grid;gap:4px;padding:12px 0 4px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:6px}.lede{color:var(--muted);max-width:52ch}.game-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:26px 0 30px}.game-tile{text-align:left;display:grid;gap:2px;padding:18px;border-radius:12px;border:1px solid var(--line);background:repeating-linear-gradient(0deg,var(--check) 0 14px,transparent 14px 28px),repeating-linear-gradient(90deg,var(--check) 0 14px,transparent 14px 28px),var(--cloth);color:var(--text)}.game-tile:not(.soon):hover{border-color:var(--lamp)}.game-tile.soon{background:transparent;color:var(--muted)}.game-name{font-family:var(--face);font-size:1.5rem;font-weight:700}.game-cta{margin-top:12px;font-weight:600;color:var(--lamp)}.soon .game-cta{color:var(--muted)}.bot-start{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:26px}.bot-start span{color:var(--muted);margin-right:4px}.bot-start .secondary{padding:.45em .9em}.waiting .bot-start{margin:0;padding-bottom:12px;border-bottom:1px solid var(--line)}.join-row,.copy-link{display:flex;gap:8px;margin-top:6px}.join-row input{max-width:220px;text-transform:uppercase;letter-spacing:.08em}.copy-link input{font-size:.9rem}.table-page{min-height:100vh;display:flex;flex-direction:column}.waiting{flex:1;display:grid;place-items:center;padding:24px 16px}.banner{background:#6b4a12;color:#fff3d6;text-align:center;padding:6px 12px;font-size:.9rem}.game{flex:1;display:flex;flex-direction:column;gap:10px;max-width:900px;width:100%;margin:0 auto;padding:12px 12px 16px}.seat{display:grid;gap:8px;justify-items:center}.seat-info{position:relative;font-size:.95rem;text-align:center}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#6a7a8f;margin-right:6px;vertical-align:middle}.dot.on{background:#7ed39b}.hand{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;min-height:var(--card-h)}.hand.backs{gap:3px;min-height:var(--card-sm-h)}.cloth{position:relative;flex:1;min-height:calc(var(--card-h) * 2 + 60px);border-radius:18px;padding:34px 14px 18px;background:repeating-linear-gradient(0deg,var(--check) 0 22px,transparent 22px 44px),repeating-linear-gradient(90deg,var(--check) 0 22px,transparent 22px 44px),var(--cloth);box-shadow:inset 0 0 0 1px #ffffff14,inset 0 -40px 80px #0000002e;display:grid;align-content:center}.deck-info{position:absolute;top:8px;left:14px;right:14px;display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted)}.table-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.empty-table{text-align:center;color:var(--muted);margin:0}.status{text-align:center;min-height:3em;margin:0;font-size:.95rem}.turn{font-weight:600}.turn.mine{color:var(--lamp)}.action-bar{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:var(--night-2);border:1px solid var(--line);flex-wrap:wrap}.hint{font-size:.875rem;flex:1 1 220px}.actions{display:flex;gap:8px;align-items:center;margin-left:auto}.card{position:relative;width:var(--card-w);height:var(--card-h);border-radius:calc(var(--card-w) * .1);background:var(--paper);border:1px solid rgba(0,0,0,.25);box-shadow:0 2px #00000040;padding:0;font-family:var(--face);display:inline-block;flex:none;transition:transform .12s ease,box-shadow .12s ease}.card.black{color:var(--ink)}.card.red{color:var(--red)}.card .corner{position:absolute;top:4%;left:8%;display:grid;justify-items:center;line-height:1}.card .rank{font-weight:700;font-size:calc(var(--card-w) * .3);letter-spacing:-.04em}.card .suit{font-size:calc(var(--card-w) * .24)}.card .pip{position:absolute;right:10%;bottom:6%;font-size:calc(var(--card-w) * .52);line-height:1}button.card:not(:disabled):hover{transform:translateY(-3px)}.card.selected{transform:translateY(-10px);box-shadow:0 0 0 3px var(--lamp),0 8px 16px #00000059}button.card.selected:hover{transform:translateY(-10px)}.cloth .card.selected{transform:translateY(-4px)}.card.back{background:repeating-linear-gradient(45deg,rgba(255,255,255,.18) 0 3px,transparent 3px 7px),#8a2731;border:2px solid var(--paper)}.card.small{width:var(--card-sm-w);height:var(--card-sm-h);border-radius:4px}.tabla-flash{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font-family:var(--face);font-size:clamp(2.6rem,11vw,4.4rem);font-weight:700;color:var(--lamp);text-shadow:0 3px 0 rgba(0,0,0,.35);pointer-events:none;animation:tabla 1.8s ease-out both}.tabla-flash span{font-family:var(--ui);font-size:1rem;font-weight:600;color:var(--text)}@keyframes tabla{0%{opacity:0;transform:scale(.7) rotate(-4deg)}15%{opacity:1;transform:scale(1.05) rotate(-4deg)}75%{opacity:1;transform:scale(1) rotate(-4deg)}to{opacity:0;transform:scale(1) rotate(-4deg)}}.overlay{position:fixed;inset:0;background:#0a121cb8;display:grid;place-items:center;padding:16px;z-index:10}.result table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.result th,.result td{padding:6px 4px;border-bottom:1px solid var(--line)}.result td,.result thead th{text-align:right}.result tbody th{text-align:left;font-weight:400;color:var(--muted)}.result tr.sum td,.result tr.sum th{font-weight:600;color:var(--text)}.result tr.total td,.result tr.total th{font-weight:700;color:var(--lamp);border-bottom:0;font-size:1.1rem}.notices{position:fixed;left:50%;bottom:84px;transform:translate(-50%);display:grid;gap:8px;width:max-content;max-width:calc(100% - 32px);z-index:20}.toast{background:#2f4a68;color:var(--text);padding:10px 16px;border-radius:10px;box-shadow:0 6px 20px #0000004d;cursor:pointer}.toast{display:flex;align-items:center;gap:12px}.toast-text{overflow-wrap:anywhere}.toast-action{flex:none;border:0;border-radius:8px;padding:.35em .8em;background:var(--lamp);color:#2a2006;font-weight:600;font-size:.9rem}.toast.error{background:#4a1c1c;color:#ffe1dc}.invite-bar{position:sticky;top:0;z-index:15;display:grid;gap:1px;background:var(--line)}.invite{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 16px;background:#3a3216;color:#fff3d6}.invite-card{display:inline-grid;place-items:center;width:26px;height:36px;border-radius:4px;background:var(--paper);color:var(--red);font-family:var(--face);transform:rotate(-8deg);flex:none}.invite-text{flex:1 1 200px}.invite-actions{display:flex;gap:8px}.invite .secondary{color:#fff3d6;border-color:#fff3d659}@media(max-width:520px){.game-pick{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:18px 0 22px}.game-tile{padding:12px 10px}.game-name{font-size:1.1rem}.game-meta{font-size:.8rem}.game-cta{margin-top:6px;font-size:.9rem}.topbar{padding:8px 12px}.score{width:100%;justify-content:space-between;order:3}.hand{gap:4px}}@media(prefers-reduced-motion:reduce){.card,.tabla-flash{transition:none;animation:none}}.card.dim{filter:saturate(.35) brightness(.72)}@media(prefers-color-scheme:dark){:root{color-scheme:dark}.card:not(.back){background:var(--paper)}}.game-cta.as-link{background:none;border:0;padding:0;font:inherit;font-weight:600;text-align:left;cursor:pointer}.bula-pick{display:block}.bula-pick select,.score-table select{font:inherit;background:var(--night);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:1px 4px}.seat-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.seat-list li:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px;background:#7ed39b}.seat-list li.muted:before{background:transparent;border:1px solid var(--muted)}.pref{--card-w: clamp(40px, 8.5vw, 68px);flex:1;display:flex;flex-direction:column;gap:10px;max-width:980px;width:100%;margin:0 auto;padding:12px 12px 16px}.pref-opponents{display:flex;justify-content:space-between;gap:12px}.pref-opp{display:grid;gap:6px;max-width:48%;align-content:start}.pref-opp .seat-info{text-align:left}.pref-opp.right{justify-items:end}.pref-opp.right .seat-info{text-align:right}.pref-opp .hand.backs{justify-content:flex-start;flex-wrap:nowrap}.pref-opp .hand.backs .card+.card{margin-left:calc(var(--card-sm-w) * -.45)}.turn-tag{display:inline-block;margin-left:8px;padding:0 8px;border-radius:999px;background:var(--lamp);color:#2a2006;font-size:.75rem;font-weight:600;vertical-align:1px}.pref-cloth{min-height:calc(var(--card-h) * 2 + 80px)}.trick{position:relative;width:min(100%,calc(var(--card-w) * 4.4));height:calc(var(--card-h) * 1.75);margin:0 auto}.trick-slot{position:absolute}.trick-slot.left{left:0;top:0}.trick-slot.right{right:0;top:0}.trick-slot.me{left:50%;bottom:0;transform:translate(-50%)}.trick.last .trick-slot .card{opacity:.6}.trick.last .trick-slot.won .card{opacity:1;box-shadow:0 0 0 3px var(--lamp)}.talon{position:absolute;right:14px;bottom:12px;display:grid;justify-items:center;gap:4px}.talon-cards{display:flex;gap:4px}.actions.wrap{flex-wrap:wrap;justify-content:flex-end}.score-table{background:var(--night-2);border:1px solid var(--line);border-radius:12px;padding:8px 12px}.score-table summary{cursor:pointer;color:var(--muted);font-size:.9rem}.score-table table,.result table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.score-table th,.score-table td{padding:5px 4px;border-bottom:1px solid var(--line);text-align:right;font-size:.9rem}.score-table tbody th{text-align:left;font-weight:400;color:var(--muted)}@media(max-width:600px){.pref{--card-w: clamp(40px, 13vw, 60px)}.pref-hand{flex-wrap:nowrap;justify-content:center}.pref-hand .card+.card{margin-left:calc(var(--card-w) * -.38)}.pref-hand .card.selected{z-index:1}.pref-opp .hand.backs .card+.card{margin-left:calc(var(--card-sm-w) * -.72)}}.lora-opponents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.lora-opp{display:grid;gap:6px;justify-items:center;align-content:start;min-width:0}.lora-opp:first-child{justify-items:start}.lora-opp:last-child{justify-items:end}.lora-opp .seat-info{font-size:.9rem}.lora-opp .hand.backs{flex-wrap:nowrap;justify-content:flex-start}.lora-opp .hand.backs .card+.card{margin-left:calc(var(--card-sm-w) * -.6)}.trick.four{width:min(100%,calc(var(--card-w) * 4.2));height:calc(var(--card-h) * 2.3)}.trick.four .trick-slot.left{left:0;top:50%;transform:translateY(-50%)}.trick.four .trick-slot.right{right:0;left:auto;top:50%;transform:translateY(-50%)}.trick.four .trick-slot.top{left:50%;top:0;transform:translate(-50%)}.layout{display:grid;gap:8px;width:100%}.layout-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:calc(var(--card-sm-h) + 4px)}.layout-suit{font-family:var(--face);font-size:1.4rem;color:var(--paper);text-align:center}.layout-suit.red{color:#ff9a9f}.layout-cards{display:flex;gap:3px;flex-wrap:wrap}.game-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;width:100%}.game-choice{display:grid;gap:2px;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--night);color:var(--text)}.game-choice:hover{border-color:var(--lamp)}.game-choice span{font-size:.8rem;color:var(--muted)}@media(max-width:600px){.lora-opp .seat-info{font-size:.8rem}.game-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}.chat-toggle{position:relative;background:transparent;color:var(--text);border:1px solid var(--line);border-radius:999px;padding:.35em .9em;font-size:.95rem}.chat-toggle.on{border-color:var(--lamp);color:var(--lamp)}.badge{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--red);color:#fff;font-size:.75rem;font-weight:700;line-height:20px;text-align:center}.chat-panel{position:fixed;top:0;right:0;bottom:0;width:340px;z-index:12;display:flex;flex-direction:column;background:var(--night-2);border-left:1px solid var(--line);box-shadow:-12px 0 30px #0000004d}@media(min-width:1100px){.table-page.chat-open{padding-right:340px}}.chat-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 10px 16px;border-bottom:1px solid var(--line)}.chat-head h2{font-size:1.15rem;margin:0}.chat-muted{margin:0;padding:6px 16px;color:var(--muted);border-bottom:1px solid var(--line)}.chat-list{flex:1;overflow-y:auto;list-style:none;margin:0;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.chat-empty{margin:auto 0;text-align:center}.chat-msg{position:relative;max-width:88%;align-self:flex-start;padding:6px 30px 7px 10px;border-radius:4px 12px 12px;background:var(--night);border:1px solid var(--line);overflow-wrap:anywhere}.chat-msg.mine{align-self:flex-end;padding-right:10px;border-radius:12px 4px 12px 12px;background:#33465f}.chat-msg.emoji .chat-text{font-size:1.6rem;line-height:1.2}.chat-from{display:block;font-size:.75rem;font-weight:600;color:var(--lamp)}.chat-msg.mine .chat-from{color:var(--muted)}.chat-more{position:absolute;top:2px;right:2px;width:26px;height:26px;border:0;border-radius:6px;background:transparent;color:var(--muted);line-height:1}.chat-more:hover,.chat-more[aria-expanded=true]{background:#ffffff14;color:var(--text)}.chat-menu{display:flex;flex-wrap:wrap;gap:2px 6px;margin-top:4px;padding-top:4px;border-top:1px solid var(--line);font-size:.875rem}.chat-confirm{margin:0 12px 10px;padding:12px;border-radius:10px;background:var(--night);border:1px solid var(--danger);font-size:.9rem}.chat-confirm .row{display:flex;gap:8px}.danger-btn{background:var(--danger);color:#3a0d08}.chat-compose{padding:10px 12px 12px;border-top:1px solid var(--line);display:grid;gap:8px}.chat-quick{display:flex;flex-wrap:wrap;gap:6px}.chat-emoji{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}.chip{border:1px solid var(--line);background:var(--night);color:var(--text);border-radius:999px;padding:.3em .75em;font-size:.875rem}.chip:hover{border-color:var(--lamp)}.chip.emoji{padding:.15em 0;font-size:1.15rem}.chat-form{display:flex;gap:6px}.chat-form .primary{padding:.6em .9em}.chat-hint{margin:0}.chat-bubble{position:absolute;left:50%;top:calc(100% + 6px);transform:translate(-50%);z-index:5;width:max-content;max-width:min(240px,70vw);padding:5px 11px;border-radius:12px;background:var(--paper);color:var(--ink);font-size:.9rem;font-weight:500;line-height:1.3;box-shadow:0 6px 16px #00000059;pointer-events:none;overflow-wrap:anywhere;animation:bubble-in .18s ease-out}.chat-bubble:before{content:"";position:absolute;left:50%;top:-5px;width:10px;height:10px;background:var(--paper);transform:translate(-50%) rotate(45deg)}.chat-bubble.up{top:auto;bottom:calc(100% + 6px)}.chat-bubble.up:before{top:auto;bottom:-5px}.chat-bubble.emoji{font-size:1.5rem;padding:2px 9px}@keyframes bubble-in{0%{opacity:0;transform:translate(-50%) scale(.85)}}@media(max-width:700px){.chat-panel{top:auto;left:0;width:auto;height:min(72vh,560px);border-left:0;border-top:1px solid var(--line);border-radius:16px 16px 0 0;box-shadow:0 -12px 30px #0006}.chat-compose{padding-bottom:max(12px,env(safe-area-inset-bottom))}.chat-toggle{padding:.25em .8em}}@media(prefers-reduced-motion:reduce){.chat-bubble{animation:none}}.blocked-group summary{cursor:pointer;color:var(--muted);font-size:.9rem;padding:6px 0}.msg-btn{position:relative}.msg-btn.on{border-color:var(--lamp);color:var(--lamp)}.msg-btn .badge{top:-8px;right:-8px}.dm-panel{z-index:13}.dm-who{display:grid;min-width:0}.dm-who h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dm-status{font-size:.8rem;color:var(--muted)}.dm-head-actions{display:flex;align-items:center;flex:none}.dm-item{display:flex;flex-direction:column}.dm-day{align-self:center;margin:6px 0 8px;padding:2px 10px;border-radius:999px;background:#ffffff0f;color:var(--muted);font-size:.75rem}.dm-msg{white-space:pre-wrap}.dm-time{display:block;margin-top:2px;text-align:right;font-size:.7rem;color:var(--muted)}.dm-older{align-self:center}.dm-form{align-items:flex-end}.dm-form textarea{flex:1;min-height:44px;max-height:140px;resize:none;field-sizing:content;font:inherit;padding:.6em .8em;border-radius:8px;border:1px solid var(--line);background:var(--night);color:var(--text)}@media(max-width:700px){.dm-panel{height:min(85vh,680px)}}.header-msgs{margin-right:12px;padding:.2em .7em;border-radius:999px;background:var(--red);color:#fff;font-size:.85rem;font-weight:600;text-decoration:none}.pref-layout{flex:1;display:flex;flex-direction:column;width:100%}.pref-opp.out .hand.backs{opacity:.3}.listic{width:100%;max-width:980px;margin:0 auto;padding:0 12px 20px}@media(min-width:1100px){.pref-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:8px;max-width:1300px;margin:0 auto;align-items:start}.listic{position:sticky;top:12px;padding:12px 12px 12px 0}}.listic-tabs{display:flex;gap:4px}.listic-tabs button{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 8px;border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;background:transparent;color:var(--muted);font-size:.85rem}.listic-tabs button.on{background:var(--paper);border-color:var(--paper);color:var(--ink);font-weight:600}.refa-count{margin-left:5px;color:var(--red);letter-spacing:1px;font-size:.7rem}.paper{background:var(--paper);color:var(--ink);border-radius:0 0 6px 6px;box-shadow:0 8px 22px #0000004d;font-family:var(--face);font-variant-numeric:tabular-nums}.paper-head,.paper-cols{display:grid;grid-template-columns:1fr 1.25fr 1fr}.paper-head span{padding:6px 4px 4px;text-align:center;font-family:var(--ui);font-size:.7rem;line-height:1.2;color:#55606e;border-bottom:2px solid var(--red);overflow:hidden;text-overflow:ellipsis}.paper-head span:nth-child(2){font-weight:700;color:var(--ink)}.paper-cols{min-height:182px;max-height:340px;overflow-y:auto;align-items:start;background-image:repeating-linear-gradient(to bottom,transparent 0 25px,rgba(43,73,108,.14) 25px 26px);background-attachment:local}.paper-cols .paper-col{min-height:100%;align-self:stretch}@media(min-width:1100px){.paper-cols{max-height:calc(100vh - 170px)}}.paper-col{list-style:none;margin:0;padding:0 4px 6px;text-align:center}.bula-col{border-left:2px solid var(--red);border-right:2px solid var(--red)}.paper-col li{height:26px;line-height:26px;font-size:1rem}.paper-col li.old{color:#7d8592;text-decoration:line-through;text-decoration-color:#1b1b1f59}.paper-col li.current{font-weight:700;font-size:1.1rem}.paper-col li.refa{position:relative;display:flex;align-items:center;justify-content:center}.refa-line{display:block;width:60%;height:2px;background:var(--ink)}.refa.used .refa-line{position:relative}.refa.used .refa-line:after{content:"";position:absolute;left:50%;top:-7px;width:2px;height:16px;background:var(--red);transform:translate(-50%) rotate(35deg)}.refa-value{position:absolute;right:2px;font-size:.75rem;color:var(--red)}.listic-note{margin:8px 2px 0;color:var(--muted)}.chat-closed{margin:0;padding:10px 12px;border-radius:10px;background:var(--night);border:1px dashed var(--line);color:var(--muted)}.result .row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.peek-bar{position:fixed;left:0;right:0;bottom:max(16px,env(safe-area-inset-bottom));z-index:9;display:flex;justify-content:center;pointer-events:none}.peek-bar button{pointer-events:auto;box-shadow:0 8px 24px #0006}.my-tables{margin:4px 0 22px}.my-tables h2{font-size:1.1rem;margin-bottom:8px}.my-tables ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.my-table{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;border-radius:12px;background:var(--night-2);border:1px solid var(--line)}.my-table.playing{border-color:var(--lamp)}.my-table-info{display:grid;min-width:0}.my-table-who{color:var(--muted);overflow-wrap:anywhere}.my-table-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.topbar-actions{display:inline-flex;align-items:center;gap:8px}.sound-toggle{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text);vertical-align:middle}.sound-toggle.off{color:var(--muted)}.who .sound-toggle{margin-right:10px}.auth-form{display:grid;gap:14px}.auth-form h2{margin:0}.auth-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px}.or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.85rem}.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}.google-btn{display:flex;justify-content:center;min-height:44px;color-scheme:light}.nick-check{min-height:1.2em;font-size:.85rem;color:var(--muted)}.nick-check.ok{color:#8fd19e}.nick-check.ok:before{content:"\2713  "}.nick-check.bad{color:var(--danger)}.code-input{font-size:1.5rem;letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums}.who-name{color:var(--text);text-decoration:none;font-weight:600}.who-name:hover{text-decoration:underline}.account-page{min-height:100vh}.account-body{display:grid;gap:14px;justify-items:center;padding:20px 16px 40px}.account-section{max-width:520px;gap:10px}.account-section h2{font-size:1.15rem;margin:0}.account-value{margin:0;font-size:1.1rem;font-weight:600;overflow-wrap:anywhere}.account-section .row{display:flex;align-items:center;gap:10px}.danger-zone{border-color:#ffb4a866}.danger-outline{border-color:var(--danger);color:var(--danger)}.privacy{max-width:680px;margin:0 auto;padding:24px 16px 48px;line-height:1.6}.privacy h2{font-size:1.2rem;margin-top:1.4em}.privacy ul{padding-left:1.2em}.privacy li{margin-bottom:.5em}.privacy a{color:var(--lamp)}.clock-badge{display:inline-block;margin-left:6px;padding:0 7px;border-radius:999px;background:#f2c14e2e;color:var(--lamp);font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums}.clock-badge.low{background:var(--red);color:#fff}.my-clock{position:fixed;left:50%;top:62px;transform:translate(-50%);z-index:8;width:max-content;max-width:calc(100vw - 32px);padding:8px 14px;border-radius:12px;background:var(--red);color:#fff;font-size:.9rem;box-shadow:0 8px 24px #0006;text-align:center}.admin-link.has{color:var(--danger);font-weight:700}.admin-body{max-width:760px;margin:0 auto;padding:16px 16px 40px;display:grid;gap:16px}.match-stats-wrap{overflow-x:auto}.match-stats{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.match-stats th,.match-stats td{padding:6px 10px;text-align:right;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.08)}.match-stats th:first-child{text-align:left}.match-stats thead th{font-weight:600;font-size:.85em;opacity:.75}.admin-filter .check{display:inline-flex;align-items:center;gap:8px}.admin-filter input{width:auto}.report-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.report{padding:12px 14px;border-radius:12px;background:var(--night-2);border:1px solid var(--line);display:grid;gap:8px}.report.handled{opacity:.6}.report-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}.report-text{margin:0;padding:8px 12px;border-left:3px solid var(--lamp);background:var(--night);border-radius:0 8px 8px 0;overflow-wrap:anywhere}.report .row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tag{padding:0 8px;border-radius:999px;background:#ffffff1a;font-size:.75rem}.tag.danger{background:var(--red);color:#fff}.quick{margin:0 0 22px;padding:14px 16px;border-radius:14px;background:var(--night-2);border:1px solid var(--line)}.quick h2{font-size:1.1rem;margin:0 0 4px}.quick-games{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.quick-games button{display:inline-flex;align-items:center;gap:8px}.quick-count{padding:0 8px;border-radius:999px;background:#f2c14e2e;color:var(--lamp);font-size:.78rem}.quick.searching{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border-color:var(--lamp)}.quick-status{display:flex;align-items:flex-start;gap:12px}.quick-status p{margin:4px 0 0}.quick-actions{display:flex;gap:8px}.spinner{flex:none;width:22px;height:22px;margin-top:2px;border-radius:50%;border:3px solid rgba(242,193,78,.25);border-top-color:var(--lamp);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.jamb{flex:1;display:flex;flex-direction:column;gap:10px;max-width:760px;width:100%;margin:0 auto;padding:12px 12px 16px}.jamb-players{display:flex;gap:6px;overflow-x:auto;padding-top:4px}.jamb-chip{position:relative;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--night-2);color:var(--text);font:inherit;font-size:.9rem;cursor:pointer;white-space:nowrap}.jamb-chip.on{border-color:var(--lamp)}.jamb-chip.turn{box-shadow:0 0 0 2px #f2c14e59}.jamb-chip.turn .jamb-chip-name:after{content:" \1f3b2"}.jamb-chip b{color:var(--lamp)}.jamb-cloth{flex:none;min-height:0;display:grid;gap:12px;justify-items:center;padding:34px 12px 14px}.dice-tray{display:flex;gap:clamp(6px,2.4vw,14px);justify-content:center}.die{--die: clamp(46px, 13vw, 62px);position:relative;width:var(--die);height:var(--die);padding:calc(var(--die) * .14);border-radius:calc(var(--die) * .2);border:0;background:var(--paper);box-shadow:inset 0 -3px #0000001f,0 3px 8px #00000059;cursor:pointer;transition:transform .15s ease}.die:disabled{cursor:default}.die.idle{opacity:.45}.die.held{transform:translateY(-8px);outline:3px solid var(--lamp);outline-offset:2px}.die .pips{display:grid;grid-template:repeat(3,1fr) / repeat(3,1fr);width:100%;height:100%}.die .pips span{display:block}.die .pips .pip{margin:14%;border-radius:50%;background:var(--ink)}.die .held-tag{position:absolute;left:50%;bottom:-22px;transform:translate(-50%);font-size:.7rem;font-weight:600;color:var(--lamp)}.die.shake{animation:die-shake .42s ease-out}@keyframes die-shake{0%{transform:rotate(0) scale(.9)}25%{transform:rotate(-14deg) translateY(-4px)}50%{transform:rotate(10deg)}75%{transform:rotate(-5deg)}to{transform:rotate(0) scale(1)}}@media(prefers-reduced-motion:reduce){.die.shake{animation:none}}.jamb-roll{display:flex;gap:12px;align-items:center;margin-top:10px}.jamb-sheet{background:var(--paper);color:var(--ink);border-radius:12px;padding:10px 8px 6px}.jamb-sheet-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:0 4px 6px}.jamb-sheet-head h3{margin:0;font-family:var(--face);font-size:1.05rem}.jamb-sheet-head .muted{color:#6b6f78}.jamb-total{margin-left:auto}.jamb-total b{font-size:1.2rem}.jamb-scroll{overflow-x:auto}.jamb-sheet table{width:100%;border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums;font-size:.92rem}.jamb-sheet th,.jamb-sheet td{border:1px solid #d9d4c7;text-align:center;height:30px;padding:0}.jamb-sheet thead th{font-size:1rem;background:#f3efe4}.jamb-sheet tbody th{width:62px;text-align:left;padding-left:6px;font-weight:600;background:#f8f5ec;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jamb-sheet thead th:first-child{width:62px}.jamb-sheet td.filled{font-weight:600}.jamb-sheet td.zero{color:#a3a3a3}.jamb-sheet td.last{background:#fff1c7}.jamb-sheet td.announced{box-shadow:inset 0 0 0 2px var(--red)}.jamb-sheet td.open button{width:100%;height:100%;border:0;background:#e5f3e8;color:#1f6b35;font:inherit;font-weight:600;cursor:pointer}.jamb-sheet td.open.nil button{background:#f4ecec;color:#a05050}.jamb-sheet td.open.ann button{background:#fdeaea;color:var(--red);font-size:.8rem}.jamb-sheet td.open.picked button{background:var(--lamp);color:#2a2006;box-shadow:inset 0 0 0 2px #2a2006}.jamb-sheet tr.sum th,.jamb-sheet tr.sum td{background:#efeadc;font-size:.82rem;color:#404040}.jamb-sheet tr.total th,.jamb-sheet tr.total td{background:#e6dfcb;font-weight:700;color:var(--ink)}.jamb-legend{margin:6px 4px 0;color:#6b6f78!important}.jamb-confirm{bottom:8px}@media(max-width:420px){.jamb{padding:8px 6px 12px}.jamb-sheet{padding:8px 4px 4px}.jamb-sheet table{font-size:.85rem}.jamb-sheet th,.jamb-sheet td{height:28px}.jamb-sheet tbody th,.jamb-sheet thead th:first-child{width:54px;padding-left:4px}}.jamb-pick{display:flex;flex-wrap:wrap;gap:4px}.jamb-pick select{max-width:100%;min-width:0}@media(max-width:520px){.game-pick .jamb-tile{grid-column:1 / -1}}.snaps-opp{display:grid;gap:6px;justify-items:center}.snaps-opp .hand.backs{flex-wrap:nowrap}.snaps-opp .hand.backs .card+.card{margin-left:calc(var(--card-sm-w) * -.45)}.snaps-board{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;width:100%}.snaps-talon{display:grid;justify-items:center;gap:6px;min-width:calc(var(--card-sm-w) * 2.2 + 6px)}.snaps-cloth{min-height:calc(var(--card-h) * 1.75 + 70px)}.snaps-board .trick.two{justify-self:center}.snaps-pile{display:flex;gap:6px;align-items:center}.snaps-talon .snaps-trump{display:inline-block}.snaps-talon .snaps-stack{position:relative;display:inline-block}.snaps-talon .snaps-stack b{position:absolute;inset:0;display:grid;place-items:center;color:var(--paper);font-size:1rem;text-shadow:0 1px 2px rgba(0,0,0,.6)}.snaps-talon.closed .snaps-trump{filter:grayscale(.7) brightness(.6)}.snaps-talon.empty{align-self:center}.trick.two{width:calc(var(--card-w) * 1.6);height:calc(var(--card-h) * 1.75)}.trick.two .trick-slot.top{left:50%;top:0;transform:translate(-80%)}.trick.two .trick-slot.me{left:50%;bottom:0;transform:translate(-20%)}.snaps-call{position:absolute;right:-18px;top:50%;transform:translateY(-50%) rotate(-8deg);padding:2px 8px;border-radius:999px;background:var(--lamp);color:#2a2006;font-weight:700;font-size:.9rem}.snaps .actions.wrap{flex-wrap:wrap;justify-content:flex-end}@media(max-width:640px){.snaps .pref-hand .card+.card{margin-left:4px}}.bela .lora-opp.partner strong{color:var(--lamp)}.bela-bids{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(100%,420px);margin:0 auto}.bela-bid{display:grid;gap:2px;padding:8px 10px;border-radius:10px;background:#00000038;text-align:center;font-size:.9rem}.bela-bid.now{box-shadow:inset 0 0 0 2px var(--lamp)}.bela-bid b{min-height:1.3em}.bela-bid b.red,.bela-suit .red{color:#ff8a8a}.bela-suit{min-width:84px}.bela-call{position:absolute;left:50%;bottom:-10px;transform:translate(-50%);padding:1px 8px;border-radius:999px;background:var(--lamp);color:#2a2006;font-size:.75rem;font-weight:700;white-space:nowrap}.bela-decl ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.bela-decl li{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.bela-decl-cards{display:inline-flex;gap:2px}.help{max-width:760px}.help h1{margin-bottom:.4em}.help ol,.help ul{padding-left:1.3em}.help-topics{list-style:none;padding:0!important;display:grid;gap:8px}.help-topics li{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--night-2)}.help-topics a{text-decoration:none}.help-games{list-style:none;padding:0!important;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.help-games a{display:grid;gap:4px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--night-2);color:var(--text)!important;text-decoration:none}.help-games a:hover{border-color:var(--lamp)}.help-games img{width:100%;height:auto;aspect-ratio:390 / 520;object-fit:cover;object-position:top;border-radius:8px}.help-games strong{color:var(--lamp)}.help-shots{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 12px;margin:12px 0 8px;scroll-snap-type:x mandatory}.help-shots figure{flex:0 0 auto;width:min(240px,70vw);margin:0;scroll-snap-align:start}.help-shots img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line);background:var(--night-2)}.help-shots figcaption{margin-top:6px;font-size:.85rem;color:var(--muted);line-height:1.35}.help-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin:12px 0}.help-facts div{padding:10px 12px;border-radius:10px;background:var(--night-2);border:1px solid var(--line)}.help-facts dt{font-size:.8rem;color:var(--muted)}.help-facts dd{margin:2px 0 0;font-weight:600}.help-contact{margin-top:2em;padding:16px;border-radius:14px;border:1px solid var(--lamp);background:#f2c14e12}.help-contact h2{margin-top:0}.help a.help-mail{display:inline-block;padding:.6em 1em;border-radius:10px;background:var(--lamp);color:#2a2006;font-weight:600;text-decoration:none;overflow-wrap:anywhere}.help-next{margin-top:1.5em}.table-rules{display:block;margin:4px auto 16px;font-size:.85rem;color:var(--muted);text-align:center}.card.got{box-shadow:0 0 0 3px #6fd38f,0 2px #00000040}.card.gone{transform:translateY(-10px);filter:saturate(.4) brightness(.8)}.srca .lora-opp .hand.backs .card+.card{margin-left:calc(var(--card-sm-w) * -.78)}@media(max-width:640px){.srca .pref-hand{display:grid;grid-template-columns:repeat(7,calc(var(--card-w) * .62));grid-auto-rows:auto;row-gap:6px;justify-content:center;padding-right:calc(var(--card-w) * .38)}.srca .pref-hand .card+.card{margin-left:0}}.pispiric-opp{display:grid;justify-items:center}.pispiric-opp .lora-opp{justify-items:center!important}.pispiric-pile{display:grid;justify-items:center;gap:10px;margin:auto}.pispiric-stack{position:relative;display:inline-block;padding:14px 0 0 20px}.pispiric-under{position:absolute;left:20px;top:14px}.pispiric-top{position:relative;display:inline-block}.pispiric-taken{position:relative;display:grid;justify-items:center}.pispiric-call{margin-top:8px;padding:2px 10px;border-radius:999px;background:var(--lamp);color:#2a2006;font-weight:700}.pispiric-teams{display:grid;gap:6px;padding:8px 12px;border-radius:12px;background:var(--night-2);border:1px solid var(--line);font-size:.92rem}.pispiric-list{display:inline-flex;flex-wrap:wrap;align-items:center;gap:3px;vertical-align:middle}.game-tile{min-width:0}.game-tile select{max-width:100%;min-width:0}.game-tile.selected{border-color:var(--lamp);box-shadow:0 0 0 1px var(--lamp)}.game-tile .quick-count{margin-top:8px;justify-self:start}.game-panel{margin:-14px 0 30px;padding:18px;border:1px solid var(--line);border-radius:12px;display:grid;gap:14px}.game-panel h2{margin:0}.game-ways{display:grid;gap:12px}.game-way{display:grid;grid-template-columns:minmax(150px,max-content) 1fr;align-items:center;gap:12px}.game-way-buttons{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:520px){.game-pick{grid-template-columns:repeat(2,minmax(0,1fr))}.game-way{grid-template-columns:1fr;gap:4px}.game-way>button,.game-way-buttons>button{width:100%}}.board-games{display:flex;flex-wrap:wrap;gap:8px}.board-games .selected{border-color:var(--lamp);color:var(--lamp)}.match-stats tr.me th,.match-stats tr.me td{color:var(--lamp);font-weight:600}.grant-form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.grant-form input:not([type=checkbox]){flex:1 1 140px;min-width:0}.plan-line{margin:4px 0 0}.plan-line strong,.tablic-opponents .lora-opp.partner strong{color:var(--lamp)}.tablic-opponents .lora-opp .seat-info{display:flex;flex-wrap:wrap;gap:2px 6px;align-items:center;justify-content:center}@media(max-width:600px){.tablic-opponents{gap:6px}}.makao-opps{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:column;gap:10px}.makao-opps .lora-opp,.makao-opps .lora-opp:first-child,.makao-opps .lora-opp:last-child{justify-items:center}.makao-opp .seat-info{display:flex;flex-wrap:wrap;gap:2px 6px;align-items:center;justify-content:center}.makao-opp .hand.backs{justify-content:center}.makao-center{display:flex;gap:24px;align-items:center;justify-content:center;padding:10px 0}.makao-deck,.makao-top{display:grid;gap:4px;justify-items:center}.makao-suit{padding:2px 10px;border-radius:12px;background:#fff;font-weight:700;font-size:.95rem}.makao-suit.red{color:#c0392b}.makao-suit.black{color:#1c1c1c}.makao-pending{margin:0;text-align:center;font-weight:700;color:var(--lamp)}.makao-tag{padding:1px 8px;border-radius:10px;background:var(--lamp);color:#1c1c1c;font-size:.75rem;font-weight:700;text-transform:uppercase}.makao-suits{justify-content:center}.makao-suit-btn{min-width:56px;min-height:48px;font-size:1.6rem;background:#fff}.makao-suit-btn.red{color:#c0392b}.makao-suit-btn.black{color:#1c1c1c}.makao-suit-btn:disabled{opacity:.35}@media(max-width:600px){.makao-opps{gap:6px}.makao-center{gap:16px}}.push-prompt{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0 0 18px;padding:12px 16px;border:1px solid var(--line);border-radius:12px}.push-actions{display:flex;align-items:center;gap:12px}.history-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.history-row{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}.history-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.history-players{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:4px;opacity:.85}.history-players .me{font-weight:600;opacity:1}.tag.good{color:var(--lamp);border-color:var(--lamp)}.game-prep{justify-self:start;margin-top:4px;padding:1px 8px;border-radius:10px;border:1px solid var(--lamp);color:var(--lamp);font-size:.7rem;font-weight:700;text-transform:uppercase}.remi-tag{padding:1px 8px;border-radius:10px;background:#7ed39b;color:#1c1c1c;font-size:.7rem;font-weight:700;text-transform:uppercase}.remi-cloth{min-height:0;padding:30px 10px 12px;gap:8px;align-content:start}.remi-melds{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-start;max-height:34vh;min-height:56px;overflow-y:auto;padding:2px}.remi-empty{margin:0;align-self:center}.remi-meld{--card-w: 32px;display:flex;align-items:flex-start;padding:3px;border:0;border-radius:6px;background:#0000001f;color:inherit}.remi-meld.tappable{cursor:pointer}.remi-meld.tappable:focus-visible,.remi-meld.tappable:hover{outline:2px solid var(--lamp)}.remi-meld .card+.card,.remi-prep .card+.card{margin-left:calc(var(--card-w) * -.45)}.remi-pile{display:grid;gap:4px;justify-items:center;padding:0;border:0;background:none;color:inherit}button.remi-pile{cursor:pointer}.remi-empty-pile{background:transparent;border:2px dashed rgba(255,255,255,.4);box-shadow:none}.card.joker{color:#7a3db8;text-align:left}.card.joker .joker-star{position:absolute;top:4%;left:10%;font-size:calc(var(--card-w) * .5);line-height:1}.card.joker .joker-word,.card.joker .joker-as{position:absolute;left:8%;bottom:6%;font-size:calc(var(--card-w) * .19);font-weight:700;line-height:1;white-space:nowrap}.card.joker .joker-as{font-size:calc(var(--card-w) * .3)}.remi-note{color:var(--lamp);font-weight:600}.remi-prep{display:grid;gap:6px;padding:8px 10px;border-radius:12px;border:1px dashed var(--lamp)}.remi-prep-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.remi-ok{color:#7ed39b;font-weight:700}.remi-prep-row{display:flex;align-items:center;gap:8px;--card-w: 32px}.remi-prep-row .remi-meld{flex:1;min-width:0;overflow-x:auto}.remi-x{min-width:40px;min-height:40px;padding:0;font-size:1.3rem}.remi-sort{display:flex;justify-content:center;gap:8px}.remi-sort .small-btn{min-height:32px;padding:2px 12px;font-size:.85rem}.remi-hand{--card-w: clamp(40px, 12vw, 58px);display:grid;gap:6px;padding-top:10px}.remi-hand-row{display:flex;justify-content:center;flex-wrap:nowrap;padding-left:calc(var(--card-w) * .22)}.remi-hand-row .card{margin-left:calc(var(--card-w) * -.22)}.remi-hand-row .card.selected{z-index:2;transform:translateY(-9px)}.remi-actions{width:100%;justify-content:center;flex-wrap:wrap}.remi-actions button{min-height:44px;flex:1 1 0}
