@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-thai-thai-400-normal-BEOmKAI1.woff2)format("woff2"),url(/assets/noto-sans-thai-thai-400-normal-Dxb_unuU.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-thai-latin-ext-400-normal-nBP59pVw.woff2)format("woff2"),url(/assets/noto-sans-thai-latin-ext-400-normal-B-1H0YkH.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:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-thai-latin-400-normal-BaWBrqFP.woff2)format("woff2"),url(/assets/noto-sans-thai-latin-400-normal-Dh_FJjOB.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:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-thai-thai-500-normal-CU_X86GQ.woff2)format("woff2"),url(/assets/noto-sans-thai-thai-500-normal-BOGXO2tw.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-thai-latin-ext-500-normal-B-ZWb8SZ.woff2)format("woff2"),url(/assets/noto-sans-thai-latin-ext-500-normal-CrEHO7C8.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:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-thai-latin-500-normal-fyBKClF1.woff2)format("woff2"),url(/assets/noto-sans-thai-latin-500-normal-BC04jsmm.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:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-thai-thai-600-normal-Cs73sVjl.woff2)format("woff2"),url(/assets/noto-sans-thai-thai-600-normal-CmgB8_JK.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-thai-latin-ext-600-normal-maHHBsez.woff2)format("woff2"),url(/assets/noto-sans-thai-latin-ext-600-normal-PkMZo0xa.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:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-thai-latin-600-normal-CemcjnVR.woff2)format("woff2"),url(/assets/noto-sans-thai-latin-600-normal-Dbc-dNO6.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-ext-500-normal-Yta7XZ9C.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-500-normal-lsPpqi9g.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-500-normal-CyAY5ZLS.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-500-normal-DkJXBcIH.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-vietnamese-500-normal-BZGLGj12.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-500-normal-DqXqCC0q.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-ext-500-normal-CH1kM7og.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-500-normal-DYeaGGzO.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-cyrillic-ext-600-normal-BMhMHfrj.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-600-normal-CsIYWmWK.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-cyrillic-600-normal-C2atO-64.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-600-normal-FNmA3REe.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-vietnamese-600-normal-BoXdMtcr.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-600-normal-C4HEjEaf.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-ext-600-normal-DaBc-lu7.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-600-normal-Dk3-quAP.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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-normal-Co1r35X9.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-600-normal-2CBVLo0M.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{color:#20382e;font-synthesis:none;--ink:#20382e;--surface:#fff;--line:#dfe5dd;--muted:#78857a;--green:#176b4f;--cream:#fff;--lime:#176b4f;--radius:12px;background:#f3f5f1;font-family:Noto Sans Thai,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.42}button,input{border-radius:0}button{border:0}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #3d9972}button svg{flex-shrink:0}h1,h2,h3,p{margin:0}a{color:inherit}.app-header{border-bottom:1px solid var(--line);background:#ffffffed;align-items:center;gap:24px;height:76px;padding:0 36px;display:flex}.wordmark{letter-spacing:.3px;white-space:nowrap;align-items:center;gap:8px;font-family:Cormorant Garamond,Georgia,serif;font-size:33px;font-weight:600;display:flex}.wordmark>span{font-weight:500}.wordmark svg{color:var(--green);margin-left:5px}.header-description{color:#7b887c;border-left:1px solid var(--line);padding-left:24px;font-size:13px}.header-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.header-invite{background:#edf2e9;border:1px solid #e1e8db;border-radius:9px;align-items:center;gap:9px;padding:10px 13px;font-size:12px;display:flex}.header-invite b{letter-spacing:2px;color:var(--green);margin-left:3px;font-family:monospace;font-size:14px}.icon-button{border:1px solid var(--line);color:#68796c;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:42px;min-width:42px;height:42px;display:inline-flex}.mobile-only{display:none!important}.small-caps{letter-spacing:1.8px;color:#85927e;font-family:Arial,sans-serif;font-size:9px;font-weight:600}.button{white-space:nowrap;border-radius:9px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:12px 20px;font-size:14px;font-weight:500;transition:background .15s,box-shadow .15s;display:inline-flex}.button.primary{background:var(--green);color:#fff;border:1px solid var(--green);box-shadow:0 2px 2px #176b4f10}.button.primary:not(:disabled):hover{background:#0f553e;box-shadow:0 3px 9px #176b4f20}.button.wide{width:100%}.text-button{color:#61745e;background:0 0;align-items:center;gap:6px;padding:8px 0;font-size:13px;display:inline-flex}.connection-banner{color:#775c19;background:#fff2cb;border-bottom:1px solid #ead89e;justify-content:center;align-items:center;gap:9px;padding:8px 22px;font-size:12px;display:flex}.game-layout{grid-template-columns:minmax(0,1fr) 256px;max-width:1680px;margin:auto;display:grid}.game-main{min-width:0;padding:0 34px}.table-subheader{color:#74836f;justify-content:space-between;align-items:center;gap:10px;height:54px;font-size:12px;display:flex}.table-subheader>div{align-items:center;gap:9px;display:flex}.live-dot{background:#51996d;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.subheader-divider{background:#cdd8c9;width:1px;height:12px;margin:0 3px}.room-copy{color:#84907e;background:0 0;align-items:center;gap:9px;padding:7px 0 7px 9px;font-size:11px;display:flex}.room-copy b{color:#3c5c44;letter-spacing:1px;margin-left:6px}.table-stage{height:clamp(340px,31vw,455px);position:relative}.table-surround{background:#b5c5af;border-radius:49%;padding:9px;position:absolute;inset:54px 0 26px;box-shadow:0 8px 15px #35583112,inset 0 0 0 1px #9fb19a}.felt{background:radial-gradient(at 50% 35%,#267e5d,#176a50 80%);border:1px solid #91b28c;border-radius:50%;height:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 0 5px #1c6a51,inset 0 0 0 6px #a3b88a77}.felt:after{content:"";pointer-events:none;border:1px solid #b8d5ae44;border-radius:50%;position:absolute;inset:12px}.felt-suit{color:#a3c79c80;font-size:16px;position:absolute}.suit-one{top:14%;left:22%}.suit-two{top:14%;right:22%}.suit-three{bottom:14%;left:22%}.suit-four{bottom:14%;right:22%}.table-brand{letter-spacing:5px;color:#d2e4c414;flex-direction:column;justify-content:center;align-items:center;font-family:Cormorant Garamond,Georgia,serif;font-size:65px;display:flex;position:absolute;inset:0}.table-brand>span{letter-spacing:7px;margin-left:7px;font:8px Arial,sans-serif}.seat{z-index:4;background:#fff;border:1px solid #d9e2d2;border-radius:12px;align-items:center;gap:10px;min-width:126px;padding:10px 13px;display:flex;position:absolute;box-shadow:0 3px 12px #27462b0a}.avatar{color:#567a51;background:#e9eee4;border:1px solid #d5dfce;border-radius:50%;justify-content:center;align-items:center;width:41px;height:41px;font-size:20px;display:flex;position:relative}.avatar i{background:#c9cec4;border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;bottom:0;right:0}.seat-info{flex-direction:column;gap:1px;display:flex}.seat-info strong{text-overflow:ellipsis;white-space:nowrap;max-width:98px;font-size:12px;font-weight:500;overflow:hidden}.seat-info>span{color:#7c8b73;align-items:center;gap:8px;font-size:11px;display:flex}.seat-info .seat-score{color:#648859;margin-top:1px;font-family:Arial,sans-serif;font-size:10px}.seat-active-mark{background:#418e63;border-radius:50%;width:4px;height:4px;position:absolute;top:8px;right:8px}.passed-label{color:#e9f0dd;white-space:nowrap;background:#327455;border-radius:5px;padding:1px 12px;font-size:10px;position:absolute;bottom:-21px;left:50%;transform:translate(-50%)}.seat.passed .seat-info{opacity:.65}.big2-label{color:#ca613b;letter-spacing:.5px;font-size:11px}.top-card-backs{z-index:3;display:flex;position:absolute;top:72px;left:50%;transform:translate(-50%)}.card-back{background:#e6edd9;border:1px solid #f8faee;border-radius:3px;place-items:center;width:23px;height:36px;margin-left:-6px;display:grid;box-shadow:0 1px 2px #17392133}.table-play{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:13px;display:flex;position:absolute;inset:122px 0 62px}.played-cards{justify-content:center;gap:6px;display:flex}.playing-card{color:#17291f;text-align:left;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #cfd7c9;border-radius:8px;flex-shrink:0;width:77px;height:114px;padding:0;transition:box-shadow .15s,transform .15s,border-color .15s;display:block;position:relative;box-shadow:0 2px 3px #243f2812}.card-corner{flex-direction:column;align-items:center;font-family:Cormorant Garamond,Georgia,serif;line-height:1;display:flex;position:absolute;top:6px;left:7px}.card-corner>b{letter-spacing:-1px;font-size:31px;font-weight:600;line-height:.85}.card-corner>span{font-family:Georgia,serif;font-size:20px;line-height:1.15}.card-suit{font-family:Georgia,serif;font-size:38px;position:absolute;top:63%;left:53%;transform:translate(-50%,-50%)}.card-bottom{flex-direction:column;align-items:center;font-family:Cormorant Garamond,Georgia,serif;font-size:16px;font-weight:600;line-height:.95;display:flex;position:absolute;bottom:6px;right:6px;transform:rotate(180deg)}.card-bottom small{font-family:Georgia,serif;font-size:12px}.selected-tick{color:#fff;background:#176b4f;border-radius:50%;place-items:center;width:18px;height:18px;font-family:Arial,sans-serif;font-size:12px;display:grid;position:absolute;top:5px;right:4px}.table-play .playing-card{border-color:#e4ebdc;width:68px;height:98px;box-shadow:0 4px 8px #073c2d25}.play-caption{color:#eff5e4;font-size:12px}.table-play .card-suit{font-size:34px}.playing-card.small{width:35px;height:47px;box-shadow:none;border-radius:5px}.playing-card.small .card-corner{top:4px;left:4px}.playing-card.small .card-suit,.playing-card.small .card-bottom{display:none}.empty-trick{color:#d5e5c8a6;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding-top:40px;display:flex;position:absolute;inset:0}.empty-trick>span{font-size:27px}.turn-indicator{z-index:5;white-space:nowrap;color:#698359;background:#e6eddf;border:1px solid #d1dfc6;border-radius:30px;align-items:center;gap:8px;padding:9px 23px;font-size:12px;display:flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.turn-indicator.yours{color:#176b4f;background:#fff;border:1px solid #7fba86;font-weight:500;box-shadow:0 3px 9px #164d2912}.waiting-table{text-align:center;color:#fff;flex-direction:column;justify-content:center;align-items:center;gap:11px;display:flex;position:absolute;inset:92px 18% 42px}.waiting-icon{color:#d7e8c6;background:#ffffff15;border:1px solid #adc9a777;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.waiting-table>h2{font-size:19px;font-weight:500}.waiting-table>p{color:#c6dab8;max-width:260px;font-size:12px;line-height:1.7}.waiting-table .button{color:#356144;background:#f0f4de;border-color:#d5e0bf;min-height:39px;padding:9px 19px;font-size:12px}.pause-veil{z-index:6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:#f3f8df;background:#15573ee0;border-radius:48%;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-size:15px;display:flex;position:absolute;inset:39px 0 12px}.hand-section{z-index:7;position:relative}.own-status{justify-content:space-between;align-items:center;gap:12px;min-height:46px;margin:9px 0 24px;display:flex}.self-player{align-items:center;gap:10px;display:flex}.self-avatar{width:38px;height:38px}.self-player>div{flex-direction:column;gap:2px;display:flex}.self-player strong{align-items:center;gap:7px;font-size:13px;font-weight:500;display:flex}.self-player strong small{color:#628951;background:#e7eedf;border-radius:4px;padding:0 5px;font-size:9px}.exposure{border-left:1px solid #dbe2d5;grid-template-columns:auto auto;align-items:center;gap:0 10px;padding-left:17px;display:grid}.exposure>small{color:#7d8a72;grid-row:1/3;font-size:10px}.exposure>b{font-family:Arial,sans-serif;font-size:22px;font-weight:400;line-height:1.1}.exposure>span{color:#8d9a80;font-size:9px;line-height:1.2}.hand-cards{grid-template-columns:repeat(var(--card-count),minmax(0,74px));justify-content:center;align-items:start;gap:6px;min-height:115px;display:grid}.hand-cards>.playing-card{width:100%;min-width:0;height:116px}.hand-cards>.playing-card .card-suit{font-size:37px;left:55%}.hand-cards .no-hand{color:#97a18d;border:1px dashed #c9d4bf;border-radius:10px;grid-column:1/-1;justify-self:center;place-items:center;width:min(450px,100%);height:100px;font-size:13px;display:grid}.action-bar{align-items:center;gap:10px;margin:25px 0 0;display:flex}.action-bar .button{min-height:51px}.action-spacer{text-align:right;color:#849078;flex:1;min-width:0;padding-right:7px;font-size:12px}.play-button{min-width:175px}.pass-button{min-width:100px}.table-footer{color:#99a18f;justify-content:space-between;align-items:center;gap:8px;padding:21px 0 24px;font-size:10px;display:flex}.table-footer>div{align-items:center;gap:7px;display:flex}.table-footer button{color:#7d8d72;background:0 0;align-items:center;gap:5px;padding:5px 6px;font-size:11px;display:flex}.public-panel{border-left:1px solid var(--line);background:#f9faf6;flex-direction:column;min-height:calc(100svh - 76px);max-height:calc(100svh - 76px);padding:27px 22px 0;display:flex;position:sticky;top:0}.panel-heading{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.panel-heading h2{font-size:16px;font-weight:500}.panel-heading .small-caps{letter-spacing:1.2px;font-size:8px}.score-list{border-bottom:1px solid var(--line);padding-bottom:5px}.score-row{align-items:center;gap:10px;margin:0 0 22px;display:flex}.mini-avatar{color:#82916f;background:#e9eee3;border-radius:50%;justify-content:center;align-items:center;width:34px;min-width:34px;height:34px;font-size:15px;display:inline-flex}.score-row>span:nth-child(2){flex:1;font-size:12px}.score-row small{color:#60844c;background:#e4eedc;border-radius:4px;margin-left:5px;padding:1px 4px;font-size:8px}.score-row em{color:#99a28e;margin-top:2px;font-size:10px;font-style:normal;display:block}.score-row>b{color:#819076;font:20px Cormorant Garamond,Georgia,serif}.timeline-title{justify-content:space-between;align-items:center;margin:23px 0 15px;display:flex}.timeline-title h3{font-size:13px;font-weight:500}.timeline-title>span{color:#95a087;font-size:10px}.timeline{scrollbar-width:thin;scrollbar-color:#c7d3bb transparent;flex:1;min-height:100px;overflow-y:auto}.pile-entry{border-bottom:1px solid #e7ecdf;padding:13px 0}.pile-entry>div:first-child{justify-content:space-between;align-items:center;gap:5px;display:flex}.pile-entry strong{font-size:12px;font-weight:500}.pile-entry>div>span{color:#8e9c7e;font-size:10px}.tiny-cards{gap:4px;margin-top:9px;display:flex}.passed-seats{flex-wrap:wrap;gap:6px;margin-top:16px;display:flex}.passed-seats>span{color:#8a957d;border:1px solid #dce3d3;border-radius:5px;padding:4px 8px;font-size:10px}.empty-panel{color:#a4b094;flex-direction:column;justify-content:center;align-items:center;gap:13px;padding:30px 0;display:flex}.empty-panel>p{font-size:12px}.panel-footer{color:#9ca88f;border-top:1px solid var(--line);margin-top:10px;padding:19px 0;font-size:9px}.lobby{background:#fff;border:1px solid #e0e6db;border-radius:19px;grid-template-columns:1.1fr 1fr;max-width:1050px;min-height:580px;margin:55px auto;display:grid;overflow:hidden;box-shadow:0 15px 50px #2d52250a}.lobby-art{background:#e4ecdc;border-right:1px solid #d8e3cf;padding:47px 45px;position:relative;overflow:hidden}.large-wordmark{letter-spacing:-1px;color:#345737;font-family:Cormorant Garamond,Georgia,serif;font-size:64px;font-weight:500;line-height:.98}.large-wordmark em{color:#6a8757;font-weight:500}.lobby-deck{width:250px;height:250px;margin:19px auto;position:relative}.lobby-deck>div{color:#25472c;background:#fff;border:1px solid #e2e7db;border-radius:10px;width:117px;height:173px;padding:12px 15px;font-family:Cormorant Garamond,Georgia,serif;font-size:56px;line-height:1;position:absolute;top:30px;left:66px;transform:rotate(-20deg)translate(-28px,6px);box-shadow:0 7px 15px #4c6f3120}.lobby-deck>div:nth-child(2){z-index:1;transform:rotate(1deg)}.lobby-deck>div:nth-child(3){z-index:2;color:#c4534a;transform:rotate(22deg)translate(32px,6px)}.lobby-deck span{text-align:center;margin-top:17px;font-family:Georgia,serif;font-size:54px;display:block}.lobby-art>p{color:#5d7752;font-size:15px}.lobby-caption{color:#93a181;letter-spacing:1.8px;margin-top:11px;font:8px Arial,sans-serif;display:block}.lobby-form{padding:44px 40px 30px}.eyeline{color:#7b926c;align-items:center;gap:7px;margin-bottom:19px;font-size:11px;display:flex}.lobby-form h1{letter-spacing:-.4px;font-size:30px;font-weight:500}.lobby-form>p{color:#829176;margin:10px 0 29px;font-size:12px;line-height:1.8}.lobby-form label{color:#6c805d;margin:15px 0 8px;font-size:12px;display:block}.lobby-form input{color:#27472c;background:#fafcf7;border:1px solid #d7e0cd;border-radius:8px;width:100%;height:49px;padding:11px 14px;font-size:14px;display:block}.mode-options{grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0 25px;display:grid}.mode-options>button{background:#fff;border:1px solid #dee5d5;border-radius:9px;padding:15px 6px 13px}.mode-options>button.active{background:#edf4e7;border:1px solid #75a05f;box-shadow:0 0 0 1px #75a05f}.mode-options>button>span{color:#6b825a;flex-direction:column;align-items:center;gap:10px;font-size:12px;display:flex}.mode-options b{font-weight:500}.mode-options small{color:#9ba98c;margin-top:5px;font-size:9px;display:block}.lobby-form .button.wide{justify-content:space-between;margin-top:5px;font-size:15px}.lobby-foot{color:#8da07d;justify-content:space-between;align-items:center;gap:8px;margin-top:25px;font-size:10px;display:flex}.lobby-foot>span{align-items:center;gap:5px;display:flex}.lobby-foot>button{color:#6b8a55;text-underline-offset:4px;background:0 0;font-size:10px;text-decoration:underline}.lobby-form>p.quiet-note{text-align:center;color:#a6b19b;margin:21px 0 0;font-size:9px}.code-input{letter-spacing:4px;text-transform:uppercase;margin-bottom:15px}.toast{z-index:100;color:#806628;background:#fff9e6;border:1px solid #d9c991;border-radius:10px;align-items:center;gap:20px;max-width:min(550px,92vw);padding:13px 15px 13px 20px;font-size:13px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 6px 30px #453f1b18}.toast>button{color:#8d7d51;background:0 0;padding:4px;display:flex}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#21362370;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;inset:0;overflow:auto}.dialog{scrollbar-width:thin;scrollbar-color:#ccd6be transparent;background:#fff;border:1px solid #dce5d2;border-radius:18px;width:100%;max-width:650px;max-height:calc(100svh - 50px);padding:30px;overflow:auto;box-shadow:0 20px 80px #233b3025}.dialog-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:22px;display:flex}.dialog-heading h2{margin-top:7px;font-size:24px;font-weight:500}.dialog-heading .small-caps{color:#8ba079;font-size:8px}.rule-block{border-bottom:1px solid var(--line);gap:20px;padding:25px 0;display:flex}.rule-block>b{color:#8da475;font-family:Cormorant Garamond,Georgia,serif;font-size:25px;line-height:1.5}.rule-block h3{font-size:15px;font-weight:500}.rule-block p{color:#7c8c6d;margin-top:8px;font-size:12px;line-height:1.9}.rule-hierarchy{color:#3c7a46;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;font-size:10px;display:flex}.multiplier-grid{border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(3,1fr);margin-top:14px;display:grid}.multiplier-grid>div{border-right:1px solid var(--line);flex-direction:column;align-items:center;gap:6px;padding:12px 5px;display:flex}.multiplier-grid>div:last-child{border:0}.multiplier-grid b{color:#7a8e68;font-size:11px;font-weight:400}.multiplier-grid span{color:#417248;font:26px Cormorant Garamond,Georgia,serif}.rules-dialog>.button{margin-top:23px}.result-dialog{text-align:center;max-width:460px;padding:34px;position:relative}.close-result{position:absolute;top:13px;right:13px}.result-trophy{color:#689352;background:#ecf4e3;border:1px solid #dce9d0;border-radius:50%;place-items:center;width:70px;height:70px;margin:4px auto 20px;display:grid}.result-dialog h2{margin:12px 0 8px;font-size:23px;font-weight:500}.result-dialog>p{color:#859975;font-size:12px}.result-rows{margin:25px 0}.result-rows>div{text-align:left;border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:13px 0;display:flex}.result-rows>div>span{flex:1;align-items:center;gap:8px;font-size:13px;display:flex}.result-rows small{color:#9aa68b;font-size:11px}.result-rows b{text-align:right;width:55px;font:500 27px Cormorant Garamond,Georgia,serif}.result-actions{align-items:center;gap:10px;display:flex}.result-actions>.button{flex:1;padding:11px 14px;font-size:13px}.exit-dialog{max-width:410px}.exit-dialog h2{font-size:21px;font-weight:500}.exit-dialog p{color:#8b997b;margin:16px 0 25px;font-size:13px;line-height:1.8}@media (width>=1600px){.table-stage{height:465px}.hand-cards{grid-template-columns:repeat(var(--card-count),minmax(0,83px));gap:7px}.hand-cards>.playing-card{height:127px}.card-corner>b,.hand-cards>.playing-card .card-corner>b{font-size:35px}.hand-cards>.playing-card .card-suit{font-size:42px}.game-layout{grid-template-columns:minmax(0,1fr) 280px}}@media (width<=1200px){.game-layout{grid-template-columns:minmax(0,1fr) 230px}.game-main{padding:0 25px}.public-panel{padding-left:17px;padding-right:17px}.table-stage{height:350px}.hand-cards{gap:5px}.hand-cards>.playing-card{height:103px}.hand-cards>.playing-card .card-corner{top:5px;left:5px}.hand-cards>.playing-card .card-corner>b{font-size:29px}.hand-cards>.playing-card .card-corner>span{font-size:18px}.hand-cards>.playing-card .card-suit{font-size:32px}.card-bottom{font-size:13px}.selected-tick{width:15px;height:15px;font-size:10px;right:3px}.own-status{margin-bottom:21px}.hand-instruction{font-size:10px}.action-bar .button{min-height:49px;padding:11px 15px;font-size:12px}.action-spacer{font-size:10px}.play-button{min-width:148px}.pass-button{min-width:85px}.lobby{margin:40px 35px}.lobby-art{padding:40px 35px}.lobby-form{padding:38px 30px}.large-wordmark{font-size:56px}.header-description{display:none}.public-panel{min-height:calc(100svh - 76px)}}@media (width<=1000px){.game-layout{max-width:1000px;display:block}.game-main{padding:0 30px}.public-panel{z-index:45;background:#fcfdf9;width:300px;min-height:100svh;max-height:100svh;padding:27px 23px 0;display:none;position:fixed;top:0;bottom:0;right:0;box-shadow:-10px 0 40px #30492718}.show-panel .public-panel{display:flex}.panel-shade{z-index:44;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#19382555;display:block;position:fixed;inset:0}.mobile-only{display:inline-flex!important}.desktop-only{display:none}.table-stage{height:375px}.hand-cards{gap:6px}.hand-cards>.playing-card{height:110px}.action-bar .button{min-height:49px}.hand-instruction{font-size:12px}.lobby-form h1{font-size:27px}.mode-options small{font-size:8px}.lobby-deck{transform-origin:50%;margin-left:-10px;transform:scale(.9)}.lobby-art{padding:37px 30px}.large-wordmark{font-size:51px}.header-actions{gap:10px}}@media (width<=700px){.app-header{gap:8px;height:62px;padding:0 18px}.wordmark{gap:6px;font-size:26px}.wordmark svg{display:none}.header-actions{gap:6px}.header-actions .icon-button{background:0 0;border:0;width:36px;min-width:36px;height:36px}.header-actions .icon-button svg{width:19px}.header-invite{background:#e8efe2;border:0;gap:6px;padding:8px 9px;font-size:10px}.header-invite>span{display:none}.header-invite>b{letter-spacing:1px;font-size:12px}.header-invite>svg{width:13px}.game-main{padding:0 18px}.table-subheader{height:43px;font-size:10px}.table-subheader>div{gap:6px}.room-copy{font-size:9px}.room-copy>svg{width:12px}.table-stage{height:305px}.table-surround{border-radius:46%;padding:7px;inset:45px -3px 23px}.felt{border-radius:46%;box-shadow:inset 0 0 0 4px #1c6a51,inset 0 0 0 5px #a3b88a66}.felt:after{border-radius:46%;inset:8px}.table-brand{font-size:46px}.table-brand>span{font-size:6px}.felt-suit{font-size:12px}.seat{border-radius:9px;gap:6px;min-width:90px;padding:7px 9px}.seat.active{padding:6px 8px}.seat .avatar{width:28px;height:28px;font-size:15px}.seat-info strong{max-width:65px;font-size:10px}.seat-info>span,.seat-info .seat-score{font-size:9px}.seat-info small{display:none}.seat-left{top:50%;left:-7px}.seat-right{top:50%;right:-7px}.seat-top{min-width:116px;padding:7px 11px;top:0}.seat-top.active{padding:6px 10px}.seat-top .seat-info{grid-template-columns:1fr auto;gap:0 7px;display:grid}.seat-top strong{grid-column:1/3}.seat-top .seat-score{margin:0}.passed-label{padding:1px 10px;font-size:8px;bottom:-17px}.top-card-backs{top:54px}.card-back{width:19px;height:29px;margin-left:-6px}.card-back span{font-size:11px}.table-play{gap:10px;inset:105px 0 55px}.table-play .playing-card{border-radius:5px;width:46px;height:67px}.table-play .card-corner{top:4px;left:4px}.table-play .card-corner>b{font-size:21px}.table-play .card-corner>span{font-size:15px}.table-play .card-suit{font-size:26px}.table-play .card-bottom{display:none}.table-play .played-cards{gap:4px}.play-caption{font-size:10px}.turn-indicator{padding:7px 18px;font-size:11px;bottom:3px}.turn-indicator>span{font-size:9px}.empty-trick{gap:7px;padding-top:35px}.empty-trick>span{font-size:23px}.empty-trick p{font-size:10px}.own-status{gap:8px;min-height:40px;margin:10px 0 17px}.self-player{gap:7px}.self-avatar{width:32px;height:32px}.self-avatar svg{width:20px}.self-player strong{font-size:11px}.self-player>div>span{font-size:10px}.self-player strong small{font-size:8px}.hand-instruction{text-align:center;max-width:115px;font-size:10px;line-height:1.7}.exposure{gap:0 6px;padding-left:10px}.exposure>small{max-width:38px;font-size:9px;line-height:1.5}.exposure>b{font-size:20px}.exposure>span{font-size:8px}.hand-cards{gap:4px;min-height:0}.hand-cards>.playing-card{height:89px}.hand-cards>.playing-card .card-corner{top:5px;left:4px}.hand-cards>.playing-card .card-corner>b{font-size:26px}.hand-cards>.playing-card .card-corner>span{font-size:18px}.hand-cards>.playing-card .card-suit{font-size:30px;top:66%}.hand-cards .card-bottom{display:none}.selected-tick{width:14px;height:14px;font-size:9px;top:4px;right:3px}.action-bar{z-index:10;padding:12px 0 max(12px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f3f5f1f5;gap:7px;margin-top:16px;position:sticky;bottom:0}.action-bar .button{border-radius:8px;min-height:48px;padding:10px 12px;font-size:12px}.action-bar .utility{width:44px;min-width:44px;padding:10px}.action-bar .utility>span,.action-spacer{display:none}.action-bar .play-button{flex:2;min-width:120px;font-size:13px}.action-bar .pass-button{flex:1;min-width:75px}.table-footer{padding:4px 0 19px;font-size:9px}.table-footer button{padding:6px;font-size:10px}.table-footer>div{gap:4px}.waiting-table{gap:8px;inset:89px 13% 42px}.waiting-table>h2{font-size:15px}.waiting-table>p{font-size:10px;line-height:1.6}.waiting-icon{width:33px;height:33px}.waiting-icon svg{width:19px}.waiting-table .button{min-height:34px;padding:7px 15px;font-size:11px}.pause-veil{border-radius:44%;font-size:13px}.lobby{border-radius:14px;min-height:0;margin:23px 17px;display:block}.lobby-art{border:0;border-bottom:1px solid #d8e3cf;justify-content:space-between;align-items:center;gap:8px;height:184px;padding:24px;display:flex}.large-wordmark{max-width:230px;font-size:43px}.lobby-deck{transform-origin:0 0;width:140px;height:125px;margin:0 -43px -25px 0;transform:scale(.6)}.lobby-art>p{font-size:10px;position:absolute;bottom:18px;left:24px}.lobby-caption{display:none}.lobby-form{padding:25px 24px}.lobby-form h1{font-size:27px}.eyeline{margin-bottom:13px;font-size:10px}.lobby-form>p{margin:9px 0 23px;font-size:11px}.lobby-form label{font-size:11px}.mode-options{gap:6px;margin:19px 0 21px}.mode-options>button{padding:13px 5px 11px}.mode-options>button>span{gap:8px;font-size:11px}.mode-options small{font-size:8px}.lobby-form .button.wide{min-height:49px;font-size:14px}.lobby-foot{margin-top:21px;font-size:9px}.lobby-foot>button{font-size:9px}.lobby-form>p.quiet-note{margin-top:17px;font-size:8px}.modal-backdrop{padding:14px}.dialog{border-radius:14px;max-height:calc(100svh - 28px);padding:23px}.dialog-heading h2{font-size:21px}.rule-block{gap:14px;padding:21px 0}.rule-block h3{font-size:14px}.rule-block p{font-size:11px}.rule-block>b{font-size:22px}.rule-hierarchy{gap:4px;font-size:9px}.rule-hierarchy svg{width:10px}.result-dialog{padding:29px 24px}.result-dialog h2{font-size:21px}.result-actions>.button{padding:11px 10px;font-size:12px}.result-rows>div>span{font-size:12px}.result-rows small{font-size:10px}.result-rows b{font-size:26px}.toast{gap:14px;padding:12px 14px;font-size:12px;bottom:16px}.connection-banner{padding:7px 14px;font-size:10px}.fullscreen-button{display:none}}@media (width<=700px) and (orientation:portrait){.hand-cards{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px 5px}.hand-cards>.playing-card{height:96px;min-height:0}.hand-cards>.playing-card .card-corner>b{font-size:27px}.hand-cards>.playing-card .card-suit{font-size:31px}.table-stage{height:292px}.seat-left .avatar,.seat-right .avatar{display:none}.seat-left,.seat-right{min-width:68px;max-width:79px;padding:8px 9px}.seat-left.active,.seat-right.active{padding:7px 8px}.seat-info strong{max-width:60px}.hand-cards .no-hand{height:95px}.table-play .playing-card{width:40px;height:61px}.table-play .card-corner>b{font-size:20px}.table-play .card-corner>span{font-size:14px}.table-play .card-suit{font-size:24px}}@media (width<=374px) and (orientation:portrait){.app-header{gap:4px;padding:0 12px}.wordmark{gap:4px;font-size:23px}.header-actions{gap:1px}.header-actions .icon-button{width:33px;min-width:33px;height:36px}.header-invite{gap:4px;padding:7px}.header-invite>b{font-size:10px}.header-invite svg{display:none}.game-main{padding:0 12px}.table-subheader{gap:4px;font-size:9px}.room-copy{gap:5px;font-size:8px}.hand-cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px 5px}.hand-cards>.playing-card{height:80px}.hand-cards>.playing-card .card-corner>b{font-size:24px}.hand-cards>.playing-card .card-corner>span{font-size:16px}.hand-cards>.playing-card .card-suit{font-size:27px;top:68%}.hand-instruction{max-width:83px;font-size:8px}.self-player strong{font-size:10px}.self-player>div>span{font-size:9px}.self-avatar{width:28px;height:28px}.self-avatar svg{width:17px}.exposure>small{max-width:31px;font-size:8px}.exposure>b{font-size:18px}.exposure{gap:0 5px;padding-left:7px}.action-bar{gap:5px;margin-top:10px}.action-bar .utility{width:38px;min-width:38px}.action-bar .button{gap:6px;padding:9px 8px;font-size:11px}.action-bar .play-button{min-width:108px}.action-bar .pass-button{min-width:65px}.table-stage{height:255px}.table-play{inset:90px 0 46px}.table-subheader>div{gap:4px}.lobby-form{padding:23px 19px}.large-wordmark{font-size:36px}.lobby-art{padding-left:20px}.lobby-deck{transform:scale(.52)}.mode-options small{font-size:7px}.mode-options>button>span{font-size:10px}}@media (height<=550px) and (orientation:landscape){.app-header{gap:18px;height:43px;padding:0 22px}.wordmark{gap:5px;font-size:25px}.wordmark svg{width:14px;display:block}.header-description{border:0;padding:0;font-size:10px;display:block}.header-actions{gap:9px}.header-actions .icon-button{background:0 0;border:0;width:30px;min-width:30px;height:30px}.header-actions .icon-button svg{width:17px}.header-invite{padding:5px 10px;font-size:10px}.header-invite>span{display:inline}.header-invite>b{font-size:11px}.fullscreen-button{display:inline-flex}.game-layout{display:block}.game-main{max-width:1100px;padding:0 23px}.table-subheader{z-index:4;pointer-events:none;height:20px;font-size:8px;position:absolute;top:49px;left:23px;right:23px}.table-subheader>div{gap:6px}.room-copy{pointer-events:auto;font-size:8px}.room-copy>svg{width:11px}.table-stage{width:81%;height:calc(100svh - 206px);min-height:143px;max-height:225px;margin:0 auto}.table-surround{border-radius:48%;padding:6px;inset:25px 0 8px;box-shadow:0 4px 10px #35583110}.felt{border-radius:50%;box-shadow:inset 0 0 0 3px #1c6a51,inset 0 0 0 4px #a3b88a66}.felt:after{inset:8px}.table-brand{font-size:35px}.table-brand>span{font-size:5px}.felt-suit{font-size:9px}.seat{border-radius:7px;gap:6px;min-width:90px;padding:4px 8px}.seat.active{padding:3px 7px;box-shadow:0 0 0 2px #2a8b6611}.seat .avatar{width:24px;height:24px;font-size:14px}.seat-info{grid-template-columns:1fr auto;gap:0 7px;display:grid}.seat-info strong{grid-column:1/3;max-width:80px;font-size:9px}.seat-info>span,.seat-info .seat-score{margin:0;font-size:8px}.seat-info small{display:none}.seat-top{min-width:110px;padding:3px 10px;top:2px}.seat-top.active{padding:2px 9px}.seat-left{top:53%;left:-38px}.seat-right{top:53%;right:-38px}.passed-label{font-size:7px;bottom:-14px}.top-card-backs{display:none}.table-play{gap:5px;inset:49px 0 27px}.table-play .playing-card{border-radius:4px;width:37px;height:53px;box-shadow:0 2px 4px #073c2d20}.table-play .card-corner{top:3px;left:3px}.table-play .card-corner>b{font-size:17px}.table-play .card-corner>span{font-size:12px}.table-play .card-suit{font-size:22px}.table-play .card-bottom{display:none}.play-caption{font-size:8px}.turn-indicator{gap:6px;padding:4px 15px;font-size:9px;bottom:0}.turn-indicator>span{font-size:8px}.empty-trick{gap:4px;padding-top:20px}.empty-trick>span{font-size:18px}.empty-trick>p{font-size:8px}.own-status{gap:9px;min-height:27px;margin:3px 0 9px}.self-avatar{width:26px;height:26px}.self-avatar svg{width:17px}.self-player{gap:7px}.self-player strong{font-size:9px}.self-player>div>span{font-size:8px}.self-player>div{gap:0}.self-player strong small{font-size:7px}.hand-instruction{max-width:none;font-size:8px;display:block}.exposure{align-items:center;gap:6px;padding-left:10px;display:flex}.exposure>small{max-width:none;font-size:8px}.exposure>b{font-size:18px}.exposure>span{font-size:8px}.hand-cards{grid-template-columns:repeat(var(--card-count),minmax(0,59px));gap:5px;min-height:0}.hand-cards>.playing-card{border-radius:5px;height:74px}.hand-cards>.playing-card .card-corner{top:4px;left:4px}.hand-cards>.playing-card .card-corner>b{font-size:24px}.hand-cards>.playing-card .card-corner>span{font-size:16px}.hand-cards>.playing-card .card-suit{font-size:27px;top:68%;left:57%}.hand-cards .card-bottom{display:none}.playing-card.selected{transform:translateY(-3px);box-shadow:0 0 0 1px #176b4f22}.selected-tick{width:13px;height:13px;font-size:9px;top:3px;right:3px}.hand-cards .no-hand{height:74px}.action-bar{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;justify-content:center;gap:7px;margin-top:7px;padding:0 0 5px;position:static}.action-bar .button{border-radius:6px;height:37px;min-height:37px;padding:8px 14px;font-size:10px}.action-bar .utility{width:auto;min-width:42px}.action-bar .utility>span{display:inline}.action-bar .button svg{width:14px}.action-spacer{display:none}.action-bar .play-button{flex:1.7;min-width:155px;max-width:215px;font-size:11px}.action-bar .pass-button{flex:1;min-width:90px;max-width:120px}.table-footer{width:43px;padding:0;position:absolute;top:83px;right:9px}.table-footer>span{display:none}.table-footer>div{flex-direction:column;gap:7px}.table-footer button{flex-direction:column;gap:1px;min-height:36px;padding:5px 2px;font-size:7px}.public-panel{z-index:45;background:#fcfdf9;width:300px;min-height:100svh;max-height:100svh;padding:20px 23px 0;display:none;position:fixed;inset:0 0 0 auto}.show-panel .public-panel{display:flex}.mobile-only{display:inline-flex!important}.desktop-only{display:none}.panel-heading{margin-bottom:13px}.score-row{margin-bottom:9px}.score-list{padding-bottom:4px}.public-panel .timeline-title{margin:14px 0}.public-panel .panel-footer{padding:10px 0}.waiting-table{gap:5px;inset:40px 10% 13px}.waiting-icon{display:none}.waiting-table h2{font-size:14px}.waiting-table p{max-width:none;font-size:9px}.waiting-table .button{min-height:28px;padding:5px 15px;font-size:10px}.pause-veil{font-size:12px;inset:25px 0 8px}.lobby{grid-template-columns:1fr 1.3fr;min-height:0;margin:15px 35px;display:grid}.lobby-art{border:0;border-right:1px solid #d8e3cf;height:auto;min-height:300px;padding:25px 30px;display:block}.large-wordmark{font-size:42px}.lobby-deck{transform-origin:0 0;height:120px;margin:10px 0 0 28px;transform:scale(.55)}.lobby-art>p{font-size:9px;position:absolute;bottom:20px;left:30px}.lobby-caption{display:none}.lobby-form{padding:20px 28px}.eyeline{margin-bottom:9px;font-size:9px}.lobby-form h1{font-size:23px}.lobby-form>p{margin:7px 0 11px;font-size:9px}.lobby-form label{margin-top:9px;font-size:9px}.lobby-form input{height:36px;padding:8px 12px;font-size:11px}.mode-options{margin:12px 0}.mode-options>button{padding:8px 4px}.mode-options>button>span{gap:4px;font-size:10px}.mode-options>button svg{width:15px}.mode-options small{font-size:7px}.lobby-form .button.wide{height:37px;min-height:37px;font-size:11px}.lobby-foot{margin-top:12px;font-size:8px}.lobby-foot>button{font-size:8px}.lobby-form>p.quiet-note{margin-top:10px;font-size:7px}.modal-backdrop{padding:12px}.dialog{max-height:calc(100svh - 24px);padding:22px}.result-dialog{max-width:610px;padding:20px 28px}.result-trophy{display:none}.result-dialog h2{margin:7px 0;font-size:19px}.result-dialog>p{font-size:10px}.result-rows{margin:14px 0}.result-rows>div{padding:6px 0}.result-rows b{font-size:23px}.result-rows>div>span{font-size:11px}.result-actions .button{min-height:36px;padding:7px 12px;font-size:11px}.toast{padding:9px 13px;font-size:10px;bottom:10px}.connection-banner{padding:5px;font-size:9px}}body{min-width:0}@media (width<=374px) and (orientation:portrait){.game-main{padding-left:10px;padding-right:10px}.hand-cards{column-gap:3px}.seat-left,.seat-right{min-width:58px;max-width:58px;padding:6px 7px}.seat-left.active,.seat-right.active{padding:5px 6px}.seat-info strong{max-width:46px}.table-play .playing-card{width:31px;height:51px}.table-play .card-corner{top:3px;left:3px}.table-play .card-corner>b{font-size:17px}.table-play .card-corner>span{font-size:12px}.table-play .card-suit{font-size:20px}.table-play .played-cards{gap:3px}.header-actions .icon-button{width:30px;min-width:30px}.header-invite{padding:7px 6px}}@media (width<=700px) and (height<=700px) and (orientation:portrait){.table-stage{height:210px}.table-play{inset:80px 0 39px}.top-card-backs{display:none}.table-surround{inset:35px -2px 21px}.seat-left,.seat-right{top:50%}.table-play .card-suit{top:68%}}@media (width<=750px) and (height<=550px) and (orientation:landscape){.hand-cards{gap:3px}}.queue-status{color:#c5dcb0;background:#3d5334;border:1px solid #6f8e58;border-radius:8px;justify-content:center;align-items:center;gap:12px;margin-top:13px;padding:8px 12px;font-size:12px;line-height:1.5;display:flex}.queue-status button{color:#d3e6bf;background:0 0;border-bottom:1px solid #9eb88b;min-height:25px;padding:3px 6px;font-size:11px}.button.is-queued{outline-offset:2px;outline:2px solid #adc98c}.queue-status+.action-bar{margin-top:10px}@media (width<=700px) and (orientation:portrait){.action-bar .pass-button.is-prepass{min-width:112px}.play-button.is-waiting svg{display:none}.action-bar .play-button.is-waiting{font-size:12px}}@media (width<=374px) and (orientation:portrait){.action-bar:has(.is-prepass) .clear-selection{display:none}.action-bar .play-button.is-waiting{font-size:11px}}@media (width<=700px){.queue-status{gap:9px;padding:6px 9px;font-size:10px}.queue-status button{font-size:10px}.pass-button{gap:5px!important;font-size:10px!important}.pass-button svg{width:15px}}@media (height<=550px) and (orientation:landscape){.queue-status{z-index:30;white-space:nowrap;max-width:55vw;margin:0;padding:4px 9px;font-size:9px;position:fixed;top:48px;left:50%;transform:translate(-50%);box-shadow:0 2px 10px #14211644}.queue-status button{min-height:22px;font-size:9px}.queue-status+.action-bar{margin-top:7px}.table-stage{height:calc(100svh - 213px)}.action-bar .button{height:44px;min-height:44px}.action-bar .utility{min-width:44px}}.app-header{background:#2a3730;border-color:#405044}.wordmark{color:#d4ddca}.header-description{color:#99a98f}.icon-button{color:#a6b99a;background:#2b3a31;border-color:#435640}.button.primary{color:#21301f;box-shadow:none;background:#91ab80;border-color:#91ab80;font-weight:600}.button.primary:not(:disabled):hover{box-shadow:none;background:#a2b991}.button.secondary,.button.utility,.pass-button{color:#c0cfb2;background:#2c3b31;border-color:#4b5e43}.button.secondary:not(:disabled):hover,.button.utility:not(:disabled):hover,.pass-button:not(:disabled):hover{background:#3a4d35}.connection-banner{color:#d5cfa0;background:#504c33;border-color:#6d6440}.table-subheader{color:#99ab8d}.table-surround{background:#52664b;box-shadow:0 6px 13px #15201919,inset 0 0 0 1px #6d7e5e}.felt{background:#355e49;border-color:#6d8760;box-shadow:inset 0 0 0 5px #355e49,inset 0 0 0 6px #6f895a88}.felt:after{border-color:#89a56d55}.felt-suit{color:#86a06b77}.table-brand{color:#b2c49716}.seat{background:#2d3c31;border-color:#526547;box-shadow:0 2px 6px #1a261a17}.seat-info strong{color:#d2ddc4}.avatar{color:#bccca8;background:#3e5138;border-color:#596e4c}.seat-info>span{color:#a7bb95}.seat-info small{color:#819773}.seat-info .seat-score{color:#aec494}.seat.active{border-color:#a7c389;box-shadow:0 0 0 3px #a7c38917}.seat-active-mark{background:#b4ce96}.passed-label{color:#c3d2b0;background:#49613d}.card-back{background:#71865e;border-color:#a7ba91;box-shadow:0 1px 2px #17231920}.card-back span{color:#b8c8a2}.playing-card{color:#243a2b;background:#d9dfd0;border-color:#c4ceba;box-shadow:0 2px 3px #14221824}button.playing-card.selected:not(:disabled):hover{box-shadow:0 0 0 3px #a1be793a}.table-play .playing-card{border-color:#c8d2bc;box-shadow:0 3px 6px #182b1d25}.play-caption{color:#d3dfc0}.turn-indicator{color:#aec299;background:#364b33;border-color:#536f46}.turn-indicator.yours{color:#d0e4b6;box-shadow:none;background:#425b37;border-color:#9bbd79}.turn-indicator>span{color:#91aa7a}.waiting-table>p{color:#a5bf8f}.waiting-table .button{color:#263b24;background:#9ab685;border-color:#a7c28c}.pause-veil{color:#c5dca9;background:#294534e8}.self-player strong{color:#d0dfbe}.self-player>div>span{color:#9bb389}.hand-instruction{color:#93a985}.exposure>small{color:#96ab85}.exposure>span{color:#8fa77c}.hand-cards .no-hand{color:#94ae7c;border-color:#4c6441}.action-spacer{color:#a4ba91}.public-panel{background:#29372e;border-color:#40543a}.panel-heading h2{color:#c1d3ad}.small-caps,.panel-heading .small-caps{color:#829b70}.score-list{border-color:#40543a}.score-row>span:nth-child(2){color:#bace9f}.score-row em{color:#7d986a}.score-row>b{color:#99b17f}.mini-avatar{color:#94b078;background:#354b2d}.score-row small{color:#a4c485;background:#3d5731}.score-row.self .mini-avatar{color:#b8d49c;background:#466138}.timeline-title h3{color:#bace9f}.timeline-title>span{color:#7e9a69}.pile-entry>div>span{color:#809e69}.passed-seats>span{color:#8fae76;border-color:#49603c}.panel-shade{background:#111d1566}.lobby-art>p{color:#9fba87}.lobby-caption{color:#78965e}.eyeline{color:#92b279}.lobby-form>p{color:#99b281}.lobby-form label{color:#adc594}.lobby-foot{color:#8eae76}.lobby-form>p.quiet-note{color:#6c8e53}.dialog{color:#c5d9ad;background:#2d402f;border-color:#526e41;box-shadow:0 15px 55px #0c1a0b55}.dialog-heading{border-color:#435f34}.dialog-heading .small-caps{color:#80a265}.rule-block{border-color:#435f34}.rule-block>b{color:#8fae73}.rule-block p{color:#a3be8a}.rule-hierarchy{color:#b0cd94}.multiplier-grid,.multiplier-grid>div{border-color:#4b693a}.multiplier-grid b{color:#a3c18a}.multiplier-grid span{color:#b6d49b}.result-dialog>p{color:#8dac76}.result-rows>div{border-color:#48653a}.result-rows small{color:#88a86f}.exit-dialog p{color:#9ab97f}@media (width<=700px){.header-actions .icon-button{background:0 0}.header-invite{background:#364c31}.action-bar{background:#242f2bf5}.public-panel{background:#29372e}.lobby-art{border-color:#49623d}}@media (height<=550px) and (orientation:landscape){.app-header{background:#2a3730}.action-bar{background:0 0}.public-panel{background:#29372e}.lobby-art{border-color:#49623d}.felt{box-shadow:inset 0 0 0 3px #355e49,inset 0 0 0 4px #6f895a88}.table-surround{box-shadow:0 4px 8px #15201919}.table-play .playing-card{border-color:#c8d2bc}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:root{color:#dedfd7;--ink:#dedfd7;--surface:#30373b;--line:#465055;--muted:#a8b1b2;--green:#c8ab7d;--cream:#dfddd1;--lime:#c8ab7d;background:#252c2f}body{overflow-x:hidden}button:focus-visible,input:focus-visible{outline-color:#d6bd96}.app-header{background:#30373b;border-color:#454f52;gap:22px;height:70px;padding:0 32px}.wordmark{color:#e0ded2;letter-spacing:.2px;font-size:32px}.wordmark svg{color:#abb9b7}.header-description,.small-caps{color:#a8b1b2}.header-invite{color:#cbd0ca;background:#3a4245;border-color:#566164}.header-actions{gap:9px}.button{border-radius:9px;min-height:48px;font-size:14px;font-weight:500}.button.primary{color:#252c2f;box-shadow:none;background:#c8ab7d;border:1px solid #c8ab7d;font-weight:600}.button.primary:not(:disabled):hover{background:#d6bd96;border-color:#d6bd96;box-shadow:0 3px 10px #141b1e30}.button.secondary,.button.utility,.pass-button{color:#dedfd7;background:#30373b;border:1px solid #627074}.button:disabled{opacity:.42}.text-button{color:#c7ceca}.positive{color:#a8c1b4!important}.negative{color:#d5a296!important}.game-layout{max-width:none;display:block;position:relative}.game-main{width:100%;max-width:1160px;margin:0 auto;padding:0 24px}.table-subheader{color:#b2bcbc;height:52px;font-size:13px}.table-subheader>div{gap:10px}.live-dot{background:#9ab9a8;width:7px;height:7px}.table-details{color:#d0d7d2;white-space:nowrap;background:0 0;border:1px solid #536065;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:8px 12px;font-size:13px;display:inline-flex}.room-copy{color:#b2bcbc}.room-copy b{color:#dedfd7}.table-stage{width:100%;max-width:1000px;height:370px;margin:0 auto 4px}.felt:after,.felt-suit,.table-brand{display:none}.seat{background:#30373b;border:1px solid #5d696c;border-radius:11px;gap:10px;min-width:145px;padding:10px 13px;box-shadow:0 3px 8px #10191c38}.seat-top{top:0}.seat.active{border:2px solid #c8ab7d;padding:9px 12px;box-shadow:0 0 0 2px #c8ab7d18,0 3px 8px #10191c38}.seat-info{gap:3px}.seat-info>span{color:#bec9c7;gap:7px;font-size:12px}.seat-info small{color:#9caeaf;font-size:10px}.seat-info .seat-count{color:#d1dad6;align-items:baseline;gap:4px;display:flex}.seat-count b{font-size:15px;font-weight:600;line-height:1}.seat-info .seat-score{color:#a8b6b8;margin:0;font:11px Noto Sans Thai,sans-serif}.avatar{color:#e0e9e7;background:#486c7b;border:1px solid #7593a0;width:39px;height:39px;font-family:Arial,sans-serif;font-size:21px}.seat-left .avatar{background:#8b624a;border-color:#b68a68}.seat-right .avatar{background:#69775b;border-color:#98a180}.avatar i{background:#738789;border-color:#30373b}.avatar i.online{background:#a8c6ac}.passed-label{color:#ccd8d1;background:#3b5350;border:1px solid #637e74;font-size:10px;bottom:-20px}.big2-label{color:#d5b58d}.top-card-backs{top:76px}.card-back{background:#465d65;border:1px solid #829496;border-radius:3px;width:21px;height:30px;margin-left:-5px;box-shadow:0 2px 3px #0d262c33}.card-back span{color:#a2b8b8;font-size:12px}.table-play{gap:11px;inset:112px 100px 49px}.played-cards{gap:7px;max-width:100%}.playing-card{color:#202e31;aspect-ratio:.7;background:#dfddd1;border:1px solid #c7c8bc;border-radius:7px;width:78px;height:auto;box-shadow:0 2px 5px #0c181c3d}.playing-card.red{color:#a1423e}.card-corner{font-family:Georgia,Times New Roman,serif;line-height:1;top:7px;left:7px}.card-corner>b{letter-spacing:-1px;font-family:Georgia,Times New Roman,serif;font-size:31px;font-weight:400;line-height:1}.card-corner>span{font-size:17px;line-height:1.1}.card-suit{font-family:Georgia,Times New Roman,serif;font-size:34px;line-height:1;inset:auto 9px 8px auto;transform:none}.card-bottom{display:none}.playing-card.selected{background:#dad5c5;border:2px solid #c8ab7d;transform:translateY(-3px);box-shadow:0 0 0 1px #c8ab7d65,0 4px 7px #111a1c3d}.playing-card.selected .card-corner{top:6px;left:6px}.selected-tick{color:#f1e7d2;background:#866c45;width:17px;height:17px;font-size:11px;top:5px;right:5px}button.playing-card:not(:disabled):hover{border-color:#b8c6c2;box-shadow:0 0 0 1px #b8c6c250}button.playing-card.selected:not(:disabled):hover{border-color:#d8bd93;box-shadow:0 0 0 2px #c8ab7d70}.playing-card:disabled{opacity:1}.table-play .playing-card{aspect-ratio:.7;border-color:#c8c9bd;width:64px;height:auto;box-shadow:0 5px 9px #0c352b40}.table-play .card-corner>b{font-size:29px}.table-play .card-suit{font-size:30px;bottom:7px;right:7px}.play-caption{color:#e0e5db;text-align:center;font-size:13px;line-height:1.4}.play-caption>span{color:#b7cfbf}.empty-trick>span{opacity:.7;font-size:23px}.empty-trick>p{font-size:13px}.turn-indicator{color:#d2ddd3;box-shadow:none;background:#304744;border:1px solid #5a7c6b;padding:7px 20px;font-size:13px;line-height:1.5;bottom:5px}.turn-indicator.yours{color:#242e2f;box-shadow:none;background:#c8ab7d;border-color:#c8ab7d;font-weight:600}.turn-indicator>span{color:#bacbc3;font-size:11px}.own-status{gap:12px;min-height:46px;margin:7px 0 16px}.self-player{gap:10px}.self-player strong{color:#e0e2da;font-size:14px;font-weight:500}.self-player strong small{color:#b9c9c0;background:#3a4b46;font-size:10px}.self-avatar{color:#dde5d7;background:#6b765f;border-color:#8b9d83;width:36px;height:36px}.exposure{border-color:#526164;gap:1px 11px;padding-left:15px}.exposure>b{color:#e2dfd3;font-size:23px;font-weight:400}.hand-cards{grid-template-columns:repeat(var(--card-count),minmax(0,80px));isolation:isolate;align-items:start;gap:7px 6px;min-height:0}.hand-cards>.playing-card{aspect-ratio:.7;width:100%;min-width:0;height:auto;min-height:0}.hand-cards>.playing-card .card-corner>b{font-size:31px}.hand-cards>.playing-card .card-suit{font-size:34px;inset:auto 9px 9px auto}.hand-cards .no-hand{color:#abbab4;background:#293236;border-color:#5e706c;height:90px}.queue-status{color:#b9c5c0;max-width:none;min-height:27px;box-shadow:none;text-align:center;white-space:normal;background:0 0;border:0;border-radius:0;gap:12px;margin:12px 0 0;padding:0;font-size:13px;line-height:1.5;position:static;transform:none}.queue-status button{color:#d2b78e;background:0 0;border:0;border-bottom:1px solid #a98e65;min-height:27px;padding:2px 3px;font-size:12px}.action-bar,.queue-status+.action-bar{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;justify-content:flex-start;gap:10px;margin-top:15px;padding:0;position:static}.action-bar .button{height:auto;min-height:50px;padding:12px 18px;font-size:14px}.action-bar .utility{color:#c6cfca;background:#30373b;border-color:#5b686b}.action-spacer{color:#b1bebb;font-size:12px}.action-bar .play-button{min-width:170px}.action-bar .pass-button{min-width:105px;gap:8px!important;font-size:14px!important}.button.primary.is-waiting{color:#d8dfd8;box-shadow:none;background:#3c484c;border-color:#6d7d7f}.button.is-queued,.button.primary.is-queued{color:#cad7d0;box-shadow:none;background:#303b3d;border:1px solid #7e9690;outline:none;font-weight:400}.table-footer{color:#91a29f;padding:16px 0 19px;font-size:11px}.table-footer button{color:#c1cdc4;min-height:36px;padding:5px 7px;font-size:12px}.panel-shade{display:none}.public-panel{z-index:46;background:#30393c;border-left:1px solid #58696b;width:330px;min-height:100svh;max-height:100svh;padding:23px 24px 0;display:none;position:fixed;top:0;bottom:0;right:0;box-shadow:-14px 0 36px #10171c55}.show-panel .public-panel{display:flex}.show-panel .panel-shade{z-index:45;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#10181e91;display:block;position:fixed;inset:0}.public-panel .score-list{display:none}.panel-heading{gap:10px;margin-bottom:13px}.panel-heading h2{color:#dedfd7;font-size:18px}.panel-heading .icon-button{margin-left:auto}.timeline-title{margin:17px 0 7px}.timeline-title h3{color:#cdd8cf;font-size:14px}.timeline-title>span,.pile-entry>div>span{color:#a4b9b1;font-size:12px}.pile-entry{border-color:#4d615e;padding:15px 0}.pile-entry strong{color:#d7dfd7;font-size:14px}.tiny-cards{gap:5px}.playing-card.small{aspect-ratio:.7;width:38px;height:auto;box-shadow:none}.playing-card.small .card-corner>b{font-size:20px}.playing-card.small .card-corner>span{font-size:15px}.passed-seats>span{color:#b4c6ba;border-color:#637b70;font-size:11px}.empty-panel{color:#b3c4bc}.panel-footer{color:#9bada7;border-color:#52645e;font-size:11px;line-height:1.65}.waiting-table{color:#e0e5dc}.waiting-table>p{color:#bad0c2;font-size:13px}.waiting-table .button{color:#252c2f;background:#c8ab7d;border-color:#c8ab7d;min-height:44px;font-size:14px}.waiting-icon{color:#d3e2d3;background:#255d4c;border-color:#729682}.pause-veil{color:#e1e5d7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#243f38ed}.lobby{background:#30373b;border-color:#526064;box-shadow:0 12px 36px #11191d30}.large-wordmark{color:#dfddd1}.large-wordmark em{color:#b7c8c3}.lobby-deck>div{color:#253538;background:#dfddd1;border-color:#c4c7bd;box-shadow:0 6px 14px #14232645}.lobby-deck>div:nth-child(3){color:#a1423e}.lobby-art>p,.lobby-form>p,.lobby-form label,.lobby-foot{color:#b0c0bd}.lobby-caption,.eyeline,.lobby-form>p.quiet-note{color:#9daead}.lobby-form h1{color:#e2e1d7}.lobby-form input{color:#e0e3d8;background:#283236;border-color:#627476}.lobby-form input::placeholder{color:#92a5a5}.mode-options>button>span{color:#d2ddd4}.mode-options small{color:#9fb6ac}.lobby-foot>button{color:#d0b68e}.toast{color:#e1ddc8;background:#424c47;border-color:#86917b;box-shadow:0 6px 25px #10191e55}.toast>button{color:#cbd5c5}.dialog{color:#dedfd7;background:#303b3e;border-color:#637476}.dialog-heading,.rule-block{border-color:#536767}.rule-block p,.exit-dialog p,.result-dialog>p{color:#b3c5bd}.rule-block>b,.multiplier-grid span,.rule-hierarchy{color:#bcd0c2}.multiplier-grid,.multiplier-grid>div,.result-rows>div{border-color:#5e746c}.multiplier-grid b,.result-rows small{color:#aec4b7}.result-trophy{color:#cddfc6;background:#42584c;border-color:#6c8c74}.result-rows>div.winner>span{color:#c5dbbf}@media (width<=700px){.app-header{gap:10px;height:60px;padding:0 16px}.wordmark{gap:3px;font-size:27px}.wordmark svg,.header-description{display:none}.header-actions{gap:5px}.header-actions .icon-button{background:0 0;border:0;width:36px;min-width:36px;height:40px}.header-actions .icon-button svg{width:20px}.header-invite{background:#3b4547;gap:5px;padding:8px 10px}.header-invite>span{display:none}.header-invite>b{letter-spacing:1px;font-size:12px}.header-invite svg{width:15px}.game-main{padding:0 16px}.table-subheader{height:44px;font-size:12px}.table-subheader>div{gap:7px}.table-details{gap:6px;min-height:38px;padding:6px 9px;font-size:12px}.table-details svg{width:16px}.table-stage{width:100%;height:280px;margin-bottom:0}.table-surround{border-radius:50%;padding:6px;inset:42px -3px 22px;box-shadow:0 7px 15px #111a1d45}.seat{border-radius:9px;gap:7px;min-width:91px;padding:7px 9px}.seat.active{padding:6px 8px}.seat .avatar{width:28px;height:28px;font-size:16px}.seat-info{gap:3px}.seat-info strong{max-width:100px;font-size:12px}.seat-info>span{font-size:11px}.seat-info small{display:none}.seat-count b{font-size:14px}.seat-count small{font-size:10px;display:inline}.seat-info .seat-score{font-size:10px}.seat-top{min-width:129px;top:0}.seat-left,.seat-right{gap:0;min-width:78px;max-width:83px;padding:8px;top:47%}.seat-left.active,.seat-right.active{padding:7px}.seat-left{left:-5px}.seat-right{right:-5px}.seat-left .avatar,.seat-right .avatar{display:none}.seat-left .seat-info strong,.seat-right .seat-info strong{max-width:66px}.top-card-backs{top:65px}.card-back{width:18px;height:25px;margin-left:-5px}.card-back span{font-size:10px}.table-play{gap:9px;inset:106px 68px 47px}.table-play .playing-card{aspect-ratio:.7;border-radius:5px;width:42px;height:auto}.table-play .card-corner{top:5px;left:5px}.table-play .card-corner>b{font-size:22px}.table-play .card-corner>span{display:none}.table-play .card-suit{font-size:25px;bottom:5px;right:5px}.played-cards{gap:4px}.played-cards:has(>:nth-child(5)) .playing-card{width:33px}.played-cards:has(>:nth-child(5)) .card-corner>b{font-size:19px}.played-cards:has(>:nth-child(5)) .card-suit{font-size:21px;bottom:4px;right:3px}.play-caption{white-space:nowrap;font-size:11px}.turn-indicator{padding:6px 14px;font-size:12px;bottom:5px}.turn-indicator>span{font-size:10px}.own-status{gap:8px;min-height:41px;margin:8px 0 12px}.self-avatar{width:31px;height:31px}.self-avatar svg{width:20px}.self-player{gap:7px}.self-player strong{font-size:12px}.self-player strong small{font-size:9px}.self-player>div>span{font-size:11px}.hand-instruction{text-align:center;max-width:100px;font-size:11px;line-height:1.5}.exposure{gap:0 6px;padding-left:8px}.exposure>small{max-width:37px;font-size:10px;line-height:1.4}.exposure>b{font-size:21px}.exposure>span{font-size:10px}.hand-cards{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px 5px;min-height:0}.hand-cards>.playing-card{aspect-ratio:.7;border-radius:6px;height:auto;min-height:0}.hand-cards>.playing-card .card-corner,.hand-cards>.playing-card.selected .card-corner{top:5px;left:5px}.hand-cards>.playing-card .card-corner>b{letter-spacing:-1px;font-size:22px;line-height:1}.hand-cards>.playing-card .card-corner>span{display:none}.hand-cards>.playing-card .card-suit{font-size:26px;inset:auto 5px 5px auto}.selected-tick{width:13px;height:13px;font-size:9px;top:4px;right:3px}.playing-card.selected{transform:translateY(-3px);box-shadow:0 0 0 1px #c8ab7d70,0 3px 5px #111a1c33}.queue-status{gap:8px;min-height:27px;margin-top:8px;font-size:11px;line-height:1.5}.queue-status button{min-height:30px;padding:3px;font-size:11px}.action-bar,.queue-status+.action-bar{z-index:20;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#252c2ff5;gap:7px;margin-top:11px;padding:8px 0 10px;position:sticky;bottom:0}.action-bar .button{border-radius:8px;gap:6px;height:auto;min-height:48px;padding:10px 11px;font-size:13px}.action-bar .button svg{width:17px}.action-bar .utility{flex:0 0 44px;width:44px;min-width:44px;padding:10px}.action-bar .utility>span,.action-spacer{display:none}.action-bar .play-button,.action-bar .play-button.is-waiting{flex:1.4;min-width:0;padding:10px 8px;font-size:14px}.action-bar .pass-button,.action-bar .pass-button.is-prepass{flex:1;min-width:0;padding:10px 8px;gap:5px!important;font-size:13px!important}.action-bar .play-button.is-waiting svg{display:none}.action-bar:has(.is-prepass) .clear-selection{display:none}.table-footer{padding:12px 0 15px;font-size:10px}.table-footer>div{gap:6px}.table-footer button{min-height:34px;padding:3px 4px;font-size:11px}.public-panel{width:min(330px,92vw);padding:20px 20px 0}.panel-shade{display:none}.show-panel .panel-shade{display:block}.waiting-table{gap:8px;inset:89px 16% 37px}.waiting-table>h2{font-size:17px}.waiting-table>p{font-size:11px;line-height:1.6}.waiting-table .button{min-height:44px;padding:9px 14px;font-size:12px}.waiting-icon{display:none}.pause-veil{inset:42px -3px 22px}.lobby-art{border-color:#526467}.lobby-form input{min-height:48px;font-size:16px}.dialog{border-radius:12px}.rule-block p{font-size:12px}}@media (width>=375px) and (width<=389px) and (orientation:portrait){.game-main{padding-left:8px;padding-right:8px}}@media (width<=374px) and (orientation:portrait){.app-header{gap:6px;padding:0 11px}.wordmark{font-size:25px}.header-actions{gap:2px}.header-actions .icon-button{width:33px;min-width:33px;height:40px}.header-invite{padding:8px 7px}.header-invite svg{display:none}.game-main{padding:0 10px}.table-subheader{font-size:11px}.table-subheader>div{gap:5px}.table-details{min-height:38px;padding:6px 8px}.table-details small{font-size:10px}.table-stage{height:244px}.table-surround{inset:40px -2px 20px}.seat-left,.seat-right{min-width:68px;max-width:68px;padding:7px}.seat-left.active,.seat-right.active{padding:6px}.seat-left .seat-info strong,.seat-right .seat-info strong{max-width:54px;font-size:11px}.top-card-backs{top:64px}.table-play{inset:95px 59px 42px}.table-play .playing-card{width:36px}.played-cards:has(>:nth-child(5)) .playing-card{width:29px}.played-cards:has(>:nth-child(5)) .card-corner{top:4px;left:3px}.played-cards:has(>:nth-child(5)) .card-corner>b{font-size:17px}.played-cards:has(>:nth-child(5)) .card-suit{font-size:19px}.hand-cards{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px 4px}.hand-cards>.playing-card{aspect-ratio:.7;height:auto}.hand-cards>.playing-card .card-corner>b{font-size:22px}.hand-cards>.playing-card .card-suit{font-size:26px}.self-player strong{font-size:11px}.self-player>div>span{font-size:10px}.self-avatar{width:28px;height:28px}.hand-instruction{max-width:76px;font-size:10px}.exposure>small{max-width:31px;font-size:9px}.exposure>b{font-size:20px}.action-bar{gap:6px}.action-bar .utility{flex-basis:44px;width:44px;min-width:44px}.action-bar .button{min-height:48px;padding:10px 7px;font-size:11px}.action-bar .play-button,.action-bar .play-button.is-waiting{font-size:11px}.action-bar .pass-button{font-size:11px!important}.queue-status{gap:6px;font-size:10px}.table-footer{font-size:9px}.table-footer button{font-size:10px}}@media (width<=700px) and (height<=700px) and (orientation:portrait){.table-stage{height:214px}.table-surround{inset:34px -2px 18px}.top-card-backs{display:none}.table-play{inset:78px 64px 40px}.seat-left,.seat-right{top:47%}.turn-indicator{padding:5px 12px;font-size:11px;bottom:0}.own-status{margin:7px 0 10px}.table-footer{padding:8px 0 12px}}@media (height<=550px) and (orientation:landscape){.app-header{gap:16px;height:44px;padding:0 18px}.wordmark{font-size:26px}.wordmark svg,.header-description{display:none}.header-actions{gap:6px}.header-actions .icon-button{background:0 0;width:32px;min-width:32px;height:34px}.header-invite{padding:5px 9px}.header-invite>b{font-size:11px}.game-layout{display:block}.game-main{max-width:1160px;padding:0 14px}.table-subheader{pointer-events:auto;height:24px;font-size:10px;position:relative;inset:auto}.table-subheader>div{gap:6px}.table-details{gap:4px;min-height:24px;padding:2px 6px;font-size:10px}.table-details svg{width:13px}.table-details small{font-size:9px}.table-stage{width:86%;height:calc(100svh - 250px);min-height:110px;max-height:150px;margin:0 auto}.table-surround{border-radius:50%;padding:5px;inset:22px 0 10px;box-shadow:0 5px 12px #10191d30}.felt{box-shadow:inset 0 2px 8px #0a35252e}.seat{border-radius:8px;gap:6px;min-width:104px;padding:4px 8px}.seat.active{padding:3px 7px}.seat .avatar{width:25px;height:25px;font-size:15px}.seat-info{grid-template-columns:1fr auto;gap:1px 7px;display:grid}.seat-info strong{grid-column:1/3;max-width:105px;font-size:11px}.seat-info>span{font-size:10px}.seat-info small{display:none}.seat-info .seat-count{gap:3px;font-size:10px}.seat-count b{font-size:12px}.seat-count small{font-size:9px;display:inline}.seat-info .seat-score{margin:0;font-size:9px}.seat-top{min-width:118px;top:0}.seat-left{top:51%;left:-35px}.seat-right{top:51%;right:-35px}.seat-left .avatar,.seat-right .avatar{display:flex}.top-card-backs{display:none}.passed-label{padding:0 8px;font-size:8px;bottom:-15px}.table-play{gap:5px;inset:43px 80px 23px}.table-play .playing-card{aspect-ratio:.7;border-radius:4px;width:34px;height:auto}.table-play .card-corner{top:3px;left:4px}.table-play .card-corner>b{font-size:19px}.table-play .card-corner>span{display:none}.table-play .card-suit{font-size:22px;bottom:4px;right:4px}.played-cards{gap:4px}.played-cards:has(>:nth-child(5)) .playing-card{width:31px}.play-caption{white-space:nowrap;font-size:10px}.turn-indicator{padding:3px 13px;font-size:10px;line-height:1.4;bottom:0}.turn-indicator>span{font-size:9px}.empty-trick{gap:4px;padding-top:17px}.empty-trick>span{font-size:16px}.empty-trick>p{font-size:10px}.own-status{gap:8px;min-height:28px;margin:3px 0 8px}.self-avatar{width:26px;height:26px}.self-avatar svg{width:17px}.self-player{gap:7px}.self-player strong{font-size:11px}.self-player>div>span{font-size:10px}.self-player>div{gap:0}.self-player strong small{font-size:8px}.hand-instruction{max-width:none;font-size:10px;display:block}.exposure{align-items:center;gap:6px;padding-left:10px;display:flex}.exposure>small{max-width:none;font-size:10px}.exposure>b{font-size:19px}.exposure>span{font-size:10px}.hand-cards{grid-template-columns:repeat(var(--card-count),minmax(0,58px));gap:4px;min-height:0}.hand-cards>.playing-card{aspect-ratio:.7;border-radius:5px;height:auto}.hand-cards>.playing-card .card-corner,.hand-cards>.playing-card.selected .card-corner{top:4px;left:5px}.hand-cards>.playing-card .card-corner>b{font-size:22px}.hand-cards>.playing-card .card-corner>span{display:none}.hand-cards>.playing-card .card-suit{font-size:26px;inset:auto 5px 4px auto}.selected-tick{width:13px;height:13px;font-size:9px;top:4px;right:3px}.queue-status{z-index:30;white-space:nowrap;max-width:53vw;min-height:20px;box-shadow:none;background:#303b3de8;border:0;border-radius:4px;gap:7px;margin:0;padding:1px 6px;font-size:10px;position:fixed;top:47px;left:50%;transform:translate(-50%)}.queue-status button{min-height:20px;padding:0 2px;font-size:10px}.action-bar,.queue-status+.action-bar{background:0 0;justify-content:center;gap:7px;margin-top:7px;padding:0 0 6px;position:static}.action-bar .button{border-radius:7px;height:44px;min-height:44px;padding:9px 13px;font-size:12px}.action-bar .utility{flex:none;width:auto;min-width:44px}.action-bar .utility>span{display:inline}.action-bar .button svg{width:16px}.action-spacer{display:none}.action-bar .play-button,.action-bar .play-button.is-waiting{flex:1.6;min-width:145px;max-width:220px;font-size:12px}.action-bar .pass-button,.action-bar .pass-button.is-prepass{flex:1;min-width:105px;max-width:150px;font-size:12px!important}.action-bar .play-button.is-waiting svg,.table-footer{display:none}.public-panel{width:310px;padding:16px 21px 0}.public-panel .panel-heading{margin-bottom:6px}.public-panel .timeline-title{margin:10px 0 5px}.waiting-table{gap:5px;inset:39px 12% 18px}.waiting-table h2{font-size:14px}.waiting-table p{max-width:none;font-size:10px}.waiting-table .button{min-height:36px;padding:5px 14px;font-size:11px}.waiting-icon{display:none}.pause-veil{font-size:12px;inset:22px 0 10px}.lobby-art{border-color:#526467}}@media (width<=750px) and (height<=550px) and (orientation:landscape){.action-bar .utility>span{display:none}.action-bar .utility{flex:0 0 44px;width:44px;padding:9px}.action-bar .clear-selection{display:none}.action-bar .play-button,.action-bar .play-button.is-waiting{min-width:140px}.seat{min-width:94px}.seat-left{left:-31px}.seat-right{right:-31px}.seat-info strong{max-width:89px}.hand-cards{gap:4px}}@media (height<=550px) and (orientation:landscape){.action-bar,.queue-status+.action-bar{padding-bottom:2px}}@media (width<=374px) and (orientation:portrait){.seat-left,.seat-right{min-width:62px;max-width:62px;padding:6px}.seat-left.active,.seat-right.active{padding:5px}.played-cards{gap:3px}.played-cards:has(>:nth-child(5)) .playing-card{width:27px}}@media (width<=700px) and (orientation:portrait){.lobby-art{height:165px;padding:25px 24px;display:block}.large-wordmark{white-space:nowrap;max-width:none;font-size:37px}.lobby-deck{transform-origin:0 0;width:140px;margin:0;position:absolute;top:27px;right:-15px;transform:scale(.48)}.lobby-art>p{font-size:11px;bottom:17px;left:24px}}@media (width<=374px) and (orientation:portrait){.large-wordmark{font-size:32px}.lobby-art{padding-left:20px}.lobby-art>p{font-size:10px;left:20px}}:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}.app{padding-inline:var(--safe-left) var(--safe-right)}button{touch-action:manipulation}.hand-cards{padding-top:4px;padding-bottom:4px}.hand-scroll-hint{color:#c8ab7d;font-size:inherit;white-space:nowrap}.selection-clear{color:#dedfd7;background:#30373b;border:1px solid #627074;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:4px 8px;font-size:12px;display:inline-flex}.selection-clear>span:last-child{color:#d2b78e;align-items:center;gap:4px;display:flex}.selection-count{display:none}.trick-pile{--pile-card-width:48px;--pile-card-height:68px;--pile-peek:30px;--pile-name-width:88px;--pile-card-gap:4px;--pile-rank-size:20px;--pile-suit-size:16px;--pile-body-suit:26px;--pile-fan:7px;width:calc(var(--pile-name-width) + 4px + var(--pile-columns) * var(--pile-card-width) + (var(--pile-columns) - 1) * var(--pile-card-gap) + var(--pile-fan-steps) * var(--pile-fan) + 8px);pointer-events:auto;align-items:center;max-width:100%;height:100%;min-height:0;display:flex;position:relative}.pile-scroll{overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#a2b4a5 #164d43;width:100%;max-height:100%;padding:2px 2px 4px;overflow:hidden auto}.pile-play{height:var(--pile-peek);align-items:flex-start;gap:4px;display:flex;position:relative}.pile-play.is-latest{height:var(--pile-card-height)}.pile-player{flex:0 0 var(--pile-name-width);color:#d0e0d6;align-items:center;gap:4px;min-width:0;padding-top:5px;font-size:11px;line-height:18px;display:flex}.pile-order{color:var(--player-color,#a6bfb1);text-align:center;border:1px solid;border-radius:4px;flex-shrink:0;width:16px;height:16px;font:10px/16px Arial,sans-serif}.pile-player-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pile-cards{gap:var(--pile-card-gap);margin-left:calc(var(--pile-fan-step) * var(--pile-fan));display:flex}.pile-card{width:var(--pile-card-width);height:var(--pile-card-height);background:#c7cec1;border:1px solid #bfc8ba;border-radius:5px;flex-shrink:0;font-family:Georgia,Times New Roman,serif;position:relative;box-shadow:0 2px 3px #0c352b55}.pile-card-index{white-space:nowrap;justify-content:center;align-items:baseline;gap:1px;padding:3px 1px 0;line-height:1;display:flex}.pile-card-index b{font-size:var(--pile-rank-size);font-weight:400}.pile-card-index>span{font-size:var(--pile-suit-size)}.pile-card-pip{font-size:var(--pile-body-suit);line-height:1;position:absolute;bottom:4px;right:4px}.pile-play.is-covered .pile-card-pip{display:none}.pile-play.is-latest .pile-card{background:#dfddd1;border-color:#ddd8c7}.pile-card.card-spades{color:#25323d}.pile-scroll-hint{color:#d2dfd5;pointer-events:none;font-size:12px;line-height:16px;position:absolute;top:2px;right:-9px}@media (width<=700px){.app-header{padding-top:var(--safe-top);height:calc(60px + var(--safe-top))}.hand-cards>button{scroll-margin:5px}.hand-cards{grid-template-columns:repeat(var(--hand-columns), minmax(44px, 58px));justify-content:safe center}.action-bar,.queue-status+.action-bar{padding-bottom:max(10px, var(--safe-bottom));-webkit-backdrop-filter:none;backdrop-filter:none;position:static}.selection-clear{flex-direction:column;gap:1px;min-width:72px;padding:3px 6px;font-size:11px;line-height:1.4}.action-bar .clear-selection{display:none}.action-bar .utility{flex-direction:column;gap:1px;padding:4px 2px}.action-bar .utility>span{font-size:9px;line-height:1.2;display:block}.queue-status{flex-shrink:0}.queue-status button{min-width:44px;min-height:44px}.trick-pile{--pile-card-width:36px;--pile-card-height:52px;--pile-peek:26px;--pile-name-width:64px;--pile-card-gap:2px;--pile-rank-size:18px;--pile-suit-size:14px;--pile-body-suit:23px}.toast{top:calc(66px + var(--safe-top));font-size:12px;bottom:auto}.toast>button{justify-content:center;align-items:center;min-width:44px;min-height:44px}}@media (width<=700px) and (height<=740px) and (orientation:portrait){.game-layout{height:calc(100svh - 60px - var(--safe-top))}.game-main{flex-direction:column;height:100%;min-height:0;display:flex}.table-subheader{flex-shrink:0;height:36px;min-height:36px}.table-stage{flex-shrink:0;height:clamp(140px,35svh - 44px,200px)}.table-surround{inset:30px -2px 17px}.seat-top{padding-top:4px;padding-bottom:4px}.seat-top.active{padding-top:3px;padding-bottom:3px}.table-play{gap:1px;inset:50px 60px 34px}.table-play .playing-card{width:32px}.played-cards:has(>:nth-child(5)) .playing-card{width:26px}.table-play .card-corner>b{font-size:18px}.table-play .card-suit{font-size:20px}.hand-section{flex-direction:column;flex:1;min-height:0;display:flex}.own-status{flex-shrink:0;min-height:40px;margin:6px 0 7px}.self-player strong{max-width:115px}.self-player>div>span{font-size:10px}.hand-cards{overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#83948e #30373b;flex:0 auto;grid-auto-rows:max-content;align-content:start;min-height:0;padding:4px 3px;overflow-y:auto}.hand-cards>button{scroll-snap-align:start}.action-bar,.queue-status+.action-bar{flex-shrink:0;margin-top:0;padding-top:8px}.queue-status{min-height:44px;margin-top:0}.table-footer{display:none}}@media (width<=400px) and (orientation:portrait){.trick-pile{--pile-card-width:28px;--pile-card-height:43px;--pile-peek:24px;--pile-name-width:48px;--pile-rank-size:15px;--pile-suit-size:12px;--pile-body-suit:21px}.pile-player{gap:3px;padding-top:2px;font-size:10px}.pile-order{font-size:9px}}@media (width<=359px) and (orientation:portrait){.trick-pile{--pile-card-width:26px;--pile-card-height:38px;--pile-peek:22px;--pile-name-width:38px;--pile-card-gap:1px;--pile-rank-size:14px;--pile-suit-size:11px;--pile-body-suit:18px}.pile-card-index{gap:0}.pile-player{gap:2px;font-size:9px}}@media (width<=374px) and (orientation:portrait){.self-player strong{max-width:76px}.self-player>div>span{max-width:105px;line-height:1.4}.hand-scroll-hint{display:block}}@media (width<=359px) and (orientation:portrait){.hand-cards{grid-template-columns:repeat(var(--narrow-hand-columns), minmax(44px, 58px))}}@media (width>=360px) and (width<=374px) and (orientation:portrait){.hand-cards{padding-inline:1px}}@media (height<=550px) and (orientation:landscape){.app-header{height:calc(44px + var(--safe-top));padding-top:var(--safe-top)}.table-stage{height:clamp(110px, calc(100svh - 254px - var(--safe-bottom)), 146px)}.table-play{flex-direction:row;gap:12px}.trick-pile{--pile-card-width:34px;--pile-card-height:36px;--pile-peek:23px;--pile-name-width:68px;--pile-card-gap:2px;--pile-rank-size:17px;--pile-suit-size:14px;--pile-body-suit:15px}.pile-player{padding-top:3px;font-size:10px}.hand-section{position:relative}.hand-cards{grid-template-columns:repeat(var(--card-count), minmax(44px, 58px));overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#83948e #30373b;justify-content:safe center;padding:2px;overflow:auto hidden}.hand-cards>button{scroll-margin-inline:5px}.action-bar,.queue-status+.action-bar{padding-bottom:max(2px, var(--safe-bottom));position:static}:is(.action-bar .clear-selection,.action-bar:has(.is-prepass) .clear-selection){display:inline-flex}.action-bar .utility{flex-direction:column;flex:0 0 44px;gap:1px;width:44px;padding:3px 2px}.action-bar .utility>span{font-size:9px;line-height:1.2;display:block}.selection-clear{display:none}.selection-count{display:inline}.queue-status{white-space:normal;z-index:1;background:#252c2f;border:0;gap:5px;width:46%;max-width:350px;min-height:44px;margin:0;padding:0;font-size:10px;line-height:1.4;position:absolute;top:0;left:50%;transform:translate(-50%)}.queue-status button{min-width:44px;min-height:44px;font-size:10px}.hand-section:has(.queue-status) .hand-instruction{visibility:hidden}.hand-section:has(.queue-status) .own-status{min-height:44px}.game-main:has(.queue-status) .table-stage{height:clamp(110px, calc(100svh - 265px - var(--safe-bottom)), 135px)}.toast{top:calc(48px + var(--safe-top));font-size:11px;bottom:auto}.toast>button{min-width:44px;min-height:44px}}@media (height<=375px) and (orientation:landscape){.hand-cards{grid-template-columns:repeat(var(--card-count), minmax(44px, 48px))}.table-play{gap:9px;inset:40px 70px 24px}.table-play .playing-card{width:28px}.played-cards:has(>:nth-child(5)) .playing-card{width:26px}.table-play .card-corner>b{font-size:18px}.table-play .card-suit{font-size:20px}.trick-pile{--pile-card-height:26px;--pile-peek:20px;--pile-rank-size:16px;--pile-suit-size:13px}.pile-card-pip{display:none}.pile-player{padding-top:2px}}@media (height<=350px) and (orientation:landscape){.hand-cards{grid-template-columns:repeat(var(--card-count), 44px)}.app-header{height:calc(36px + var(--safe-top))}.game-main{position:relative}.table-subheader{z-index:4;pointer-events:none;height:24px;position:absolute;top:0;left:14px;right:14px}.table-details{pointer-events:auto}.action-bar,.queue-status+.action-bar{margin-top:5px}.toast{top:calc(40px + var(--safe-top))}}@media (hover:none){button.playing-card:not(.selected):not(:disabled):hover{border-color:#c7c8bc;box-shadow:0 2px 5px #0c181c3d}.button.primary.is-waiting:not(:disabled):hover{color:#d8dfd8;box-shadow:none;background:#3c484c;border-color:#6d7d7f}.button.primary.is-queued:not(:disabled):hover{color:#cad7d0;box-shadow:none;background:#303b3d;border-color:#7e9690}}@media (prefers-reduced-motion:reduce){.playing-card{transition:none}}:root{--table-navy:#112f50;--table-panel:#102a47;--table-gold:#d8ba58;--table-ink:#e5e8df;--table-muted:#9bb3c7;color:var(--table-ink);background:var(--table-navy);--surface:var(--table-panel);--line:#42617a;--green:var(--table-gold);--cream:#e5e3d8}.app{min-height:100svh}.app-header{background:0 0;border:0;gap:15px;max-width:940px;margin:0 auto;padding-inline:22px}.wordmark{color:var(--table-gold);letter-spacing:.5px;font-family:Noto Sans Thai,sans-serif;font-size:21px;font-weight:700}.wordmark>span,.wordmark svg{display:none}.header-description{color:var(--table-muted);border:0;padding:0;font-size:12px}.header-invite{color:#b7cbd6;background:#173a59;border-color:#758777;border-radius:18px;padding:7px 11px}.header-invite b{color:#e5ce7e}.icon-button{color:#d2dfdf;background:#173a59;border-color:#597b91;border-radius:9px}.icon-button:hover{color:#f0e8ce;background:#245073}.game-main{max-width:940px}.table-subheader{color:#b4cadb;height:43px}.table-details{color:#d9d7b4;background:#173957;border-color:#6b827c;border-radius:18px;min-height:34px;padding:6px 11px;font-size:12px}.table-details small{color:#acc3d1;font-size:10px}.table-details:hover{background:#21486b}.live-dot{background:#d9c45f}.table-stage{max-width:900px;height:330px}.table-surround{background:linear-gradient(#303936,#1d2529);border:1px solid #2d3131;padding:9px;inset:53px 12px 30px;box-shadow:0 7px 12px #05172f65,inset 0 0 0 3px #343b39}.felt{background:repeating-linear-gradient(90deg,#ffffff03 0 1px,#0000 1px 3px),radial-gradient(at 50% 45%,#269259 0%,#1d824d 57%,#126439 100%);border:2px solid #124d30;box-shadow:inset 0 3px 16px #083e2666}.top-card-backs{display:none}.seat{background:var(--table-panel);border:2px solid var(--seat-color);border-radius:12px;justify-content:center;min-width:82px;max-width:115px;padding:9px 11px;box-shadow:0 3px 6px #071c3440}.seat .avatar{display:none}.seat-info{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.seat-info strong{color:#e9e5cc;max-width:91px;font-size:13px;font-weight:600}.seat-number{color:var(--seat-color);vertical-align:1px;margin-right:4px;font:9px/1 Arial,sans-serif;display:inline-block}.seat-info .seat-count{color:#b8cddd;gap:3px}.seat-count b{font-size:13px}.seat-count small{color:#adc2d1;font-size:10px}.seat.seat-top{min-width:92px;max-width:130px}.seat-top .seat-info{grid-template-columns:auto auto;gap:2px 8px;display:grid}.seat-top .seat-info strong{grid-column:1/-1;justify-self:center;line-height:17px}.seat-top .seat-count{justify-self:end;line-height:17px}.seat-top .seat-score{white-space:nowrap;justify-self:start;line-height:17px}.seat.active{border:2px solid var(--seat-color);box-shadow:0 0 0 2px color-mix(in srgb, var(--seat-color) 22%, transparent), 0 0 15px color-mix(in srgb, var(--seat-color) 38%, transparent);padding:9px 11px}.seat-active-mark{background:var(--seat-color);width:4px;height:4px;top:7px;right:7px}.seat-left{top:51%;left:0}.seat-right{top:51%;right:0}.seat.passed{box-shadow:none;border-color:#718698}.passed-label{color:#b4c5d1;background:#173651;border-color:#658099}.trick-pile.has-short-plays{--pile-card-width:56px;--pile-card-height:76px}.pile-card{background:#d3d9cc;border-color:#aebfa9;border-radius:4px}.pile-card.card-clubs{color:#24543c}.pile-card.card-diamonds{color:#294e7d}.pile-card.card-hearts{color:#943833}.pile-order{color:var(--player-color,#a8c9af)}.turn-indicator{color:#c0d5df;background:#153752;border-color:#67877f;padding:6px 17px;font-size:12px}.turn-indicator.yours{color:#1a2a3a;background:#d8ba58;border-color:#e1c66f}.empty-trick{color:#b4d4b4}.own-status{background:linear-gradient(100deg,#214764,#183d60);border:1px solid #9f965c;border-radius:11px;padding:8px 11px}.self-avatar{display:none}.self-player strong{color:#f0e9d2;font-size:13px}.self-player strong small{color:#b8d1db;background:#335671}.hand-instruction{color:#a3bfd0;font-size:12px}.exposure{border-color:#5a7b8f}.exposure>small,.exposure>span{color:#9cbdce}.exposure>b{color:#e6d79d}.exposure>.score-gain{color:#85ceef}.exposure>.score-loss{color:#edb77c}.exposure>span{white-space:nowrap}.playing-card{background:#e5e3d8;border-color:#c5cec9;border-radius:6px;box-shadow:0 3px 5px #061c373d}.playing-card.selected{background:#eee4bd;border-color:#e0bc53;box-shadow:0 0 0 1px #e0bc5370,0 3px 7px #0a233e70}.button{border-radius:8px}.action-bar,.queue-status+.action-bar{background:0 0}.button.primary,.waiting-table .button{color:#172d46;background:#d6ba59;border-color:#e1ca7d}.button.primary:not(:disabled):hover{background:#e0c76f;border-color:#e6d18b}.button.secondary,.button.utility,.pass-button,.action-bar .utility{color:#d5dfdc;background:#163957;border-color:#52799b}.selection-clear{color:#d6e2df;background:#1b405e;border-color:#79928a}.hand-scroll-hint{color:#dbcb90}.queue-status{color:#bfd1dc}.queue-status button{color:#e1c772;border-color:#ac985e}.table-footer{color:#7f9fb8}.table-footer>span{display:none}.table-footer>div{margin-left:auto}.public-panel,.dialog{color:#dbe5dd;background:#122e4c;border-color:#587990}.panel-heading h2,.dialog h2{color:#e3c868}.pile-entry{border-color:#3a5870}.pile-entry strong{color:#dddfce}.panel-footer{color:#9fb7c9;border-color:#3a5870}.lobby{background:#143553;border-color:#617c85}.lobby-art{background:#153b57;border-color:#48687c}.lobby-form input{background:#102d49;border-color:#627f90}.mode-options>button{background:#173a56;border-color:#536f81}.mode-options>button.active{background:#244e64;border-color:#cfb868;box-shadow:0 0 0 1px #cfb868}@media (width>=701px) and (height>=551px){.action-bar{grid-template-columns:52px 52px minmax(0,1fr) minmax(0,1fr);display:grid}.action-bar .action-spacer{display:none}.action-bar .utility{flex-direction:column;gap:1px;padding:4px}.action-bar .utility>span{font-size:9px;display:block}.action-bar .play-button,.action-bar .pass-button{width:100%;min-width:0}}@media (width<=700px){.app-header{padding-inline:15px}.wordmark{font-size:18px}.header-invite{background:#173957}.header-actions .icon-button{background:0 0}.table-stage{height:280px}.table-subheader{height:40px;font-size:11px}.table-details{gap:5px;min-height:34px;padding:6px 9px;font-size:11px}.table-details small{font-size:9px}.table-surround{padding:7px;inset:42px -2px 22px}.seat{border-radius:10px;min-width:63px;max-width:78px;padding:7px 6px}.seat.active{padding:7px 6px}.seat-info{gap:3px}.seat-info strong{max-width:62px;font-size:11px}.seat-count b{font-size:12px}.seat-info .seat-score{font-size:10px}.seat-top{min-width:70px}.table-play{inset:90px 65px 43px}.trick-pile{--pile-fan:4px}.trick-pile.has-short-plays{--pile-card-width:36px;--pile-card-height:52px;--pile-rank-size:18px;--pile-suit-size:14px}.own-status{gap:7px;padding:7px 8px}.self-player{gap:0}.exposure{gap:0 6px;padding-left:8px}.exposure>small,.exposure>span{font-size:9px}.exposure>small{white-space:nowrap;max-width:none}.exposure>b{font-size:20px}.queue-status{background:0 0}}@media (width<=700px) and (height<=740px) and (orientation:portrait){.table-subheader{height:36px}.table-stage{height:clamp(140px,35svh - 44px,200px)}.table-surround{inset:30px -2px 17px}.seat,.seat.active{padding:6px 5px}.seat-info{gap:2px}.seat-top{top:-1px}.table-play{inset:52px 60px 31px}.trick-pile.has-short-plays{--pile-card-width:32px;--pile-card-height:42px;--pile-rank-size:17px;--pile-suit-size:13px}.own-status{padding:5px 8px}.hand-instruction{font-size:10px}}@media (width<=359px) and (orientation:portrait){.seat{min-width:56px;max-width:60px}.seat-info strong{max-width:45px;font-size:10px}.seat-info .seat-score{font-size:9px}.table-play{inset-inline:58px}.trick-pile{--pile-fan:3px}.trick-pile.has-short-plays{--pile-card-width:30px;--pile-card-height:40px;--pile-rank-size:16px;--pile-suit-size:12px}.self-player>div>span{font-size:10px}.own-status .hand-instruction{max-width:83px}}@media (height<=550px) and (orientation:landscape){.app-header{height:calc(44px + var(--safe-top))}.table-stage{width:86%;height:clamp(110px,calc(100svh - 254px - var(--safe-bottom)),146px)}.table-subheader{height:24px;font-size:10px}.table-details{min-height:22px;padding:3px 8px;font-size:9px}.table-details small{font-size:8px}.table-surround{padding:5px;inset:22px 0 10px}.seat,.seat.active{border-radius:9px;min-width:65px;max-width:91px;padding:5px 7px}.seat-info{gap:1px}.seat-info strong{max-width:72px;font-size:10px}.seat-count b{font-size:11px}.seat-info .seat-score{display:none}.seat-top{top:0}.seat-top .seat-count{grid-column:1/-1;justify-self:center;line-height:14px}.seat-top .seat-info strong{line-height:14px}.seat-left{left:-20px}.seat-right{right:-20px}.table-play{inset:44px 75px 24px}.trick-pile{--pile-fan:4px}.trick-pile.has-short-plays{--pile-card-width:38px;--pile-card-height:36px;--pile-rank-size:17px;--pile-suit-size:14px}.turn-indicator{padding:3px 12px;font-size:10px;bottom:0}.own-status{min-height:40px;margin:2px 0;padding:4px 9px}.self-player strong{font-size:11px}.self-player>div>span{font-size:9px}.hand-instruction{font-size:10px}.exposure>b{font-size:17px}.queue-status{background:#163957}.table-footer{top:70px}}@media (height<=350px) and (orientation:landscape){.app-header{height:calc(36px + var(--safe-top))}.wordmark{font-size:17px}.table-subheader{height:24px}.table-stage{height:calc(116px - var(--safe-bottom));min-height:calc(110px - var(--safe-bottom))}.game-main:has(.queue-status) .table-stage{height:calc(116px - var(--safe-bottom));min-height:calc(110px - var(--safe-bottom))}.table-play{inset:44px 75px 22px}.trick-pile,.trick-pile.has-short-plays{--pile-card-height:24px}}@media (height<=375px) and (height>=351px) and (orientation:landscape){.trick-pile.has-short-plays{--pile-card-height:26px}}@media (height<=375px) and (orientation:landscape){.pile-card-index{padding-top:1px}}@media (width<=400px) and (orientation:portrait){.trick-pile.has-long-plays{--pile-fan:1px}}@media (hover:none){.button.primary.is-waiting:not(:disabled):hover,.button.primary.is-queued:not(:disabled):hover{color:#e4d59f;background:#254a63;border-color:#b5a36e}}.hand-cards{--hand-card-width:72px;--hand-step:44px;--hand-lift:10px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#88a6b4 #163552;justify-content:safe center;align-items:flex-start;gap:0;min-height:0;padding:14px 3px 5px;scroll-padding-inline:4px;display:flex;overflow:auto hidden}.hand-cards>button.playing-card{flex:0 0 var(--hand-card-width);width:var(--hand-card-width);aspect-ratio:.7;height:auto;z-index:var(--hand-index);scroll-snap-align:none;border-radius:6px;margin:0;scroll-margin-inline:3px;box-shadow:-2px 2px 5px #071f3650}.hand-cards>button.playing-card+button.playing-card{margin-left:calc(var(--responsive-hand-step,var(--fitted-hand-step,var(--hand-step))) - var(--hand-card-width))}.hand-cards>button.playing-card .card-corner,.hand-cards>button.playing-card.selected .card-corner{align-items:center;gap:1px;width:29px;top:6px;left:5px}.hand-cards>button.playing-card .card-corner>b{letter-spacing:-1px;font-size:29px;line-height:1}.hand-cards>button.playing-card .card-corner>span{font-size:20px;line-height:1;display:block}.hand-cards>button.playing-card .card-suit{font-size:30px;bottom:7px;right:7px}.hand-cards>button.playing-card.selected{transform:translateY(calc(-1 * var(--hand-lift)));box-shadow:-2px 2px 5px #071f3660,0 0 0 1px #e1c15f}.hand-cards>button.playing-card .selected-tick{width:15px;height:15px;font-size:10px;inset:auto auto 6px 6px}.hand-cards>button.playing-card:focus-visible{outline-offset:-3px;outline:2px solid #f0ce69}.hand-cards .no-hand{flex:0 100%}.hand-cards>button.playing-card{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab;touch-action:pan-x}@supports (width:1cqw){.hand-cards{container-type:inline-size}.hand-cards>button.playing-card{--responsive-hand-step:min(var(--hand-step),max(0px,calc((100cqw - var(--hand-card-width)) / max(1,calc(var(--card-count) - 1)))))}}.hand-cards>button.playing-card:active{cursor:grabbing}.hand-cards>button.playing-card.is-dragging{opacity:.28;outline-offset:-2px;outline:2px dashed #dfbd5c}.hand-drag-preview{z-index:1000;pointer-events:none;filter:drop-shadow(0 8px 8px #06142677);width:58px;position:fixed;transform:rotate(-5deg)}.hand-drag-preview>.playing-card{width:58px;min-width:58px;height:82px}.hand-drag-status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=700px) and (orientation:portrait){.hand-cards{--hand-card-width:64px;--hand-step:32px;flex:none;padding:14px 3px 5px;overflow-y:hidden}.hand-cards>button.playing-card .card-corner,.hand-cards>button.playing-card.selected .card-corner{width:25px;top:6px;left:3px}.hand-cards>button.playing-card .card-corner>b{font-size:25px}.hand-cards>button.playing-card .card-corner>span{font-size:19px}.hand-cards>button.playing-card .card-suit{font-size:29px}.hand-cards>button.playing-card .selected-tick{bottom:6px;left:6px}}@media (height<=550px) and (orientation:landscape){.hand-cards{--hand-card-width:58px;--hand-step:38px;--hand-lift:8px;padding:9px 3px 4px}.trick-pile,.trick-pile.has-short-plays{--pile-card-height:clamp(20px, calc(36px - var(--safe-bottom)), 36px)}.hand-cards>button.playing-card .card-corner,.hand-cards>button.playing-card.selected .card-corner{width:26px;top:5px;left:3px}.hand-cards>button.playing-card .card-corner>b{font-size:25px}.hand-cards>button.playing-card .card-corner>span{font-size:18px}.hand-cards>button.playing-card .card-suit{font-size:26px}.table-stage{height:clamp(98px, calc(100svh - 266px - var(--safe-bottom)), 134px);min-height:98px}.game-main:has(.queue-status) .table-stage{height:clamp(94px, calc(100svh - 277px - var(--safe-bottom)), 123px);min-height:94px}}@media (height<=375px) and (orientation:landscape){.hand-cards{--hand-card-width:46px;--hand-step:34px}.hand-cards>button.playing-card .card-corner,.hand-cards>button.playing-card.selected .card-corner{width:26px;top:4px;left:3px}.hand-cards>button.playing-card .card-corner>b{font-size:24px}.hand-cards>button.playing-card .card-corner>span{font-size:17px}.hand-cards>button.playing-card .card-suit{font-size:23px;bottom:5px;right:5px}.table-stage{height:calc(115px - var(--safe-bottom));min-height:calc(115px - var(--safe-bottom))}.game-main:has(.queue-status) .table-stage{height:calc(115px - var(--safe-bottom));min-height:calc(115px - var(--safe-bottom))}.action-bar,.queue-status+.action-bar{margin-top:5px}.hand-section:has(.queue-status) .own-status{min-height:41px}.table-play{inset:36px 75px 24px}.trick-pile,.trick-pile.has-short-plays{--pile-card-height:20px}.pile-scroll{padding:1px 2px 2px}.seat.seat-top,.seat.seat-top.active{padding:3px 6px}.seat-top .seat-info{row-gap:1px}.seat-top .seat-info strong,.seat-top .seat-count{line-height:12px}}@media (height<=350px) and (orientation:landscape){.hand-cards{--hand-card-width:44px;--hand-step:32px}.hand-cards>button.playing-card .card-corner,.hand-cards>button.playing-card.selected .card-corner{width:25px}.hand-cards>button.playing-card .card-corner>b{font-size:23px}.hand-cards>button.playing-card .card-corner>span{font-size:16px}.hand-cards>button.playing-card .selected-tick{width:13px;height:13px;font-size:9px;bottom:5px;left:6px}.table-stage{height:calc(115px - var(--safe-bottom));min-height:calc(115px - var(--safe-bottom))}.game-main:has(.queue-status) .table-stage{height:calc(115px - var(--safe-bottom));min-height:calc(115px - var(--safe-bottom))}.action-bar,.queue-status+.action-bar{padding-bottom:var(--safe-bottom);margin-top:4px}}.hand-cards>button.playing-card{touch-action:pinch-zoom;border-width:1px}@media (width<=700px) and (orientation:portrait){.hand-cards{--hand-step:44px}}.hand-cards>button.playing-card .card-corner,.hand-cards>button.playing-card.selected .card-corner{width:min(29px,calc(var(--responsive-hand-step,var(--fitted-hand-step,var(--hand-step))) - 3px));left:1px}.hand-cards>button.playing-card .card-corner>b{font-size:clamp(16px,calc(var(--responsive-hand-step,var(--fitted-hand-step,var(--hand-step))) * .9),29px)}.hand-cards>button.playing-card .card-corner>span{font-size:clamp(15px,calc(var(--responsive-hand-step,var(--fitted-hand-step,var(--hand-step))) * .78),20px)}@media (width<=700px) and (orientation:portrait){.hand-cards>button.playing-card .card-corner>b{font-size:clamp(16px,calc(var(--responsive-hand-step,var(--fitted-hand-step,var(--hand-step))) * .9),25px)}}.app.is-fullscreen .app-content,.app.is-fullscreen .game-layout,.app.is-fullscreen .game-main{width:100%;max-width:none}.header-room-code{color:#e6ce7a;border:1px solid #637c87;border-radius:8px;padding:7px 9px;font:700 12px/1.2 Noto Sans Thai,sans-serif}.room-clock{color:#bed2df;white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:12px;display:inline-flex}.room-clock.final-rounds{color:#ecd07a}.public-lobby{max-width:940px;margin:20px auto 45px;padding:0 22px}.lobby-intro{margin:24px 0}.lobby-intro .eyeline{color:#cfbd7a;align-items:center;gap:8px;margin:0 0 12px;display:flex}.lobby-intro h1{color:#eee6ce;letter-spacing:-.7px;margin:0 0 8px;font-size:clamp(24px,4vw,34px)}.lobby-intro p,.open-rooms>p{color:#abc2d4;margin:0;font-size:13px;line-height:1.7}.lobby-columns{grid-template-columns:minmax(270px,.8fr) minmax(0,1.2fr);align-items:start;gap:20px;display:grid}.create-room-form,.open-rooms{background:#102b49;border:1px solid #456078;border-radius:16px;min-width:0;padding:24px}.public-lobby h2{color:#e3d9b8;align-items:center;gap:8px;margin:0 0 14px;font-size:17px;display:flex}.open-rooms h2 small{color:#c3cfda;margin-left:auto;font-size:12px}.create-room-form label,.room-time-form label{color:#bdd0df;margin:15px 0 7px;font-size:12px;display:block}.create-room-form input,.room-time-form input{color:#e5e6dc;width:100%;min-width:0;min-height:44px;font:inherit;background:#0c233c;border:1px solid #526f88;border-radius:8px;padding:10px 12px;font-size:14px}.create-room-form input:focus,.room-time-form input:focus{outline-offset:2px;outline:2px solid #ccb15a}.duration-presets{flex-wrap:wrap;gap:6px;margin:9px 0;display:flex}.duration-presets button{white-space:nowrap;color:#c8d8e3;background:#183b5b;border:1px solid #506c85;border-radius:7px;flex:1;min-height:36px;padding:6px;font-size:11px}.field-note{color:#9db6c9;margin:12px 0;font-size:11px;line-height:1.8}.create-room-form .wide{width:100%;min-height:46px;margin-top:10px;font-size:13px}.room-list{gap:10px;margin-top:17px;display:grid}.room-list-item{background:#153653;border:1px solid #46647d;border-radius:11px;align-items:center;gap:12px;padding:15px 12px;display:flex}.room-list-item>div{flex:1;min-width:0}.room-list-item h3{color:#e0e5dc;overflow-wrap:anywhere;margin:0 0 5px;font-size:14px}.room-list-item span,.room-list-item small{color:#a6c0d4;overflow-wrap:anywhere;font-size:11px;line-height:1.7;display:block}.room-list-item .button{white-space:nowrap;min-height:44px;padding:9px 12px;font-size:12px}.no-open-rooms{text-align:center;color:#c2d0d8;padding:40px 8px;font-size:14px;line-height:2}.no-open-rooms small{color:#90aabe;font-size:12px}.remembered-rooms{gap:10px;margin-bottom:24px;display:grid}.remembered-rooms h2{margin-bottom:0}.device-recovery{margin-bottom:22px}.device-recovery .wide{width:100%;min-height:44px;font-size:12px}.device-recovery p,.seat-recovery p{color:#a5bbcb;font-size:11px;line-height:1.8}.device-recovery label{color:#bdcedc;margin:12px 0 6px;font-size:12px;display:block}.device-recovery input{color:#e0e4dc;text-transform:uppercase;background:#0c233c;border:1px solid #526f88;border-radius:8px;width:100%;min-height:44px;padding:8px 12px;font-size:16px}.device-recovery form>.button{margin-top:14px}.seat-recovery{border-top:1px solid #446078;margin-top:18px;padding:18px 0}.seat-recovery h3{color:#e6d7a7;margin:0 0 8px;font-size:14px}.seat-recovery>small{color:#9cb3c5;margin-top:8px;font-size:10px;display:block}.seat-recovery .button{min-height:40px;padding:8px 12px;font-size:11px}.recovery-value{background:#142b3d;border:1px solid #777e65;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:9px 12px;display:flex}.recovery-value code{letter-spacing:1px;color:#e8d18b;-webkit-user-select:all;user-select:all;font:600 20px/1.4 monospace}.seat.offline{border-style:dashed}.public-lobby .lobby-foot{color:#9ab4c9;margin-top:20px}.public-lobby .lobby-foot button{color:#e2cb7b}.room-dialog,.session-result{width:min(100%,520px);position:relative}.room-dialog h2,.session-result h2{color:#eee4c9;margin:7px 30px 10px 0;font-size:24px}.room-members{gap:8px;margin:22px 0;display:grid}.room-members>div{background:#153854;border:1px solid #436079;border-radius:10px;align-items:center;gap:12px;min-height:55px;padding:9px 11px;display:flex}.member-seat{color:#cfbb79;background:#244560;border-radius:50%;place-content:center;width:26px;height:26px;font-size:12px;display:grid}.room-members>div>span:nth-child(2){flex:1;min-width:0}.room-members strong,.session-score-list strong{color:#e1e6dd;overflow-wrap:anywhere;align-items:center;gap:7px;font-size:13px;display:flex}.room-members small{color:#9eb7c8;margin-top:3px;font-size:11px;display:block}.room-members .icon-button{flex-shrink:0;min-width:40px;min-height:40px}.room-time-form>div{align-items:center;gap:9px;display:flex}.room-time-form input{flex:1;width:100px}.room-time-form .button{white-space:nowrap;min-height:44px;font-size:12px}.room-time-form p{color:#9cb4c5;font-size:11px}.kick-confirm{background:#3b333b;border:1px solid #9d7770;border-radius:9px;margin-bottom:18px;padding:14px}.kick-confirm p{color:#f0d3ba;margin:0 0 5px;font-size:13px}.kick-confirm small{color:#bbaea9;font-size:11px}.kick-confirm>div{gap:9px;margin-top:12px;display:flex}.kick-confirm .button{flex:1;font-size:12px}.danger-button{color:#f4e2d0;background:#9d4b4c;border:1px solid #c47973}.delete-room-dialog input{color:#e5e6dc;background:#0c233c;border:1px solid #526f88;border-radius:8px;padding:8px 12px;font-family:inherit}.delete-room-dialog input:focus{outline-offset:2px;outline:2px solid #ccb15a}.session-result>p{color:#a6bfce;font-size:13px}.session-score-head{color:#9eb3c5;border-bottom:1px solid #41627b;justify-content:space-between;margin-top:22px;padding-bottom:10px;font-size:11px;display:flex}.session-score-list{margin:0 0 20px;padding:0;list-style:none}.session-score-list li{border-bottom:1px solid #365670;align-items:center;gap:12px;padding:13px 0;display:flex}.score-rank{color:#c7af68;width:18px;font:600 17px/1 Georgia,serif}.session-score-list li>div{flex:1;min-width:0}.session-score-list small{color:#9bb3c7;margin-top:4px;font-size:11px;display:block}.session-score-list b{font:600 27px/1.2 Georgia,serif}.pending-seat{color:#dbc580;background:#153653;border:1px solid #647c81;border-radius:12px;gap:16px;margin:20px 0;padding:24px;display:flex}.pending-seat strong{font-size:14px}.pending-seat p{color:#a9c0d2;margin:5px 0 0;font-size:12px}@media (width<=700px){.lobby-columns{grid-template-columns:1fr;gap:16px}.public-lobby{margin-top:8px;padding-inline:16px}.lobby-intro{margin:18px 0}.create-room-form,.open-rooms{padding:20px}.in-room .header-actions{gap:5px}.in-room .header-description{display:none}.room-clock{gap:4px;font-size:10px}.room-clock svg{width:13px}.header-room-code{padding:6px;font-size:10px}.session-score-list li{gap:9px}.session-score-list strong{font-size:12px}.room-dialog,.session-result{padding:22px}}@media (width<=420px) and (orientation:portrait){.in-room .wordmark{display:none}.in-room .header-actions{justify-content:space-between;width:100%}.in-room .app-header{padding-inline:14px}.header-room-code{margin-right:0}.in-room .header-actions .icon-button{width:34px;min-width:34px}.in-room .room-clock{margin-right:auto}}@media (height<=550px) and (orientation:landscape){.public-lobby{margin-top:6px}.lobby-intro{margin:12px 0}.lobby-intro h1{font-size:23px}.create-room-form,.open-rooms{padding:18px}.room-clock{font-size:10px}.header-room-code{padding:5px 7px;font-size:10px}.room-dialog,.session-result{max-height:calc(100svh - 24px);overflow-y:auto}}.old-rooms{border-top:1px solid #456778;margin-top:22px;padding-top:18px}.old-rooms>summary{cursor:pointer;color:#ead8b1;min-height:38px;padding:6px 0;font-weight:700}.old-rooms>summary span{float:right;color:#abc3ce;font-size:.85rem}.old-rooms>p{color:#abc3ce;margin:8px 0 14px;font-size:.82rem;line-height:1.65}.old-room-list{gap:10px;display:grid}.remembered-room{gap:10px}.remembered-room>div:first-child{min-width:0}.remembered-room h3{overflow-wrap:anywhere}.remembered-room small{color:#abc3ce;margin-top:5px;font-size:.75rem;display:block}.remembered-room-actions{flex-direction:column;flex-shrink:0;gap:5px;display:flex}.room-delete-link{min-height:36px;color:#f2a89f!important;background:0 0!important;border-color:#80505a!important;font-size:.8rem!important}.room-delete-section{border-top:1px solid #456778;margin-top:20px;padding-top:16px}.room-delete-section>small{color:#abc3ce;margin-top:7px;font-size:.78rem;display:block}.delete-room-dialog{max-width:430px}.delete-room-dialog h2{color:#f2b0a7;align-items:center;gap:10px;display:flex}.delete-room-dialog p{color:#c4d4d9;line-height:1.75}.delete-room-dialog label{color:#ead8b1;margin:18px 0 8px;display:block}.delete-room-dialog input{box-sizing:border-box;letter-spacing:.15em;text-align:center;width:100%;min-height:46px;font-size:1.1rem}.delete-room-actions{gap:10px;margin-top:18px;display:flex}.delete-room-actions>.button{flex:1;min-height:46px}@media (width<=420px){.remembered-room{align-items:flex-start}.remembered-room-actions>.button{white-space:nowrap;padding:9px 10px;font-size:.78rem}.delete-room-dialog{padding:22px 18px}.delete-room-actions{flex-wrap:wrap}.delete-room-actions>.button{flex-basis:130px}}@media (height<=460px){.delete-room-dialog{max-height:calc(100dvh - 24px);padding:16px 22px;overflow:auto}.delete-room-dialog h2{margin:5px 0}.delete-room-dialog p{margin:8px 0;font-size:.85rem}.delete-room-dialog label{margin:10px 0 5px}.delete-room-actions{margin-top:10px}}.result-dialog{width:min(700px,100%);max-height:calc(100dvh - 24px);padding:26px;overflow:auto}.result-dialog .result-trophy{width:42px;height:42px;margin:0 auto 9px}.result-dialog .result-trophy svg{width:24px;height:24px}.result-dialog h2{overflow-wrap:anywhere;margin:7px 32px 4px;font-size:25px;line-height:1.35}.result-dialog>p{margin:4px 0 12px;font-size:12px}.result-dialog .result-rows{gap:0;margin:12px 0 18px;display:grid}.result-dialog .result-rows>div{grid-template-columns:minmax(0,1fr) auto auto;gap:3px 10px;min-width:0;padding:10px 0;display:grid}.result-rows>div>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.result-dialog .result-rows b{font-size:25px;line-height:1.15}.result-card-list{grid-column:1/-1;grid-template-columns:repeat(var(--remaining-cards),minmax(0,28px));gap:3px;min-width:0;padding:3px 0 0;display:grid}.result-card{background:linear-gradient(120deg,#e2e3d6,#d6ddce);border:1px solid #c7c8b4;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:39px;line-height:1.05;display:flex;box-shadow:0 1px 2px #08172822}.result-card strong{letter-spacing:-1px;font-family:Georgia,serif;font-size:17px}.result-card i{font-size:16px;font-style:normal}.result-card-clubs{color:#256143}.result-card-diamonds{color:#3159a0}.result-card-hearts{color:#b54342}.result-card-spades{color:#182732}.result-empty-hand{color:#b8c9ba;white-space:nowrap;grid-column:1/-1;padding:7px 0;font-size:11px}.result-dialog .result-actions{gap:8px;margin:0}.result-dialog .result-actions .button{min-height:44px}@media (width<=480px){.result-dialog{padding:19px 16px}.result-dialog .result-trophy{display:none}.result-dialog h2{margin-top:5px;font-size:21px}.result-dialog>p{margin-bottom:8px;font-size:11px}.result-dialog .result-rows{margin:8px 0 12px}.result-dialog .result-rows>div{gap:2px 7px;padding:8px 0}.result-dialog .result-rows>div>span{font-size:12px}.result-dialog .result-rows>div>small{font-size:10px}.result-dialog .result-rows b{font-size:23px}.result-card-list{grid-template-columns:repeat(var(--remaining-cards),minmax(0,26px));gap:2px}.result-card{min-height:35px}.result-card strong,.result-card i{font-size:15px}}@media (height<=650px) and (orientation:portrait){.result-dialog{padding:15px 14px}.result-dialog h2{margin-block:4px;font-size:19px}.result-dialog>p{margin-block:3px 6px}.result-dialog .result-rows{margin:4px 0 10px}.result-dialog .result-rows>div{padding:6px 0}.result-card{min-height:32px}.result-card strong,.result-card i{font-size:14px}}@media (height<=550px) and (orientation:landscape){.result-dialog{width:min(760px,100%);max-height:calc(100dvh - 16px);padding:12px 18px}.result-dialog .result-trophy,.result-dialog>p{display:none}.result-dialog>.small-caps{font-size:9px}.result-dialog h2{margin:2px 30px 6px;font-size:19px;line-height:1.25}.result-dialog .result-rows{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:4px 0 10px}.result-dialog .result-rows>div{gap:2px 7px;padding:6px 0}.result-dialog .result-rows>div>span{font-size:11px}.result-dialog .result-rows>div>small{font-size:9px}.result-dialog .result-rows b{font-size:21px}.result-card-list{grid-template-columns:repeat(var(--remaining-cards),minmax(0,24px));gap:2px;padding-top:2px}.result-card{min-height:31px}.result-card strong,.result-card i{font-size:13px}.result-empty-hand{padding:5px 0;font-size:10px}.result-dialog .result-actions .button{height:40px;min-height:40px;padding:6px 12px;font-size:12px}}:root{--table-navy:#201a16;--table-panel:#28211b;--table-ink:#eee5d2;--table-gold:#e1b264;--table-muted:#c0b39b;--surface:#28211b;--line:#776045;--green:#e1b264;--cream:#e9e3d4;--room-header-height:64px;--motion-quick:.16s;--motion-play:.18s;--motion-settle:cubic-bezier(.2,.8,.25,1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--table-ink);background:#1c1815}body,.app{color:var(--table-ink);background:#1c1815 url(/assets/club-room-1Ud0pNlr.webp) 50%/cover}.in-room .app-content{flex-direction:column;width:100%;max-width:none;height:100svh;min-height:0;display:flex}.in-room .app-header{flex:0 0 calc(var(--room-header-height) + var(--safe-top));height:calc(var(--room-header-height) + var(--safe-top));width:100%;max-width:1160px;padding:var(--safe-top) 20px 0;background:0 0;border:0;margin:0 auto}.wordmark{color:#edc583;letter-spacing:.2px;text-shadow:0 2px 3px #0009;gap:6px;font-family:Georgia,serif;font-size:26px;display:inline-flex}.wordmark>span{display:none}.wordmark>svg{fill:#d5ac67;color:#e6c088;order:-1;width:18px;height:18px;margin:0;display:block}.header-description{color:#c5b294;border:0;font-size:11px}.header-room-code{color:#f0d6a3;background:#130f0bb3;border-color:#8a6d4470;border-radius:9px;padding:7px 10px}.header-room-code:before{content:"ห้อง ";color:#c8bda7;font-size:.85em;font-weight:400}.room-clock{color:#d5cbb7;font-variant-numeric:tabular-nums}.header-actions .icon-button{color:#dfd4bd;background:#211a1580;border-color:#b79c6533;border-radius:10px}.header-actions .icon-button:hover{color:#fff0d1;background:#432;border-color:#a68655}.in-room .game-layout{flex:1 1 0;width:100%;max-width:1160px;height:auto;min-height:0;margin:0 auto;display:block}.in-room .game-main{flex-direction:column;width:100%;max-width:none;height:100%;min-height:0;padding:0 20px 10px;display:flex}.table-subheader{color:#d8cbb2;flex:0 0 36px;height:36px;min-height:36px;margin-bottom:3px;font-size:12px}.table-subheader>div{background:#1b1511a3;border-radius:9px;padding:5px 10px}.live-dot{background:#9ab78b;box-shadow:0 0 0 3px #8ba37512}.subheader-divider{background:#7e6c52}.table-details{color:#ead9b4;background:#1b1511c4;border:1px solid #a587514a;border-radius:9px;min-height:30px;padding:5px 9px}.table-details small{color:#c5b79d}.table-details:hover{background:#453222;border-color:#a98751}:is(.in-room .game-main .table-stage,.in-room .game-main:has(.queue-status) .table-stage){flex:1 1 0;width:100%;max-width:none;height:auto;min-height:0;max-height:none;margin:0 0 6px}.table-surround{background:repeating-linear-gradient(4deg,#f6ca7610 0 1px,#0000 1px 7px),linear-gradient(130deg,#966037,#52321f 30%,#734725 65%,#3b251a);border:1px solid #a173438c;border-radius:34px;padding:11px;inset:12px 0 9px;box-shadow:0 9px 15px #09060485,inset 0 0 0 2px #bf89554d,inset 0 3px 3px #d5a46847,inset 0 -3px 4px #180e0ba3}.felt{background:repeating-linear-gradient(125deg,#ffffff02 0 1px,#0000 1px 4px),radial-gradient(at 50% 35%,#21684b,#155337 65%,#0b3b2a);border:1px solid #0b3b28;border-radius:23px;box-shadow:inset 0 4px 13px #082c1d9c,inset 0 0 0 2px #32674980}.felt:after{border:1px solid #7da86d24;border-radius:16px;inset:10px}.felt-suit,.table-brand{display:none}.empty-trick{color:#a8c3a4;gap:5px;padding-top:20px}.empty-trick>span{color:#7ba07c;font-size:28px}.empty-trick>p{color:#c2d1b5;font-size:12px}.seat,.seat.active,.seat.passed{min-width:64px;max-width:100px;box-shadow:none;color:#efe6d2;transition:opacity var(--motion-quick);background:0 0;border:0;border-radius:0;flex-direction:column;align-items:center;gap:3px;padding:0;display:flex}.seat .avatar{background:0 0;border:0;border-radius:50%;flex:0 0 50px;place-items:center;width:50px;height:50px;padding:0;display:grid;position:relative;box-shadow:0 3px 7px #081e1b70}.player-portrait{background-repeat:no-repeat;background-size:400%;border-radius:50%;width:100%;height:100%;display:block}.seat .avatar,.self-avatar{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.seat .avatar>i{background:#aa9477;border:1px solid #183c2d;width:7px;height:7px;bottom:2px;right:1px}.seat .avatar>i.online{background:#a7cd8a}.seat.active .avatar{outline-offset:3px;outline:2px solid #f1c472;box-shadow:0 0 0 6px #e6bd6726,0 3px 8px #0007}.seat.passed .avatar{opacity:.7;filter:saturate(.55)}.seat-info,.seat-top .seat-info{text-align:center;background:#072e21a8;border-radius:11px;flex-direction:column;align-items:center;gap:1px;min-width:56px;padding:4px 9px 5px;display:flex}.seat-info strong,.seat-top .seat-info strong{color:#f2ead6;max-width:84px;font-size:12px;font-weight:500;line-height:17px}.seat-number{display:none}.seat-info .seat-score{color:#d8bc80;font-variant-numeric:tabular-nums;font-size:11px;line-height:15px;display:block}.seat-info .seat-count{color:#ced3b9;font-size:11px}.seat-count small{color:#b8c8af}.seat.has-cards .seat-count{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.seat.has-cards .seat-count:has(.big2-label){clip-path:none;width:auto;height:auto;position:static;overflow:visible}.big2-label{color:#f1c26e;font-size:12px}.seat-top{top:0;left:50%;transform:translate(-50%)}.seat-left{top:35%;left:15px;transform:translateY(-50%)}.seat-right{top:35%;right:15px;transform:translateY(-50%)}.seat.offline{border:0}.seat.offline .seat-info strong:after{content:" · หลุด";color:#c7af81;font-size:8px}.passed-label{color:#bed0ae;background:#123e2d;border:1px solid #a1b68d52;border-radius:9px;margin-top:1px;padding:1px 8px;font-size:9px;line-height:15px;position:static}.seat-active-mark{display:none}.opponent-cards{--back-width:25px;--back-height:35px;--back-step:4px;width:var(--back-width);height:calc(var(--back-height) + (var(--back-count) - 1) * var(--back-step));pointer-events:none;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.opponent-card-back{width:var(--back-width);height:var(--back-height);top:calc(var(--back-index) * var(--back-step));background:repeating-conic-gradient(#b45e50 0 25%,#9a423b 0 50%) 0 0/4px 4px;border:2px solid #e5d8c0;border-radius:3px;position:absolute;left:0;box-shadow:0 1px 2px #092b20a1,inset 0 0 0 1px #dca78a}.opponent-count{z-index:1;color:#f1e4c8;background:#102b21;border:1px solid #b7a369;border-radius:6px;min-width:23px;height:22px;padding:1px 5px;font:600 12px/19px Noto Sans Thai,sans-serif;position:absolute;bottom:-9px;left:50%;transform:translate(-50%);box-shadow:0 2px 3px #03180e99}.seat-top .opponent-cards{height:var(--back-height);width:calc(var(--back-width) + (var(--back-count) - 1) * var(--back-step));top:12px;left:calc(100% + 8px);transform:none}.seat-top .opponent-card-back{left:calc(var(--back-index) * var(--back-step));top:0}.seat-top .opponent-count{bottom:-5px;left:auto;right:-8px;transform:none}.seat.passed .opponent-cards{opacity:.75}.seat.passed .opponent-card-back{filter:none;opacity:1}.table-play{inset:102px 110px 35px}.pile-player{color:#c5d8b9}.pile-order{color:var(--player-color,#c6c88b);background:#082f2460}.pile-player-name{font-weight:400}.pile-card{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#d7deca;border-color:#c7cfb9;box-shadow:0 2px 4px #06271c80}.pile-play.is-latest .pile-card{background:linear-gradient(110deg,#eee9d9,#e1dfcb);border-color:#e2d7b0;box-shadow:0 3px 5px #06271c90}.pile-scroll{scrollbar-color:#8fa983 #174c33}.pile-scroll-hint{color:#cedcb9}.turn-indicator{color:#bdcdaa;background:#0b3828d9;border:1px solid #95b17c42;border-radius:12px;padding:4px 15px;font-size:11px;bottom:10px;box-shadow:0 2px 5px #0522194d}.turn-indicator.yours{color:#30281a;background:linear-gradient(120deg,#e4c381,#ceaa60);border-color:#d1ae64;box-shadow:inset 0 1px #fff0be59,0 3px 7px #06291f70}.hand-section{background:linear-gradient(135deg,#30271f,#211d19);border:1px solid #886b49;border-radius:23px;flex-direction:column;flex:none;min-height:0;padding:3px 5px 0;display:flex;position:relative;box-shadow:0 4px 12px #08060460}.hand-section.is-my-turn{border-color:#c19b60}.own-status,.hand-section.is-my-turn .own-status{min-height:52px;box-shadow:none;background:0 0;border:0;border-radius:0;flex:none;gap:12px;margin:1px 4px 0;padding:5px 8px;display:flex}.self-player{flex:0 auto;order:0;gap:7px}.self-player>div{min-width:0}.self-avatar{width:36px;height:36px;box-shadow:none;background:0 0;border:0;flex:0 0 36px;padding:0;display:grid}.self-player strong{color:#f1e7d3;max-width:150px;font-size:13px;font-weight:500}.self-player strong small{color:#d4c3a5;background:#b1936040;border-radius:4px}.exposure{font-variant-numeric:tabular-nums;border:0;flex:none;order:1;margin:0;padding:0}.exposure>small{color:#b9aa8f;font-size:9px}.exposure>span{color:#c0ae8a;font-size:9px}.exposure.danger>span{color:#dca580}.exposure>.score-gain{color:#9ccea5;font-size:23px}.exposure>.score-loss{color:#e5a087;font-size:23px}.hand-instruction{color:#b9ae96;order:2;max-width:200px;margin-left:auto;font-size:11px}.selection-clear{color:#e6dbc4;background:#1c1711b3;border:1px solid #9d81566e;border-radius:14px;min-width:78px;min-height:40px;padding:3px 10px;font-size:11px}.selection-clear>span:last-child{color:#d5b577}.hand-cards{flex:none;margin:0;padding:14px 3px 5px}.playing-card,.hand-cards>button.playing-card{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:linear-gradient(110deg,#eee9dc,#e3dfd1);border-color:#c8c6b3;border-radius:6px;box-shadow:-2px 3px 4px #080a076e,inset 1px 1px #fffff04d}.hand-cards>button.playing-card{transition:transform var(--motion-quick) var(--motion-settle),box-shadow var(--motion-quick),background var(--motion-quick)}.hand-cards>button.playing-card .card-corner>b{font-family:Georgia,Times New Roman,serif;font-weight:400}.playing-card.card-clubs{color:#26573e}.playing-card.card-diamonds{color:#355a87}.playing-card.card-hearts{color:#a33f3b}.playing-card.card-spades{color:#24302c}.hand-cards>button.playing-card.selected{background:linear-gradient(110deg,#f4e5ba,#e9d6a0);border-color:#e5bd65;box-shadow:-2px 3px 4px #080a0780,0 0 0 1px #e3b866,inset 1px 1px #fff1c078}.selected-tick{color:#fff0bc;background:#9e7a38}.hand-cards>button.playing-card:focus-visible{outline-color:#efcf8d}.action-bar,.queue-status+.action-bar{background:0 0;border:0;flex:none;grid-template-columns:52px 52px minmax(0,1fr) minmax(0,1.2fr);gap:9px;width:100%;margin:0;padding:8px 8px 10px;display:grid}.action-bar .action-spacer{display:none}.action-bar .utility{flex-direction:column;gap:2px;width:auto;padding:4px 2px}.action-bar .utility>span{font-size:9px;display:block}.button{transition:background var(--motion-quick),border-color var(--motion-quick),transform 90ms ease;border-radius:15px}.button.primary,.waiting-table .button,.action-bar .primary:not(:disabled):not(.is-waiting){color:#2f2517;background:linear-gradient(120deg,#edcd87,#dcac59);border:1px solid #e8ca8a;box-shadow:inset 0 1px #fff0c770,0 3px 6px #08060366}.button.primary:not(:disabled):hover,.action-bar .primary:not(:disabled):not(.is-waiting):hover{background:linear-gradient(120deg,#f1d79a,#e7b76a);border-color:#f3dba5}.button.secondary,.button.utility,.pass-button,.action-bar .utility{color:#e5d9bf;background:linear-gradient(135deg,#493421,#2f251b);border:1px solid #9d785369;box-shadow:inset 0 1px #dfc18c17}.button.secondary:not(:disabled):hover,.button.utility:not(:disabled):hover,.pass-button:not(:disabled):hover{background:#58422c;border-color:#b19362}.action-bar .play-button,.action-bar .pass-button{width:100%;min-width:0;min-height:48px;font-size:14px}.action-bar .button:not(:disabled):active{transform:translateY(1px)}.button.primary.is-waiting,.button.primary.is-queued,.button.is-queued{color:#e4d6aa;background:#3b4433;border-color:#aaa16d}.queue-status{color:#cdc5a7;background:#28251b;border-radius:9px;flex:none;width:auto;max-width:none;min-height:40px;margin:0 8px;padding:3px 5px;font-size:11px;position:static;transform:none}.queue-status button{color:#e6c184;border-color:#a78a56;min-height:40px}.table-footer{color:#ad9c83;flex:0 0 28px;height:28px;padding:5px 2px 0;position:static}.table-footer button{color:#c8bca4}.waiting-table h2{color:#eee2c4}.waiting-table p{color:#c4cfb5}.waiting-icon{color:#d8c28e;background:#123b2b}.public-panel,.dialog{color:#e8dfca;background:linear-gradient(145deg,#302820,#211d18);border-color:#8e7652;box-shadow:0 18px 60px #080604b3,inset 0 1px #dcc49b17}.dialog h2,.panel-heading h2{color:#e7c98a}.modal-backdrop{background:#100b08c9}.result-card{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:linear-gradient(110deg,#e9e5d8,#d9dfcd);border-color:#bfccb5}.result-dialog .result-rows>div{border-color:#8c78543b}.result-dialog .result-rows>.winner{background:#98a8751f}.room-members>div,.room-list-item{background:#332d23;border-color:#816f4c69}.public-lobby{color:#e4dbc9}.lobby-intro h1{color:#f0e4cd}.lobby-intro .eyeline{color:#d4b57f}.lobby-intro p,.open-rooms>p{color:#c3b69f}.create-room-form,.open-rooms{background:linear-gradient(135deg,#30281edb,#221c17eb);border-color:#8e77565c;box-shadow:inset 0 1px #d8bf9617}.public-lobby h2{color:#e4cfa6}.create-room-form label,.room-time-form label{color:#c8baa1}.create-room-form input,.room-time-form input,.device-recovery input,.delete-room-dialog input{color:#eadfc7;background:#191611;border-color:#8e79556b}.duration-presets button{color:#d6c8ae;background:#352c20;border-color:#84704d}.duration-presets button.active{color:#f0d69c;background:#5c492c;border-color:#c3a36a}.field-note,.room-list-item span,.room-list-item small,.no-open-rooms small,.device-recovery p{color:#bbae94}.room-list-item h3,.no-open-rooms{color:#ddd1b8}.toast{color:#ecdbb6;background:#433a27;border-color:#b49962}.pile-play{--entry-x:0px;--entry-y:16px;--entry-tilt:-3deg}.pile-play[data-origin=left]{--entry-x:-26px;--entry-y:0px;--entry-tilt:-6deg}.pile-play[data-origin=top]{--entry-x:0px;--entry-y:-20px;--entry-tilt:3deg}.pile-play[data-origin=right]{--entry-x:26px;--entry-y:0px;--entry-tilt:6deg}.pile-play.is-latest .pile-card{animation:card-to-table var(--motion-play) var(--motion-settle) both;animation-delay:calc(var(--deal-index,0) * 14ms)}.pile-play.is-latest .pile-player{animation:play-name-in var(--motion-play) ease-out both}@keyframes card-to-table{0%{opacity:.25;transform:translate(var(--entry-x),var(--entry-y)) rotate(var(--entry-tilt)) scale(.94)}to{opacity:1;transform:translate(0)rotate(0)scale(1)}}@keyframes play-name-in{0%{opacity:.35}to{opacity:1}}@media (width<=700px){:root{--room-header-height:54px}.in-room .app-header{gap:8px;padding-inline:12px}.in-room .header-description{display:none}.in-room .wordmark{flex:none;gap:4px;font-size:17px;display:inline-flex}.in-room .wordmark>svg{display:none}.in-room .header-actions{flex:1;gap:4px;width:auto}.in-room .header-actions .icon-button{background:#211a1559;width:32px;min-width:32px;height:38px}.in-room .room-clock{gap:3px;margin-right:auto;font-size:10px}.header-room-code{padding:6px 7px;font-size:10px}.header-room-code:before{display:none}.in-room .game-main{padding:0 8px max(6px,var(--safe-bottom))}.table-subheader{flex-basis:32px;height:32px;min-height:32px;margin-bottom:1px;font-size:10px}.table-subheader>div{gap:5px;padding:4px 6px}.table-details{gap:4px;min-height:28px;padding:4px 7px;font-size:10px}.table-details small{font-size:8px}.table-surround{border-radius:27px;padding:8px;inset:13px 0 8px}.felt{border-radius:19px}.felt:after{border-radius:13px;inset:8px}.seat,.seat.active,.seat.seat-top,.seat.seat-top.active{gap:2px;min-width:52px;max-width:72px;padding:0}.seat .avatar,.seat-top .avatar{flex:0 0 50px;width:50px;height:50px;display:grid}.seat-top .avatar i{width:6px;height:6px}.seat-info,.seat-top .seat-info{border-radius:9px;gap:0;min-width:48px;padding:3px 6px 4px}.seat-info strong,.seat-top .seat-info strong{max-width:62px;font-size:11px;line-height:15px}.seat-info .seat-score{font-size:10px;line-height:13px}.seat-left{top:34%;left:10px}.seat-right{top:34%;right:10px}.seat-top{top:0}.opponent-cards{--back-width:23px;--back-height:32px;--back-step:3px;top:calc(100% + 5px)}.seat-top .opponent-cards{top:9px;left:calc(100% + 5px)}.opponent-count{min-width:21px;height:20px;font-size:11px;line-height:17px;bottom:-8px}.table-play{inset:90px 62px 32px}.turn-indicator{padding:3px 12px;font-size:10px;bottom:8px}.hand-section{border-radius:19px;padding:2px 3px 0}.own-status,.hand-section.is-my-turn .own-status{gap:7px;min-height:50px;margin:0 2px;padding:4px 5px}.self-avatar{flex-basis:29px;width:29px;height:29px}.self-player{gap:5px}.self-player strong{max-width:95px;font-size:11px}.self-player>div>span{font-size:9px}.self-player strong small{display:none}.exposure{gap:0 4px}.exposure>small,.exposure>span{font-size:8px}.exposure>.score-gain,.exposure>.score-loss{font-size:20px}.hand-instruction{max-width:112px;font-size:9px}.selection-clear{border-radius:12px;min-width:68px;min-height:40px;padding:2px 6px;font-size:10px}.action-bar,.queue-status+.action-bar{grid-template-columns:48px minmax(0,.8fr) minmax(0,1.2fr);gap:7px;padding:8px 5px}.action-bar .clear-selection{display:none}.action-bar .play-button,.action-bar .pass-button{min-height:48px;font-size:13px}.queue-status{min-height:40px;margin:0 4px;padding:2px 4px;font-size:10px}.in-room .table-footer{display:none}}@media (width<=359px) and (orientation:portrait){.in-room .wordmark{display:none}.in-room .game-main{padding-inline:6px}.self-avatar{display:none}.self-player strong{max-width:83px}.self-player>div>span{max-width:88px}.hand-instruction{max-width:89px;font-size:8px}.exposure>small{display:none}.exposure>span{font-size:8px}.table-play{inset-inline:54px}.seat-left{left:9px}.seat-right{right:9px}.seat .avatar{flex-basis:40px;width:40px;height:40px}.seat-info strong,.seat-top .seat-info strong{max-width:52px;font-size:10px}}@media (height<=550px) and (orientation:landscape){:root{--room-header-height:40px}.in-room .app-header{padding-inline:18px}.in-room .header-description{display:none}.in-room .wordmark{font-size:20px}.in-room .game-main{padding:0 12px max(3px,var(--safe-bottom))}.table-subheader{flex-basis:23px;height:23px;min-height:23px;margin:0;font-size:9px}.table-subheader>div{padding:2px 7px}.table-details{min-height:21px;padding:2px 7px;font-size:9px}:is(.in-room .game-main .table-stage,.in-room .game-main:has(.queue-status) .table-stage){margin-bottom:3px}.table-surround{border-radius:20px;padding:5px;inset:5px 0 3px}.felt{border-radius:14px}.felt:after{border-radius:10px;inset:5px}.seat,.seat.active,.seat.seat-top,.seat.seat-top.active{gap:1px;min-width:48px;max-width:75px;padding:0}.seat .avatar,.seat-top .avatar{flex-basis:32px;width:32px;height:32px;display:grid}.seat-info,.seat-top .seat-info{border-radius:6px;min-width:46px;padding:1px 5px}.seat-info strong,.seat-top .seat-info strong{font-size:10px;line-height:12px}.seat-info .seat-score{font-size:9px;line-height:11px;display:block}.seat-left{top:45%;left:12px}.seat-right{top:45%;right:12px}.seat-top{flex-direction:row;gap:6px;max-width:130px;top:3px}.seat-top .seat-info{align-items:flex-start}.seat-top .avatar i{display:none}.opponent-cards,.seat-top .opponent-cards{--back-width:16px;--back-height:23px;--back-step:2.5px;height:var(--back-height);width:calc(var(--back-width) + (var(--back-count) - 1) * var(--back-step));top:8px;left:calc(100% + 6px);transform:none}.seat-right .opponent-cards{left:auto;right:calc(100% + 6px)}.opponent-card-back{top:0;left:calc(var(--back-index) * var(--back-step));border-width:1px}.opponent-count,.seat-top .opponent-count{border-radius:4px;min-width:16px;height:16px;padding:0 3px;font-size:9px;line-height:13px;bottom:-5px;left:auto;right:-5px;transform:none}.table-play{inset:36px 140px 22px}.empty-trick{gap:2px;padding-top:19px}.empty-trick>span{font-size:16px}.empty-trick>p{font-size:9px}.turn-indicator{padding:2px 10px;font-size:9px;bottom:3px}.hand-section{border-radius:15px;padding:1px 5px 0}.own-status,.hand-section.is-my-turn .own-status{gap:9px;min-height:34px;margin:0;padding:2px 7px}.self-avatar{flex-basis:26px;width:26px;height:26px;display:grid}.self-player strong{max-width:110px;font-size:10px}.self-player>div>span{font-size:8px}.exposure>.score-gain,.exposure>.score-loss{font-size:17px}.exposure>small,.exposure>span{font-size:8px}.hand-instruction{max-width:220px;font-size:9px}.selection-clear{display:none}.hand-cards{--hand-card-width:52px;--hand-step:38px;--hand-lift:8px;padding:9px 3px 3px}.action-bar,.queue-status+.action-bar{gap:7px;max-width:650px;margin:0 auto;padding:4px 4px 5px;display:flex}.action-bar .utility{flex:0 0 40px;width:40px}.action-bar .clear-selection{display:inline-flex}.action-bar .play-button{flex:1.2;width:auto;min-height:44px}.action-bar .pass-button{flex:1;width:auto;min-height:44px}.queue-status{z-index:1;width:42%;max-width:320px;min-height:34px;margin:0;padding:1px 3px;font-size:9px;position:absolute;top:1px;left:50%;transform:translate(-50%)}.queue-status button{min-width:44px;min-height:34px;font-size:9px}.hand-section:has(.queue-status) .hand-instruction{visibility:hidden}.passed-label{padding:0 4px;font-size:8px;line-height:11px;position:absolute;bottom:-12px;right:0}.in-room .table-footer{display:none}}@media (height<=350px) and (orientation:landscape){:root{--room-header-height:36px}.hand-cards{--hand-card-width:44px;--hand-step:32px;padding-top:9px}.own-status,.hand-section.is-my-turn .own-status{min-height:30px}.self-avatar{flex-basis:24px;width:24px;height:24px}.table-play{inset:31px 127px 20px}.seat .avatar{flex-basis:24px;width:24px;height:24px}.seat-info .seat-score{font-size:8px;line-height:10px}}@media (width>=701px) and (height>=551px){.hand-cards{--hand-card-width:84px;--hand-step:48px}.seat .avatar{flex-basis:60px;width:60px;height:60px}}@media (prefers-reduced-motion:reduce){.pile-play.is-latest .pile-card,.pile-play.is-latest .pile-player{animation:none}.hand-cards>button.playing-card,.button,.seat{transition:none}}.table-play{container-type:inline-size}.pile-scroll{flex-direction:column-reverse;display:flex}.pile-play{z-index:var(--pile-index);flex:none}.trick-pile,.trick-pile.has-short-plays,.trick-pile.has-long-plays{--pile-target-width:56px;--pile-name-width:76px;--pile-card-gap:3px;--pile-fan:5px;--pile-card-width:var(--pile-target-width);--pile-card-height:calc(var(--pile-card-width) * 1.42);--pile-rank-size:clamp(14px,calc(var(--pile-card-width) * .54),28px);--pile-suit-size:clamp(11px,calc(var(--pile-card-width) * .38),20px);--pile-body-suit:clamp(18px,calc(var(--pile-card-width) * .7),36px);--pile-peek:calc(var(--pile-rank-size) + 8px)}@supports (width:1cqw){.trick-pile,.trick-pile.has-short-plays,.trick-pile.has-long-plays{--pile-card-width:min(var(--pile-target-width),max(20px,calc((100cqw - var(--pile-name-width) - 12px - (var(--pile-columns) - 1) * var(--pile-card-gap) - var(--pile-fan-steps) * var(--pile-fan)) / var(--pile-columns))))}}.pile-player{font-size:13px;line-height:20px}.pile-order{width:18px;height:18px;font-size:10px;line-height:16px}.pile-play.is-latest .pile-player{color:#ffe2a1}.pile-play.is-latest .pile-player-name{font-weight:600}.pile-play.is-latest .pile-card{border-color:#e3bc73;box-shadow:0 2px 5px #06271c90,0 0 0 1px #dec28b33}.own-status,.hand-section.is-my-turn .own-status{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:56px;display:grid}.self-player strong{font-size:14px}.self-player>div>span{color:#d1c5ae;font-size:12px}.self-player>div>span>b{color:#eee0bf;font-weight:600}.exposure{grid-template-columns:auto auto;align-items:baseline;gap:0 5px;display:grid}.exposure>small{color:#c5b69b;white-space:nowrap;grid-area:1/1;font-size:10px}.exposure>.score-gain,.exposure>.score-loss{grid-area:1/2;font-size:25px;line-height:1.15}.exposure>span{color:#cbbda4;grid-column:1/-1;font-size:11px;line-height:16px}.selection-clear{background:#201c17;border-color:#9d81564d;border-radius:10px;min-height:44px}.seat-info strong,.seat-top .seat-info strong{font-size:13px;font-weight:500}.seat-info .seat-score{color:#e6ce9a;font-size:12px}.hand-peek{z-index:40;pointer-events:none;color:#24302c;background:linear-gradient(120deg,#f0e8cf,#e5dbbf);border:1px solid #dabb78;border-radius:12px;justify-content:center;align-items:center;gap:3px;width:68px;height:68px;font-family:Georgia,Times New Roman,serif;animation:90ms ease-out card-peek-in;display:flex;position:fixed;box-shadow:0 4px 14px #0806047a}.hand-peek>b{font-size:34px;font-weight:400;line-height:1}.hand-peek>span{font-size:29px;line-height:1}.hand-peek[data-suit=♣]{color:#26573e}.hand-peek[data-suit=♦]{color:#355a87}.hand-peek[data-suit=♥]{color:#a33f3b}.hand-peek:after{content:"";background:#e5dbbf;border-bottom:1px solid #dabb78;border-right:1px solid #dabb78;width:8px;height:8px;position:absolute;bottom:-5px;left:28px;rotate:45deg}@keyframes card-peek-in{0%{opacity:.5;translate:0 4px}to{opacity:1;translate:0}}.hand-section.is-dealing .hand-cards>button.playing-card{animation:deal-into-hand .2s var(--motion-settle) both;animation-delay:calc(var(--hand-index) * 10ms)}@keyframes deal-into-hand{0%{opacity:0;translate:0 -12px}to{opacity:1;translate:0}}.table-collection{pointer-events:none;z-index:0;width:38px;height:52px;position:absolute;top:55%;left:50%;translate:-50% -50%}.collection-fan{--collect-x:0px;--collect-y:45px;width:100%;height:100%;animation:.19s ease-in both collect-trick;position:relative}.table-collection[data-direction=left] .collection-fan{--collect-x:-70px;--collect-y:0px}.table-collection[data-direction=top] .collection-fan{--collect-y:-45px}.table-collection[data-direction=right] .collection-fan{--collect-x:70px;--collect-y:0px}.collection-fan>span{translate:calc(var(--collect-index) * 4px) calc(var(--collect-index) * -3px);background:repeating-conic-gradient(#a95648 0 25%,#914237 0 50%) 0 0/4px 4px;border:2px solid #d8c9aa;border-radius:4px;position:absolute;inset:0}@keyframes collect-trick{0%{opacity:.8;transform:translate(0)scale(.9)}to{opacity:0;transform:translate(var(--collect-x),var(--collect-y)) scale(.4)}}@media (width<=700px){.trick-pile,.trick-pile.has-short-plays,.trick-pile.has-long-plays{--pile-target-width:42px;--pile-name-width:54px;--pile-card-gap:2px;--pile-fan:3px}.pile-player{gap:3px;font-size:12px;line-height:19px}.own-status,.hand-section.is-my-turn .own-status{gap:7px;min-height:56px}.self-player strong{font-size:12px}.self-player>div>span{font-size:11px}.exposure>small{font-size:9px}.exposure>.score-gain,.exposure>.score-loss{font-size:23px}.exposure>span{font-size:10px;line-height:14px}.seat-info strong,.seat-top .seat-info strong{font-size:12px}.seat-info .seat-score{font-size:11px;line-height:15px}.hand-instruction{max-width:108px}.selection-clear{min-height:44px;font-size:11px}}@media (width<=359px) and (orientation:portrait){.trick-pile,.trick-pile.has-short-plays,.trick-pile.has-long-plays{--pile-name-width:46px;--pile-fan:2px}.pile-player{font-size:11px}.pile-order{width:16px}.own-status,.hand-section.is-my-turn .own-status{gap:5px}.self-player strong{font-size:11px}.hand-instruction{max-width:85px}.exposure>.score-gain,.exposure>.score-loss{font-size:21px}.seat-info strong,.seat-top .seat-info strong{font-size:11px}.seat-info .seat-score{font-size:10px}}@media (height<=550px) and (orientation:landscape){.trick-pile,.trick-pile.has-short-plays,.trick-pile.has-long-plays{--pile-target-width:40px;--pile-card-height:44px;--pile-peek:27px;--pile-name-width:60px}.pile-player{padding-top:2px;font-size:11px;line-height:17px}.own-status,.hand-section.is-my-turn .own-status{gap:9px;min-height:38px}.self-player strong{font-size:11px}.self-player>div>span{font-size:10px}.exposure>small{font-size:9px}.exposure>.score-gain,.exposure>.score-loss{font-size:20px}.exposure>span{font-size:9px;line-height:12px}.seat-info strong,.seat-top .seat-info strong{font-size:11px;line-height:13px}.seat-info .seat-score{font-size:10px;line-height:12px}}@media (height<=350px) and (orientation:landscape){.trick-pile,.trick-pile.has-short-plays,.trick-pile.has-long-plays{--pile-target-width:34px;--pile-card-height:36px;--pile-peek:24px;--pile-name-width:52px}.own-status,.hand-section.is-my-turn .own-status{min-height:34px}.exposure>.score-gain,.exposure>.score-loss{font-size:18px}.seat-info .seat-score{font-size:9px}}@media (prefers-reduced-motion:reduce){.hand-section.is-dealing .hand-cards>button.playing-card,.hand-peek{animation:none}.table-collection{display:none}}.hand-instruction{text-align:left;align-items:center;gap:4px;min-width:0;display:flex}.selection-feedback{flex-direction:column;gap:2px;min-width:0;display:flex}.selection-feedback>b{font-size:11px;font-weight:500;line-height:16px}.selection-feedback>b>small{white-space:nowrap;font-size:9px;font-weight:400}.selection-feedback>span{color:#c7baa2;overflow-wrap:anywhere;font-size:10px;line-height:14px}.selection-feedback.legal>b,.action-feedback.confirmed b{color:#bcdfbc}.selection-feedback.invalid>b,.selection-feedback.blocked>b,.action-feedback.rejected b{color:#ecc28c}.hand-instruction .selection-clear{flex:0 0 32px;justify-content:center;align-items:center;min-width:32px;min-height:44px;padding:4px;display:inline-flex}.action-feedback{align-items:center;gap:4px;min-width:0;max-width:180px;display:flex}.action-feedback>span{flex-direction:column;gap:2px;min-width:0;display:flex}.action-feedback b{font-size:11px;font-weight:500;line-height:16px}.action-feedback small{color:#cbbda5;overflow-wrap:anywhere;font-size:10px;line-height:14px}.action-feedback.uncertain b,.action-feedback.checking b{color:#ebc886}.action-feedback button{color:#ecd4a4;background:#30281b;border:1px solid #a78c5e66;border-radius:10px;flex:0 0 44px;min-width:44px;min-height:44px;padding:3px;font-size:11px}.connection-banner{flex-wrap:wrap}.connection-banner button{color:#e8d7b5;background:#30281b;border:1px solid #8f7750;border-radius:9px;min-height:44px;padding:4px 12px}.self-player,.self-player>div{min-width:0}.self-player strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width<=700px){.hand-instruction{max-width:140px}.selection-feedback>b,.action-feedback b{font-size:10px;line-height:14px}.selection-feedback>span,.action-feedback small{font-size:9px;line-height:13px}.self-player>div>span{white-space:nowrap}}@media (width<=359px) and (orientation:portrait){.hand-instruction{max-width:126px}.own-status,.hand-section.is-my-turn .own-status{gap:4px}.self-avatar{display:none}}@media (height<=550px) and (orientation:landscape){.hand-instruction{max-width:270px}.selection-feedback,.action-feedback>span{flex-direction:row;align-items:center;gap:6px}.selection-feedback>span{max-width:165px}.action-feedback small{max-width:150px}.hand-instruction .selection-clear{min-height:44px}}
