:root{--paper: #f7f5f1;--card-white: #ffffff;--ink: #333333;--ink-deep: #1a1a1a;--ink-soft: #6f6a60;--terracotta: #c0504a;--terracotta-dark: #a03e39;--terracotta-soft: #f3e2e0;--ring-blue: #2782c5;--navy: #0c4a79;--signal-red: #c80000;--warm-orange: #cf8b52;--line: #e4dfd4;--line-strong: #d3ccbd;--felt: #1d6a4d;--felt-dark: #124a35;--felt-line: rgba(255, 255, 255, .14);--felt-text: #f2efe6;--shadow: 0 2px 10px rgba(51, 46, 38, .09)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body{overflow-x:hidden;max-width:100%}body{font-family:Century Gothic,Futura,Trebuchet MS,Segoe UI,system-ui,sans-serif;color:var(--ink);background:radial-gradient(ellipse 120% 80% at 50% 0%,#fffdf9 0%,var(--paper) 60%,#efece4 100%);background-attachment:fixed}button{font:inherit;cursor:pointer}.btn{border:1.5px solid var(--terracotta-dark);border-radius:12px;padding:12px 28px;font-weight:700;letter-spacing:.05em;color:#fff;background:linear-gradient(180deg,#cd5e57,var(--terracotta) 55%,var(--terracotta-dark));box-shadow:var(--shadow);transition:transform .1s ease,filter .15s ease}.btn:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:default}.btn.ghost{background:transparent;color:var(--terracotta);border-color:var(--line-strong);box-shadow:none}.btn.big{font-size:1.15rem;padding:16px 40px}.game{height:100%;display:grid;grid-template-rows:auto 1fr auto;max-width:1100px;width:100%;margin:0 auto;padding:10px 14px 16px;gap:8px;min-height:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.topbar img{height:34px}.topbar .meta{display:flex;gap:14px;font-size:.88rem;color:var(--ink-soft)}.topbar .meta b{color:var(--ink-deep)}.tablefield{display:grid;grid-template-rows:auto 1fr;gap:8px;min-height:0;min-width:0}.opponents{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.opponents.all{grid-template-columns:repeat(4,1fr)}.seat{background:var(--card-white);border:1px solid var(--line);border-top:3px solid transparent;border-radius:14px;padding:8px 10px;display:flex;flex-direction:column;gap:6px;min-height:86px;min-width:0;box-shadow:var(--shadow)}.seat .who{display:flex;align-items:center;gap:8px}.avatar{width:30px;height:30px;border-radius:50%;background:var(--ring-blue);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;flex:none}.seat .who .name{font-weight:600;font-size:.92rem;color:var(--ink-deep)}.seat .who .score{margin-left:auto;font-size:.85rem;color:var(--navy)}.seat.active{box-shadow:0 0 0 2px #2782c54d,var(--shadow)}.seat .cardsrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.backs{display:flex}.cardback{width:22px;height:32px;border-radius:4px;background:repeating-linear-gradient(45deg,var(--terracotta) 0 4px,#ad4741 4px 8px);border:1px solid #fff;margin-left:-10px;box-shadow:0 1px 3px #332e2640}.cardback:first-child{margin-left:0}.banked{display:flex;gap:3px;flex-wrap:wrap}.centerfield{position:relative;background:radial-gradient(ellipse 95% 85% at 50% 40%,var(--felt) 0%,var(--felt-dark) 100%);border:1px solid var(--felt-dark);border-radius:22px;padding:16px 16px 16px 150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:230px;box-shadow:inset 0 0 40px #00000040,var(--shadow);color:var(--felt-text);min-width:0}.centerfield:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1.5px solid var(--felt-line);border-radius:16px;pointer-events:none}.deckside{position:absolute;left:16px;top:16px;bottom:16px;width:126px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;z-index:1}.deckstack{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding-left:8px}.deckstack .stack{position:relative;width:40px;height:58px;display:block}.deckback{position:absolute;width:40px;height:58px;border-radius:6px;margin-left:0}.decklabel{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--felt-text);opacity:.75}.lasthand{display:flex;flex-direction:column;gap:4px;padding-left:8px}.lastrow{display:flex;gap:2px;align-items:center}.lastrow .pcard{outline:2px solid var(--seat, transparent);outline-offset:-1px}.lastrow .won{color:var(--felt-text);font-size:.75rem;margin-left:4px}.plays{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;align-items:flex-end}.playgroup{display:flex;flex-direction:column;align-items:center;gap:5px;transition:transform .15s ease}.playgroup .cards{display:flex;gap:5px}.playgroup .cards .pcard{outline:3px solid var(--seat, transparent);outline-offset:-1px}.playgroup .byline{font-size:.78rem;color:var(--felt-text);opacity:.85;font-weight:600}.playgroup.winning .byline{opacity:1;font-weight:800}.playgroup.winning .cards .pcard{box-shadow:0 6px 18px #0006}.playgroup.dumped .cards{opacity:.6;filter:saturate(.6)}.message{font-size:.95rem;color:var(--felt-text);min-height:1.3em;text-align:center;white-space:pre-line}.message.notice{font-weight:700}.message.error{color:#ffb3a8;font-weight:700}.myseat{display:flex;flex-direction:column;gap:8px;min-width:0;position:relative}.reactwrap{display:inline-flex}.btn.round.on{background:var(--terracotta-soft);border-color:var(--terracotta);color:var(--terracotta)}.reactpop-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:24}.reactpop{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:25;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;width:min(360px,90vw);max-height:44vh;overflow-y:auto;padding:12px;background:var(--card-white);border:1px solid var(--line-strong);border-radius:14px;box-shadow:0 14px 36px #28231b4d;animation:bubblein .16s ease}.reactpop .chip{flex:none}.myrow{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap;min-width:0}.myinfo{display:flex;align-items:center;gap:10px}.timer{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--ink-deep);background:conic-gradient(var(--terracotta) calc(var(--pct) * 1%),var(--line) 0);border:2px solid var(--terracotta-dark)}.timer span{background:#fff;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:.85rem}.hint{font-size:.9rem;color:var(--navy)}.hand{display:flex;justify-content:center;padding:4px 0 2px}.hand .cardwrap{margin-left:-26px;transition:transform .12s ease}.hand .cardwrap:first-child{margin-left:0}.hand .cardwrap.sel{transform:translateY(-16px)}.hand .cardwrap:hover{transform:translateY(-10px)}.hand .cardwrap.sel:hover{transform:translateY(-16px)}.pcard{width:62px;height:88px;background:var(--card-white);border-radius:8px;border:1px solid var(--line-strong);box-shadow:0 2px 6px #332e262e;position:relative;color:var(--ink-deep);-webkit-user-select:none;user-select:none;display:block}.pcard.red{color:var(--signal-red)}.pcard .corner{position:absolute;top:4px;left:6px;font-size:.95rem;font-weight:800;line-height:1;text-align:center}.pcard .corner small{display:block;font-size:.8em}.pcard .pip{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:1.9rem}.pcard.special{border:2px solid var(--terracotta);box-shadow:0 0 0 2px var(--terracotta-soft),0 2px 8px #c0504a4d}.pcard.special .badge{position:absolute;bottom:4px;right:5px;background:var(--terracotta);color:#fff;border-radius:8px;font-size:.62rem;font-weight:800;padding:1px 5px}.pcard.lg{width:82px;height:116px;border-radius:10px}.pcard.lg .pip{font-size:2.5rem}.pcard.lg .corner{font-size:1.15rem;top:6px;left:8px}.pcard.sm{width:40px;height:58px;border-radius:6px}.pcard.sm .pip{font-size:1.15rem}.pcard.sm .corner{font-size:.7rem;top:2px;left:4px}.pcard.xs{width:32px;height:44px;border-radius:5px}.pcard.xs .pip{font-size:.78rem;font-weight:800;letter-spacing:-.02em}.pcard.xs.special{border-width:1.5px;box-shadow:0 0 0 1px var(--terracotta-soft)}.pcard.facedown{background:repeating-linear-gradient(45deg,var(--terracotta) 0 5px,#ad4741 5px 10px);border-color:#fff}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2d29228c;display:flex;align-items:center;justify-content:center;padding:18px;z-index:20}.sheet{background:var(--card-white);border:1px solid var(--line);border-radius:20px;padding:26px 30px;max-width:560px;width:100%;max-height:88vh;overflow:auto;box-shadow:0 18px 60px #28231b59}.sheet h2{margin:0 0 6px;color:var(--terracotta);letter-spacing:.02em}.sheet .sub{margin:0 0 16px;color:var(--ink-soft);font-size:.92rem}.scoretable{width:100%;border-collapse:collapse;margin:10px 0 18px}.scoretable th,.scoretable td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--line)}.scoretable th{color:var(--navy);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.scoretable .lead{color:var(--terracotta);font-weight:700}.sheet .actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.roundcards{display:flex;gap:10px;margin:8px 0 4px;flex-wrap:wrap}.roundcards .rc{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.78rem;color:var(--ink-soft)}.roundcards .rc .pcard{outline:2px solid var(--seat, transparent);outline-offset:-1px}.recordbanner{margin:0 0 14px;padding:10px 12px;border-left:4px solid var(--terracotta);border-radius:0 12px 12px 0;background:var(--terracotta-soft);color:var(--ink-deep);font-size:.9rem}.recordbanner.worst{border-left-color:var(--line-strong);background:#f1efe9;color:var(--ink-soft)}.recordrow{display:flex;gap:12px;margin:4px 0 10px}.recordcard{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 10px;border:1px solid var(--line);border-radius:14px;background:var(--card-white)}.recordcard.best{border-color:var(--terracotta);background:var(--terracotta-soft)}.recordlabel{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.recordvalue{font-size:2rem;font-weight:800;color:var(--ink-deep);line-height:1.1}.recordcard.best .recordvalue{color:var(--terracotta)}.recordnote{font-size:.74rem;color:var(--ink-soft)}.lowscore{font-weight:800}.whencell{color:var(--ink-soft);font-size:.82rem;white-space:nowrap}.linkbtn{background:none;border:0;padding:0;color:var(--ring-blue);font:inherit;text-decoration:underline;cursor:pointer}.policytitle{color:var(--terracotta);margin:18px 0 2px}.policymeta{color:var(--ink-soft);font-size:.85rem;margin:0 0 18px}.policytable{font-size:.88rem}.policytable td{vertical-align:top}.prose a{color:var(--ring-blue)}.dataactions{justify-content:flex-start}.btn.danger{border-color:var(--signal-red);background:var(--signal-red);color:#fff}.btn.ghost.danger{background:transparent;color:var(--signal-red);border-color:var(--signal-red)}.warnnote{color:var(--signal-red)}.offlinebar{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border-radius:12px;background:#f1efe9;border:1px solid var(--line-strong);color:var(--ink-soft);font-size:.85rem}.menu .btn.offline{opacity:.45}@media (max-width: 900px){.game{max-width:840px}.reactpop{position:fixed;left:0;right:0;bottom:0;top:auto;transform:none;width:auto;max-width:none;max-height:52vh;border-radius:16px 16px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));box-shadow:0 -12px 34px #28231b4d;animation:sheetup .2s ease}.seat .who .name{font-size:.82rem}.pcard{width:54px;height:77px}.pcard.lg{width:68px;height:96px}.hand .cardwrap{margin-left:-24px}.centerfield{padding-left:122px}.deckside{width:104px}}@media (max-width: 640px){.game{height:auto;min-height:100dvh;max-width:100%;padding:8px 10px calc(14px + env(safe-area-inset-bottom,0px));gap:8px}.topbar img{height:28px}.topbar .meta{font-size:.76rem;gap:10px}.opponents{gap:6px}.seat{padding:6px 7px;min-height:0;border-radius:11px;gap:4px}.avatar{width:24px;height:24px;font-size:.8rem}.seat .who{gap:5px}.seat .who .name,.seat .who .score{font-size:.7rem}.seat .cardsrow{gap:5px}.cardback{width:15px;height:22px;margin-left:-8px;border-radius:3px}.centerfield{flex-direction:column;align-items:stretch;justify-content:flex-start;padding:12px;gap:10px;min-height:210px;border-radius:18px}.centerfield:after{top:6px;right:6px;bottom:6px;left:6px;border-radius:13px}.deckside{position:static;inset:auto;width:100%;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:8px 12px;overflow:visible;padding-bottom:0}.deckstack{flex-direction:row;align-items:center;gap:8px;padding-left:0;flex:none}.deckstack .stack,.deckback{width:24px;height:34px}.decklabel{white-space:nowrap}.lasthand{flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 6px;padding-left:0}.lastrow{gap:2px}.plays{gap:10px 14px;width:100%;flex:1 1 auto;align-items:center;align-content:center;padding-bottom:14px}.playgroup .cards{gap:4px}.playgroup .byline{font-size:.7rem}.message{font-size:.8rem;line-height:1.3}.pcard{width:46px;height:66px}.pcard.lg{width:56px;height:80px}.pcard.lg .pip{font-size:1.9rem}.pcard.sm{width:34px;height:50px}.pcard.xs{width:26px;height:37px}.pcard .pip{font-size:1.5rem}.hand{padding:2px 0}.hand .cardwrap{margin-left:-12px}.myrow{justify-content:center;gap:4px 8px}.myinfo{flex-wrap:wrap;justify-content:center;gap:6px;min-width:0}.myinfo .banked{display:none}.hint{width:100%;text-align:center;order:-1;font-size:.82rem}.btn{padding:8px 13px;font-size:.92rem}.btn.big{padding:11px 20px;font-size:1rem}.btn.round{padding:7px 10px;font-size:1rem}.feltmsg{font-size:.8rem;bottom:8px}.myinfo{gap:8px}.timer{width:34px;height:34px}.timer span{width:25px;height:25px;font-size:.75rem}.reactpop{position:fixed;left:0;right:0;bottom:0;top:auto;transform:none;width:auto;max-width:none;max-height:52vh;border-radius:16px 16px 0 0;padding:16px 14px calc(16px + env(safe-area-inset-bottom,0px));box-shadow:0 -12px 34px #28231b4d;animation:sheetup .2s ease}.chip{flex:none;font-size:.9rem;padding:8px 14px}.sheet{padding:20px 16px;border-radius:16px}.scoretable th,.scoretable td{padding:6px;font-size:.9rem}.rematchtop{top:14px;right:14px;padding:9px 16px;font-size:.95rem}.endsheet h2{padding-right:110px}.quadcards .pcard.lg{width:48px;height:68px}.quadcards .pcard.lg .pip{font-size:1.5rem}}@media (max-width: 380px){.pcard{width:40px;height:58px}.pcard.lg{width:50px;height:72px}.pcard .pip{font-size:1.3rem}.hand .cardwrap{margin-left:-14px}.seat .who .name{font-size:.64rem}.btn{padding:8px 13px;letter-spacing:.03em}.btn.big{padding:10px 16px}}.seat{position:relative}.bubble{position:absolute;bottom:-18px;left:42px;background:#fff;color:var(--ink-deep);border:1.5px solid var(--line-strong);border-radius:2px 12px 12px;padding:4px 10px;font-size:.82rem;font-weight:700;box-shadow:0 4px 12px #28231b40;z-index:5;white-space:nowrap;animation:bubblein .18s ease}@keyframes bubblein{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes sheetup{0%{transform:translateY(100%)}to{transform:translateY(0)}}.myinfo .bubble{bottom:auto;top:-40px;left:0;border-radius:12px 12px 12px 2px}.reactbar{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;padding:6px 0 2px}.chip{border:1.5px solid var(--line-strong);background:#fff;color:var(--ink);border-radius:999px;padding:5px 12px;font-size:.82rem;font-weight:600}.chip:hover{border-color:var(--terracotta);color:var(--terracotta)}.btn.round{padding:8px 12px;border-radius:50%}.tabledot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px}.rowcard{display:inline-flex;align-items:center;gap:3px;flex-wrap:wrap}.rowcard .pcard{outline:1.5px solid var(--seat, transparent);outline-offset:-1px}.rowcard small{color:var(--ink-soft)}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:30}.confetti i{position:absolute;top:-14px;width:9px;height:14px;border-radius:2px;opacity:.95;animation:confall linear forwards}@keyframes confall{0%{transform:translateY(-10vh) rotate(0)}to{transform:translateY(110vh) rotate(720deg);opacity:.7}}.seriestitle{margin:16px 0 2px;color:var(--navy);font-size:.95rem}.seriestitle small{color:var(--ink-soft);font-weight:400}.btn.sm{padding:8px 14px;font-size:.82rem;margin-right:auto}.feltmsg{position:absolute;left:12px;right:12px;bottom:10px;text-align:center;color:var(--felt-text);font-size:.92rem;line-height:1.3;white-space:pre-line;z-index:2;text-shadow:0 1px 4px rgba(0,0,0,.35)}.feltmsg.notice{font-weight:700}.feltmsg.error{color:#ffb3a8;font-weight:700}.myinfo .btn.lay{margin-right:2px}.myinfo .btn.play{margin-left:2px}.avatar.scoreval{font-size:.82rem;font-weight:800;letter-spacing:-.02em}.btn.round.info{font-style:italic;font-family:Georgia,Times New Roman,serif;font-weight:700}.reactpop.infopop{display:block;text-align:center;color:var(--ink-deep);font-weight:600;font-size:.98rem;line-height:1.4;max-width:min(360px,90vw)}.endscores td{vertical-align:middle}.endplayer{display:flex;flex-direction:column;gap:6px}.endname{font-weight:700;color:var(--ink-deep);font-size:1rem}.endscores .lead .endname{color:var(--terracotta)}.endbanked{display:flex;flex-wrap:nowrap;gap:3px}.endscores .endpts{font-size:1.7rem;font-weight:800;text-align:right;color:var(--ink-deep);white-space:nowrap}.endscores .endpts.lead{color:var(--terracotta)}.badgecard .bemoji{font-size:3rem;line-height:62px;height:62px;display:flex;align-items:center}.badgecard.off .bemoji{filter:grayscale(1) opacity(.4)}@media (max-width: 640px){.topbar img{height:24px}.game{padding-top:calc(6px + env(safe-area-inset-top,0px))}.avatar.scoreval{font-size:.72rem}.endname{font-size:.92rem}.endscores .endpts{font-size:1.5rem}.endbanked .pcard.xs{width:24px;height:34px}.reactpop.infopop{font-size:.95rem}}.handrow{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0}.handrow .hand{flex:0 1 auto;min-width:0}.handrow .btn.play{flex:none}@media (max-width: 640px){.handrow{gap:8px;align-items:center}.handrow .hand{flex:1;justify-content:flex-start;padding-left:2px}.handrow .btn.play{padding:16px;font-size:1rem;align-self:stretch;display:flex;align-items:center}}.home{min-height:100%;display:flex;flex-direction:column;position:relative;background:var(--paper);overflow-y:auto}.home:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.55;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600' viewBox='0 0 600 600'%3E%3Cg transform='translate(40,30) rotate(-12) scale(1.5)' fill='%23f0dcd9'%3E%3Cpath d='M50 92 C22 66 2 48 2 27 C2 12 14 2 28 2 C39 2 47 9 50 17 C53 9 61 2 72 2 C86 2 98 12 98 27 C98 48 78 66 50 92 Z'/%3E%3C/g%3E%3Cg transform='translate(320,10) rotate(8) scale(1.2)' fill='%23e6e2d8'%3E%3Cpath d='M50 4 C74 34 98 50 98 66 C98 80 88 90 74 90 C65 90 57 86 51 78 C53 90 60 96 68 98 L32 98 C40 96 47 90 49 78 C43 86 35 90 26 90 C12 90 2 80 2 66 C2 50 26 34 50 4 Z'/%3E%3C/g%3E%3Cg transform='translate(500,90) rotate(-6) scale(1.0)' fill='%23e6e2d8'%3E%3Ccircle cx='50' cy='28' r='24'/%3E%3Ccircle cx='28' cy='56' r='24'/%3E%3Ccircle cx='72' cy='56' r='24'/%3E%3Cpath d='M42 62 C42 80 38 92 30 100 L70 100 C62 92 58 80 58 62 Z'/%3E%3C/g%3E%3Cg transform='translate(180,170) rotate(14) scale(0.9)' fill='%23f0dcd9'%3E%3Cpath d='M50 2 L96 50 L50 98 L4 50 Z'/%3E%3C/g%3E%3Cg transform='translate(20,250) rotate(6) scale(1.0)' fill='%23e6e2d8'%3E%3Cpath d='M50 4 C74 34 98 50 98 66 C98 80 88 90 74 90 C65 90 57 86 51 78 C53 90 60 96 68 98 L32 98 C40 96 47 90 49 78 C43 86 35 90 26 90 C12 90 2 80 2 66 C2 50 26 34 50 4 Z'/%3E%3C/g%3E%3Cg transform='translate(420,240) rotate(10) scale(1.3)' fill='%23f0dcd9'%3E%3Cpath d='M50 92 C22 66 2 48 2 27 C2 12 14 2 28 2 C39 2 47 9 50 17 C53 9 61 2 72 2 C86 2 98 12 98 27 C98 48 78 66 50 92 Z'/%3E%3C/g%3E%3Cg transform='translate(130,380) rotate(-8) scale(1.25)' fill='%23e6e2d8'%3E%3Ccircle cx='50' cy='28' r='24'/%3E%3Ccircle cx='28' cy='56' r='24'/%3E%3Ccircle cx='72' cy='56' r='24'/%3E%3Cpath d='M42 62 C42 80 38 92 30 100 L70 100 C62 92 58 80 58 62 Z'/%3E%3C/g%3E%3Cg transform='translate(480,400) rotate(-4) scale(1.1)' fill='%23f0dcd9'%3E%3Cpath d='M50 2 L96 50 L50 98 L4 50 Z'/%3E%3C/g%3E%3Cg transform='translate(300,470) rotate(-10) scale(1.4)' fill='%23e6e2d8'%3E%3Cpath d='M50 4 C74 34 98 50 98 66 C98 80 88 90 74 90 C65 90 57 86 51 78 C53 90 60 96 68 98 L32 98 C40 96 47 90 49 78 C43 86 35 90 26 90 C12 90 2 80 2 66 C2 50 26 34 50 4 Z'/%3E%3C/g%3E%3Cg transform='translate(30,500) rotate(4) scale(1.0)' fill='%23f0dcd9'%3E%3Cpath d='M50 92 C22 66 2 48 2 27 C2 12 14 2 28 2 C39 2 47 9 50 17 C53 9 61 2 72 2 C86 2 98 12 98 27 C98 48 78 66 50 92 Z'/%3E%3C/g%3E%3C/svg%3E");background-size:460px 460px}.homeinner{position:relative;width:100%;max-width:460px;margin:0 auto;padding:28px 18px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center}.wordmark{margin:6px 0 2px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,11vw,3rem);line-height:1;color:var(--terracotta);letter-spacing:-.01em}.wordmark span{color:var(--ink-deep);margin-left:.28em}.tagline{margin:0 0 22px;text-align:center;color:var(--ink-soft);font-size:.92rem;line-height:1.4}.menu{width:100%;display:flex;flex-direction:column;gap:10px}.menuitem{display:flex;align-items:center;gap:14px;width:100%;min-height:62px;padding:12px 16px;border:1px solid var(--line-strong);border-radius:14px;background:#ffffffdb;color:var(--terracotta);font:inherit;text-align:left;cursor:pointer;box-shadow:var(--shadow);transition:transform .1s ease,border-color .1s ease,background .1s ease;-webkit-tap-highlight-color:transparent}.menuitem:active{transform:scale(.985)}.menuitem.primary{background:linear-gradient(180deg,var(--terracotta) 0%,var(--terracotta-dark) 100%);border-color:var(--terracotta-dark);color:#fff}.menuitem.primary .misub{color:#ffffffd1}.menuitem.dashed{background:transparent;border-style:dashed;box-shadow:none}.mislot{flex:0 0 34px;height:34px;display:flex;align-items:center;justify-content:center}.mi{width:34px;height:34px;display:block}.mitext{display:flex;flex-direction:column;gap:1px;min-width:0}.milabel{font-weight:700;font-size:1.02rem;letter-spacing:.01em}.misub{font-size:.78rem;color:var(--ink-soft)}.profilebtn{position:absolute;top:calc(10px + env(safe-area-inset-top));right:12px;width:42px;height:42px;padding:8px;border:0;border-radius:50%;background:transparent;color:var(--terracotta);cursor:pointer;z-index:3}.profilebtn .mi{width:26px;height:26px}.ioshelp{margin:12px 0 0;padding:10px 14px;border-radius:12px;background:var(--terracotta-soft);color:var(--ink);font-size:.86rem;line-height:1.45;text-align:center}.homefoot{margin-top:22px;color:var(--ink-soft);font-size:.78rem;text-align:center}@media (min-width: 700px){.homeinner{max-width:520px;padding-top:48px}.menuitem:hover{border-color:var(--terracotta);transform:translateY(-1px)}.menuitem.primary:hover{background:var(--terracotta-dark)}}.olsenbanner{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);z-index:40;pointer-events:none;text-align:center;display:flex;flex-direction:column;gap:4px;align-items:center;padding:12px 24px;border-radius:14px;background:#124a35ed;border:2px solid var(--felt-text);box-shadow:0 12px 40px #00000073;animation:olsenpop .35s cubic-bezier(.2,1.4,.4,1)}.olsenbanner strong{font-size:1.5rem;letter-spacing:.08em;color:var(--felt-text)}.olsenbanner span{font-size:.85rem;color:var(--felt-text);opacity:.9}.olsenbanner.win{background:#c0504af2;border-color:#ffd9a0}.olsenbanner.win strong{font-size:1.8rem;color:#fff}@keyframes olsenpop{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.olsentag{display:inline-block;margin-top:4px;padding:1px 8px;border-radius:999px;background:var(--terracotta);color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.suitpick{display:flex;gap:8px;margin:6px 0 18px}.suitbtn{flex:1 1 0;cursor:pointer;font:inherit;min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 4px;border-radius:12px;border:1px solid var(--line-strong);background:var(--card-white);color:var(--ink-deep)}.suitbtn.red{color:var(--signal-red)}.suitbtn .glyph{font-size:1.9rem;line-height:1}.suitbtn .lbl{font-size:.72rem;color:var(--ink-soft)}.myactions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.myactions .btn{min-height:44px}.page{min-height:100%;overflow-y:auto;background:var(--paper);display:flex;flex-direction:column}.pageinner{width:100%;max-width:560px;margin:0 auto;padding:16px 18px calc(32px + env(safe-area-inset-bottom))}.pagebar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;background:var(--paper);border-bottom:1px solid var(--line)}.pagebar h2{margin:0;font-size:1.05rem;color:var(--ink-deep)}.backbtn{border:0;background:transparent;color:var(--terracotta);font:inherit;font-weight:700;cursor:pointer;padding:8px 6px;min-height:44px}.lbtabs{display:flex;gap:8px;margin:4px 0 14px}.lbtab{flex:1 1 0;min-height:44px;padding:10px 8px;cursor:pointer;font:inherit;border:1px solid var(--line-strong);border-radius:12px;background:#fffc;color:var(--ink-soft);font-weight:600}.lbtab.on{background:var(--terracotta);border-color:var(--terracotta-dark);color:#fff}.lbtable{width:100%;border-collapse:collapse;font-size:.92rem}.lbtable th{text-align:left;padding:8px 6px;color:var(--ink-soft);font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line-strong)}.lbtable td{padding:10px 6px;border-bottom:1px solid var(--line)}.lbtable td.num,.lbtable th.num{text-align:right;font-variant-numeric:tabular-nums}.lbtable tr.me td{background:var(--terracotta-soft);font-weight:700}.lbrank{width:34px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.lbempty{padding:28px 8px;text-align:center;color:var(--ink-soft);line-height:1.5}.card{background:#ffffffe6;border:1px solid var(--line-strong);border-radius:14px;padding:16px;margin-bottom:12px;box-shadow:var(--shadow)}.card h3{margin:0 0 6px;font-size:1rem;color:var(--terracotta)}.card .sub{margin:0 0 10px;color:var(--ink-soft);font-size:.88rem;line-height:1.5}.card .sub.err{color:var(--signal-red)}.namerow{display:flex;gap:8px}.txt{flex:1 1 auto;min-width:0;min-height:44px;padding:10px 12px;font:inherit;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--ink-deep)}.txt:focus{outline:2px solid var(--ring-blue);outline-offset:1px}.btnrow{display:flex;gap:8px;flex-wrap:wrap}.gsibtn{display:flex;justify-content:center;min-height:44px}.prose h3{margin:18px 0 6px;font-size:1rem;color:var(--terracotta)}.prose h3:first-child{margin-top:0}.prose p{margin:0 0 10px;line-height:1.6;color:var(--ink);font-size:.94rem}.menuitem{--icon-knockout: var(--paper)}.menuitem.primary{--icon-knockout: var(--terracotta-dark)}.hand .cardwrap{position:relative}.hand .cardwrap.dim{opacity:.38;filter:saturate(.5)}.chainno{position:absolute;top:-6px;left:-4px;z-index:3;min-width:19px;height:19px;padding:0 4px;border-radius:999px;background:var(--terracotta);color:#fff;font-size:.68rem;font-weight:800;line-height:19px;text-align:center;box-shadow:0 1px 4px #0000004d}.code{letter-spacing:.18em;font-size:1.15rem;color:var(--terracotta)}.codebar{padding:6px 12px;text-align:center;font-size:.8rem;background:var(--terracotta-soft);color:var(--ink);border-bottom:1px solid var(--line)}.codebar b{letter-spacing:.14em}.game .topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:calc(4px + env(safe-area-inset-top)) 10px 4px}.iconbtn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border:0;border-radius:12px;background:transparent;color:var(--terracotta);cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent}.iconbtn:active{background:var(--terracotta-soft)}.topmeta{display:flex;align-items:center;gap:14px;font-size:.82rem;color:var(--ink-soft);white-space:nowrap}.topmeta b{color:var(--ink-deep);font-size:.95rem}.topmeta .red b{color:var(--signal-red)}.suitnow{display:flex;flex-direction:column;align-items:center;gap:1px;margin-top:6px;padding:5px 14px;border-radius:12px;background:#00000038;border:1px solid transparent}.suitnow .glyph{font-size:1.5rem;line-height:1.1;color:var(--felt-text)}.suitnow.red .glyph{color:#ff8b84}.suitnow .label{font-size:.78rem;font-weight:700;letter-spacing:.01em;color:var(--felt-text);opacity:.92}.suitnow.changed{border-color:#ffd9a0;background:#cf8b5259;animation:suitpulse .6s ease-out 3}@keyframes suitpulse{0%,to{transform:scale(1);box-shadow:0 0 #ffd9a0b3}50%{transform:scale(1.06);box-shadow:0 0 0 10px #ffd9a000}}.myseat .myrow{display:none}.myseat{padding-bottom:calc(8px + env(safe-area-inset-bottom))}.myactions .btn{min-height:46px;padding-inline:16px}.endsheet{position:relative;padding-top:58px}.endsheet .rematchtop{position:absolute;top:14px;right:14px;margin:0;display:flex;justify-content:flex-end}.endsheet h2{margin:0 0 4px}.endactions{display:flex;justify-content:center;margin-top:16px;padding-bottom:4px}.endactions .btn{min-height:46px;padding-inline:22px}.confetti i{position:absolute;top:-14px;border-radius:2px;animation-name:confettifall;animation-timing-function:linear;animation-iteration-count:1;animation-fill-mode:forwards}@keyframes confettifall{to{transform:translateY(105vh) rotate(720deg);opacity:.15}}.hometop{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:calc(6px + env(safe-area-inset-top)) 10px 0}.langtoggle{display:flex;gap:2px;padding:3px;border-radius:999px;background:#ffffffb3;border:1px solid var(--line-strong)}.langtoggle button{min-width:42px;min-height:32px;padding:0 10px;cursor:pointer;border:0;border-radius:999px;background:transparent;font:inherit;font-size:.76rem;font-weight:800;letter-spacing:.04em;color:var(--ink-soft)}.langtoggle button.on{background:var(--terracotta);color:#fff}.hometop .iconbtn .mi{width:26px;height:26px}.homeinner{padding-top:10px}.wordmark{margin:2px 0}.tagline{margin:0 0 18px}.menusplit{display:flex;gap:10px}.menusplit>*{flex:1 1 0;min-width:0}.menuitem.compact{min-height:54px;padding:10px 12px;gap:10px}.menuitem.compact .milabel{font-size:.88rem;line-height:1.15}.menuitem.compact .mislot{flex:0 0 24px;height:24px}.menuitem.compact .mi{width:24px;height:24px}.menuitem.primary+.menuitem.primary{margin-top:0}.menuitem.primary:nth-of-type(2){background:linear-gradient(180deg,var(--felt) 0%,var(--felt-dark) 100%);border-color:var(--felt-dark);--icon-knockout: var(--felt-dark)}.homefoot{margin-top:18px}@media (max-width: 380px){.menuitem.compact .milabel{font-size:.8rem}.menusplit{gap:8px}}.langtoggle.wide{width:100%}.langtoggle.wide button{flex:1 1 0;min-height:42px;font-size:.9rem}.homefoot{display:flex;flex-direction:column;gap:3px}.homefoot .partof a{color:var(--terracotta);font-weight:700;text-decoration:none}.homefoot .partof a:hover{text-decoration:underline}.myseat .handrow{display:flex;flex-direction:column;align-items:stretch;gap:6px}.myseat .hand{justify-content:safe center;overflow-x:auto;overflow-y:visible;padding:20px 10px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.myseat .hand::-webkit-scrollbar{display:none}.myseat .hand .cardwrap{flex:0 0 auto}.myseat .myactions{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:nowrap;padding:0 10px 2px}.myseat .myactions .btn{flex:0 1 auto;white-space:nowrap}.myseat .myactions .btn.play{flex:1 1 auto;max-width:260px;font-weight:800}@media (max-width: 640px){.hand .cardwrap{margin-left:-18px}.hand .cardwrap:first-child{margin-left:0}.myseat .myactions .btn{min-height:48px;padding-inline:14px}}
