@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/app/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/app/assets/atkinson-hyperlegible-latin-ext-400-normal-DRk46D-x.woff2)format("woff2"),url(/app/assets/atkinson-hyperlegible-latin-ext-400-normal-Bbz-b3yf.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/app/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2)format("woff2"),url(/app/assets/atkinson-hyperlegible-latin-400-normal-BbWidj28.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/app/assets/atkinson-hyperlegible-latin-ext-700-normal-BoVPHkS0.woff2)format("woff2"),url(/app/assets/atkinson-hyperlegible-latin-ext-700-normal-CKkU2Dpt.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/app/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2)format("woff2"),url(/app/assets/atkinson-hyperlegible-latin-700-normal-BK6Glc0m.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/app/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/app/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/app/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/app/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/app/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/app/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/app/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/app/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/app/assets/inter-cyrillic-700-normal-DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/app/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/app/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/app/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/app/assets/inter-greek-700-normal-BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/app/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/app/assets/inter-vietnamese-700-normal-BZaoP0fm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/app/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/app/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/app/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/app/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--felt-900:#10251c;--felt-700:#1c4534;--felt-500:#276549;--rail:#53331f;--rail-light:#6e4429;--card:#faf6ea;--card-dim:#f0ead9;--ink:#22261f;--ink-soft:#6a7166;--line:#d9d2be;--pip-red:#c0322f;--pip-black:#1c1f1a;--pip-green:#1e7a4a;--pip-amber:#c87a1a;--pip-blue:#2d6cb5;--nt-blue:#2e5e8c;--lamp:#e9b44c;--ivory-70:#faf6eab3;--ivory-40:#faf6ea66;--ivory-15:#faf6ea26;--app-ground:radial-gradient(120rem 80rem at 50% -20%, var(--felt-500), var(--felt-700) 55%, var(--felt-900) 100%) var(--felt-900);--display:"Fraunces Variable", "Georgia", serif;--body:"Atkinson Hyperlegible", "Verdana", sans-serif;--mono:"IBM Plex Mono", "Menlo", monospace;--conn-h:0px}:root,[data-card-colors=four]{--suit-s:var(--pip-black);--suit-h:var(--pip-red);--suit-d:var(--pip-amber);--suit-c:var(--pip-green)}[data-card-colors=two]{--suit-s:var(--pip-black);--suit-h:var(--pip-red);--suit-d:var(--pip-red);--suit-c:var(--pip-black)}[data-card-colors=blue_clubs]{--suit-s:var(--pip-black);--suit-h:var(--pip-red);--suit-d:var(--pip-amber);--suit-c:var(--pip-blue)}:root,[data-table-color=blue]{--table-ground:#547492;--table-ground-lift:#627c94;--table-felt-top:#3a658e;--table-felt-side:#30587d;--table-felt-bottom:#264b6e;--table-box:#36526c}[data-table-color=green]{--table-ground:#46786c;--table-ground-lift:#547f74;--table-felt-top:#2c6c4b;--table-felt-side:#245e41;--table-felt-bottom:#1c5134;--table-box:#2b5645}:root[data-connection]{--conn-h:2rem}*{box-sizing:border-box}button{-webkit-user-select:none;user-select:none}html,body,#root{min-height:100vh;margin:0}body{font-family:var(--body);color:var(--card);background:var(--app-ground);background-attachment:fixed}:focus-visible{outline:2px solid var(--lamp);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.connection-banner{height:var(--conn-h);color:var(--card);white-space:nowrap;justify-content:center;align-items:center;padding:0 .9rem;font-size:.85rem;font-weight:700;animation:.18s ease-out conn-drop;display:flex;overflow:hidden}.connection-banner[data-state=down]{background:var(--pip-red)}.connection-banner[data-state=restored]{color:var(--ink);background:#3fbe7d}@keyframes conn-drop{0%{transform:translateY(-100%)}to{transform:none}}.wordmark{font-family:var(--display);letter-spacing:.01em;color:var(--card);font-size:1.6rem;font-weight:560;text-decoration:none}.wordmark .wordmark-pip{color:var(--lamp);padding:0 .12em;font-size:.8em}.playing-card{background:var(--card);color:var(--ink);border:1px solid #00000059;border-radius:16px;width:min(27rem,92vw);padding:2.6rem 2.4rem 2.2rem;position:relative;box-shadow:inset 0 1px #ffffff40,0 18px 50px #00000073}.playing-card:before,.playing-card:after{content:attr(data-pip);font-family:var(--display);color:var(--ink);font-size:1.15rem;line-height:1;position:absolute}.playing-card.red-pip:before,.playing-card.red-pip:after{color:var(--pip-red)}.playing-card:before{top:.7rem;left:.85rem}.playing-card:after{bottom:.7rem;right:.85rem;transform:rotate(180deg)}.card-title{font-family:var(--display);margin:0 0 .3rem;font-size:1.9rem;font-weight:600}.card-sub{color:var(--ink-soft);margin:0 0 1.6rem}.field{margin-bottom:1.1rem}.field label{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.35rem;font-size:.72rem;font-weight:700;display:block}.field input{width:100%;font:inherit;color:var(--ink);background:var(--card-dim);border:1px solid var(--line);border-radius:8px;padding:.65rem .75rem;font-size:1rem}.field input:focus{border-color:var(--ink);outline:none}.field input[type=checkbox]{width:auto;accent-color:var(--felt,#1c5c3c);padding:0}.field label.check-row{letter-spacing:normal;text-transform:none;color:inherit;align-items:center;gap:.5rem;font-size:.9rem;font-weight:400;display:flex}.field .hint{color:var(--ink-soft);margin-top:.3rem;font-size:.8rem}.form-legal{color:var(--ink-soft);margin-top:.65rem;font-size:.8rem}.form-legal a{color:inherit}.field-error{color:var(--pip-red);margin-top:.3rem;font-size:.85rem}.field textarea{width:100%;font:inherit;color:var(--ink);background:var(--card-dim);border:1px solid var(--line);resize:vertical;border-radius:8px;padding:.65rem .75rem;font-size:1rem}.field textarea:focus{border-color:var(--ink);outline:none}.profile-page .field{margin-bottom:.9rem}.profile-page .field label{color:var(--ivory-70)}.profile-page .field input,.profile-page .field textarea,.profile-page .field select{width:100%;font:inherit;color:var(--card);background:#faf6ea1a;border:1px solid #faf6ea33;border-radius:8px;padding:.55rem .7rem;font-size:.95rem}.profile-page .field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ivory-70) 50%), linear-gradient(135deg, var(--ivory-70) 50%, transparent 50%);background-position:calc(100% - 1rem) 55%,calc(100% - .7rem) 55%;background-repeat:no-repeat;background-size:.3rem .3rem;padding-right:2rem}.profile-page .field select option{color:var(--ink);background:var(--card)}.profile-page .field input::placeholder,.profile-page .field textarea::placeholder{color:var(--ivory-40)}.profile-page .field input:focus,.profile-page .field textarea:focus{border-color:var(--gold,#c9a648);outline:none}.profile-avatar-row{align-items:center;gap:.8rem;margin-bottom:1.1rem;display:flex}.profile-page .profile-avatar{width:72px;height:72px;font-size:1.7rem}.profile-avatar-actions{gap:.4rem;display:flex}.profile-fields{flex-wrap:wrap;gap:0 .9rem;display:flex}.profile-fields .field{flex:12rem;min-width:0}.profile-save-row{align-items:center;gap:.7rem;margin-top:.2rem;display:flex}.profile-saved{font-family:var(--mono);letter-spacing:.06em;color:var(--gold,#c9a648);font-size:.72rem}.profile-card-row{border-bottom:1px solid #faf6ea1a;justify-content:space-between;align-items:center;gap:.6rem;margin:0 -.5rem;padding:.55rem .5rem;display:flex}.profile-card-row:last-child{border-bottom:none}.profile-card-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.profile-card-actions{flex:none;gap:.35rem;display:flex}.profile-card-partners{color:var(--ivory-40);font-size:.8rem;font-weight:400}.profile-card-draft{border-top:1px solid #faf6ea24;margin-top:1.1rem;padding-top:1rem}.profile-card-tagging{margin:.2rem 0 .9rem}.profile-card-tag-hint{color:var(--ivory-70);margin-bottom:.35rem;font-size:.8rem;display:block}.member-head-titled{align-items:center;gap:.9rem;display:flex}.member-avatar{width:58px;height:58px;font-size:1.4rem}.form-notice{color:var(--ink-soft);border:1px solid var(--line);background:#0000000a;border-radius:8px;margin-bottom:1.1rem;padding:.6rem .8rem;font-size:.9rem}.form-error{color:var(--pip-red);background:#c0322f14;border:1px solid #c0322f59;border-radius:8px;margin-bottom:1.1rem;padding:.6rem .8rem;font-size:.9rem}.btn{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.65rem 1.2rem;font-weight:700;transition:transform 80ms,box-shadow 80ms,background-color 80ms,border-color 80ms}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.btn-primary{background:var(--ink);color:var(--card);width:100%}.btn-primary:hover:not(:disabled){background:#2f352b;box-shadow:0 0 0 3px #22261f21,0 5px 14px #00000059}.btn-felt{background:var(--card);color:var(--ink)}.btn-felt:hover:not(:disabled){background:#fffdf6;box-shadow:0 0 0 3px #faf6ea29,0 7px 18px #00000080}.btn-ghost{color:var(--card);border-color:var(--ivory-40);background:0 0}.btn-ghost:hover:not(:disabled){border-color:var(--card);background:#faf6ea1a}.btn-card-ghost{color:var(--ink);background:0 0;border-color:#161f1c59}.btn-card-ghost:hover:not(:disabled){border-color:var(--ink);background:#22261f14}.btn:disabled{opacity:.55;cursor:default}.auth-page{place-items:center;min-height:100vh;padding:2rem 1rem;display:grid}.auth-stack{flex-direction:column;align-items:center;gap:1.6rem;display:flex}.auth-switch{color:var(--ivory-70);font-size:.95rem}.auth-switch a{color:var(--card);font-weight:700}.app-header{background:var(--app-ground);background-attachment:fixed;border-bottom:1px solid #00000061;flex:none;justify-content:space-between;align-items:center;gap:1.2rem;height:50px;padding:0 1.6rem;display:flex;box-shadow:inset 0 -1px #faf6ea1a}.header-left{align-items:center;gap:1.6rem;min-width:0;display:flex}.header-right{color:var(--ivory-70);flex:none;align-items:center;gap:1rem;display:flex}.header-right .kibitzer-count{font-family:var(--mono);color:var(--ivory-70);font-size:.78rem}.app-header .btn{align-items:center;height:2.1rem;padding:0 .9rem;display:inline-flex}@media (width<=30rem){.app-header{gap:.7rem;padding:0 .9rem}.header-left{gap:.8rem}.header-right{gap:.6rem}}.lobby-main{max-width:68rem;margin:0 auto;padding:2rem 1.6rem 4rem}.play-pair{gap:.25rem;display:flex}.lobby-stats{flex-wrap:wrap;gap:.7rem;margin-bottom:2rem;display:flex}.stat-group{background:linear-gradient(#06120d1f,#06120d52);border:1px solid #faf6ea24;border-radius:10px;flex:14rem;min-width:0;padding:.7rem 1rem .8rem;position:relative;overflow:hidden;box-shadow:inset 0 1px #faf6ea12}.stat-group-slim{flex:.5 8rem}.stat-group-wide{flex-wrap:wrap;flex:100%;align-items:flex-end;column-gap:2.5rem;display:flex}.stat-group-wide .stat-group-label{flex-basis:100%}.stat-group-wide .stat-minors{border-top:none;border-left:1px solid #faf6ea1a;align-items:flex-end;gap:.45rem 2rem;margin-top:0;padding-top:0;padding-left:2.5rem}@media (width<=640px){.stat-group-slim{flex:100%}.stat-group-wide .stat-minors{border-top:1px solid #faf6ea1a;border-left:none;flex-basis:100%;margin-top:.7rem;padding-top:.65rem;padding-left:0}}.stat-group-label{font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ivory-70);align-items:baseline;gap:.45rem;margin:0 0 .7rem;font-size:.72rem;font-weight:500;display:flex}.stat-suit{font-family:var(--display);color:var(--ivory-40);font-size:.9rem}.stat-suit.red{color:#d4574f}.stat-suit.cluster{gap:.12rem;display:inline-flex}.stat-suit .red,.stat-watermark .red{color:#d4574f}.stat-watermark{font-family:var(--display);color:#faf6ea12;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:6.5rem;line-height:1;position:absolute;bottom:-1.9rem;right:-.5rem}.stat-watermark.red{color:#d4574f1c}.stat-watermark.cluster{gap:.5rem;font-size:2.4rem;display:inline-flex;bottom:.55rem;right:1.1rem}.stat-watermark.cluster .red{color:#d4574f1c}.stat-lead{flex-direction:column;gap:.2rem;display:flex}.stat-lead-value{font-family:var(--display);color:var(--card);font-size:2.2rem;font-weight:560;line-height:1.05}.stat-minors{border-top:1px solid #faf6ea1a;flex-wrap:wrap;gap:.45rem 1rem;margin-top:.7rem;padding-top:.65rem;display:flex}.stat-tile{flex-direction:column;gap:.2rem;display:flex}.stat-label{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ivory-70);white-space:nowrap;font-size:.64rem}.stat-value{font-family:var(--display);color:var(--card);white-space:nowrap;font-size:1.2rem;font-weight:560;line-height:1.1}.stats-live{font-family:var(--mono);color:var(--ivory-70);align-items:center;gap:.4rem;margin-left:.8rem;font-size:.85rem;display:inline-flex}.stats-live-dot{background:#3f9a58;border-radius:50%;width:.5rem;height:.5rem;animation:2.6s ease-out infinite stats-live-pulse}@keyframes stats-live-pulse{0%{box-shadow:0 0 #3f9a5873}70%{box-shadow:0 0 0 .45rem #3f9a5800}to{box-shadow:0 0 #3f9a5800}}.lobby-ticker{font-family:var(--mono);letter-spacing:.05em;color:var(--ivory-70);border-top:1px solid #faf6ea1f;border-bottom:1px solid #faf6ea1f;flex-wrap:wrap;align-items:baseline;gap:.3rem 1.5rem;margin-bottom:2rem;padding:.5rem .2rem;font-size:.76rem;display:flex}.ticker-item b{font-family:var(--display);color:var(--card);margin-right:.2rem;font-size:1.05rem;font-weight:560}.ticker-live{align-self:center;align-items:center;display:inline-flex}.ticker-dot{background:#3f9a58;border-radius:50%;width:.42rem;height:.42rem;animation:2.6s ease-out infinite stats-live-pulse}.ticker-more{color:var(--ivory-70);white-space:nowrap;margin-left:auto;text-decoration:none}.ticker-more:hover{color:var(--card)}.beta-panel{border-top:1px solid var(--ivory-15);color:var(--ivory-70);grid-template-columns:minmax(16rem,2fr) 3fr;gap:2.6rem;margin-top:3.6rem;padding-top:2rem;display:grid}.beta-lead h2{font-family:var(--display);color:var(--card);margin:0 0 .6rem;font-size:1.5rem;font-weight:600}.beta-tag{vertical-align:.2em;border:1px solid var(--ivory-40);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--card);border-radius:999px;margin-left:.15rem;padding:.1rem .55rem;font-size:.7rem;font-weight:500;display:inline-block}.beta-lead p{margin:0 0 1.2rem;line-height:1.5}.beta-notes{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.beta-notes h3{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ivory-40);margin:0 0 .8rem;font-size:.75rem;font-weight:500}.beta-notes ul{flex-direction:column;gap:.9rem;margin:0;padding:0;list-style:none;display:flex}.beta-note-head{flex-wrap:wrap;align-items:baseline;gap:.6rem;margin-bottom:.15rem;display:flex}.beta-notes strong{color:var(--card);font-weight:700}.beta-date{font-family:var(--mono);letter-spacing:.06em;color:var(--ivory-40);white-space:nowrap;font-size:.72rem}.beta-notes span{font-size:.92rem;line-height:1.45}@media (width<=48rem){.beta-panel,.beta-notes{grid-template-columns:1fr}}.member-head{margin-bottom:1.4rem}.member-head h1{font-family:var(--display);margin:0;font-size:2rem;font-weight:600}.member-since{font-family:var(--mono);letter-spacing:.04em;color:var(--ivory-70);margin:.25rem 0 0;font-size:.76rem}.member-panels{flex-wrap:wrap;gap:.7rem;margin:.7rem 0 2.4rem;display:flex}.member-panel{background:linear-gradient(#06120d1f,#06120d52);border:1px solid #faf6ea24;border-radius:10px;flex:20rem;min-width:0;padding:.8rem 1rem 1rem;box-shadow:inset 0 1px #faf6ea12}.member-panel-wide{flex:100%}.member-panel-rows{padding-bottom:0}.member-panel-fit{flex:0 calc(33.3333% - .466667rem);min-width:15rem}@media (width<=640px){.member-panel-fit{flex:100%}}.panel-head{font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ivory-70);margin:0 0 .8rem;font-size:.72rem;font-weight:500}.member-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.member-list li{flex-direction:column;gap:.15rem;display:flex}.member-list a{color:var(--card);text-decoration:none}.member-list a:hover{text-decoration:underline}.member-list-meta{font-family:var(--mono);color:var(--ivory-70);font-size:.68rem}.member-online{border-top:1px solid #faf6ea1a;margin-top:.9rem;padding-top:.7rem}.member-online-head{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ivory-70);margin:0 0 .5rem;font-size:.68rem;font-weight:500}.member-online-list{flex-direction:column;gap:.3rem;margin:0 0 .4rem;padding:0;list-style:none;display:flex}.member-online-list li{color:var(--card);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.member-requests{border-top:1px solid #faf6ea1a;margin-top:.9rem;padding-top:.7rem}.member-requests-head{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ivory-70);margin:0 0 .5rem;font-size:.68rem;font-weight:500}.member-requests .btn-mini{color:var(--card);border-color:#faf6ea59}.member-requests .btn-mini:hover{border-color:var(--card)}.member-requests .btn-mini.btn-danger{color:#d4574f;border-color:#d4574f80}.member-requests .btn-mini.btn-danger:hover{border-color:#d4574f}.member-requests-flush{border-top:none;margin-top:0;padding-top:0}.profile-badge{background:var(--gold,#c9a648);min-width:1.05rem;height:1.05rem;color:var(--ink);font-family:var(--mono);text-align:center;border-radius:99px;padding:0 .2rem;font-size:.62rem;line-height:1.05rem;position:absolute;top:-.25rem;right:-.25rem}.notice-age{font-family:var(--mono);white-space:nowrap;color:var(--ivory-40);margin-left:auto;padding-right:.9rem;font-size:.66rem}.member-requests-flush{border-top:1px solid #faf6ea24}.notice-row{border-bottom:1px solid #faf6ea1a;align-items:center;gap:.55rem;margin:0 -.5rem;padding:.55rem .5rem;display:flex}.notice-row:hover{background:#faf6ea0d}.notice-row:last-child{border-bottom:none}.notice-row .people-name{flex-direction:column;align-items:flex-start;gap:.1rem;line-height:1.3}.notice-row .notice-subject{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.notice-row .people-muted{font-size:.85em}@media (width<=40rem){.notice-row{flex-wrap:wrap;row-gap:.45rem}.notice-row .people-name{flex:calc(100% - 1.8rem)}.notice-age{margin-left:0;padding-right:0}.notice-row .people-actions{margin-left:auto}}.notice-glyph{width:1.2rem;height:1.2rem;color:var(--ivory-70);flex:0 0 1.2rem}.notice-glyph.live{color:var(--gold,#c9a648)}.notif-circle{border:1px solid var(--gold,#c9a648);background:var(--gold,#c9a648);width:2.1rem;height:2.1rem;color:var(--ink);font-family:var(--mono);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;text-decoration:none;display:inline-flex}.notif-circle:hover{filter:brightness(1.08)}.notif-menu{position:relative}.notif-pop{z-index:60;background:var(--felt-900);text-align:left;border:1px solid #faf6ea2e;border-radius:10px;width:min(38rem,100vw - 2rem);padding:.35rem .9rem .5rem;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 1.2rem 2.4rem #00000073}.notif-pop-head{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ivory-70);border-bottom:1px solid #faf6ea24;justify-content:space-between;align-items:baseline;gap:1rem;padding:.5rem 0 .45rem;font-size:.68rem;display:flex}.notif-pop .notice-row:last-of-type{border-bottom:none}.notif-pop-link{font-family:var(--mono);letter-spacing:0;text-transform:none;white-space:nowrap;color:var(--ivory-70);font-size:.68rem;text-decoration:none}.notif-pop-link:hover{color:var(--card)}.notif-pop .btn-mini{color:var(--card);border-color:#faf6ea59}.notif-pop .btn-mini:hover{border-color:var(--card)}.notif-pop .btn-mini.btn-danger{color:#d4574f;border-color:#d4574f80}.notif-pop .btn-mini.btn-danger:hover{border-color:#d4574f}.invite-stack{z-index:59;flex-direction:column;align-items:flex-end;gap:.5rem;display:flex;position:fixed;top:3.6rem;right:1.2rem}.invite-pop{border:1px solid #faf6ea2e;border-left:3px solid var(--lamp);background:var(--felt-900);text-align:left;border-radius:10px;width:min(38rem,100vw - 2.4rem);padding:.15rem .9rem .3rem;animation:.24s cubic-bezier(.2,.9,.3,1.12) toast-in;position:relative;overflow:hidden;box-shadow:0 1.2rem 2.4rem #00000073}.invite-pop .notice-row{border-bottom:none}.invite-pop .btn-mini{color:var(--card);border-color:#faf6ea59}.invite-pop .btn-mini:hover{border-color:var(--card)}.invite-pop .btn-mini.btn-danger{color:#d4574f;border-color:#d4574f80}.invite-pop .btn-mini.btn-danger:hover{border-color:#d4574f}.invite-pop-life{background:linear-gradient(90deg, var(--lamp), #e9b44c59);transform-origin:0;height:2px;animation:toast-life var(--invite-life,5s) linear forwards;position:absolute;bottom:0;left:0;right:0}.invite-pop:hover .invite-pop-life{animation-play-state:paused}.member-empty{color:var(--ivory-70);margin:0;font-size:.9rem}.member-empty a{color:var(--card);text-decoration:none}.member-empty a:hover{text-decoration:underline}.calendar-grid{gap:3px;display:flex}.calendar-week{flex-direction:column;gap:3px;display:flex}.calendar-day{background:#faf6ea14;border-radius:2px;width:12px;height:12px}.calendar-day.heat-1{background:#faf6ea42}.calendar-day.heat-2{background:#faf6ea75}.calendar-day.heat-3{background:#faf6eab3}.calendar-day.heat-4{background:var(--card)}.calendar-months{font-family:var(--mono);letter-spacing:.04em;color:var(--ivory-40);gap:3px;margin-bottom:.3rem;font-size:.6rem;display:flex}.calendar-month{white-space:nowrap;flex:0 0 12px}.calendar-caption{font-family:var(--mono);color:var(--ivory-70);margin:.7rem 0 0;font-size:.68rem}.crumb{font-family:var(--mono);letter-spacing:.04em;margin-bottom:.8rem;font-size:1.1rem}.crumb a{color:var(--ivory-70);padding:.35rem .7rem .35rem 0;text-decoration:none;display:inline-block}.crumb a:hover{color:var(--card)}.lobby-toolbar{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.6rem;display:flex}.lobby-toolbar h1{font-family:var(--display);margin:0;font-size:2rem;font-weight:600}.lobby-toolbar .table-count,.tournament-section h2 .table-count{font-family:var(--mono);color:var(--ivory-70);margin-left:.8rem;font-size:.85rem;font-weight:400}.table-grid{grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:1.3rem;display:grid}.table-card{font:inherit;text-align:inherit;color:inherit;cursor:pointer;background:0 0;border:none;width:100%;padding:0;display:block}.table-card .table-felt{border:4px solid var(--rail);background:radial-gradient(90% 90% at 50% 30%, var(--felt-500), var(--felt-700));aspect-ratio:4/3;border-radius:18px;grid-template:".north.""west center east"1fr".south."/1fr auto 1fr;place-items:center;padding:.6rem;transition:transform .1s,box-shadow .1s;display:grid;position:relative;box-shadow:0 10px 26px #0006}.table-card:hover .table-felt,.table-card:focus-visible .table-felt{border-color:var(--rail-light);transform:translateY(-2px);box-shadow:0 14px 30px #00000080}.seat-chip{text-overflow:ellipsis;white-space:nowrap;border-radius:99px;max-width:7.5rem;padding:.22rem .6rem;font-size:.78rem;font-weight:700;overflow:hidden}.seat-chip.occupied{background:var(--card);color:var(--ink)}.seat-chip.vacant{border:1px dashed var(--ivory-40);color:var(--ivory-70)}.seat-chip.n{grid-area:north}.seat-chip.e{grid-area:east}.seat-chip.s{grid-area:south}.seat-chip.w{grid-area:west}.table-felt .felt-center{text-align:center;color:var(--ivory-70);grid-area:center}.felt-center .board-label{font-family:var(--mono);color:var(--card);font-size:.85rem}.felt-center .status-label{letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}.table-card-meta{justify-content:space-between;align-items:baseline;padding:.55rem .3rem 0;display:flex}.table-card-meta .table-name{font-family:var(--display);color:var(--card);font-size:1.05rem;font-weight:560}.table-card-meta .kibitzer-count{font-family:var(--mono);color:var(--ivory-70);font-size:.75rem}.empty-room{text-align:center;color:var(--ivory-70);padding:5rem 1rem}.empty-room .big-pip{font-family:var(--display);color:var(--ivory-40);margin-bottom:.8rem;font-size:3rem;display:block}.setting-note{color:var(--ivory-70);margin:0 0 .9rem;font-size:.88rem}.swatch-row{grid-template-columns:repeat(auto-fit,minmax(9rem,14rem));gap:1rem;display:grid}.swatch-option{cursor:pointer;border:1px solid #0000;border-radius:8px;grid-template-areas:"swatch""label""note";gap:.35rem;padding:.5rem;display:grid}.swatch-option:hover{background:#faf6ea0f}.swatch-option input{accent-color:var(--lamp);z-index:1;grid-area:swatch;place-self:start;margin:.35rem;position:relative}.swatch-option:has(input:checked){border-color:var(--lamp);background:#e9b44c1a}.swatch-option:has(input:focus-visible){outline:2px solid var(--lamp);outline-offset:2px}.table-swatch{aspect-ratio:4/3;background:var(--table-ground);border-radius:6px;grid-area:swatch;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #00000040}.table-swatch-felt{aspect-ratio:1;background:conic-gradient(from 45deg, var(--table-felt-side) 0 90deg, var(--table-felt-bottom) 90deg 180deg, var(--table-felt-side) 180deg 270deg, var(--table-felt-top) 270deg 360deg);border:1px solid #c2a45f;border-radius:3px;width:46%;box-shadow:0 2px 6px #0000004d}.swatch-label{font-family:var(--display);color:var(--card);grid-area:label;font-size:1.05rem}.swatch-note{color:var(--ivory-70);grid-area:note;font-size:.8rem}.deck-swatch{background:var(--table-ground);border-radius:6px;grid-area:swatch;justify-content:center;gap:.3rem;padding:.5rem;display:flex;box-shadow:inset 0 0 0 1px #00000040}.deck-swatch-card{aspect-ratio:5/7;min-width:0;color:var(--suit-s);background:#fff;border-radius:3px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:.08em;font-size:1rem;display:flex;box-shadow:0 1px 3px #00000059}.deck-swatch-card.suit-h{color:var(--suit-h)}.deck-swatch-card.suit-d{color:var(--suit-d)}.deck-swatch-card.suit-c{color:var(--suit-c)}.deck-swatch-rank{font-family:"Inter", var(--body);font-variant-numeric:lining-nums tabular-nums;font-weight:700;line-height:1}.hand-preview{background:var(--table-ground);border-radius:6px;grid-area:swatch;justify-content:flex-start;align-items:center;height:4.6rem;padding:0 .5rem;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #00000040}dialog.create-dialog,dialog.feedback-dialog{background:0 0;border:none;padding:0}dialog.create-dialog::backdrop,dialog.feedback-dialog::backdrop{background:#06100cb3}.dialog-actions{gap:.7rem;display:flex}.dialog-actions .btn-primary{flex:1;width:auto}.room-loading{min-height:100vh;font-family:var(--display);color:var(--ivory-70);place-items:center;font-size:1.4rem;display:grid}.table-page{height:calc(100vh - var(--conn-h));background:var(--table-ground);flex-direction:column;display:flex}.table-title-line{align-items:center;gap:.45rem;min-width:0;display:flex}.kibitz-badge{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ivory-70);white-space:nowrap;border:1px solid #faf6ea4d;border-radius:999px;flex:none;padding:.16rem .5rem;font-size:.62rem;font-weight:500}.table-title{font-family:var(--display);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:1.15rem;overflow:hidden}@media (width<=30rem){.table-page .wordmark{display:none}}.action-error,.table-banner{text-align:center;padding:.5rem 1rem;font-size:.92rem}.action-error{color:var(--card);background:#c0322f40}.table-banner{color:var(--card);background:#e9b44c2e}.review-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:.3rem .55rem;padding:.35rem .75rem;display:flex}.review-bar-title{font-family:var(--display);margin-right:.35rem;font-weight:600}.review-bar .btn{padding:.2rem .55rem;font-size:.76rem}.review-bar .btn:disabled{opacity:.35;cursor:default}.review-bar-step{align-items:center;gap:.2rem;display:inline-flex}.review-bar-arrow{min-width:2rem}.review-bar-pos{text-align:center;font-variant-numeric:tabular-nums;min-width:5.5rem;color:var(--ivory-70)}.review-bar-group{align-items:center;gap:.2rem;display:inline-flex}.review-bar-jump{font-variant-numeric:tabular-nums}.review-bar-held,.review-bar-note{letter-spacing:.04em;text-transform:uppercase;color:var(--lamp);margin-left:.35rem;font-size:.68rem}.review-bar-note{color:var(--ivory-70)}.review-bar-play.on{border-color:var(--lamp);color:var(--lamp)}.review-bar-exit{border-color:var(--ivory-40);margin-left:.35rem}@media (width<=40rem){.review-bar{gap:.25rem .35rem;padding:.3rem .5rem}.review-bar-title{flex-basis:100%;margin-right:0;font-size:.88rem}.review-bar .btn{padding:.15rem .4rem;font-size:.7rem}.review-bar-pos{min-width:4.5rem}}.table-shell{flex:1;min-height:0;display:flex;position:relative}.side-panel{background:#e9eae4;border-right:1px solid #22261f38;flex-direction:column;flex:none;gap:.6rem;width:clamp(232px,21vw,300px);min-height:0;padding:.7rem;display:flex}.side-scroll{scrollbar-width:thin;flex-direction:column;flex:0 auto;gap:.6rem;min-height:0;display:flex;overflow-y:auto}.side-objects{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:.45rem;display:grid}.side-obj,.board-face{aspect-ratio:1;min-width:0}.board-face{filter:drop-shadow(0 1px 2px #00000038);width:100%;display:block}.board-face-number{font-family:var(--display);fill:var(--ink);font-weight:600}.board-face-dealer{font-family:var(--body);fill:var(--ink);font-size:11px;font-weight:700}.side-tile{background:#fff;border:1px solid #22261f29;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;min-height:0;padding:.3rem;display:flex;box-shadow:0 1px 3px #0000001f;container-type:inline-size}.side-tile-value{width:100%;min-height:0;font-family:var(--display);color:var(--ink);white-space:nowrap;flex:1;justify-content:center;align-items:center;font-weight:600;line-height:.82;display:flex}.side-tile-pill{color:#22261fc7;text-align:center;text-transform:uppercase;letter-spacing:.1em;text-overflow:ellipsis;white-space:nowrap;background:#22261f1a;border-radius:999px;max-width:100%;padding:.14rem .4rem;font-size:.56rem;font-weight:700;overflow:hidden}.side-tile-contract .side-tile-pill{letter-spacing:.02em;align-self:stretch;padding:.08rem .2rem;font-size:24cqw}.side-tile-score{font:inherit;color:var(--ink);cursor:pointer;display:none}.side-tile-score-row{justify-content:space-between;align-items:center;gap:.2rem;width:100%;display:flex}.side-tile-score .side-tile-pill{letter-spacing:.02em;flex:none;padding:.08rem 2cqw;font-size:16cqw}.side-tile-score .side-tile-num{font-size:var(--score-num,24cqw)}.side-tile-tricks{grid-template-columns:max-content auto;place-content:space-between;align-items:center;gap:0 .2rem;display:grid}.side-tile-tricks .side-tile-pill{letter-spacing:.02em;padding:.08rem 2cqw;font-size:24cqw}.side-tile-num{text-align:right;font-family:var(--display);font-weight:600;font-size:var(--tricks-num,50cqw);font-variant-numeric:tabular-nums;color:var(--ink);padding-right:.15ch;line-height:.72}.side-tile-pill.declaring{background:var(--ink);color:var(--card)}.side-strain{font-size:.95em}.side-strain.suit-h,.side-strain.suit-d{color:var(--pip-red)}.side-strain.suit-nt{color:var(--nt-blue)}.side-marks{color:var(--pip-red);vertical-align:.55em;margin-left:1px;font-size:.5em;font-weight:700}.side-auction{flex:0 auto;min-height:6.5rem;max-height:18rem;font-size:.8rem}.side-pad{font:inherit;text-align:inherit;color:var(--ink);background:#fff;border:1px solid #22261f29;border-radius:8px;flex-direction:column;padding:.45rem .8rem .5rem;display:flex;box-shadow:0 1px 3px #0000001f}button.side-pad{cursor:pointer}button.side-pad:hover{transform:translateY(-1px);box-shadow:0 3px 8px #0000002e}.side-pad-title{text-align:center;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);border-bottom:1.5px solid #22261f4d;margin-bottom:4px;padding-bottom:3px;font-size:.72rem}.side-pad-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.side-pad-pair{white-space:nowrap;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);flex:none;font-size:.72rem}.side-pad-val{font-family:var(--mono);font-size:1.15rem}.side-pad-team{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-soft);flex:auto;font-size:.82rem;overflow:hidden}.side-pad-row.team-row{gap:.45rem}.side-prog-label{color:var(--ink-soft);font-size:.8rem}.side-prog-val{font-family:var(--mono);font-size:.9rem}.side-progress .round-clock{color:var(--ink);font-size:.9rem}.side-progress .round-clock.urgent{color:var(--pip-red)}.side-other-call{font-family:var(--display);justify-content:center;align-items:baseline;gap:.3rem;padding-bottom:.15rem;font-size:1.15rem;display:flex}.side-other-declarer{font-family:var(--body);color:var(--ink-soft);font-size:.8rem}.side-other-outcome{font-family:var(--mono);font-size:.95rem}.side-chat{min-height:6rem;color:var(--ink);background:#fff;border:1px solid #22261f29;border-radius:8px;flex-direction:column;flex:1 1 0;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000001f}.side-chat-title{font-family:var(--body);text-align:center;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);border-bottom:1.5px solid #22261f4d;margin:0;padding:.45rem .8rem 3px;font-size:.72rem;font-weight:400}.side-chat .chat-scroll{gap:.3rem;padding:.5rem .7rem}.side-chat .chat-msg{line-height:1.08}.side-chat .chat-empty{color:var(--ink-soft)}.side-chat .chat-from{color:var(--ink)}.side-chat .chat-body{color:var(--ink-soft)}.side-chat .chat-msg-system .chat-from,.side-chat .chat-msg-system .chat-body{color:#22261f80}.side-chat .kibitzer-tag{color:var(--ink);background:#22261f1f}.side-chat .director-tag{background:var(--lamp)}.side-chat .chat-composer,.side-chat .chat-input{border-top-color:#22261f29}.side-chat .chat-input{gap:.35rem;padding:.5rem .6rem}.side-chat .chat-composer .chat-destination{width:calc(100% - 1.2rem);color:var(--ink-soft);background:var(--card-dim);border-color:#22261f38;margin:.45rem .6rem 0}.side-chat .chat-input input{color:var(--ink);background:var(--card-dim);border-color:#22261f38;padding:.25rem .5rem;font-size:.85rem}.side-chat .chat-input input::placeholder{color:var(--ink-soft)}.side-chat .chat-input input:focus,.side-chat .chat-composer .chat-destination:focus{border-color:var(--lamp);box-shadow:inset 0 0 0 1px var(--lamp);outline:none}.side-chat .chat-send{background:var(--ink);color:var(--card)}.side-chat .chat-send:hover:not(:disabled){background:#2f352b}.side-chat .chat-muted{color:var(--ink-soft);font-size:.85rem}.stage-col{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.felt-center-stage{place-items:center;min-width:0;min-height:0;display:grid}.felt-message a,.result-panel a{color:inherit;text-underline-offset:.15em;text-decoration:underline}.felt-message{text-align:center;color:var(--ivory-70)}.felt-message-title{font-family:var(--display);color:var(--card);margin-bottom:.3rem;font-size:1.6rem}@media (width<=40rem){.table-shell{flex-direction:column}.side-panel,.side-scroll{display:contents}.side-objects{background:#e9eae4;border-bottom:1px solid #22261f38;order:-1;grid-template-columns:repeat(4,minmax(0,4.6rem));justify-content:center;padding:.4rem .5rem}.side-tile-score{display:flex}.side-auction{background:#e9eae4;border-bottom:1px solid #22261f38;min-height:0;max-height:6.5rem;padding:.3rem .6rem}.side-pad{display:none}}.hand{justify-content:center;min-height:1rem;display:flex}.hand>.hand-card+.hand-card{margin-left:calc(-1 * var(--hand-overlap,1.6rem))}.hand-card{flex:none;line-height:0;display:inline-block;position:relative}.suit-block{flex-direction:column;align-items:flex-start;display:flex}.suit-block.align-right{align-items:flex-end}.suit-block .suit-row{justify-content:flex-start;min-height:0;position:relative}.suit-block .suit-row+.suit-row{margin-top:calc(-1 * var(--suit-row-overlap,4rem))}.card-face{-webkit-touch-callout:none;height:calc(var(--card-width) * .75);background:#fff;border:none;border-radius:8px;padding:0;line-height:0;display:inline-block;position:relative;overflow:hidden;box-shadow:0 2px 6px #00000059}.card-face.full{height:calc(var(--card-width) * 242.667 / 167.087)}.card-face .card-stock{aspect-ratio:167.087/242.667;background:#fff;border-radius:8px;width:100%;display:block;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #00000080}.card-back{width:var(--card-width);height:calc(var(--card-width) * 242.667 / 167.087);border-radius:calc(var(--card-width) * .08);background:#fff;display:block;position:relative;box-shadow:inset 0 0 0 1px #00000080,0 1px 3px #00000059}.card-back:after{content:"";inset:max(1px, calc(var(--card-width) * .08));border-radius:calc(var(--card-width) * .04);background:repeating-linear-gradient(45deg, transparent 0 calc(var(--card-width) * .09), var(--table-felt-top) calc(var(--card-width) * .09) calc(var(--card-width) * .11)), repeating-linear-gradient(-45deg, transparent 0 calc(var(--card-width) * .09), var(--table-felt-top) calc(var(--card-width) * .09) calc(var(--card-width) * .11)), var(--table-felt-bottom);position:absolute}.card-index{top:calc(var(--card-width) * var(--index-inset-y));left:calc(var(--card-width) * var(--index-inset-x));width:calc(var(--card-width) * var(--index-box));align-items:center;gap:calc(var(--card-width) * var(--index-gap));color:var(--suit-s);flex-direction:column;line-height:0;display:flex;position:absolute}.card-index.rotated{top:auto;left:auto;right:calc(var(--card-width) * var(--index-inset-x));bottom:calc(var(--card-width) * var(--index-inset-y));transform:rotate(180deg)}.card-face.suit-h .card-index{color:var(--suit-h)}.card-face.suit-c .card-index{color:var(--suit-c)}.card-face.suit-d .card-index{color:var(--suit-d)}.card-rank{font-family:"Inter", var(--body);font-weight:700;font-size:calc(var(--card-width) * var(--index-rank-font));font-variant-numeric:lining-nums tabular-nums;height:calc(1em * var(--index-cap-em));margin-top:calc(-1em * var(--index-trim-em));line-height:1;display:block}.card-rank.two-glyph{transform:scaleX(var(--ten-condense))}.card-pip{height:calc(var(--card-width) * var(--index-pip-box) * var(--pip-h));fill:currentColor;width:auto;margin-top:calc(var(--card-width) * (var(--index-pip-box) * var(--pip-offset) + var(--pip-nudge)));display:block}.card-face.clickable{cursor:pointer}.hand-card.playable:hover,.hand-card.playable:focus-within{transform:translateY(-.22rem)}.hand-card.playable:hover .card-face,.hand-card.playable:focus-within .card-face{box-shadow:0 .35rem .7rem #00000052}.card-face:disabled{cursor:default}.name-plate{width:var(--bar-w,240px);height:var(--bar-h,30px);color:var(--ink);font-size:max(12px, calc(var(--bar-h,30px) * .47));box-sizing:border-box;background:#dcd6c4;border:1px solid #22261f4d;border-radius:0;align-items:stretch;line-height:1;display:flex;position:relative}.name-plate.seat-occupied{box-shadow:0 2px 6px #0000004d}.name-plate.seat-empty{background:#c9c4b4;border-style:dashed;border-color:#22261f59}.name-plate.seat-reserved{border-style:dashed;border-color:#b4821ebf}.plate-identity,.plate-actions{align-items:center;gap:.45rem;display:flex}.plate-identity{flex:auto;min-width:0;padding-left:.5rem;overflow:hidden}.plate-actions{flex:none;padding:0 .45rem}.plate-actions:empty{display:none}.name-plate.vul .seat-letter{color:#fff;background:#c0322f}.name-plate.turn{background:var(--lamp);box-shadow:0 0 18px #e9b44c8c}.seat-letter,.plate-reserved,.plate-captain{width:calc(var(--bar-h,30px) - 2px);color:var(--ink);background:#b5ae99;border-right:1px solid #22261f4d;flex:none;place-items:center;display:inline-grid}.seat-letter,.plate-reserved{font-family:var(--mono);font-size:max(15px, calc(var(--bar-h,30px) * .66));font-weight:700;line-height:1}.seat-letter-glyph{display:block}.plate-captain{color:#9c7a1f}.plate-captain .captain-mark{width:calc(var(--bar-h,30px) * .56);height:calc(var(--bar-h,30px) * .56);vertical-align:baseline}.plate-name{flex:0 auto;align-items:center;gap:.34em;min-width:0;display:flex;overflow:hidden}.plate-username{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.name-plate .plate-name{font-weight:700;font-size:max(16px, calc(var(--bar-h,30px) * .72));line-height:1.2}.name-plate .away-tag{font-size:max(10px, calc(var(--bar-h,30px) * .4));letter-spacing:.02em;border-radius:.32em;flex:none;padding:.1em .42em}.vacant-name{opacity:.6;font-weight:400}.sit-here{font:inherit;color:var(--ink);cursor:pointer;background:#b5ae99;border:1px solid #22261f4d;border-radius:2px;padding:.15rem .7rem;font-weight:700}.sit-here:hover{background:#a69f89}.name-plate.menu-open{z-index:50;position:relative}.seat-fill-menu{min-width:0;max-width:100%;display:inline-flex;position:relative}.seat-fill-trigger{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.seat-fill-trigger:hover,.seat-fill-trigger[aria-expanded=true]{opacity:1}button.plate-name.seat-fill-trigger{border-radius:8px;margin:-.14rem -.4rem;padding:.14rem .4rem}button.plate-name.seat-fill-trigger:hover,button.plate-name.seat-fill-trigger[aria-expanded=true]{background:#22261f1f}.seat-fill-popover,.seat-fill-submenu{width:max-content;min-width:10rem;max-width:15rem;font-family:var(--body);writing-mode:horizontal-tb;text-orientation:mixed;color:var(--ink);background:var(--card);border:1px solid #22261f47;border-radius:8px;flex-direction:column;padding:.25rem;font-size:.9rem;line-height:1.2;display:flex;position:absolute;box-shadow:0 10px 28px #00000061}.name-plate.rail-top .seat-fill-popover{top:calc(100% + .45rem);left:50%;transform:translate(-50%)}.name-plate.rail-bottom .seat-fill-popover{bottom:calc(100% + .45rem);left:50%;transform:translate(-50%)}.name-plate.rail-left .seat-fill-popover{top:50%;left:calc(100% + .45rem);transform:translateY(-50%)}.name-plate.rail-right .seat-fill-popover{top:50%;right:calc(100% + .45rem);transform:translateY(-50%)}.seat-area.left.bare .name-plate.rail-left .seat-fill-popover{transform-origin:0 0;top:calc(100% + .45rem);left:100%;right:auto;transform:rotate(90deg)}.seat-area.right.bare .name-plate.rail-right .seat-fill-popover{transform-origin:0 0;top:calc(100% + .45rem);left:0;right:auto;transform:rotate(-90deg)translate(-100%)}.seat-fill-bot-row,.seat-fill-players-row,.seat-fill-friend-row{position:relative}.seat-fill-menu-item{width:100%;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:space-between;align-items:center;padding:.45rem .55rem;display:flex}.seat-fill-menu-item:hover,.seat-fill-menu-item:focus-visible,.seat-fill-menu-item[aria-expanded=true]{background:#22261f1a}.seat-fill-menu-item:disabled{color:var(--ink-soft);cursor:default}.seat-fill-menu-item:disabled:hover{background:0 0}.seat-fill-submenu{top:0;left:calc(100% + .3rem)}.name-plate.rail-right .seat-fill-submenu{left:auto;right:calc(100% + .3rem)}.seat-fill-players{max-height:12rem;overflow-y:auto}.seat-fill-empty{color:var(--ink-soft);white-space:nowrap;padding:.45rem .55rem;font-size:.8rem}.seat-fill-player{gap:.5rem}.seat-fill-player.offline .seat-fill-player-name{opacity:.55}.seat-fill-player-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.seat-fill-player-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);flex:none;font-size:.66rem}.friend-star{color:var(--gold,#c9a648);margin-left:.3rem}.remove-bot{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-weight:700;line-height:1}.remove-bot:hover{color:var(--ink)}.trick-area{pointer-events:none;will-change:transform;position:absolute;inset:0}.trick-area.last-trick{opacity:.55}.trick-card{line-height:0;position:absolute;top:round(50%,1px);left:round(50%,1px)}.trick-card .card-face{box-shadow:0 3px 10px #00000059}.trick-card.from-bottom{transform:translate(round(-50%,1px),round(-23%,1px))}.trick-card.from-top{transform:translate(round(-50%,1px),round(-77%,1px))}.trick-card.from-left{transform:translate(round(-100%,1px),round(-50%,1px))}.trick-card.from-right{transform:translateY(round(-50%,1px))}.hand-diagram{gap:calc(var(--card-width) * .14);font-family:var(--mono);font-size:calc(var(--card-width) * .34);background:var(--card);border-radius:calc(var(--card-width) * .06);padding:calc(var(--card-width) * .1) calc(var(--card-width) * .16);line-height:1.25;display:flex;box-shadow:0 2px 6px #00000059}.hand-diagram.row{flex-direction:row;align-items:baseline}.hand-diagram.block{flex-direction:column;align-items:flex-start}.hd-suit{align-items:center;gap:calc(var(--card-width) * .05);white-space:nowrap;color:var(--suit-s);display:inline-flex}.hd-suit.suit-h{color:var(--suit-h)}.hd-suit.suit-d{color:var(--suit-d)}.hd-suit.suit-c{color:var(--suit-c)}.hd-ranks{color:var(--ink);letter-spacing:.04em;align-items:baseline;display:inline-flex}.hd-rank{font:inherit;color:inherit;background:0 0;border:none;margin:0;padding:0}.hd-rank.playable{cursor:pointer;border-radius:calc(var(--card-width) * .04);transition:background 70ms,transform 70ms}.hd-rank.playable:hover,.hd-rank.playable:focus-visible{background:var(--lamp);color:var(--pip-black);transform:translateY(-2px)}.suit-pip{vertical-align:-.1em;width:1em;height:1em;line-height:0;display:inline-block}.suit-pip svg{height:calc(1em * var(--pip-h,1));width:calc(1em * var(--pip-h,1) * var(--pip-ar,1));margin:calc(1em * var(--pip-offset,0)) auto 0;fill:currentColor;display:block}.auction-table{border-collapse:collapse;background:#10251c8c;border-radius:10px;font-size:.92rem;overflow:hidden}.auction-table th{font-family:var(--mono);color:var(--ivory-70);text-align:center;padding:.35rem 1.1rem .2rem;font-size:.72rem;font-weight:500}.auction-table th.vul{color:#fff;background:#c0322f}.auction-table td{text-align:center;min-width:3.2rem;padding:.22rem 1.1rem}.auction-table .dealer-mark{width:1.15em;height:1.15em;margin:0 auto;display:block}.auction-table .dealer-mark circle{fill:#fff;stroke:var(--ink);stroke-width:1.3px}.auction-table .dealer-mark text{font-family:var(--body);fill:var(--ink);font-size:13px;font-weight:700}.call-label{white-space:nowrap;font-weight:700}.call-nt{letter-spacing:-.01em;font-size:.86em}.call-label.strain-h,.call-label.strain-d{color:#ff8a84}.call-label.strain-s,.call-label.strain-c{color:var(--card)}.call-label.strain-nt{color:#9cc4ea}.call-label.pass{color:#8fd4a8;font-weight:400}.call-label.double{color:#ff8a84}.call-label.redouble{color:#9cc4ea}.alert-mark{color:var(--lamp);margin-left:.1rem;font-weight:700}.auction-pad{color:var(--ink);scrollbar-width:thin;background:#fff;border:1px solid #22261f4d;overflow-y:auto;box-shadow:0 2px 6px #0000004d}.auction-pad .auction-table{table-layout:fixed;width:100%;font-size:inherit;background:0 0;border-radius:0}.auction-pad .auction-table th{z-index:1;color:var(--ink);background:#fff;border-bottom:1.5px solid #22261f52;border-right:1px solid #22261f38;padding:.2rem .15rem;font-size:.85em;font-weight:700;position:sticky;top:0}.auction-pad .auction-table th:last-child{border-right:none}.auction-pad .auction-table th.vul{color:#fff;background:#c0322f}.auction-pad .auction-table td{border-top:1px solid #22261f29;border-right:1px solid #22261f1a;min-width:0;height:1.6em;padding:.15rem}.auction-pad .auction-table td:last-child{border-right:none}.auction-pad .call-label.strain-c{color:var(--suit-c)}.auction-pad .call-label.strain-d{color:var(--suit-d)}.auction-pad .call-label.strain-h{color:var(--suit-h)}.auction-pad .call-label.strain-s{color:var(--suit-s)}.auction-pad .call-label.strain-nt{color:var(--nt-blue)}.auction-pad .call-label.pass{color:#2c7a4b;font-weight:700}.auction-pad .call-label.double{color:var(--pip-red)}.auction-pad .call-label.redouble{color:var(--nt-blue)}.auction-pad .alerted-call{text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.auction-pad .alert-mark{color:var(--pip-red);font-size:1.1em;line-height:0}.bc-pass{--bc-bg:#4f9d45;--bc-ink:#f4f8ec}.bc-x{--bc-bg:#7c2a20;--bc-ink:#d96a55}.bc-xx{--bc-bg:var(--nt-blue);--bc-ink:#9cc7e9}.result-panel{text-align:center;background:var(--table-box);border:1px solid #00000073;border-radius:14px;padding:1.6rem 2.2rem;position:relative;box-shadow:0 8px 22px #0006}.result-close{color:var(--ivory-70);font:inherit;cursor:pointer;background:0 0;border:none;padding:.15rem .45rem;font-size:1.15rem;line-height:1;position:absolute;top:.35rem;right:.45rem}.result-close:hover{color:var(--card)}.result-headline{font-family:var(--display);margin-bottom:.4rem;font-size:1.9rem}.result-score{font-family:var(--mono);color:var(--lamp);margin-bottom:.6rem;font-size:1rem}.result-detail{color:var(--ivory-70);font-size:.9rem}.result-field{color:var(--ivory-70);justify-content:center;align-items:center;gap:.5rem;margin-bottom:.6rem;font-size:.9rem;display:flex}.btn-refresh{padding:0 .45rem;font-size:.95rem;line-height:1.5}.drawer-dock{background:#0a181273;border-left:1px solid #faf6ea24;flex-direction:column;min-height:0;display:flex}.drawer-dock.pinned{flex:0 0 clamp(16rem,24vw,22rem);width:clamp(16rem,24vw,22rem)}.drawer-dock.overlay{z-index:80;background:#0a1812f5;width:min(24rem,92vw);position:absolute;inset:0 0 0 auto;box-shadow:-18px 0 40px #00000073}.drawer-handle{width:30px;height:9.5rem;color:var(--ivory-70);cursor:pointer;z-index:80;background:#0a1812b8;border:1px solid #faf6ea2e;border-right:none;border-radius:8px 0 0 8px;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;padding:.8rem 0;transition:height .14s,background-color .14s,color .14s,border-color .14s;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.drawer-handle:hover,.drawer-handle:focus-visible{height:100%;color:var(--card);background:#0a1812;border-color:#faf6ea52}@media (width<=40rem){.drawer-handle{top:auto;bottom:64px;transform:none}}.drawer-handle-mark{flex-direction:column;align-items:center;gap:.5rem;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.drawer-handle-arrow{font-size:1.5rem;font-weight:700;line-height:.7}.drawer-handle-label{writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--display);letter-spacing:.04em;font-size:.78rem;font-weight:600}.dock-bar{border-bottom:1px solid #faf6ea24;justify-content:flex-end;gap:.3rem;padding:.25rem .5rem;display:flex}.dock-bar-btn{font:inherit;color:var(--ivory-70);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.15rem .35rem;font-size:.75rem}.dock-bar-btn:hover{color:var(--card);background:#faf6ea1f}.dock-objects{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.dock-object{border-bottom:1px solid #faf6ea1a;flex-direction:column;flex:none;display:flex}.dock-object.grow{flex:1;min-height:12rem}.dock-object-header{background:#0a1812d1;border-bottom:1px solid #faf6ea24;flex:none;justify-content:space-between;align-items:center;min-height:2rem;padding:.35rem .8rem;display:flex}.dock-min-toggle{font-family:var(--display);color:var(--card);cursor:pointer;background:0 0;border:0;align-items:center;gap:.45rem;padding:0;font-size:.9rem;font-weight:600;line-height:1;display:flex}.dock-badge{font-family:var(--mono);color:var(--ink);background:var(--lamp);border-radius:99px;padding:.1rem .4rem;font-size:.68rem}.dock-object-body{flex-direction:column;flex:1;min-height:0;display:flex}.friends-dock{padding:.35rem .8rem .55rem;font-size:.85rem}.friends-dock .btn{padding:.2rem .55rem;font-size:.72rem}.friends-request{border-bottom:1px solid #faf6ea1a;margin-bottom:.3rem;padding:.25rem 0 .45rem}.friends-request-actions{gap:.4rem;margin-top:.35rem;display:flex}.friends-scroll{max-height:12rem;overflow-y:auto}.friends-muted,.friends-empty{color:var(--ivory-40);font-size:.8rem}.friends-empty{padding:.3rem 0 .25rem}.player-dock,.player-empty{padding:.35rem .8rem .55rem;font-size:.85rem}.player-empty{color:var(--ivory-40);font-size:.8rem}.player-head{align-items:center;gap:.6rem;padding:.15rem 0 .35rem;display:flex}.player-username{font-size:.95rem;font-weight:700}.player-bot-tag{color:var(--ivory-40);vertical-align:1px;border:1px solid #faf6ea40;border-radius:3px;margin-left:.4rem;padding:0 .3rem;font-size:.68rem;font-weight:400}.player-real-name{color:var(--ivory-70);font-size:.8rem}.player-loading,.player-error{color:var(--ivory-40);padding:.2rem 0;font-size:.8rem}.player-body{max-height:14rem;overflow-y:auto}.player-fact{padding:.12rem 0}.player-fact-label{color:var(--ivory-40);text-transform:uppercase;letter-spacing:.04em;margin-right:.35rem;font-size:.72rem}.player-bio{color:var(--ivory-70);white-space:pre-wrap;margin:.35rem 0}.player-cards{border-top:1px solid #faf6ea1a;margin-top:.35rem;padding-top:.3rem}.player-card summary{cursor:pointer;padding:.15rem 0;font-weight:600}.player-card-active{color:#d8b95c;border:1px solid #d8b95c80;border-radius:3px;margin-left:.4rem;padding:0 .3rem;font-size:.68rem;font-weight:400}.player-card-with{color:var(--ivory-40);margin-left:.4rem;font-size:.72rem;font-weight:400}.player-card p{color:var(--ivory-70);white-space:pre-wrap;margin:.15rem 0 .4rem}.profile-avatar{object-fit:cover;border:1px solid #faf6ea40;border-radius:50%;flex:none;width:44px;height:44px}.profile-avatar-empty{color:var(--ivory-70);background:#faf6ea1f;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:inline-flex}.plate-name-link,.people-name-link{font:inherit;color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:none;padding:0}.plate-name-link:hover,.people-name-link:hover{text-decoration:underline}.chat-panel-body{flex-direction:column;flex:1;min-height:0;display:flex}.chat-scroll{flex-direction:column;flex:1;gap:.45rem;min-height:0;padding:.9rem;display:flex;overflow-y:auto}.chat-empty{color:var(--ivory-40);font-size:.85rem}.chat-msg{font-size:.9rem;line-height:1.35}.chat-from{margin-right:.4rem;font-weight:700}.kibitzer-tag{font-family:var(--mono);color:var(--ink);background:var(--ivory-70);vertical-align:middle;border-radius:4px;margin-left:.3rem;padding:.05rem .3rem;font-size:.62rem}.director-tag{background:var(--lamp)}.chat-body{color:var(--ivory-70)}.chat-msg-system{font-style:italic}.chat-msg-system .chat-from,.chat-msg-system .chat-body{color:var(--ivory-40)}.chat-input{border-top:1px solid #faf6ea24;gap:.4rem;padding:.7rem;display:flex}.chat-composer{border-top:1px solid #faf6ea24}.chat-composer .chat-destination{width:calc(100% - 1.4rem);font:inherit;color:var(--ivory-70);background:#faf6ea0f;border:1px solid #faf6ea33;border-radius:8px;margin:.6rem .7rem 0;padding:.3rem .5rem;font-size:.8rem;display:block}.chat-composer .chat-input{border-top:none;padding-top:.5rem}.check-row select{font:inherit;color:var(--ink);background:var(--card-dim);border:1px solid var(--line);border-radius:8px;margin-left:.4rem;padding:.3rem .5rem;font-size:.9rem}.chat-input input{font:inherit;color:var(--card);background:#faf6ea1a;border:1px solid #faf6ea33;border-radius:8px;flex:1;min-width:0;padding:.5rem .65rem;font-size:.9rem}.chat-input input::placeholder{color:var(--ivory-40)}.chat-send{background:var(--card);width:28px;height:28px;color:var(--ink);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;padding:0;transition:transform 80ms,background-color 80ms;display:grid}.chat-send-mark{width:16px;height:16px}.chat-send:hover:not(:disabled){background:#fffdf6;transform:translateY(-1px)}.chat-send:disabled{opacity:.45;cursor:default}.results-empty{color:var(--ivory-40);padding:.7rem .8rem;font-size:.8rem}.results-dock{flex-direction:column;min-height:0;display:flex}.results-scroll{min-height:0;max-height:15rem;overflow-y:auto}.results-dock-table thead th{z-index:1;background:#101e17f2;position:sticky;top:0}.results-tabs{border-bottom:1px solid #faf6ea1a;gap:.2rem;padding:.4rem .5rem 0;display:flex}.results-tabs button{appearance:none;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ivory-40);cursor:pointer;background:0 0;border:none;border-radius:6px 6px 0 0;padding:.28rem .6rem;font-size:.65rem;font-weight:500}.results-tabs button:hover{color:var(--ivory-70)}.results-tabs button.active{color:var(--card);box-shadow:inset 0 -2px 0 var(--lamp);background:#faf6ea14}.results-dock-table{border-collapse:collapse;width:100%;font-size:.78rem}.results-dock-table th{font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--ivory-40);text-align:left;padding:.45rem .5rem .3rem;font-size:.62rem;font-weight:500}.results-dock-table td{color:var(--ivory-70);border-top:1px solid #faf6ea14;padding:.32rem .5rem}.results-dock-table tbody tr{cursor:pointer}.results-dock-table tbody tr:hover{background:#faf6ea0f}.results-dock-table tbody tr.selected{box-shadow:inset 2px 0 0 var(--lamp);background:#e9b44c24}.results-dock-table .rd-num{font-family:var(--mono);color:var(--ivory-40);width:2rem}.results-dock-table .rd-score,.results-dock-table .rd-field{font-family:var(--mono);text-align:right;white-space:nowrap}.rd-result{white-space:nowrap;align-items:baseline;gap:.28rem;display:inline-flex}.rd-strain{color:var(--card);font-weight:700}.results-dock-table .strain-h,.results-dock-table .strain-d,.replay-panel .strain-h,.replay-panel .strain-d{color:#ff8a84}.results-dock-table .strain-nt,.replay-panel .strain-nt{color:#9cc4ea}.rd-doubles{color:var(--pip-red);font-weight:700}.rd-declarer{font-family:var(--mono);color:var(--ivory-40);font-size:.68rem}.rd-outcome{font-family:var(--mono);color:#8fd4a8}.rd-outcome.score-neg{color:#ff8a84}.rd-passout{color:var(--ivory-40);font-style:italic}.results-dock-totals{font-family:var(--mono);color:var(--ivory-70);border-top:1px solid #faf6ea1f;padding:.45rem .6rem;font-size:.68rem}.results-dock-table tr.rd-yours .rd-by{color:var(--card);font-weight:600}.rd-caption{font-family:var(--mono);color:var(--ivory-40);padding:.4rem .55rem .1rem;font-size:.65rem}.results-dock-table .rd-by{text-overflow:ellipsis;white-space:nowrap;max-width:6.5rem;overflow:hidden}.results-dock-table .rd-when{white-space:nowrap;font-variant-numeric:tabular-nums}.results-dock-table .rd-where{color:var(--ivory-40);white-space:nowrap;text-overflow:ellipsis;max-width:11rem;font-size:.7rem;overflow:hidden}.results-dock-table .rd-note{font-style:italic}.results-dock-table .rd-kind{color:var(--ivory-70)}.replay-panel{flex-direction:column;gap:.55rem;max-height:min(34rem,60vh);padding:.6rem .65rem;display:flex;overflow-y:auto}.rp-head{color:var(--ivory-70);align-items:baseline;gap:.5rem;font-size:.82rem;display:flex}.rp-board{font-family:var(--display);color:var(--card);font-weight:600}.rp-headline{align-items:baseline;gap:.25rem;display:inline-flex}.rp-score{font-family:var(--mono);margin-left:auto;font-size:.75rem}.score-pos{color:#8fd4a8}.score-neg{color:#ff8a84}.rp-grid{grid-template-columns:minmax(0,1fr) max-content minmax(0,1fr);grid-template-areas:"corner top.""left well right"".bottom.";align-items:center;gap:.35rem .45rem;display:grid}.rp-corner{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ivory-40);flex-direction:column;grid-area:corner;place-self:start;gap:2px;font-size:.68rem;display:flex}.rp-corner-line.vul{color:var(--pip-red)}.rp-hand.pos-top{grid-area:top;justify-self:start}.rp-hand.pos-bottom{grid-area:bottom;justify-self:start}.rp-hand.pos-left{grid-area:left}.rp-hand.pos-right{grid-area:right}.rp-hand{min-width:0;font-size:.74rem}.rp-seat-line{align-items:center;gap:.3rem;min-width:0;margin-bottom:.15rem;display:flex}.rp-seat-tag{width:1.1rem;height:1.1rem;color:var(--card);font-family:var(--mono);background:#faf6ea24;border-radius:4px;flex:none;place-items:center;font-size:.62rem;font-weight:700;display:grid}.rp-seat-tag.to-act{background:var(--lamp);color:var(--ink)}.rp-username{color:var(--ivory-40);text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;overflow:hidden}.rp-suit-line{align-items:baseline;gap:.3rem;display:flex}.rp-suit{text-align:center;flex:0 0 .9rem}.rp-ranks{font-family:var(--mono);color:var(--card);flex-wrap:wrap;column-gap:.22rem;display:flex}.rp-hand.pos-top .rp-ranks,.rp-hand.pos-bottom .rp-ranks{flex-wrap:nowrap}.rp-void{color:var(--ivory-40)}.rp-rank.played{opacity:.25}.rp-well{background:#10251c8c;border-radius:10px;grid-area:well;align-self:center;width:7rem;height:7rem;position:relative;box-shadow:inset 0 0 0 1px #faf6ea14}.rp-well-card{border-radius:7px;width:38px;height:52px;position:absolute;overflow:hidden}.rp-well-card.at-top{top:.3rem;left:50%;transform:translate(-50%)}.rp-well-card.at-bottom{bottom:.3rem;left:50%;transform:translate(-50%)}.rp-well-card.at-left{top:50%;left:.3rem;transform:translateY(-50%)}.rp-well-card.at-right{top:50%;right:.3rem;transform:translateY(-50%)}.rp-well-note{text-align:center;color:var(--ivory-40);place-items:center;padding:.4rem;font-size:.68rem;font-style:italic;display:grid;position:absolute;inset:0}.rp-controls{justify-content:center;align-items:center;gap:.3rem;display:flex}.rp-controls .rp-step{padding:.22rem .5rem;font-size:.72rem}.rp-position{min-width:5.2rem;font-family:var(--mono);color:var(--ivory-70);flex-direction:column;align-items:center;font-size:.68rem;display:flex}.rp-tally{color:var(--ivory-40);font-size:.62rem}.rp-auction .auction-table{width:100%}.rp-review{border-top:1px solid var(--ivory-15);color:var(--ivory-70);flex-wrap:wrap;align-items:center;gap:.35rem .7rem;padding-top:.45rem;font-size:.78rem;display:flex}.rp-review-btn{padding:.22rem .55rem;font-size:.74rem}.rp-review-btn.on{border-color:var(--lamp);color:var(--lamp)}.rp-review-hint{color:var(--ivory-40);font-size:.76rem}.rp-review-note{color:var(--pip-red);flex-basis:100%}.review-object{flex-direction:column;gap:.45rem;display:flex}.review-attempt-actions .btn{padding:.22rem .55rem;font-size:.74rem}.result-review{flex-direction:column;align-items:center;gap:.4rem;display:flex}.rp-export,.rg-export{font:inherit;font-family:var(--mono);letter-spacing:.06em;border:1px solid var(--ivory-15);color:var(--ivory-70);cursor:pointer;background:0 0;border-radius:4px;padding:.1rem .4rem;font-size:.66rem}.rp-head .rp-export{margin-left:.35rem}.rp-export:hover,.rg-export:hover{color:var(--card);border-color:var(--ivory-40)}.rg-export-line{justify-content:flex-end;padding:.3rem .6rem 0;display:flex}.results-tabs .results-tabs-export{align-self:center;margin-left:auto}.banner-actions{vertical-align:middle;gap:.4rem;margin-left:.9rem;display:inline-flex}.banner-actions .btn{padding:.25rem .8rem;font-size:.85rem}.away-tag{font-family:var(--mono);color:#fffdf6;background:var(--pip-red);vertical-align:middle;border-radius:4px;margin-left:.4rem;padding:.05rem .35rem;font-size:.62rem}.results-table{border-collapse:collapse;background:#10251c8c;border-radius:12px;width:100%;overflow:hidden}.results-table th{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ivory-70);text-align:left;padding:.7rem 1rem .5rem;font-size:.72rem;font-weight:500}.results-table td{border-top:1px solid #faf6ea14;padding:.55rem 1rem;font-size:.95rem}.results-table .score-pos{color:#8fd4a8;font-family:var(--mono)}.results-table .score-neg{color:#ff8a84;font-family:var(--mono)}.results-table .strain-h,.results-table .strain-d{color:#ff8a84}.results-table .strain-s,.results-table .strain-c,.results-table .strain-nt{color:#9cc4ea}.results-mode-picker{flex:none;gap:.35rem;display:flex}.results-mode-picker button{appearance:none;font-family:var(--mono);letter-spacing:.04em;color:var(--ivory-70);cursor:pointer;background:0 0;border:1px solid #faf6ea29;border-radius:999px;padding:.3rem .85rem;font-size:.75rem}.results-mode-picker button:hover{color:var(--card);border-color:#faf6ea52}.results-mode-picker button.active{color:var(--card);background:#faf6ea1a;border-color:#0000}.results-groups{flex-direction:column;gap:.75rem;display:flex}.results-more{justify-content:center;margin-top:1.1rem;display:flex}.results-more button{appearance:none;font-family:var(--mono);color:var(--ivory-70);cursor:pointer;background:0 0;border:1px solid #faf6ea29;border-radius:999px;padding:.45rem 1.3rem;font-size:.78rem}.results-more button:hover:not(:disabled){color:var(--card);border-color:#faf6ea52}.results-more button:disabled{opacity:.55;cursor:default}.rg-group{background:#10251c8c;border-radius:12px;overflow:hidden}.rg-header{appearance:none;width:100%;color:var(--ivory-70);text-align:left;cursor:pointer;background:0 0;border:none;align-items:baseline;gap:.55rem;padding:.85rem 1rem;font-size:.95rem;display:flex}.rg-header:hover{background:#faf6ea0d}.rg-header[aria-expanded=true]{color:var(--card)}.rg-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.rg-meta{font-family:var(--mono);color:var(--ivory-40);flex:none;margin-left:auto;font-size:.75rem}.rg-group .results-table{background:0 0;border-radius:0}.match-scorecard td{font-family:var(--mono);font-size:.9rem}.results-count{appearance:none;font:inherit;color:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.results-count:hover,.results-count[aria-expanded=true]{color:var(--lamp)}.traveller-drawer>td{background:#0a181280;padding:.5rem 1rem .9rem 2.5rem}.replay-drawer>td{background:#0a1812b8;padding:.6rem 1rem 1rem 2.5rem}.replay-drawer .replay-panel{max-width:40rem;margin:0 auto}.replay-drawer .rp-hand.pos-left .rp-ranks,.replay-drawer .rp-hand.pos-right .rp-ranks{flex-wrap:nowrap}.replay-drawer .rp-auction .auction-table{max-width:26rem;margin:0 auto}.replay-drawer .rp-auction .auction-table th,.replay-drawer .rp-auction .auction-table td{text-align:center;padding-left:.3rem;padding-right:.3rem}.replay-drawer .rp-hand.pos-left{justify-self:end}@media (width<=40rem){.results-table .cell-when,.results-table .cell-scoring{display:none}.rg-group{overflow-x:auto}.results-table th,.results-table td{padding-left:.45rem;padding-right:.45rem}.results-table td{font-size:.88rem}.results-table th:first-child,.results-table td:first-child{padding-left:.7rem}.replay-drawer>td{padding:.5rem .35rem .9rem}.replay-drawer .replay-panel{max-width:none;margin:0;padding-left:0;padding-right:0}.replay-drawer .rp-hand.pos-left .rp-ranks,.replay-drawer .rp-hand.pos-right .rp-ranks{flex-wrap:wrap}.replay-drawer .rp-auction .auction-table{max-width:none;margin:0}.traveller-drawer>td{padding-left:.35rem;padding-right:.35rem}}.results-table tbody tr{cursor:pointer}.results-table tbody tr:hover>td{background:#faf6ea0a}.results-table td.cell-action{padding:0}.results-table td.cell-action .results-count{text-align:left;border-radius:4px;width:100%;padding:.55rem 1rem;display:block}.results-table td.cell-action:hover .results-count,.results-table td.cell-action .results-count[aria-expanded=true]{color:var(--card);background:#faf6ea1f}.results-table tbody tr.replaying>td{background:#faf6ea12}.rg-date{font-family:var(--mono);color:var(--ivory-40);font-size:.75rem}.traveller-table tbody tr{cursor:pointer}.traveller-table tbody tr:hover{background:#faf6ea0f}.traveller-table tbody tr.replaying>td{background:#faf6ea17}.traveller-note{color:var(--ivory-40);font-size:.85rem}.traveller-table{border-collapse:collapse;min-width:60%;font-size:.85rem}.traveller-table th{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ivory-40);text-align:left;padding:.35rem 1.4rem .25rem 0;font-size:.65rem;font-weight:500}.traveller-table td{border-top:1px solid #faf6ea0f;padding:.3rem 1.4rem .3rem 0;font-size:.85rem}.traveller-table tbody tr.selected td{background:#e9b44c24}.traveller-table .tv-by{text-overflow:ellipsis;white-space:nowrap;max-width:11rem;overflow:hidden}.traveller-table .tv-val{font-family:var(--mono);text-align:right}.review-intro{color:var(--ivory-70);max-width:60ch;margin:0 0 1rem}.review-entries{flex-direction:column;gap:.8rem;display:flex}.review-entry{border:1px solid var(--ivory-15);border-radius:10px;padding:.6rem .8rem}.review-entry-head{cursor:pointer;border-radius:6px;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;font-size:.9rem;display:flex}.review-entry-head:hover,.review-entry-head:focus-visible{background:#faf6ea0f;outline:none}.review-entry-board{font-family:var(--display);color:var(--card);font-weight:600}.review-entry-where{color:var(--ivory-70)}.review-entry-score{font-family:var(--mono)}.review-entry-toggle{color:var(--ivory-70);white-space:nowrap;margin-left:auto}.rp-bookmark{font:inherit;color:var(--ivory-40);cursor:pointer;background:0 0;border:0;padding:0 .2rem;font-size:1rem;line-height:1}.rp-bookmark.on{color:var(--lamp)}.rp-head .rp-bookmark{margin-left:.4rem}.review-note{align-items:flex-start;gap:.5rem;margin-top:.5rem;display:flex}.review-note textarea{font:inherit;border:1px solid var(--ivory-15);color:inherit;resize:vertical;background:0 0;border-radius:6px;flex:1;padding:.35rem .5rem;font-size:.85rem}.review-hand{margin-top:.6rem}.review-hand .rp-hand.pos-left .rp-ranks,.review-hand .rp-hand.pos-right .rp-ranks{flex-wrap:nowrap}.review-hand .rp-hand.pos-left{justify-self:end}.review-hand .rp-auction .auction-table{max-width:26rem;margin:0 auto}.review-hand .rp-auction .auction-table th,.review-hand .rp-auction .auction-table td{text-align:center;padding-left:.3rem;padding-right:.3rem}.review-hint{color:var(--ivory-70);margin:.4rem 0 0;font-size:.85rem}.library-head{margin-bottom:1rem}.library-head h1{font-family:var(--display);margin:0 0 .25rem;font-size:1.8rem}.library-lede{color:var(--ink-soft);max-width:60ch;margin:0 0 .75rem}.library-search{gap:.5rem;max-width:34rem;display:flex}.library-search input{flex:1;min-width:0}.library-error{color:var(--pip-red);margin:.5rem 0}.library-table .lib-num,.library-table .lib-date{text-align:right;white-space:nowrap;font-family:var(--mono)}.library-table .lib-play{text-align:right;width:1%}.library-table button.lib-name-btn,.library-table button.lib-name-btn:hover{box-shadow:none;font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:0;padding:0}.library-table button.lib-name-btn:hover{text-decoration:underline}.lib-name .entry-tag{margin-left:.5rem}.lib-boards{padding:.25rem 0 .5rem}.lib-meta{color:var(--ink-soft);margin-bottom:.5rem}.lib-board-list{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.lib-board{border:1px solid var(--line);font-family:var(--mono);border-radius:.4rem;align-items:baseline;gap:.3rem;padding:.15rem .5rem;font-size:.9rem;display:inline-flex}.lib-board.played{border-color:var(--lamp)}.lib-board-results{color:var(--ink-soft);font-size:.8rem}.lib-board-tick{color:var(--lamp)}.rd-sub,.tv-sub{color:var(--ink-soft);font-size:.75rem;line-height:1.2}.challenge-cards{grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:1rem;display:grid}.challenge-card{border:1px solid var(--line);border-radius:.6rem;flex-direction:column;gap:.6rem;padding:1rem 1.1rem;display:flex}.challenge-card h2{font-family:var(--display);margin:0;font-size:1.25rem}.challenge-card p{color:var(--ink-soft);margin:0}.challenge-card .btn{align-self:flex-start;text-decoration:none}.challenge-tally{color:var(--ink-soft);flex-wrap:wrap;gap:.3rem 1rem;margin:0;font-size:.9rem;display:flex}.challenge-tally b{font-family:var(--mono);font-weight:700}.lead-page .library-head{flex-wrap:wrap;align-items:baseline;gap:.5rem 1.5rem;display:flex}.lead-stage{grid-template-columns:minmax(12rem,16rem) minmax(0,1fr);grid-template-areas:"board auction""hand hand";align-items:start;gap:1rem 1.5rem;margin-bottom:1.25rem;display:grid}.lead-board{grid-area:board}.lead-board h2{font-family:var(--display);margin:0 0 .2rem;font-size:1.4rem}.lead-conditions,.lead-label{color:var(--ink-soft);margin:0}.lead-contract{margin:.35rem 0;font-size:1.15rem}.lead-auction{grid-area:auction}.lead-auction .auction-table{max-width:26rem}.lead-auction .auction-table th,.lead-auction .auction-table td{text-align:center;padding-left:.3rem;padding-right:.3rem}.lead-alerts{max-width:26rem;color:var(--ink-soft);margin:.5rem 0 0;padding:0;font-size:.95rem;list-style:none}.lead-alerts li{margin:.15rem 0}.lead-alert-call{white-space:nowrap}.lead-hand{flex-direction:column;grid-area:hand;align-items:flex-start;gap:.6rem;display:flex}.lead-prompt{margin:0;font-size:1.05rem}.lead-hand .hand.face-hand{height:auto;display:flex;position:static}.lead-hand .hand.face-hand .hand-card+.hand-card{margin-left:calc(0px - var(--hand-overlap))}.lead-hand .hand.face-hand .hand-card.playable{cursor:pointer}.lead-card{font-family:var(--mono);white-space:nowrap}.lead-reveal{grid-template-columns:minmax(14rem,22rem) minmax(0,1fr);grid-template-areas:"verdict replay""key replay""next replay";align-items:start;gap:1rem 1.5rem;display:grid}.lead-verdict{grid-area:verdict}.lead-verdict p{margin:0 0 .4rem}.lead-best .lead-card+.lead-card{margin-left:.35rem}.lead-key{border-collapse:collapse;grid-area:key;font-size:.9rem}.lead-key th,.lead-key td{text-align:left;border-bottom:1px solid var(--line);padding:.15rem .6rem .15rem 0}.lead-key th{color:var(--ink-soft);font-weight:600}.lead-key .lib-num{text-align:right;font-family:var(--mono)}.lead-row.best td{color:var(--lamp)}.lead-marks{white-space:nowrap}.lead-marks span{margin-right:.4rem}.lead-mark-you,.lead-mark-pro{text-transform:uppercase;letter-spacing:.06em;border:1px solid;border-radius:.3rem;padding:0 .3rem;font-size:.7rem}.lead-replay{background:#0a1812b8;border-radius:.6rem;grid-area:replay;padding:.4rem}.lead-replay .replay-panel{max-width:40rem;max-height:none;margin:0 auto}.lead-replay .rp-hand.pos-left .rp-ranks,.lead-replay .rp-hand.pos-right .rp-ranks{flex-wrap:nowrap}.lead-replay .rp-hand.pos-left{justify-self:end}.lead-replay .rp-auction .auction-table{max-width:26rem;margin:0 auto}.lead-replay .rp-auction .auction-table th,.lead-replay .rp-auction .auction-table td{text-align:center;padding-left:.3rem;padding-right:.3rem}.lead-next{grid-area:next}@media (width<=48rem){.lead-stage{grid-template-columns:minmax(0,1fr);grid-template-areas:"board""auction""hand"}.lead-reveal{grid-template-columns:minmax(0,1fr);grid-template-areas:"verdict""key""replay""next"}}.challenge-card a:not(.btn),.play-table a,.play-verdict a,.play-page .results-empty a{color:inherit;text-underline-offset:.15em;text-decoration:underline}.challenge-actions{flex-wrap:wrap;gap:.5rem;display:flex}.challenge-card .challenge-actions .btn{align-self:auto}.play-page .library-head h1 .strain-s,.play-page .library-head h1 .strain-h,.play-page .library-head h1 .strain-d,.play-page .library-head h1 .strain-c{margin:0 .05em}.play-table .play-unfinished td{color:var(--ink-soft)}.play-unfinished-note{font-style:italic}.play-perfect{color:var(--lamp)}.play-table .entry-tag,.play-notes .entry-tag{margin-left:.4rem}.play-reveal{grid-template-columns:minmax(16rem,24rem) minmax(0,1fr);grid-template-areas:"verdict replay";align-items:start;gap:1rem 1.5rem;display:grid}.play-verdict{grid-area:verdict}.play-verdict p{margin:0 0 .5rem}.play-par,.play-explain{color:var(--ink-soft);font-size:.92rem}.play-notes:empty{display:none}.play-pros{border-collapse:collapse;margin-top:.5rem;font-size:.9rem}.play-pros th,.play-pros td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.15rem .6rem .15rem 0}.play-pros th{color:var(--ink-soft);font-weight:600}.play-pros .lib-num{text-align:right;font-family:var(--mono);white-space:nowrap}.play-replay{background:#0a1812b8;border-radius:.6rem;grid-area:replay;padding:.4rem}.play-replay .replay-panel{max-width:40rem;max-height:none;margin:0 auto}.play-replay .rp-hand.pos-left .rp-ranks,.play-replay .rp-hand.pos-right .rp-ranks{flex-wrap:nowrap}.play-replay .rp-hand.pos-left{justify-self:end}.play-replay .rp-auction .auction-table{max-width:26rem;margin:0 auto}.play-replay .rp-auction .auction-table th,.play-replay .rp-auction .auction-table td{text-align:center;padding-left:.3rem;padding-right:.3rem}.play-replay .library-error{color:#f2c9c9;margin:.4rem .4rem 0}.rp-dd{flex-wrap:wrap;justify-content:center;align-items:center;gap:.3rem 1rem;padding:.3rem .5rem;font-size:.9rem;display:flex}.rp-dd-change{color:var(--lamp);font-family:var(--mono);margin-left:.4rem}.rp-well-card.rp-cost{outline:2px solid var(--lamp);outline-offset:2px;border-radius:.25rem}.rp-par{padding:.2rem .6rem .5rem;font-size:.9rem}.rp-par-head{margin-bottom:.25rem}.rp-par-cards{flex-wrap:wrap;gap:.3rem .9rem;display:flex}.rp-par-trick{white-space:nowrap;gap:.45rem;display:inline-flex}.rp-par-card{font-family:var(--mono)}@media (width<=48rem){.play-reveal{grid-template-columns:minmax(0,1fr);grid-template-areas:"verdict""replay"}}.table-stage{-webkit-user-select:none;user-select:none;background:var(--table-ground);flex:1;min-width:0;min-height:0;display:flex;position:relative}.table-stage input,.table-stage textarea{-webkit-user-select:text;user-select:text}.stage-grid{--bx-cell:max(28px, calc(var(--card-w,104px) * .33));--bx-alert:max(24px, calc(var(--card-w,104px) * .26));--bx-lvl:max(30px, calc(var(--card-w,104px) * .43));--bx-gap:max(3px, calc(var(--card-w,104px) * .04));--bx-pad:max(6px, calc(var(--card-w,104px) * .07));--bx-w:calc(7 * var(--bx-lvl) + 6 * var(--bx-gap) + 2 * var(--bx-pad));width:100%;height:min(100%, var(--grid-h,100%));grid-template-columns:var(--ew-col,200px) minmax(0, 1fr) var(--ew-col,200px);grid-template-rows:var(--ns-band,160px) minmax(0, 1fr) var(--ns-band,160px);grid-template-areas:"tl north tr""west center east""bl south br";align-self:center;min-width:0;min-height:0;padding:10px;display:grid}.stage-grid.narrow{grid-template-columns:0 minmax(0,1fr) 0;height:100%;position:relative}.stage-grid.narrow .seat-area.left,.stage-grid.narrow .seat-area.right{width:auto;max-width:calc(50% - var(--felt-s,240px) / 2 - 16px);grid-area:auto;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.stage-grid.narrow .seat-area.left{right:calc(50% + var(--felt-s,240px) / 2 + 8px)}.stage-grid.narrow .seat-area.right{left:calc(50% + var(--felt-s,240px) / 2 + 8px)}.stage-grid.narrow:has(.felt-center-stage.auction) .seat-area.left{right:calc(50% + var(--bx-w,240px) / 2 + 8px);max-width:calc(50% - var(--bx-w,240px) / 2 - 16px)}.stage-grid.narrow:has(.felt-center-stage.auction) .seat-area.right{left:calc(50% + var(--bx-w,240px) / 2 + 8px);max-width:calc(50% - var(--bx-w,240px) / 2 - 16px)}.stage-grid.narrow .seat-area.left .seat-hand-slot,.stage-grid.narrow .seat-area.right .seat-hand-slot{height:auto}.stage-grid.narrow .seat-area.left:not(.bare) .name-plate,.stage-grid.narrow .seat-area.right:not(.bare) .name-plate{max-width:100%}.stage-grid.narrow .seat-area.left.bare,.stage-grid.narrow .seat-area.right.bare,.stage-grid.narrow .seat-area.top,.stage-grid.narrow .seat-area.bottom{--bar-w:calc(var(--felt-s,240px) * 1.8);--bar-h:30px}.stage-grid.narrow .seat-area.left.bare .seat-bar,.stage-grid.narrow .seat-area.right.bare .seat-bar{margin:0;position:static;transform:none}.seat-area{z-index:5;flex-direction:column;min-width:0;min-height:0;display:flex}.seat-area:has(.name-plate.menu-open){z-index:60}.seat-area.top{grid-area:north;place-self:start center;align-items:center}.seat-area.bottom{grid-area:south;place-self:end center;align-items:center}.seat-area.left{grid-area:west;place-self:center start;align-items:flex-start;width:100%;position:relative}.seat-area.right{grid-area:east;place-self:center end;align-items:flex-end;width:100%;position:relative}.seat-hand-slot{flex:none;align-items:flex-start;display:flex}.seat-area.top .seat-hand-slot,.seat-area.bottom .seat-hand-slot{height:var(--ns-slot,150px)}.seat-area.left .seat-hand-slot,.seat-area.right .seat-hand-slot{height:var(--ew-slot,300px)}.seat-area.as-diagram .seat-hand-slot{padding-bottom:var(--bar-h,30px);align-items:flex-end}.seat-area .seat-bar{z-index:12;margin-top:calc(var(--bar-h,30px) * -1);position:relative}.seat-area.left.bare .seat-bar,.seat-area.right.bare .seat-bar{width:var(--bar-h,30px);height:var(--bar-w,240px);margin-top:0;position:absolute;top:50%;transform:translateY(-50%)}.seat-area.left.bare .seat-bar{margin-left:var(--ew-bar-in,20px);left:100%}.seat-area.right.bare .seat-bar{margin-right:var(--ew-bar-in,20px);right:100%}.seat-area.left.bare .seat-bar>.name-plate,.seat-area.right.bare .seat-bar>.name-plate{position:absolute;top:50%;left:50%}.seat-area.left.bare .seat-bar>.name-plate{transform:translate(-50%,-50%)rotate(-90deg)}.seat-area.right.bare .seat-bar>.name-plate{transform:translate(-50%,-50%)rotate(90deg)}.felt-center{grid-area:center;place-items:center;min-width:0;min-height:0;display:grid;position:relative}.felt-square{--felt-gold:#c2a45f;width:var(--felt-s,240px);height:var(--felt-s,240px);border:2px solid var(--felt-gold);background:conic-gradient(from 45deg, var(--table-felt-side) 0 90deg, var(--table-felt-bottom) 90deg 180deg, var(--table-felt-side) 180deg 270deg, var(--table-felt-top) 270deg 360deg);border-radius:6px;position:relative;box-shadow:0 12px 32px #00000047}.trick-tally{right:max(5px, calc(var(--card-w,104px) * .06));bottom:max(3px, calc(var(--card-w,104px) * .04));color:var(--felt-gold);font-family:var(--mono);font-size:max(11px, calc(var(--card-w,104px) * .14));letter-spacing:.04em;opacity:.85;pointer-events:none;line-height:1;position:absolute}.trick-pile{--tp-w:calc(var(--card-w,104px) * .23);--tp-step:calc(var(--card-w,104px) * .012);--card-width:var(--tp-w);left:max(5px, calc(var(--card-w,104px) * .06));bottom:max(3px, calc(var(--card-w,104px) * .04));border-radius:calc(var(--card-w,104px) * .03);cursor:pointer;pointer-events:auto;background:0 0;border:none;padding:0;line-height:0;transition:transform 90ms;display:grid;position:absolute}.trick-pile .tp-card{grid-area:1/1;display:block}.trick-pile .tp-1{transform:translate(var(--tp-step), calc(-1 * var(--tp-step)))}.trick-pile .tp-2{transform:translate(calc(2 * var(--tp-step)), calc(-2 * var(--tp-step)))}.trick-pile .tp-3{transform:translate(calc(3 * var(--tp-step)), calc(-3 * var(--tp-step)))}.trick-pile:hover,.trick-pile:focus-visible{transform:translateY(-2px)}.trick-pile:focus-visible{outline:2px solid var(--felt-gold);outline-offset:3px}.trick-pile.open .tp-3{box-shadow:0 0 0 2px var(--felt-gold);border-radius:calc(var(--card-w,104px) * .03)}.felt-center>.felt-center-stage{z-index:10;pointer-events:none;position:absolute;inset:0}.felt-center-stage>*{pointer-events:auto}.felt-center-stage>.trick-area{pointer-events:none}.felt-center-stage.auction{--auction-gap:max(10px, calc(var(--card-w,104px) * .16));padding:var(--auction-gap) 0;flex-direction:column;justify-content:space-between;align-items:center;display:flex;container:auction-stage/size}.felt-auction{min-height:0;width:var(--bx-w,240px);max-height:calc(var(--card-h,150px) * 2);font-size:max(12px, calc(var(--card-w,104px) * .16));flex:0 auto}@container auction-stage (height<=200px){.felt-auction{display:none}}.stage-grid.narrow .felt-auction{display:none}.stage-grid.narrow .felt-center-stage.auction{justify-content:flex-end}.stage-grid.narrow .felt-center-stage:has(.result-panel){padding-bottom:max(10px, calc(var(--card-w,104px) * .16));align-items:end}:is(.stage-grid.narrow:has(.felt-center-stage .result-panel) .seat-area.left:not(.bare),.stage-grid.narrow:has(.felt-center-stage .result-panel) .seat-area.right:not(.bare)){top:calc(var(--ns-band,160px) + 18px);transform:none}.felt-slip{width:min(100%, max(17rem, calc(var(--card-w,104px) * 3.4)));box-sizing:border-box;text-align:center;background:var(--card);color:var(--ink);border:1px solid #00000059;border-radius:12px;flex-direction:column;gap:.4rem;padding:.85rem 1rem .9rem;display:flex;box-shadow:inset 0 1px #ffffff40,0 14px 34px #00000073}.felt-slip-head{font-family:var(--display);text-wrap:balance;font-size:1.15rem;line-height:1.2}.felt-slip-line{font-family:var(--mono);font-size:.95rem}.felt-slip-body{font-size:.88rem;line-height:1.3}.felt-slip-body.quiet{color:var(--ink-soft);font-size:.8rem}.felt-slip-position{font-family:var(--mono);border-top:1px solid #22261f26;flex-wrap:wrap;justify-content:center;align-items:center;gap:.15rem .9rem;padding-top:.4rem;font-size:.85rem;display:flex}.felt-slip-card{align-items:center;gap:.15rem;display:inline-flex}.felt-slip-card-seat{color:var(--ink-soft);margin-right:.15rem}.felt-slip-card-rank{color:var(--ink)}.felt-slip-card.suit-s{color:var(--suit-s)}.felt-slip-card.suit-h{color:var(--suit-h)}.felt-slip-card.suit-d{color:var(--suit-d)}.felt-slip-card.suit-c{color:var(--suit-c)}.felt-slip-turn{color:var(--ink-soft)}.felt-slip-actions{justify-content:center;align-items:center;gap:.5rem;margin-top:.15rem;display:flex}.felt-slip-actions .btn{flex:0 auto;width:auto;min-width:7rem;padding:.4rem .7rem;font-size:.85rem}.felt-slip-waiting{color:var(--ink-soft);font-size:.82rem}.felt-slip-foot{color:var(--ink-soft);font-size:.75rem;line-height:1.25}.felt-center-stage.auction>.slip-berth{flex:1 0 auto;place-items:center;width:100%;min-height:0;display:grid}@container auction-stage (height<=340px){.felt-center-stage.auction:has(.slip-berth) .felt-auction{display:none}}.av-cell.at-bar{width:var(--av-w,140px);justify-content:center;align-items:flex-end;display:flex}.av-cell.at-bar.top{height:calc(var(--ns-slot,150px) - var(--bar-h,30px));padding-bottom:var(--av-gap,8px)}.av-cell.at-bar.left,.av-cell.at-bar.right{height:var(--av-h,105px);align-items:center}.av-cell.at-bar.top{grid-area:north;place-self:start center}.av-cell.at-bar.left{margin-right:calc(var(--av-gap,8px) - var(--ew-bar-in,20px));grid-area:west;place-self:center end}.av-cell.at-bar.right{margin-left:calc(var(--av-gap,8px) - var(--ew-bar-in,20px));grid-area:east;place-self:center start}.av-cell.parked.tl{grid-area:tl;place-self:start}.av-cell.parked.tr{grid-area:tr;place-self:start end}.av-cell.parked.bl{grid-area:bl;place-self:end start}.av-cell.parked.br{grid-area:br;place-self:end}.table-cmdbar{flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:.7rem;padding:.45rem 1.4rem;display:flex}.cmdbar-group{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.cmdbar-side{flex:1}.cmdbar-right{justify-content:flex-end}.table-cmdbar .btn{padding:.4rem 1.2rem}.captain-menu{display:inline-flex;position:relative}.captain-btn{border:1px solid var(--ivory-40);width:35px;height:35px;color:var(--lamp);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;transition:transform 80ms,border-color 80ms;display:grid}.captain-btn:hover{border-color:var(--card);transform:translateY(-1px)}.captain-btn .captain-mark{width:20px;height:20px}.captain-pop{white-space:nowrap;z-index:90;background:var(--card);min-width:13rem;color:var(--ink);border-radius:8px;flex-direction:column;padding:.35rem;display:flex;position:absolute;bottom:calc(100% + .5rem);left:0;box-shadow:0 10px 28px #00000073}.captain-pop .profile-pop-item:disabled{opacity:.45;cursor:default}.captain-sub-row{flex-direction:column;display:flex;position:relative}.captain-sub-trigger{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.captain-subpop{scrollbar-width:thin;min-width:9rem;max-height:14rem;bottom:-.35rem;left:calc(100% + .4rem);overflow-y:auto}.captain-subpop [role=menuitemradio][aria-checked=true]:after{content:" ✓";opacity:.7}@media (width<=40rem){.table-cmdbar{justify-content:center;gap:.45rem;padding:.4rem .5rem}.cmdbar-side{flex:0 auto}.cmdbar-right{justify-content:center}}.av-tile{width:var(--av-w,140px);height:var(--av-h,105px);background:var(--table-ground-lift);border-radius:8px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #faf6ea29,0 2px 8px #00000047}.av-tile.speaking,.av-strip.speaking{box-shadow:inset 0 0 0 2px var(--pip-green), 0 2px 8px #00000047}.av-tile video{object-fit:cover;width:100%;height:100%;display:block}.av-mirrored{transform:scaleX(-1)}.av-avatar{font-family:var(--display);font-size:calc(var(--av-w,140px) * .32);color:#faf6ea8c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.av-strip{width:var(--av-w,140px);height:var(--bar-h,30px);color:var(--ink);font-family:var(--body);font-size:max(12px, calc(var(--bar-h,30px) * .5));background:#dcd6c4;border-radius:4px;align-items:center;gap:.4rem;padding:0 .35rem;display:flex;position:relative;box-shadow:0 2px 6px #0000004d}.av-strip.av-idle{justify-content:center;padding:0}.av-strip-mic{font-size:calc(var(--bar-h,30px) * .5);flex:none;line-height:1}.av-strip-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.av-strip .av-controls{opacity:1;flex:none;position:static}.av-strip .av-btn{color:var(--ink);background:#22261f14;border-color:#22261f40;padding:1px 4px}.av-strip .av-btn:hover{background:#22261f2e}.av-strip .av-join{font-size:max(12px, calc(var(--bar-h,30px) * .46));padding:.15rem .6rem}.av-strip .av-badge{flex:none}.av-tile.av-idle{flex-direction:column;justify-content:center;align-items:center;gap:.3rem;display:flex}.av-join{background:var(--felt-500);color:var(--card);font-family:var(--body);font-size:max(12px, calc(var(--av-w,140px) * .075));cursor:pointer;border:1px solid #faf6ea40;border-radius:6px;padding:.3rem .7rem}.av-join:hover{background:var(--felt-700)}.av-note{color:var(--ivory-70);text-align:center;padding:0 .3rem;font-size:.62rem}.av-controls{opacity:0;gap:3px;transition:opacity .12s;display:flex;position:absolute;bottom:3px;right:3px}.av-tile:hover .av-controls,.av-tile:focus-within .av-controls{opacity:1}.av-btn{color:var(--card);cursor:pointer;background:#0a1812cc;border:1px solid #faf6ea33;border-radius:5px;padding:2px 6px;font-size:.75rem;line-height:1.3}.av-btn:hover{background:var(--felt-700)}.av-btn.off{opacity:.45;text-decoration:line-through}.av-btn:disabled{opacity:.3;cursor:default}.av-status{font-size:max(11px, calc(var(--av-w,140px) * .09));align-items:center;gap:5px;display:flex;position:absolute;top:4px;left:5px}.av-badge{color:var(--ivory-70);background:#0a1812bf;border-radius:4px;padding:1px 5px;font-size:.62rem}.av-badge-bad{color:#ff8a84}.av-badge-warn{color:var(--lamp)}.bidding-box{--bx-lit:#b6d2e0;--bx-lit-glow:#96c3da80;z-index:40;gap:var(--bx-gap,4px);width:var(--bx-w,400px);padding:var(--bx-pad,7px);background:var(--table-box);border:1px solid #00000073;border-radius:8px;flex-direction:column;flex:none;display:flex;position:relative;box-shadow:0 8px 22px #0006}.bid-levels,.bid-strains,.bid-calls,.bid-alert{gap:var(--bx-gap);display:flex}.bid-levels>*,.bid-strains>*{flex:1;min-width:0}.bid-level{height:var(--bx-cell);font:inherit;font-family:var(--mono);font-size:max(13px, calc(var(--bx-cell) * .52));color:var(--card);--bl-bg:#5f6f78;background:var(--bl-bg);cursor:pointer;border:1px solid #0000004d;border-radius:5px;font-weight:700;line-height:1;transition:transform 70ms}.bid-level:hover:not(:disabled){background:color-mix(in oklab, var(--bl-bg) 74%, white)}.bid-level.picked{background:var(--bx-lit);color:var(--ink);box-shadow:0 0 14px var(--bx-lit-glow);border-color:#00000080}.bid-level:disabled{color:#faf6ea66;cursor:default;background:#3a464c}.bid-strain{height:var(--bx-cell);font:inherit;font-size:max(15px, calc(var(--bx-cell) * .6));cursor:pointer;background:#fff;border:1px solid #22261f59;border-radius:5px;place-items:center;transition:transform 70ms;display:grid}.bid-strain:hover:not(:disabled),.bid-strain:focus-visible:not(:disabled){border-color:var(--bx-lit);background:#eaf4fa;transform:translateY(-2px);box-shadow:0 4px 10px #00000059}.bid-strain.strain-c{color:var(--suit-c)}.bid-strain.strain-d{color:var(--suit-d)}.bid-strain.strain-h{color:var(--suit-h)}.bid-strain.strain-s{color:var(--suit-s)}.bid-strain.strain-nt{color:var(--nt-blue)}.bid-strain.picked{border-color:var(--bx-lit);box-shadow:0 0 14px var(--bx-lit-glow);transform:translateY(-2px)}.bid-strain:disabled{color:#22261f4d;cursor:default;background:#c9c4b4;border-color:#22261f40}.bid-strain.waiting:disabled{opacity:.82;background:#fff;border-color:#22261f59}.bid-strain.waiting.strain-c{color:var(--suit-c)}.bid-strain.waiting.strain-d{color:var(--suit-d)}.bid-strain.waiting.strain-h{color:var(--suit-h)}.bid-strain.waiting.strain-s{color:var(--suit-s)}.bid-strain.waiting.strain-nt{color:var(--nt-blue)}.bid-nt{letter-spacing:-.02em;font-size:.85em;font-weight:900}.bid-call{height:var(--bx-cell);font:inherit;font-size:max(13px, calc(var(--bx-cell) * .48));letter-spacing:.06em;color:var(--bc-ink);background:var(--bc-bg);cursor:pointer;border:none;border-radius:6px;font-weight:900;line-height:1;transition:transform 70ms;box-shadow:inset 0 0 0 1.5px #ffffff2e,0 2px 4px #0000004d}.bid-call:hover:not(:disabled),.bid-call:focus-visible:not(:disabled){background:color-mix(in oklab, var(--bc-bg) 88%, white);transform:translateY(-2px);box-shadow:inset 0 0 0 1.5px #ffffff2e,0 5px 12px #0006}.bid-calls .bc-pass{flex:3}.bid-calls .bc-x,.bid-calls .bc-xx{flex:1}.bid-call.picked{box-shadow:inset 0 0 0 2px var(--bx-lit), 0 0 14px var(--bx-lit-glow);transform:translateY(-2px)}.bid-call:disabled{filter:saturate(.45)brightness(.9);cursor:default}.bid-alert-btn{width:calc(2 * var(--bx-lvl) + var(--bx-gap));height:var(--bx-alert);font:inherit;font-size:max(10px, calc(var(--bx-alert) * .42));letter-spacing:.1em;color:var(--card);background:var(--nt-blue);cursor:pointer;border:1px solid #00000059;border-radius:5px;flex:none;font-weight:800;line-height:1;transition:transform 70ms}.bid-alert-btn:hover,.bid-alert-btn:focus-visible{background:color-mix(in oklab, var(--nt-blue) 82%, white);transform:translateY(-2px);box-shadow:0 5px 12px #0006}.bid-alert-btn.armed{background:var(--bx-lit);color:var(--ink);box-shadow:0 0 14px var(--bx-lit-glow)}.alert-row{min-width:0;height:var(--bx-alert);font:inherit;font-size:max(11px, calc(var(--bx-alert) * .44));color:var(--ink);background:#fff;border:1px solid #22261f4d;border-radius:5px;flex:1;padding:0 .5rem}.alert-row::placeholder{color:#22261f57}.alert-row:focus::placeholder{color:#0000}.alert-row:focus{border-color:var(--lamp);outline:none}.bid-confirm{gap:var(--bx-gap);display:flex}.bid-confirm-btn{min-width:0;height:var(--bx-cell);font:inherit;font-size:max(13px, calc(var(--bx-cell) * .46));letter-spacing:.04em;color:var(--ink);background:var(--bx-lit);cursor:pointer;box-shadow:0 0 14px var(--bx-lit-glow);border:1px solid #00000059;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.28em;font-weight:800;line-height:1;transition:transform 70ms;display:flex}.bid-confirm-btn:hover:not(:disabled),.bid-confirm-btn:focus-visible:not(:disabled){background:color-mix(in oklab, var(--bx-lit) 92%, white);transform:translateY(-2px);box-shadow:0 5px 12px #0006}.bid-confirm-btn:disabled{filter:saturate(.25)brightness(.62);box-shadow:none;cursor:default}.bid-confirm-btn .suit-pip.strain-c{color:var(--suit-c)}.bid-confirm-btn .suit-pip.strain-d{color:var(--suit-d)}.bid-confirm-btn .suit-pip.strain-h{color:var(--suit-h)}.bid-confirm-btn .suit-pip.strain-s{color:var(--suit-s)}.bid-confirm-btn .bid-nt{color:var(--nt-blue)}.field select{width:100%;font:inherit;color:var(--ink);background:var(--card-dim);border:1px solid var(--line);border-radius:8px;padding:.65rem .75rem;font-size:1rem}.field select:focus{border-color:var(--ink);outline:none}.field-row{gap:.8rem;display:flex}.field-row .field,.field-row>input{flex:1;min-width:0}.field-row.field-row-compact{flex-wrap:wrap;align-items:end;margin-bottom:1.1rem}.field-row.field-row-compact .field{flex:none;margin-bottom:0}.field-row.field-row-compact .field label{white-space:nowrap}.field-row.field-row-compact select,.field-row.field-row-compact input{width:auto;min-width:5.5rem}.field-row .row-hint,.field-row.field-row-compact .row-hint{flex:1 0 100%}.field-row .row-hint .hint{margin-top:0}.field-stack{flex-direction:column;gap:.5rem;display:flex}.field-group{border:none;margin:0;padding:0}.field-group legend{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.35rem;padding:0;font-size:.72rem;font-weight:700}.tournament-list{flex-direction:column;gap:.6rem;margin:0 0 2.6rem;padding:0;list-style:none;display:flex}.tournament-row{font:inherit;color:inherit;border:1px solid var(--rail);cursor:pointer;text-align:left;background:#0000002e;border-radius:12px;align-items:center;gap:1rem;width:100%;padding:.8rem 1.1rem;transition:transform .1s,border-color .1s,background-color .1s,box-shadow .1s;display:flex}.tournament-row:hover,.tournament-row:focus-visible{border-color:var(--rail-light);background:#00000014;transform:translateY(-2px);box-shadow:0 8px 20px #00000059}.tournament-row .tournament-name{font-family:var(--display);color:var(--card);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:1.1rem;font-weight:560;overflow:hidden}.tournament-row .tournament-meta{font-family:var(--mono);color:var(--ivory-70);white-space:nowrap;font-size:.8rem}.status-chip{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ivory-40);color:var(--ivory-70);white-space:nowrap;border-radius:99px;padding:.25rem .6rem;font-size:.7rem;font-weight:700}.status-chip.status-scheduled{border-color:var(--lamp);color:var(--lamp)}.status-chip.status-running{background:var(--lamp);border-color:var(--lamp);color:var(--ink)}.tournament-row .tournament-name{min-width:0}@media (width<=40rem){.lobby-toolbar{flex-wrap:wrap;row-gap:.7rem}.toolbar-actions{flex-wrap:wrap;flex:100%}.tournament-row{flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem}.tournament-row .tournament-name{flex:calc(100% - 5rem)}.tournament-row .tournament-meta{flex:none;order:2}}.empty-room.slim{margin-bottom:2.6rem;padding:1.6rem}.tournament-page .host-actions{gap:.6rem;display:flex}.tournament-facts{font-family:var(--mono);color:var(--ivory-70);flex-wrap:wrap;gap:.4rem 1.4rem;margin-bottom:1.4rem;font-size:.9rem;display:flex}.tournament-register{border:1px solid var(--rail);background:#0000002e;border-radius:12px;flex-wrap:wrap;align-items:center;gap:.8rem;margin-bottom:1.6rem;padding:.9rem 1.1rem;display:flex}.invite-form{gap:.6rem;display:flex}.invite-form input{font:inherit;color:var(--card);border:1px solid var(--rail-light);background:#00000040;border-radius:8px;min-width:14rem;padding:.45rem .7rem;font-size:.95rem}.invite-form input::placeholder{color:var(--ivory-40)}.invite-form input:focus{border-color:var(--lamp);outline:none}.tournament-section{margin-bottom:2.2rem}.room-link{color:inherit;text-underline-offset:2px;text-decoration:underline}.sc-replay{font:inherit;color:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.sc-replay:hover{text-decoration-style:solid}.replay-modal{z-index:60;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.replay-modal-card{background:#0e211a;border:1px solid #faf6ea24;border-radius:14px;width:min(430px,100%);max-height:min(92vh,780px);padding:.9rem;overflow-y:auto}.replay-modal-close{margin-bottom:.4rem;margin-left:auto;display:block}.tournament-chat{border:1px solid var(--rail);background:#0000002e;border-radius:12px;flex-direction:column;height:280px;display:flex;overflow:hidden}.tournament-section h2{font-family:var(--display);margin:0 0 .8rem;font-size:1.4rem;font-weight:600}.standings-table{border-collapse:collapse;border:1px solid var(--rail);background:#0000002e;border-radius:12px;width:100%;overflow:hidden}.standings-table th{letter-spacing:.09em;text-transform:uppercase;text-align:left;color:var(--ivory-70);border-bottom:1px solid var(--rail);padding:.6rem 1rem;font-size:.7rem;font-weight:700}.standings-table td{border-bottom:1px solid #0003;padding:.55rem 1rem}.standings-table tr:last-child td{border-bottom:none}.standings-table tr.you td{background:#e9b44c1f}.standings-table .score{font-family:var(--mono)}.entry-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.entry{border:1px solid var(--rail);background:#0000002e;border-radius:10px;align-items:center;gap:.7rem;padding:.55rem 1rem;display:flex}.entry .pair-number{font-family:var(--mono);color:var(--ink);background:var(--card);border-radius:99px;justify-content:center;align-items:center;min-width:1.5rem;height:1.5rem;font-size:.8rem;display:inline-flex}.entry .entry-tag{letter-spacing:.07em;text-transform:uppercase;color:var(--ivory-70);border:1px dashed var(--ivory-40);border-radius:99px;padding:.15rem .55rem;font-size:.7rem}.round-clock{font-family:var(--mono);color:var(--lamp);font-weight:600}.round-clock.urgent{color:var(--pip-red)}.tournament-chip{font-family:var(--mono);color:var(--card);align-self:center;font-size:.85rem}.profile-menu{position:relative}.profile-icon{width:2.1rem;height:2.1rem;color:var(--ivory-70);cursor:pointer;background:0 0;border:1px solid #faf6ea59;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.profile-icon:hover{color:var(--card);border-color:var(--card)}.profile-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:1.25rem;height:1.25rem}.profile-pop{z-index:90;background:var(--card);min-width:12rem;color:var(--ink);border-radius:8px;flex-direction:column;padding:.35rem;display:flex;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 10px 28px #00000073}.profile-pop-name{color:var(--ink);border-bottom:1px solid #22261f33;margin-bottom:.25rem;padding:.45rem .6rem;font-size:.9rem;font-weight:700}.profile-pop-build{font-family:var(--mono);color:var(--ink-soft);border-top:1px solid #22261f33;margin-top:.25rem;padding:.35rem .6rem .15rem;font-size:.68rem}.profile-pop-item{font:inherit;text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:.4rem .6rem;text-decoration:none}.profile-pop-item:hover{background:#22261f14}.drawer-scrim{z-index:40;background:#06100c8c;position:fixed;inset:0}.people-drawer{background:var(--card);width:min(24rem,92vw);color:var(--ink);z-index:41;padding:1.2rem 1.4rem 2rem;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-12px 0 40px #06100c73}.people-header{justify-content:space-between;align-items:center;margin-bottom:.6rem;display:flex}.people-header h2{font-family:var(--display);font-size:1.4rem}.people-section{margin-top:1.2rem}.people-section h3{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:.5rem;font-size:.78rem}.people-row{justify-content:space-between;align-items:center;gap:.6rem;padding:.35rem 0;display:flex}.people-name{text-overflow:ellipsis;align-items:center;gap:.45rem;min-width:0;display:flex;overflow:hidden}.people-actions{flex-shrink:0;gap:.35rem;display:flex}.people-muted{color:var(--ink-soft);font-size:.85rem}.online-dot{background:var(--ivory-40);border:1px solid var(--ink-soft);border-radius:50%;flex-shrink:0;width:.55rem;height:.55rem}.online-dot.online{background:#3f9a58;border-color:#2c7a42}.btn-mini{border:1px solid var(--ink-soft);color:var(--ink);cursor:pointer;background:0 0;border-radius:6px;padding:.25rem .55rem;font-size:.72rem}.btn-mini:hover{border-color:var(--ink)}.btn-mini.selected{background:var(--felt-700);border-color:var(--felt-700);color:var(--card)}.btn-mini.btn-danger{color:#8c2f2f;border-color:#b98080}.badge{background:var(--gold,#c9a648);min-width:1.2rem;color:var(--ink);font-family:var(--mono);text-align:center;border-radius:99px;margin-left:.4rem;padding:0 .3rem;font-size:.7rem;display:inline-block}.user-search{position:relative}.user-search input{border:1px solid var(--ink-soft);width:100%;color:var(--ink);background:0 0;border-radius:8px;padding:.45rem .6rem}.user-search-results{border:1px solid var(--ink-soft);background:var(--card);border-radius:8px;max-height:14rem;margin:.25rem 0 0;padding:.25rem;list-style:none;overflow-y:auto}.user-search-results button{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;padding:.35rem .5rem;display:flex}.user-search-results button:hover{background:#22261f14}.user-search-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-size:.68rem}.user-search-hint{color:var(--ink-soft);margin-top:.25rem;font-size:.75rem}.toast-stack{z-index:60;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.5rem;display:flex;position:fixed;bottom:6.5rem;right:1.2rem}.toast{pointer-events:auto;border:1px solid #22261f1f;border-left:3px solid var(--lamp);background:linear-gradient(180deg, var(--card), var(--card-dim));width:min(22rem,100vw - 2.4rem);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:12px;align-items:baseline;gap:.5rem;padding:.7rem .95rem .8rem .85rem;font-size:.9rem;line-height:1.35;transition:transform .12s,box-shadow .12s;animation:.24s cubic-bezier(.2,.9,.3,1.12) toast-in;display:flex;position:relative;overflow:hidden;box-shadow:0 14px 34px #06100c73,inset 0 1px #faf6ea80}.toast:hover{transform:translateY(-1px);box-shadow:0 18px 40px #06100c80,inset 0 1px #faf6ea80}.toast:active{transform:translateY(0)}.toast-pip{font-family:var(--display);color:var(--felt-500);opacity:.55;flex:none;font-size:.85rem}.toast-text{min-width:0}.toast:after{content:"";background:linear-gradient(90deg, var(--lamp), #e9b44c59);transform-origin:0;height:2px;animation:toast-life var(--toast-life,9s) linear forwards;position:absolute;bottom:0;left:0;right:0}.toast.leaving{animation:.22s ease-in forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translate(.9rem,.3rem)scale(.97)}}@keyframes toast-out{to{opacity:0;transform:translate(.6rem)scale(.98)}}@keyframes toast-life{to{transform:scaleX(0)}}.check-row{cursor:pointer;align-items:center;gap:.5rem;margin:.35rem 0;font-size:.9rem;display:flex}.check-row.indent{margin-left:1.4rem}.check-row input[type=checkbox]{accent-color:var(--felt,#1c5c3c)}.invitee-row{align-items:center;gap:.5rem;margin:.3rem 0;display:flex}.invitee-row .invitee-name{flex:1;font-weight:600}.invitee-row select{font-size:.8rem}.seat-assign-actions{justify-content:center}.seat-assign-actions .btn{flex:0 0 7rem}.captain-mark{vertical-align:-.06em;width:.85em;height:.85em;display:inline-block}.reserved-name{opacity:.85;font-style:italic}.seat-request{align-items:center;gap:.5rem;margin-right:1rem;display:inline-flex}.table-chips{flex-wrap:wrap;gap:.3rem;display:flex}.table-chip{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);background:#06100c14;border-radius:999px;padding:.1rem .4rem;font-size:.65rem}.table-chip.chip-rated{color:#fff;background:#caa53d}.chat-muted{color:var(--ink-soft);padding:.6rem .75rem;font-size:.8rem}.captain-log .captain-log-scroll{max-height:20rem;margin:.5rem 0 .8rem;font-size:.82rem;overflow-y:auto}.captain-log-row{border-bottom:1px dotted #06100c1f;gap:.6rem;padding:.15rem 0;display:flex}.captain-log-row .log-time{font-variant-numeric:tabular-nums;color:var(--ink-soft);flex:0 0 4.6rem}.captain-log-row .log-seat{flex:0 0 3.4rem;font-weight:600}.captain-log-row .log-text{flex:1}.app-nav{gap:.3rem;display:flex}.app-nav a{color:var(--ivory-70);border-radius:8px;padding:.35rem .7rem;font-size:.95rem;text-decoration:none}.app-nav a:hover{color:var(--card);background:#faf6ea14}.app-nav a.active{color:var(--card);background:#faf6ea1f;font-weight:700}@media (width<=30rem){.wordmark{font-size:1.15rem}.app-nav a{padding:.35rem .5rem}}.people-page .people-section{background:var(--card);color:var(--ink);border-radius:12px;margin-top:0;padding:1rem 1.2rem 1.2rem}.people-page>.people-section{max-width:34rem;margin-bottom:.9rem}.people-columns{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));align-items:start;gap:.9rem;display:grid}.lounge-spacer{height:3rem}.lounge-spacer.open{height:16.5rem}.lounge-bar{z-index:30;background:var(--felt-900);border-top:1px solid #faf6ea24;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px #06100c59}.lounge-inner{flex-direction:column;max-width:68rem;margin:0 auto;display:flex}.lounge-bar.open .lounge-inner{height:16rem}.lounge-head{width:100%;font:inherit;color:var(--card);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.7rem;padding:.55rem 1rem;transition:background-color 80ms;display:flex}.lounge-head:hover{background:#faf6ea12}.lounge-title{font-family:var(--display);align-items:center;gap:.4rem;font-weight:700;display:flex}.lounge-count{color:var(--ivory-40);font-size:.8rem}.lounge-preview{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ivory-70);flex:1;font-size:.85rem;overflow:hidden}.lounge-caret{color:var(--ivory-40);margin-left:auto}.team-panels{grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:.9rem;margin:1.2rem 0;display:grid}.team-panel h2{font-family:var(--display);margin-bottom:.5rem;font-size:1.05rem}.team-slots{flex-direction:column;gap:.35rem;list-style:none;display:flex}.team-slot{border:1px solid #faf6ea24;border-radius:10px;justify-content:space-between;align-items:center;gap:.7rem;padding:.5rem .8rem;display:flex}.team-slot.you{border-color:var(--lamp)}.team-slot-seat{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ivory-40);font-size:.72rem}.team-slot-name,.team-slot-actions{align-items:center;gap:.4rem;display:flex}.team-slot-invite{flex:1;align-items:center;gap:.4rem;max-width:22rem;display:flex}.team-slot-invite .user-search{flex:1}.team-slot-held{text-transform:uppercase;letter-spacing:.06em;color:var(--ivory-40);font-size:.78rem}.team-slot .entry-tag{letter-spacing:.07em;text-transform:uppercase;color:var(--ivory-70);border:1px dashed var(--ivory-40);border-radius:99px;padding:.15rem .55rem;font-size:.7rem}.match-scoreline{align-items:baseline;gap:.6rem;margin:.4rem 0 .8rem;display:flex}.match-scoreline .table-count{color:var(--ivory-70)}.tournament-page a:not([class]),.member-list-meta a{color:var(--lamp)}.tournament-page .btn-mini,.drawer-dock .btn-mini{color:var(--card);border-color:#faf6ea59}.tournament-page .btn-mini:hover,.drawer-dock .btn-mini:hover{border-color:var(--card)}.drawer-dock .btn-mini.selected{background:var(--card);border-color:var(--card);color:var(--ink)}.dock-substitute{flex-direction:column;gap:.5rem;margin:.5rem 0;display:flex}.match-scoreline strong{font-family:var(--display);font-size:1.5rem}.dock-scorecard .match-scoreline{margin:.3rem .9rem .4rem}.dock-scorecard .match-scoreline strong{font-size:1.1rem}.sc-pending{color:var(--ivory-40)}.scorecard-table .sc-score{color:var(--ink-soft);font-size:.85em}.toolbar-actions{gap:.6rem;display:flex}.ghost-card{margin-top:1.25rem}.ghost-card h3{font-family:var(--display);margin:0 0 .25rem;font-size:1.1rem}.ghost-title{color:var(--ink-soft);margin-bottom:.25rem}.ghost-pick{max-width:100%;margin-bottom:.25rem}.ghost-lede{color:var(--ink-soft);margin:0 0 .5rem;font-size:.9em}.ghost-scroll{overflow-x:auto}.ghost-table th{white-space:nowrap}.ghost-totals td{border-top:1px solid var(--ivory-40);font-weight:600}.set-pick{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.set-pick-name{font-weight:600}
