:root{--navy-deep:#00142e;--navy:#0a2247;--navy-raised:#123a78;--line:#3d63a3;--line-soft:#1f3f75;--ivory:#f7f2e4;--text:#f5f0e1;--text-muted:#c5d3e8;--ink:#1b1407;--amber:#f5b83d;--green:#7be0a4;--coral:#ff8a6b;--flag-blue:#002d62;--flag-red:#ce1126;--display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--body:"DM Sans", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color:var(--text);font-family:var(--body);background:linear-gradient(#001638c7, #001638c7), linear-gradient(#fff, #fff) center / 100% 64px no-repeat, linear-gradient(#fff, #fff) center / 64px 100% no-repeat, conic-gradient(var(--flag-red) 0 25%, var(--flag-blue) 0 50%, var(--flag-red) 0 75%, var(--flag-blue) 0);-webkit-tap-highlight-color:transparent;background-attachment:fixed;margin:0;overflow-x:clip}button{cursor:pointer;font-family:inherit}button:focus-visible{outline:3px solid var(--ivory);outline-offset:2px}.screen{max-width:480px;min-height:100%;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);flex-direction:column;margin:0 auto;display:flex}.screen--fit{height:100dvh;min-height:0;overflow:hidden}.screen--fit .table{min-height:0}.bar{flex-shrink:0;justify-content:space-between;align-items:center;gap:4px;height:56px;padding:0 8px;display:flex}.bar--home{padding:0 16px}.brand{font-family:var(--display);align-items:center;gap:10px;font-size:24px;font-weight:700;display:flex}.icon-btn{width:44px;height:44px;color:var(--text);background:0 0;border:0;justify-content:center;align-items:center;display:flex}.score{align-items:center;gap:10px;display:flex}.score__label{color:var(--text-muted);font-size:13px;font-weight:500}.score__num{font-family:var(--display);font-size:22px;font-weight:700}.score__num--us{color:var(--amber)}.score__chip{color:var(--text-muted);background:var(--navy-deep);border-radius:8px;padding:4px 8px;font-size:12px}.btn{border-radius:12px;min-height:44px;padding:0 16px;font-size:14px;font-weight:700}.btn--primary{background:var(--amber);color:var(--ink);border:0}.btn--outline{color:var(--text);background:0 0;border:1.5px solid #7c9bd0}.btn--big{min-height:54px;font-family:var(--display);border-radius:16px;font-size:19px}.login-card{border:2px solid var(--amber);flex-direction:column;gap:12px;display:flex}.login-card strong{font-family:var(--display);font-size:22px;display:block}.login-card span{color:var(--text-muted);margin-top:4px;font-size:15px;display:block}.login-card .btn{justify-content:center;align-items:center;gap:10px;display:inline-flex}.login-btn{min-height:40px;font-size:15px}.home{flex-direction:column;flex:1;gap:14px;padding:4px 16px 16px;display:flex}.hero{background:var(--navy-raised);border-radius:22px;flex-direction:column;gap:12px;padding:20px;display:flex}.hero h1{font-family:var(--display);margin:0;font-size:28px;line-height:1.08}.hero p{color:var(--text-muted);margin:0;font-size:14px;line-height:1.4}.eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--amber);font-size:11px;font-weight:700}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.card{background:var(--navy-deep);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:6px;padding:14px;display:flex}.card strong{font-size:16px}.card span{color:var(--text-muted);font-size:13px;line-height:1.35}.card em{letter-spacing:.06em;text-transform:uppercase;background:var(--navy-raised);border-radius:6px;align-self:flex-start;padding:2px 6px;font-size:11px;font-style:normal;font-weight:700}.ad{border:1px solid var(--line);background:var(--navy-deep);border-radius:14px;flex-direction:column;flex-shrink:0;justify-content:center;gap:3px;min-height:64px;margin:0 12px;padding:8px 56px 8px 14px;display:flex;position:relative}.home .ad{margin:auto 0 0}.ad__label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.ad__slot{font-size:14px}.ad__close{background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.ad__close span{background:var(--ivory);width:28px;height:28px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;display:flex}.table{flex-direction:column;flex:1;gap:4px;min-height:340px;margin:8px 12px;display:flex}.table__seats{background:#00142eb8;border-radius:16px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:4px;padding:8px 4px;display:grid}.felt-wrap{perspective:900px;flex-direction:column;flex:1;min-height:0;display:flex}.felt{background:var(--navy-raised);border:5px solid var(--navy-deep);transform-origin:50% 100%;border-radius:26px;flex:1;min-height:0;padding:4px;display:flex;transform:rotateX(20deg)}.felt svg{flex:1;width:100%;min-width:0;min-height:0}.felt__caption{text-align:center;color:var(--text-muted);background:#00142eb8;border-radius:10px;align-self:center;margin:6px 0 0;padding:4px 8px;font-size:12px}.seat{text-align:center;flex-direction:column;flex-shrink:0;align-items:center;gap:3px;display:flex}.seat .avatar{width:40px;height:40px}.seat__name{font-size:12px;font-weight:700}.seat__count{color:var(--text-muted);font-size:11px}.seat__avatar{flex-shrink:0;display:inline-flex;position:relative}.pass-badge{z-index:5;color:#fff;pointer-events:none;background:#d93a3a;border:3px solid #fff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:60px;height:60px;animation:.35s cubic-bezier(.3,1.6,.5,1) both pass-pop;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #d93a3a73,0 6px 16px #00000080}.pass-badge>span{letter-spacing:.04em;font-size:11px;font-weight:900;line-height:1}.seat--passed{outline-offset:-2px;outline:2px solid #d93a3a}@keyframes pass-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.pass-badge{animation:none}}.revealed{flex-wrap:wrap;justify-content:center;gap:2px;max-width:136px;margin-top:3px;display:flex}.hand__text .revealed{justify-content:flex-start;max-width:none}.revealed--empty{color:var(--amber);font-size:11px;font-weight:700}.avatar{width:44px;height:44px;color:var(--ink);background:#c9b3f5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.seat--2 .avatar{background:#8cc8f0}.seat--3 .avatar{background:#f2a6b8}.avatar--me{background:var(--amber)}.seat--active .avatar,.avatar--turn{box-shadow:0 0 0 3px var(--navy-deep), 0 0 0 5px var(--amber)}.board{flex-direction:column;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.board__empty,.board__ends{color:var(--text-muted);font-size:12px}.chain{flex-wrap:wrap;justify-content:center;align-items:center;gap:2px;display:flex}.chain span{display:flex}.hand{background:var(--navy-deep);border-radius:24px 24px 0 0;flex-direction:column;flex-shrink:0;gap:18px;padding:12px 14px 16px;display:flex}.hand__status{align-items:center;gap:10px;display:flex}.hand__text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.hand__text strong{font-family:var(--display);color:var(--amber);font-size:18px}.hand__text span{color:var(--text-muted);font-size:13px}.hand__tiles{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:6px;min-height:96px;display:flex}.tile-btn{opacity:.55;background:0 0;border:0;border-radius:8px;padding:0;display:flex}.tile-btn--playable{opacity:1;box-shadow:0 0 0 3px var(--amber);transform:translateY(-8px)}.hand__actions{flex-direction:column;justify-content:center;gap:10px;min-height:96px;font-size:14px;display:flex}.hand__sides{flex-wrap:wrap;gap:8px;display:flex}.hand__final{font-family:var(--display);font-size:20px}@media (prefers-reduced-motion:no-preference){.tile-btn{transition:transform .12s ease-out}}.bar__title{font-family:var(--display);flex:1;margin:0;font-size:20px}.panel{background:var(--navy-deep);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:10px;padding:16px;display:flex}.panel--row{flex-direction:row;justify-content:space-between;align-items:center}.panel h2{font-family:var(--display);margin:0;font-size:18px}.panel p{color:var(--text-muted);margin:0;font-size:14px}.panel label{color:var(--text-muted);font-size:13px;font-weight:700}.field{border:1px solid var(--line);background:var(--navy);height:48px;color:var(--text);font:inherit;border-radius:12px;padding:0 14px;font-size:16px}.field--code{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;font-size:22px}.field:focus-visible{outline:3px solid var(--ivory);outline-offset:2px}.btn:disabled{opacity:.45;cursor:not-allowed}.code{font-family:var(--display);letter-spacing:.1em;font-size:28px;display:block}.card--action{text-align:left;color:var(--text);border-color:var(--amber)}.seats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.seat-card{background:var(--navy-raised);border-radius:16px;align-items:center;gap:10px;min-width:0;padding:12px;display:flex}.seat-card--empty{background:0 0;border:2px dashed #5c82c2}.seat-card strong{overflow-wrap:anywhere;font-size:15px;display:block}.seat-card span{color:var(--text-muted);font-size:13px}.avatar--s0{background:var(--amber)}.avatar--s1{background:#c9b3f5}.avatar--s2{background:#8cc8f0}.avatar--s3{background:#f2a6b8}.avatar--empty{background:var(--navy-deep);color:var(--amber);font-size:20px}.notice{text-align:center;min-height:1em;color:var(--text);margin:0;font-size:14px}.notice[role=alert]{color:var(--coral)}.notice--floating{background:var(--navy-deep);border-radius:12px;padding:10px;position:fixed;bottom:16px;left:16px;right:16px}.avatar--c0{background:var(--amber)}.avatar--c1{background:#c9b3f5}.avatar--c2{background:#8cc8f0}.avatar--c3{background:#f2a6b8}.avatar--c4{background:#9fe0b8}.avatar--photo{object-fit:cover;background:var(--navy-deep);padding:0}.avatar--gone{opacity:.55}.who{font-family:var(--display);overflow-wrap:anywhere;font-size:20px;display:block}fieldset.panel{min-width:0;margin:0}.panel legend{color:var(--text-muted);padding:0 4px;font-size:13px;font-weight:700}.avatar-picker{flex-wrap:wrap;gap:8px;display:flex}.avatar-pick{cursor:pointer;min-width:64px;color:var(--text-muted);border:2px solid #0000;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;font-size:12px;display:flex;position:relative}.avatar-pick input{opacity:0;width:1px;height:1px;position:absolute}.avatar-pick--on{border-color:var(--ivory);color:var(--text)}.avatar-pick:has(input:focus-visible){outline:3px solid var(--ivory);outline-offset:2px}.eyebrow--alert{color:var(--coral)}.pause{text-align:center;align-items:center}.pause h2{font-size:24px}.pause__clock{background:var(--navy-raised);border-radius:10px;padding:6px 12px;font-size:13px;font-weight:700}.pause__players{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.pause__player{background:var(--navy-deep);text-align:center;border:1.5px solid #0000;border-radius:14px;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:10px 4px;display:flex}.pause__player strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;overflow:hidden}.pause__player span{color:var(--green);font-size:11px;font-weight:700}.pause__player--away{border-color:var(--coral)}.pause__player--away span{color:var(--coral)}.pause__player--away .avatar{opacity:.55}.choice{background:var(--navy-deep);color:var(--text);text-align:left;border:1.5px solid #7c9bd0;border-radius:16px;flex-direction:column;gap:2px;padding:12px 16px;display:flex}.choice strong{font-family:var(--display);font-size:18px}.choice span{color:var(--text-muted);font-size:13px}.choice--main{background:var(--amber);color:var(--ink);border:0}.choice--main span{color:var(--ink)}.choice:disabled{opacity:.45}.tabs{background:var(--navy);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;display:grid}.tab{min-height:44px;color:var(--text-muted);background:0 0;border:0;border-radius:10px;font-size:14px;font-weight:500}.tab[aria-pressed=true]{background:var(--ivory);color:var(--ink);font-weight:700}.link-btn{min-height:44px;color:var(--amber);background:0 0;border:0;align-self:flex-start;padding:0 4px;font-size:14px;font-weight:700;text-decoration:underline}.link-btn:disabled{opacity:.45}.panel--alert{border-color:var(--coral)}.panel--alert h2{color:var(--coral)}.btn--small{justify-content:center;align-items:center;min-height:40px;padding:0 12px;font-size:14px;text-decoration:none;display:inline-flex}.panel__actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.icon-btn--on{color:var(--amber)}.share{flex-direction:column;gap:8px;display:flex}.share__row{flex-wrap:wrap;gap:6px;display:flex}.friends{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.friend{align-items:center;gap:10px;display:flex}.friend strong{overflow-wrap:anywhere;flex:1;min-width:0}.friend__state{color:var(--green);font-size:13px}.panel--invite{border-color:var(--amber)}.voice{align-items:center;gap:10px;display:flex}.voice__text{min-width:0;color:var(--text-muted);flex-direction:column;flex:1;font-size:13px;display:flex}.voice__text small{color:var(--amber);font-weight:700}.mic{background:var(--amber);width:52px;height:52px;color:var(--ink);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mic--on{background:var(--coral);box-shadow:0 0 0 6px #ff8a6b59}.mic:disabled{opacity:.45}.table-voice{background:#00142eb8;border-radius:16px;flex-shrink:0;margin:6px 12px 0;padding:6px 10px}.table-voice .mic{width:44px;height:44px}.radio{border-bottom:1px solid var(--line-soft);flex-direction:column;gap:8px;padding-bottom:10px;display:flex}.radio__row{align-items:center;gap:8px;display:flex}.radio__icon{color:var(--amber);display:flex}.radio__name{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:700}.radio__list{flex-direction:column;gap:4px;max-height:260px;display:flex;overflow-y:auto}.station{border:1px solid var(--line-soft);background:var(--navy-deep);min-height:44px;color:var(--text);text-align:left;border-radius:12px;flex-direction:column;padding:6px 12px;display:flex}.station span{color:var(--text-muted);font-size:12px}.radio__note{color:var(--text-muted);margin:0;font-size:12px}.stats-mini{color:var(--text-muted);flex-direction:column;align-items:flex-end;font-size:13px;display:flex}.ranking{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.rank{border:1px solid var(--line-soft);background:#00142ecc;border-radius:14px;align-items:center;gap:10px;padding:6px 12px;display:flex}.rank strong{overflow-wrap:anywhere;flex:1;min-width:0}.rank__pos{width:24px;color:var(--text-muted);font-weight:700}.rank__games{color:var(--text-muted);font-size:12px}.rank__rating{font-family:var(--display);color:var(--amber);font-weight:700}.rank--me{border-color:var(--amber)}.ad__frame{border:0;width:320px;max-width:100%;height:50px;display:block}.felt__foot{justify-content:center;align-items:center;gap:8px;margin-top:6px;display:flex}.felt__foot .felt__caption{margin:0}.felt__3d{display:none}@media (pointer:fine) and (width>=700px){.felt__3d{display:inline-flex}}.felt-wrap--3d{perspective:700px}.felt-wrap--3d .felt{border-bottom-width:14px;transform:rotateX(42deg)scale(.92);box-shadow:0 30px 40px #0000008c,inset 0 0 0 3px #0b2c63}.felt-wrap--3d .felt svg>g{filter:drop-shadow(0 4px #a99d80)drop-shadow(0 7px 4px #00000080)}.radio-sheet{background:var(--navy-deep);border:1px solid var(--line);border-radius:16px;flex-shrink:0;margin:6px 12px 0;padding:10px 12px}.radio-sheet .radio{border-bottom:0;padding-bottom:0}.radio-sheet .radio__list{max-height:40vh}.leave-sheet{flex-direction:column;gap:8px;display:flex}.admin{flex-direction:column;gap:12px;max-width:1200px;margin:0 auto;padding:12px 16px 40px;display:flex}.admin__bar,.admin__tabs{border:1px solid var(--line-soft);background:#00142ed9;border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.admin__bar strong{font-family:var(--display);font-size:18px}.admin__tabs .tab{padding:0 14px}.admin__spacer{flex:1}.admin__when{color:var(--text-muted);font-size:12px}.admin__body{flex-direction:column;gap:12px;display:flex}.admin__h{font-family:var(--display);margin:8px 0 0;font-size:18px}.admin__empty,.admin__note{color:var(--text-muted);margin:0;font-size:14px}.admin__gate{max-width:480px;margin:40px auto}.kpis{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;display:grid}.kpi{border:1px solid var(--line-soft);background:#00142ed9;border-radius:14px;flex-direction:column;gap:2px;padding:10px 14px;display:flex}.kpi__label{color:var(--text-muted);font-size:12px}.kpi__value{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:28px}.kpi__hint{color:var(--text-muted);font-size:12px}.admin__table-wrap{border:1px solid var(--line-soft);background:#00142ed9;border-radius:14px;overflow-x:auto}.admin__table{border-collapse:collapse;width:100%;font-size:14px}.admin__table th,.admin__table td{text-align:left;border-bottom:1px solid var(--line-soft);white-space:nowrap;padding:8px 12px}.admin__table th{color:var(--text-muted);font-size:12px;font-weight:700}.admin__table .num{text-align:right;font-variant-numeric:tabular-nums}.admin__table tbody tr:hover{background:#3d63a340}.admin__who{align-items:center;gap:8px;display:inline-flex}.admin__log{color:var(--text-muted);margin:0;padding-left:18px;font-size:14px}.state--ok{color:var(--green)}.state--bad{color:var(--coral);font-weight:700}.bars{border:1px solid var(--line-soft);background:#00142ed9;border-radius:14px;flex-direction:column;gap:8px;margin:0;padding:12px 14px;list-style:none;display:flex}.bars__row{grid-template-columns:minmax(90px,200px) 1fr auto;align-items:center;gap:10px;font-size:14px;display:grid}.bars__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bars__track{height:12px}.bars__fill{background:var(--amber);border-radius:0 4px 4px 0;height:100%;display:block}.bars__row:hover .bars__fill{filter:brightness(1.15)}.bars__value{font-variant-numeric:tabular-nums;text-align:right;min-width:70px}.bars__value small{color:var(--text-muted)}.flying-tile{z-index:50;pointer-events:none;will-change:transform, opacity;position:fixed;top:0;left:0}.flying-tile svg{display:block}.felt{position:relative}.deal{pointer-events:none;z-index:2;position:absolute;inset:0}.deal__tile{width:18px;height:36px;animation:deal-shuffle var(--shuffle) ease-in-out both, deal-out .42s cubic-bezier(.5, 0, .8, .4) var(--delay) forwards;background:linear-gradient(135deg,#f7f2e4,#ded5bd);border:1px solid #b9b09a;border-radius:4px;margin:-18px 0 0 -9px;position:absolute;top:50%;left:50%;box-shadow:0 2px 3px #00000073}@keyframes deal-shuffle{0%{opacity:0;transform:translate(0)rotate(0)}10%{opacity:1}30%{transform:translate(var(--x0), var(--y0)) rotate(var(--r0))}60%{transform:translate(var(--x1), var(--y1)) rotate(var(--r1))}85%{transform:translate(var(--x2), var(--y2)) rotate(var(--r2))}to{opacity:1;transform:translate(0)rotate(0)}}@keyframes deal-out{0%{opacity:1;transform:translate(0)rotate(0)}80%{opacity:1}to{transform:translate(var(--tx), var(--ty)) rotate(var(--rt)) scale(.8);opacity:0}}.hand__tiles--dealing .tile-btn{pointer-events:none;animation:.36s ease-out both hand-in;animation-delay:calc(2.05s + var(--i,0) * 60ms)}@keyframes hand-in{0%{opacity:0;transform:translateY(26px)scale(.8)}}.felt__toast{z-index:3;background:var(--amber);color:var(--ink);white-space:nowrap;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:800;animation:.26s ease-out both toast-in;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 6px 16px #0006}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}}@media (prefers-reduced-motion:reduce){.deal__tile{animation:deal-out .42s ease-in var(--delay) forwards}.felt__toast{animation:none}}.rules{flex-direction:column;gap:10px;display:flex}.rules__row{justify-content:space-between;align-items:center;gap:10px;font-size:14px;display:flex}.rules__row select{border:1px solid var(--line);background:var(--navy-deep);min-height:40px;color:inherit;font:inherit;border-radius:10px;max-width:55%;padding:0 10px}.rules__list{color:var(--text-muted);flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:14px;display:flex}.seat-card--partner{box-shadow:0 0 0 2px var(--amber)}.seat-card__pick{margin-top:6px}.notice--join{background:var(--amber);color:var(--ink);border-radius:12px;padding:8px 12px;font-weight:700}.panel--accent{border-color:var(--amber);flex-direction:column;gap:10px;display:flex}.panel__text{color:var(--text-muted);margin:6px 0 0;font-size:14px}.rules__note{color:var(--text-muted);margin:0;font-size:13px}.alerts{flex-direction:column;gap:8px;display:flex}.score--each{gap:10px}.score__each{align-items:baseline;gap:4px;max-width:96px;display:inline-flex;overflow:hidden}.score__each .score__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table__seats--2{grid-template-columns:minmax(0,1fr)}.table__seats--3{grid-template-columns:repeat(2,minmax(0,1fr))}.radio__search{align-items:center;gap:8px;margin-top:8px;display:flex}.radio__search input{border:1px solid var(--line);background:var(--navy-deep);min-width:0;min-height:42px;color:inherit;font:inherit;border-radius:10px;flex:1;padding:0 12px;font-size:16px}.radio__search input::-webkit-search-cancel-button{display:none}.photo-upload{cursor:pointer;margin-top:10px;position:relative}.photo-upload input{opacity:0;cursor:pointer;position:absolute;inset:0}.photo-upload__note{color:var(--text-muted);margin:6px 0 0;font-size:12px}.bar__actions{align-items:center;gap:8px;min-width:0;display:flex}.profile-chip{border:1px solid var(--line);max-width:170px;color:inherit;font:inherit;cursor:pointer;background:#00142eb8;border-radius:999px;align-items:center;gap:8px;padding:3px 12px 3px 3px;font-size:14px;font-weight:700;display:inline-flex}.profile-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.open-table{border-color:var(--amber)}.open-table__row{justify-content:space-between;align-items:center;gap:12px;margin-top:6px;display:flex}.open-table__row>div{min-width:0;color:var(--text-muted);flex-direction:column;gap:2px;font-size:13px;display:flex}.open-table__code{letter-spacing:.12em;color:var(--text,#fff);font-size:22px}.profile-head{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.profile-head__text{flex-direction:column;flex:1;gap:2px;min-width:120px;display:flex}.profile-head__text strong{font-size:20px}.profile-head__text span,.profile-note{color:var(--text-muted);font-size:13px}.profile-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:14px}.profile-table th,.profile-table td{border-bottom:1px solid var(--line-soft);text-align:right;font-variant-numeric:tabular-nums;padding:8px 4px}.profile-table th[scope=row],.profile-table thead th:first-child{text-align:left;font-weight:600}.profile-table thead th{color:var(--text-muted);font-size:12px;font-weight:600}.best-partner{align-items:center;gap:12px;margin-top:8px;display:flex}.best-partner>div{flex-direction:column;gap:2px;display:flex}.best-partner span{color:var(--text-muted);font-size:13px}.partner-list{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.partner-list li{align-items:center;gap:10px;font-size:14px;display:flex}.partner-list__num{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-left:auto}.chat{flex-direction:column;gap:8px;display:flex}.chat__list{flex-direction:column;gap:6px;max-height:220px;padding:4px 2px;display:flex;overflow-y:auto}.chat__empty,.chat__note{color:var(--text-muted);margin:0;font-size:13px}.chat__msg{background:var(--navy-deep);border:1px solid var(--line-soft);overflow-wrap:anywhere;border-radius:12px;flex-direction:column;align-self:flex-start;gap:2px;max-width:85%;margin:0;padding:6px 10px;font-size:14px;display:flex}.chat__msg strong{color:var(--amber);font-size:12px}.chat__msg time{color:var(--text-muted);align-self:flex-end;font-size:11px}.chat__msg--me{background:var(--line-soft);align-self:flex-end}.chat__form{gap:8px;display:flex}.chat__form input{border:1px solid var(--line);background:var(--navy-deep);min-width:0;min-height:42px;color:inherit;font:inherit;border-radius:10px;flex:1;padding:0 12px;font-size:16px}.chat-bubble{right:14px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:40;border:2px solid var(--line);background:var(--navy-deep);width:56px;height:56px;color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;box-shadow:0 8px 20px #00000073}.chat-bubble--new{background:var(--amber);border-color:var(--amber);color:var(--ink);animation:1.4s ease-in-out infinite chat-glow}.chat-bubble__count{color:#fff;background:#d93a3a;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 5px;font-size:12px;font-weight:800;display:flex;position:absolute;top:-4px;right:-4px}@keyframes chat-glow{0%,to{box-shadow:0 0 #f5b83db3,0 8px 20px #00000073}50%{box-shadow:0 0 0 10px #f5b83d00,0 8px 20px #00000073}}@media (prefers-reduced-motion:reduce){.chat-bubble--new{animation:none}}.chat--floating{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:40;background:var(--navy-deep);border:1px solid var(--line);border-radius:18px;width:min(340px,100vw - 24px);max-height:min(70vh,520px);padding:10px 12px 12px;position:fixed;box-shadow:0 16px 40px #0000008c}.chat--floating .chat__list{flex:1;min-height:120px;max-height:none}.chat__head{justify-content:space-between;align-items:center;display:flex}.chat__min{width:36px;height:36px}.celebrate{z-index:200;justify-content:center;align-items:center;padding:16px;animation:.35s ease-out both celebrate-in;display:flex;position:fixed;inset:0;overflow:hidden}.celebrate--win{background:radial-gradient(circle at 50% 40%,#f5b83d59,#000b1feb 65%)}.celebrate--lose{background:radial-gradient(circle at 50% 40%,#5a647859,#000612f0 65%)}.celebrate__rain{pointer-events:none;position:absolute;inset:0}.celebrate__piece{animation:celebrate-fall var(--fall) linear var(--delay) infinite;filter:drop-shadow(0 4px 4px #0006);position:absolute;top:-70px}.celebrate--lose .celebrate__piece{opacity:.55;filter:grayscale()drop-shadow(0 4px 4px #0006);animation-iteration-count:1;animation-fill-mode:both}.celebrate__card{text-align:center;background:var(--navy-deep);border:2px solid var(--line);border-radius:24px;flex-direction:column;align-items:center;gap:10px;width:min(360px,100%);padding:28px 20px 22px;display:flex;position:relative;box-shadow:0 20px 60px #0009}.celebrate--win .celebrate__card{border-color:var(--amber);animation:.6s cubic-bezier(.3,1.6,.5,1) .1s both celebrate-pop}.celebrate--lose .celebrate__card{animation:.9s ease-out .1s both celebrate-sink}.celebrate--win .celebrate__icon{animation:1.1s ease-in-out .6s infinite celebrate-bounce}.celebrate--lose .celebrate__icon{animation:.6s ease-in-out .9s 2 celebrate-shake}.celebrate__title{font-family:var(--display);color:var(--amber);text-shadow:0 4px 16px #f5b83d73;font-size:clamp(40px,13vw,60px);line-height:1}.celebrate--lose .celebrate__title{color:#e2e6ee;text-shadow:none}.celebrate__detail{color:var(--text);font-size:18px;font-weight:700}.celebrate__card .btn{width:100%;margin-top:8px}.round-banner-wrap{z-index:150;background:#00061273;justify-content:center;align-items:center;padding:16px;animation:.25s ease-out both celebrate-in;display:flex;position:fixed;inset:0}.round-banner{text-align:center;background:var(--navy-deep);border:3px solid var(--line);border-radius:22px;flex-direction:column;align-items:center;gap:6px;width:min(340px,100%);padding:22px 18px;animation:.5s cubic-bezier(.3,1.6,.5,1) both celebrate-pop;display:flex;box-shadow:0 16px 48px #0009}.round-banner strong{font-family:var(--display);font-size:clamp(30px,9vw,42px);line-height:1.05}.round-banner span{font-size:18px;font-weight:700}.round-banner--win{border-color:var(--amber)}.round-banner--win strong{color:var(--amber)}.round-banner--lose{border-color:#d93a3a}.round-banner--lose strong{color:#ff8a8a}@keyframes celebrate-in{0%{opacity:0}to{opacity:1}}@keyframes celebrate-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes celebrate-sink{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}@keyframes celebrate-bounce{0%,to{transform:translateY(0)rotate(0)}30%{transform:translateY(-14px)rotate(-6deg)}60%{transform:translateY(0)rotate(5deg)}}@keyframes celebrate-shake{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}@keyframes celebrate-fall{0%{transform:translate(0)rotate(0)}to{transform:translate(var(--drift), 115vh) rotate(var(--spin))}}@media (prefers-reduced-motion:reduce){.celebrate__piece{display:none}.celebrate,.celebrate__card,.celebrate__icon,.round-banner-wrap,.round-banner{animation:none!important}}.final-board{flex-direction:column;gap:6px;width:100%;margin:4px 0;display:flex}.final-board__head,.final-board__row{grid-template-columns:minmax(0,1fr) 76px 76px;align-items:center;gap:6px;display:grid}.final-board__head span{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:800}.final-board__row{background:#ffffff0f;border:2px solid #0000;border-radius:14px;padding:10px 12px}.final-board__row--win{border-color:var(--amber);background:#f5b83d24}.final-board__name{text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:800;overflow:hidden}.final-board__row--mine .final-board__name{color:var(--amber)}.final-board__points{font-family:var(--display);font-size:32px;font-weight:800;line-height:1}.final-board__wins{background:var(--navy-raised);min-width:46px;font-family:var(--display);border-radius:12px;justify-self:center;padding:6px 0;font-size:24px;font-weight:800;line-height:1}.final-board__note{color:var(--text-muted);margin:2px 0 0;font-size:13px}.celebrate__card{max-height:calc(100dvh - 32px);overflow-y:auto}.modes{grid-template-columns:1fr;gap:14px;display:grid}.mode{border:2px solid var(--line);text-align:left;width:100%;min-height:132px;color:var(--text);cursor:pointer;border-radius:22px;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:16px;padding:20px;display:grid}.mode svg{grid-row:span 2}.mode strong{font-family:var(--display);font-size:30px;line-height:1.1}.mode span{color:var(--text-muted);font-size:15px}.mode--play{background:var(--navy-raised);border-color:var(--amber)}.mode--play svg{color:var(--amber)}.mode--notes{background:var(--navy-deep)}.mode--notes svg{color:#8fd3ff}.sheet{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.sheet__team{background:var(--navy-raised);text-align:center;border:2px solid #0000;border-radius:20px;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;display:flex}.sheet__team--win{border-color:var(--amber)}.sheet__name{max-width:100%;color:var(--amber);text-underline-offset:4px;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;font-size:18px;font-weight:800;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;overflow:hidden}.sheet__rename{gap:6px;width:100%;display:flex}.sheet__rename input{border:1px solid var(--line);background:var(--navy-deep);min-width:0;min-height:40px;color:inherit;font:inherit;border-radius:10px;flex:1;padding:0 8px;font-size:16px}.sheet__score{font-family:var(--display);font-size:clamp(54px,18vw,76px);line-height:1}.sheet__bar{background:#ffffff1f;border-radius:99px;width:100%;height:8px;overflow:hidden}.sheet__bar span{background:var(--amber);border-radius:99px;height:100%;display:block}.sheet__wins{color:var(--text-muted);font-size:14px}.sheet__wins strong{color:var(--text);font-size:18px}.sheet__entry{flex-direction:column;gap:10px;display:flex}.sheet__entry label{font-weight:700}.sheet__input{border:2px solid var(--line);background:var(--navy-deep);width:100%;min-height:72px;color:inherit;text-align:center;font-family:var(--display);border-radius:16px;font-size:44px;font-weight:800}.sheet__add{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.sheet__add .btn{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sheet__done{flex-direction:column;align-items:center;gap:12px;display:flex}.sheet__done strong{font-family:var(--display);color:var(--amber);font-size:28px}.sheet__done .btn{width:100%}.sheet__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.sheet__head h2{margin:0}.sheet__hands{flex-direction:column;gap:4px;max-height:260px;margin:8px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.sheet__hands li{background:#ffffff0d;border-radius:10px;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;font-size:15px;display:grid}.sheet__hands li span:first-child{color:var(--text-muted)}.sheet__pts{font-size:17px;font-weight:800}.sheet__options{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.sheet__options .field{width:auto}.radio--big .radio__name{font-size:16px;font-weight:700}@media (width>=900px) and (height>=560px){.screen:not(.screen--fit){zoom:1.2;max-width:760px}.screen--fit{grid-template-rows:auto auto auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr) clamp(380px,32vw,560px);column-gap:16px;width:100%;max-width:none;padding:0 16px 16px;display:grid}.screen--fit>.bar{grid-column:1/-1;height:72px}.screen--fit>.table{grid-area:2/1/6;min-height:0;margin:0}.screen--fit>.hand{border-radius:24px;grid-area:5/2;gap:22px;min-height:0;padding:20px;overflow-y:auto}.screen--fit>:not(.bar):not(.table):not(.hand){grid-column:2}.screen--fit .icon-btn{width:56px;height:56px}.screen--fit .icon-btn svg{width:30px;height:30px}.screen--fit .score__num{font-size:40px}.screen--fit .score__label,.screen--fit .score__chip{font-size:18px}.screen--fit .table__seats{border-radius:20px;align-items:start;padding:10px 8px}.screen--fit .seat{text-align:left;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:2px 12px;display:grid}.screen--fit .seat__avatar{grid-row:span 2}.screen--fit .seat .revealed{grid-column:1/-1;justify-content:center;justify-self:center}.screen--fit .felt{transform:rotateX(8deg)}.screen--fit .seat .avatar,.screen--fit .seat__avatar>.avatar{width:64px!important;height:64px!important;font-size:20px!important}.screen--fit .seat__name{font-size:19px}.screen--fit .seat__count{font-size:15px}.screen--fit .revealed{gap:3px;max-width:220px}.screen--fit .revealed svg{width:20px;height:40px}.screen--fit .pass-badge{width:84px;height:84px}.screen--fit .pass-badge svg{width:30px;height:30px}.screen--fit .pass-badge>span{font-size:15px}.screen--fit .felt__caption{padding:6px 12px;font-size:16px}.screen--fit .felt__toast{font-size:22px}.screen--fit .hand__status .avatar{width:64px!important;height:64px!important;font-size:20px!important}.screen--fit .hand__text strong{font-size:28px}.screen--fit .hand__text>span{font-size:18px}.screen--fit .hand__tiles{gap:10px;min-height:140px}.screen--fit .tile-btn svg{width:clamp(48px,4.2vw,64px);height:clamp(96px,8.4vw,128px)}.screen--fit .tile-btn--playable{box-shadow:0 0 0 4px var(--amber);transform:translateY(-10px)}.screen--fit .hand__actions{font-size:18px}.screen--fit .btn{min-height:52px;padding:0 20px;font-size:18px}.screen--fit .btn--small{min-height:44px;font-size:16px}}.install-banner{background:var(--navy-raised);border:1px solid var(--line);border-radius:18px;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;display:flex}.install-banner__icon{color:var(--amber);flex:none}.install-banner__text{flex:150px;min-width:0}.install-banner__text strong{font-family:var(--display);font-size:17px;line-height:1.2;display:block}.install-banner__text span{color:var(--text-muted);margin-top:3px;font-size:14px;line-height:1.35;display:block}.install-banner__btn{flex:1 0 auto;min-height:48px;font-size:16px}.install-modal{z-index:60;background:#000814b8;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.install-modal__box{background:var(--navy);border:2px solid var(--amber);border-radius:22px;flex-direction:column;gap:16px;width:100%;max-width:460px;padding:20px;display:flex}.install-modal__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.install-modal__head h2{font-family:var(--display);margin:0;font-size:22px}.install-modal__x{border:1px solid var(--line);width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border-radius:12px;font-size:26px;line-height:1}.install-steps{flex-direction:column;gap:12px;margin:0;padding-left:24px;font-size:17px;line-height:1.4;display:flex}.install-steps strong{color:var(--amber)}.notice--keep{color:var(--text-muted);border:1px solid var(--line-soft);background:#00142e8c;border-radius:12px;padding:8px 12px;font-size:13px}.btn--danger{background:var(--flag-red);color:#fff;border:none}.btn--danger-outline{border-color:var(--coral);color:var(--coral)}.app-version{text-align:center;color:var(--text-muted);opacity:.8;margin:8px 0 4px;font-size:12px}.ad--native{padding:8px 12px}.ad--native .ad__close{top:2px;transform:none}.ad__frame--native{width:100%;max-width:100%;margin-top:4px}.ad--waiting{opacity:0;pointer-events:none;width:340px;position:absolute;left:-9999px}.strip{background:var(--navy-deep);border:1px solid var(--line);border-radius:14px;align-items:center;gap:10px;min-height:56px;padding:6px 8px 6px 14px;display:flex}.strip--login{border-color:var(--amber)}.strip--install{background:var(--navy-raised)}.strip__icon{color:var(--amber);flex:none}.strip__text{flex:1;min-width:0;font-size:15px;font-weight:700;line-height:1.2}.strip__btn{flex:none;min-height:44px;padding:0 16px;font-size:15px}.guest-avatar{color:#8a96ab;cursor:pointer;background:#2a3446;border:1.5px solid #5b6b85;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex}.guest-avatar svg{margin-top:4px}.ad__frame--banner{width:320px;max-width:100%;height:50px;margin-top:4px;overflow:hidden}.ad--banner{align-items:center;padding:6px 12px 8px}.ad--banner .ad__label{align-self:flex-start}.ad--banner .ad__close{top:0;transform:none}
