.rules-shell>header{justify-content:space-between;align-items:center;gap:16px;display:flex}.rules-back{margin-right:60px}.rules-shell .logo b{font-size:clamp(12px,2vw,19px)}.rules-page{max-width:920px;margin:36px auto 20px}.rules-heading h1{letter-spacing:-.04em;margin:0 0 14px;font-size:clamp(34px,6vw,58px);line-height:1.1}.rules-heading p{color:#b9ccc5;margin:0 0 28px;font-size:14px}.rules-heading p span{color:#d9b879;padding:0 8px}.rules-tabs{top:max(10px,env(safe-area-inset-top));z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#08232af5;border:1px solid #d9b87944;border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:8px;display:grid;position:sticky;box-shadow:0 8px 24px #0003}.rules-tabs button{color:#b9cdc7;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:9px;min-width:0;padding:14px 12px;font:600 15px DM Sans,sans-serif;display:flex}.rules-tabs button span{letter-spacing:.08em;opacity:.7;font-size:10px}.rules-tabs button[aria-selected=true]{color:#f5dda7;background:#21463e;border-color:#d9b87980}.rules-tabs button:hover{color:#f5ecd8}.rules-tabs button:focus-visible,.rules-content:focus-visible{outline-offset:3px;outline:2px solid #e9cb8b}.rules-content{gap:18px;margin-top:24px;display:grid}.rule-section{background:#09242bc7;border:1px solid #d9b87933;border-radius:14px;min-width:0;padding:26px}.rule-section>header{align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.rule-section>header>span{color:#d9b879;letter-spacing:.12em;flex:none;font-size:11px}.rule-section h2{letter-spacing:-.02em;color:#f8eed7;margin:0;font-size:23px;line-height:1.2}.rule-body{color:#c3d1ca;overflow-wrap:anywhere;font-size:16px;line-height:1.75}.rule-body p{margin:0 0 14px}.rule-body p:last-child{margin-bottom:0}.rule-body strong{color:#f7eed9;font-weight:600}.rule-body ul,.rule-body ol{margin:0 0 18px;padding-left:23px}.rule-body li{margin-bottom:10px;padding-left:5px}.rule-body li::marker{color:#d9b879}.rule-note{background:#173a365c;border-left:3px solid #d9b879;border-radius:0 9px 9px 0;margin:20px 0;padding:17px 18px}.rule-note>b{color:#ead095;margin-bottom:9px;font-size:14px;line-height:1.4;display:block}.rule-note p{margin-bottom:10px;font-size:14px;line-height:1.7}.rule-note:last-child{margin-bottom:0}.rule-table-wrap{border:1px solid #d9b87933;border-radius:9px;max-width:100%;margin:18px 0 20px;overflow-x:auto}.rule-table-wrap table{border-collapse:collapse;text-align:left;width:100%;font-size:14px;line-height:1.5}.rule-table-wrap th,.rule-table-wrap td{vertical-align:top;border-bottom:1px solid #d9b87926;padding:12px 14px}.rule-table-wrap thead th{color:#e7c98d;background:#173a3b;font-size:12px;font-weight:500}.rule-table-wrap tbody th{color:#f0e4c9;font-weight:600}.rule-table-wrap tbody tr:last-child>*{border-bottom:0}.rule-table-wrap tbody tr:nth-child(2n){background:#ffffff03}.rule-orders{gap:12px;margin:20px 0;display:grid}.rule-orders>div{background:#153a39;border-radius:10px;padding:16px}.rule-orders b{color:#b0c8ba;font-size:12px}.rule-orders p{color:#f2d699;font-variant-numeric:tabular-nums;letter-spacing:.03em;margin:8px 0 0;font-size:clamp(14px,2.4vw,20px);font-weight:600}.rule-ranking{color:#f0d49d;padding:14px 0;font-size:clamp(16px,2.8vw,23px);line-height:1.5}.rules-footer{justify-content:flex-end;margin-top:24px;display:flex}@media (width<=600px){.rules-page{margin-top:28px}.rules-shell .logo span{width:34px;height:45px;font-size:33px}.rules-back{margin-right:54px;padding:8px;font-size:11px}.rules-heading p{margin-bottom:20px;font-size:12px}.rules-heading p span{padding:0 5px}.rules-tabs{border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px}.rules-tabs button{gap:7px;min-height:46px;padding:10px;font-size:14px}.rules-content{gap:14px;margin-top:18px}.rule-section{border-radius:12px;padding:20px 16px}.rule-section h2{font-size:20px}.rule-section>header{gap:9px}.rule-body{font-size:15px;line-height:1.75}.rule-table-wrap table{font-size:12px}.rule-table-wrap th,.rule-table-wrap td{padding:10px 9px}.rule-note{padding:14px}.rule-orders p{letter-spacing:0}.rules-shell>header{gap:10px}}@media (prefers-reduced-transparency:reduce){.rules-tabs{-webkit-backdrop-filter:none;backdrop-filter:none;background:#08232a}}.shell.rules-shell{overflow:visible}.rules-heading{z-index:auto;height:auto;display:block}.rule-section>header{z-index:auto;justify-content:flex-start;height:auto}.rules-tabs{top:calc(env(safe-area-inset-top,0px) + 70px)}.rules-back,.rules-footer button{min-height:44px}.rule-table-wrap thead th{white-space:nowrap}.unread-dot{vertical-align:middle;background:#ff5959;border-radius:50%;flex:none;width:9px;min-width:9px;height:9px;margin-left:9px;display:inline-block;box-shadow:0 0 0 2px #112f34}.menu-trigger{position:relative}.menu-trigger>.unread-dot{position:absolute;top:3px;right:3px}.navigation-sheet>button>.unread-dot{margin-left:auto}.profile-stats{color:#b7cac6;flex-wrap:wrap;gap:10px 28px;margin:15px 0 22px;font-size:14px;display:flex}.profile-stats b{color:#f7eddb;font-variant-numeric:tabular-nums;margin-left:6px}.profile-actions button{position:relative}.friend-section{margin:22px 0}.friend-section h2{font-size:19px}.friend-row{border-bottom:1px solid #fff2;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.friend-row>b,.friend-row>.account-link{margin-right:auto}.friend-row button{padding:9px 12px;font-size:13px}.thread-list{gap:8px;margin-top:18px;display:grid}.thread-list>button{text-align:left;color:#f7eddb;background:#071e25;border:1px solid #ffffff24;grid-template-columns:1fr auto;gap:7px;padding:15px;display:grid}.thread-list time{color:#a4b8b3;font-size:12px}.thread-list span:not(.unread-dot){white-space:nowrap;text-overflow:ellipsis;color:#b7cac6;grid-column:1/-1;max-width:100%;font-size:14px;overflow:hidden}.conversation h1{margin:10px 0;font-size:28px}.chat-messages{overscroll-behavior:contain;background:#061a20;border-radius:8px;flex-direction:column;gap:8px;height:min(52dvh,500px);min-height:180px;padding:10px;display:flex;overflow:auto}.chat-message{overflow-wrap:anywhere;background:#29474b;border-radius:10px;flex-shrink:0;align-self:flex-start;max-width:88%;padding:10px 12px}.chat-message.mine{background:#28644f;align-self:flex-end}.chat-message p{white-space:pre-wrap;color:#f7eddb;margin:0;font-size:16px}.chat-message time{text-align:right;color:#d2dcd4;margin-top:4px;font-size:10px;display:block}.chat-compose{align-items:stretch;gap:8px;margin-top:10px;display:flex!important}.chat-compose textarea{resize:vertical;color:#fff;min-width:0;font:inherit;background:#071e25;border:1px solid #fff4;border-radius:5px;flex:1;padding:12px}.chat-compose button{align-self:stretch;padding:12px}.account-panel .archive-item>summary{grid-template-columns:minmax(80px,1fr) 40px 86px 44px 16px;gap:8px}.archive-format{color:#b8c8c1;font-size:12px}.account-panel .archive-teams{flex-wrap:nowrap;align-items:baseline;gap:8px;padding-bottom:7px;font-size:13px;display:flex;overflow:auto}.account-panel .archive-team{white-space:nowrap;align-items:baseline;gap:0;display:inline-flex}.account-panel .archive-team>i{color:#a5b6b1;margin:0 8px 0 0;font-style:normal}.account-panel .archive-teams .archive-team>span{background:0 0;padding:0}.bot-counter{align-items:center;gap:16px;display:flex}.bot-counter button{width:44px;height:44px;padding:0;font-size:24px}.bot-counter output{text-align:center;font-variant-numeric:tabular-nums;min-width:24px;font-size:24px}.room-specs{color:#e0d3af;font-size:15px}.lobby-actions .ready-button.waiting{color:#fff2dd;opacity:1;cursor:default;background:#b66c38}.lobby-actions .ready-button.available{color:#fff;background:#267956}.seat.filled .seat-marker{color:#d58d48}.seat.filled.is-ready .seat-marker{color:#63d393}.seat.is-ready{border-color:#63d393}.seat.is-ready small{color:#63d393}@media (width<=480px){.account-panel .archive-item>summary{grid-template-columns:74px 32px 1fr 36px 12px;gap:5px;font-size:12px}.profile-stats{gap:8px 18px}.chat-compose button{padding:10px;font-size:14px}.archive-details{padding-left:8px!important;padding-right:8px!important}}.account-panel .archive-teams span+span:before{content:none}.seat.filled .seat-marker{color:#fff;background:#b66c38}.seat.filled.is-ready .seat-marker{color:#fff;background:#267956}.seat.filled:not(.is-ready) small{color:#dbb178}.account-panel .archive-teams{gap:8px;padding-bottom:0;display:grid;overflow:visible}.account-panel .archive-teams>.archive-team-row{grid-template-columns:74px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.archive-team-row>b{white-space:nowrap;font-size:12px;font-weight:700}.archive-team-row .archive-team-member{align-items:center;gap:8px;min-width:0;font-weight:400;display:flex}.archive-team-row .archive-team-member>span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400;overflow:hidden}.archive-team-row .archive-team-member>i{color:#94b2ad;flex:none;margin:0;font-style:normal}.profile-chat-button{margin-bottom:16px}.account-controls{color:#bfcec7;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:18px 0;display:flex}.account-controls small{font-size:13px}.account-controls button,.account-panel button,.replay-screen button{font:inherit;color:#f6efdd;cursor:pointer;background:#123b37;border:1px solid #d9b87965;border-radius:8px;min-height:42px;padding:10px 15px}.account-controls button:focus-visible,.account-panel button:focus-visible,.replay-screen button:focus-visible{outline-offset:3px;outline:3px solid #f4d78e}.account-controls button:disabled,.account-panel button:disabled{opacity:.45;cursor:default}.account-shell>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.account-panel{overflow-wrap:anywhere;background:#061b22c9;border:1px solid #d9b87944;border-radius:18px;width:min(760px,100%);margin:45px auto 24px;padding:24px}.account-panel h1{margin:12px 0 24px;font-size:clamp(30px,7vw,52px);line-height:1.08}.account-panel p{color:#bacbc3;line-height:1.6}.account-panel label{color:#eee6d1;gap:8px;margin:18px 0;font-size:15px;display:grid}.account-panel input:not([type=checkbox]){box-sizing:border-box;color:#f7efdf;width:100%;min-width:0;font:inherit;background:#0c2d33;border:1px solid #c2ac7355;border-radius:8px;padding:13px;font-size:17px}.account-panel .account-check{align-items:flex-start;gap:12px;display:flex}.account-check input{accent-color:#e2c27f;flex:none;width:20px;height:20px}.account-panel hr{border:0;border-top:1px solid #d9b87933;margin:30px 0}.account-actions{flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0;display:flex}.account-panel .account-danger{background:#74372f}.account-panel .account-link{background:0 0;border:0;padding-left:0;text-decoration:underline}.account-panel .account-error{color:#ffc2ac}.account-otp{text-align:center;letter-spacing:.35em;font-variant-numeric:tabular-nums}.replay-screen{--replay-card-w:clamp(48px,min(calc(var(--table-w)*.085),calc(var(--table-h)*.21)),100px);--replay-card-h:calc(var(--replay-card-w)*1.46);--replay-left:max(14px,calc(var(--native-table-left,env(safe-area-inset-left,0px)) + 8px));--replay-right:max(14px,calc(var(--native-table-right,env(safe-area-inset-right,0px)) + 8px));--replay-top:calc(var(--native-table-top,env(safe-area-inset-top,0px)) + 8px);--replay-bottom:calc(var(--native-table-bottom,env(safe-area-inset-bottom,0px)) + 8px)}.replay-toolbar{top:var(--replay-top);left:var(--replay-left);right:var(--replay-right);z-index:10;align-items:flex-start;gap:14px;font-size:13px;display:flex;position:absolute}.replay-toolbar>div{gap:5px;padding-top:4px;display:grid}.replay-toolbar small{color:#c7dac8;font-size:10px}.replay-score{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto}.replay-screen .replay-toolbar button{background:#073c2acc}.replay-table{inset:60px var(--replay-right) calc(var(--replay-card-h) + 70px) var(--replay-left);position:absolute}.replay-player{z-index:4;text-align:center;gap:4px;max-width:27%;display:grid;position:absolute}.replay-screen .replay-name{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#063a28ba;border-color:#0000;gap:4px;max-width:100%;padding:7px 10px;font-size:13px;display:grid}.replay-name b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.replay-name small{color:#bed3bc;letter-spacing:.1em;font-size:8px}.replay-turn .replay-name{border-color:#e4d17d}.replay-pos-0{bottom:-30px;left:0}.replay-pos-1{top:38%;left:0}.replay-pos-2{top:0;left:50%;transform:translate(-50%)}.replay-pos-3{top:38%;right:0}.replay-contract{color:#f1da96;font-size:11px}.replay-cards{justify-content:center;align-items:center;max-width:100%;display:flex}.replay-cards img{width:var(--replay-card-w);height:var(--replay-card-h);object-fit:fill;-webkit-user-select:none;user-select:none;border-radius:5px;flex:none;max-width:none;display:block;box-shadow:0 3px 10px #00221170}.replay-cards img+img{margin-left:calc(var(--replay-card-w)*-.4)}.replay-trick,.replay-upcard{--replay-card-w:clamp(42px,min(calc(var(--table-w)*.07),calc(var(--table-h)*.15)),96px);--replay-card-h:calc(var(--replay-card-w)*1.46)}.replay-trick{width:0;height:0;position:absolute;top:45%;left:50%}.replay-play{position:absolute;top:0;left:0}.replay-play-0{transform:translate(-50%,-10%)}.replay-play-1{transform:translate(-100%,-55%)}.replay-play-2{transform:translate(-50%,-100%)}.replay-play-3{transform:translateY(-55%)}.replay-upcard{position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)}.replay-own-hand{bottom:calc(var(--replay-bottom) + 51px);pointer-events:none;justify-content:center;display:flex;position:absolute;left:20%;right:20%}.replay-own-hand .replay-cards img+img{margin-left:calc(var(--replay-card-w)*-.28)}.replay-caption{left:27%;right:27%;bottom:calc(var(--replay-bottom) + var(--replay-card-h) + 60px);text-align:center;color:#ffefc6;gap:3px;max-height:70px;font-size:12px;line-height:1.3;display:grid;position:absolute;overflow:auto}.replay-declaration,.replay-hand-result{text-align:center;z-index:5;gap:10px;display:grid;position:absolute;top:57%;left:50%;transform:translate(-50%,-50%)}.replay-hand-result{white-space:nowrap;background:#063824ed;border:1px solid #d4c27970;border-radius:12px;padding:16px}.replay-hand-result b{font-size:18px}.replay-declaration>b{font-size:12px}.replay-down{pointer-events:none;--replay-card-w:clamp(34px,calc(var(--table-h)*.14),70px);--replay-card-h:calc(var(--replay-card-w)*1.46);position:absolute;inset:5%}.replay-down>div{position:absolute}.replay-down-0{bottom:-12px;left:50%;transform:translate(-50%)}.replay-down-1{top:50%;left:18%;transform:translate(-50%,-50%)rotate(90deg)}.replay-down-2{top:0;left:50%;transform:translate(-50%)}.replay-down-3{top:50%;right:18%;transform:translate(50%,-50%)rotate(-90deg)}.replay-peek{text-align:center;z-index:30;pointer-events:none;background:#05291ff5;border:1px solid #e8cc8b;border-radius:15px;gap:12px;padding:16px;display:grid;position:absolute;top:50%;left:16%;right:16%;transform:translateY(-50%)}.replay-peek .replay-cards img+img{margin-left:calc(var(--replay-card-w)*-.25)}.replay-controls{bottom:var(--replay-bottom);left:var(--replay-left);right:var(--replay-right);z-index:15;align-items:center;gap:12px;display:flex;position:absolute}.replay-controls input{accent-color:#ead492;flex:1;min-width:50px}.replay-controls span{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.replay-screen .replay-controls button{white-space:nowrap;background:#073c2af0;font-size:12px}.replay-loading{text-align:center;z-index:20;position:absolute;inset:30% 15%}@media (height<=500px),(orientation:portrait) and (width<=600px){.replay-toolbar{gap:8px;font-size:11px}.replay-toolbar small{font-size:9px}.replay-screen .replay-toolbar button{padding:8px;font-size:11px}.replay-table{top:52px}.replay-caption{font-size:10px}.replay-controls{gap:7px}.replay-screen .replay-controls button{padding:8px;font-size:11px}.replay-name small{font-size:7px}}.access-entry h1{letter-spacing:-.045em;margin:14px 0 30px;font-size:clamp(40px,7vw,76px);line-height:1.04}.access-entry>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.access-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.access-tiles button{aspect-ratio:1.35;color:#f7edda;text-align:center;cursor:pointer;background:linear-gradient(145deg,#164247d9,#08242c);border:1px solid #d9b87966;border-radius:18px;place-items:center;padding:24px;font:600 clamp(17px,2vw,23px)/1.25 DM Sans,sans-serif;transition:transform .18s,border-color .18s;display:grid}.access-tiles button:first-child{background:linear-gradient(145deg,#265447,#123830);border-color:#e2c482}.access-tiles button:hover{border-color:#edcd8b;transform:translateY(-3px)}.access-tiles button:focus-visible,.menu-trigger:focus-visible,.navigation-sheet button:focus-visible{outline-offset:3px;outline:3px solid #edcd8b}.guest-name-form{gap:12px;max-width:460px;display:grid}.guest-name-form label{letter-spacing:.15em;color:#d9b879;font-size:11px}.guest-name-form input{box-sizing:border-box;color:#f7edda;width:100%;min-width:0;font:inherit;background:#08252d;border:1px solid #d9b87977;border-radius:12px;padding:18px;font-size:18px}.guest-name-form button{color:#102d30;cursor:pointer;background:#d9b879;border:0;border-radius:12px;min-height:50px;font:600 16px DM Sans,sans-serif}.guest-name-form button:disabled{opacity:.4}.rooms-shell .rooms-home,.account-shell .account-back{margin-right:62px}.account-shell>header .logo{max-width:65%}.account-shell .logo b{font-size:clamp(12px,2vw,19px)}.account-panel{max-width:800px}.account-panel h1{font-size:clamp(30px,6vw,48px)}.account-panel label small{color:#aec5c0;font-size:12px}.account-panel .profile-actions{gap:12px;display:grid}.account-panel .profile-actions button{text-align:left;min-height:58px}.account-panel .account-danger{color:#ffd5cb;background:#542923;border-color:#ce7668}.delete-confirm{border-top:1px solid #cb827055;margin-top:24px;padding-top:16px}.navigation{top:calc(env(safe-area-inset-top,0px) + 17px);right:max(18px,env(safe-area-inset-right,0px));z-index:160;position:fixed}.menu-trigger{color:#f3dfaf;cursor:pointer;background:#0b2b32e8;border:1px solid #d9b87977;border-radius:11px;place-items:center;width:45px;height:45px;padding:10px;display:grid}.menu-trigger svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;width:24px;height:24px}.navigation-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00151999;justify-content:flex-end;display:flex;position:fixed;inset:0}.navigation-sheet{box-sizing:border-box;width:min(340px,100vw - 28px);margin:calc(env(safe-area-inset-top,0px) + 12px) 12px 0;background:#0b2a30;border:1px solid #d9b87966;border-radius:18px;flex-direction:column;align-self:flex-start;gap:8px;padding:24px 18px;display:flex;box-shadow:0 20px 60px #0008}.navigation-sheet header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.navigation-sheet header b{color:#dfbf82;letter-spacing:.1em}.navigation-sheet button{text-align:left;color:#f4ead6;font:inherit;cursor:pointer;background:#12363c;border:1px solid #0000;border-radius:9px;padding:16px;font-size:15px}.navigation-sheet header button{text-align:center;background:0 0;width:36px;height:36px;padding:0;font-size:25px}.navigation-sheet .menu-home{color:#b4c6c2;background:0 0;margin-top:12px;font-size:13px}.navigation-sheet button:disabled{opacity:.4;cursor:default}.member-account{color:#efca82!important}.member-guest{color:#aebfc2!important}.member-bot{color:#8bc6aa!important}.archive-legend{gap:18px;margin:-6px 0 26px;font-size:12px;display:flex}.archive-legend span:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.account-search{gap:4px;display:grid}.search-note{font-size:12px}.search-results{gap:10px;margin-top:22px;display:grid}.search-results button{text-align:left;justify-content:space-between;align-items:center;gap:12px;min-height:62px;display:flex}.search-results button b{color:#efca82}.search-results button span{color:#b6cbc4;font-size:12px}.verification-address{font-weight:600;color:#f3dab1!important}@media (width<=600px){.access-entry .entry-card{margin-top:36px}.access-tiles{grid-template-columns:1fr;gap:12px;max-width:440px}.access-tiles button{aspect-ratio:auto;border-radius:15px;min-height:105px;padding:22px;font-size:20px}.access-entry h1{margin-bottom:26px;font-size:46px}.account-panel{margin-top:32px;padding:20px 16px}.account-shell>header{padding-right:0}.account-shell>header .logo span{width:34px;height:45px;font-size:33px}.account-shell>header .logo b{font-size:11px}.account-back{padding:7px!important;font-size:11px!important}.account-panel h1{font-size:34px}.navigation{top:calc(env(safe-area-inset-top,0px) + 12px);right:max(12px,env(safe-area-inset-right,0px))}.archive-teams span{font-size:14px}.archive-games{font-size:12px}.guest-name-form input{padding:16px}.rooms-shell .rooms-home{margin-right:54px;padding:8px;font-size:10px}}.install-dots{vertical-align:middle;fill:currentColor;width:4px;height:16px;margin:0 3px;display:inline-block}.replay-screen button.replay-name{cursor:pointer;min-width:96px;min-height:48px;padding:10px 14px}.replay-player,.replay-name,.replay-name *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.replay-name>*{pointer-events:none}.replay-own-name{border:1px solid #0000;border-radius:8px}.room-search{align-items:center;gap:12px;margin:24px 0;display:flex}.room-search input{flex:1;min-width:0}.room-search button{flex-shrink:0}.room-search input,.room-create>input{color:#f5ecd8;font:inherit;background:#071f26;border:1px solid #e8d6b44a;border-radius:8px;padding:14px 16px}.room-create{gap:14px;max-width:560px;margin:24px 0;display:grid}.room-create fieldset{border:1px solid #e8d6b44a;border-radius:8px;gap:24px;padding:16px;display:flex}.room-create legend{color:#dabc7e;padding:0 8px}.room-create fieldset label{align-items:center;gap:8px;display:flex}.room-create input[type=radio]{accent-color:#dabc7e;width:18px;height:18px}.room-create-actions{justify-content:space-between;gap:16px;display:flex}.room-grid b{overflow-wrap:anywhere}.room-capacity-notice{right:max(16px,env(safe-area-inset-right));top:calc(env(safe-area-inset-top) + 86px);z-index:12;color:#f5ecd8;background:#173d40f5;border:1px solid #dabc7e80;border-radius:10px;max-width:min(360px,100vw - 32px);margin:0;padding:12px 16px;font-size:14px;position:fixed;box-shadow:0 8px 28px #0004}@media (width<=600px){.room-search{flex-direction:column;align-items:stretch}.room-search input{box-sizing:border-box;width:100%}.room-create fieldset{gap:16px}.room-grid>button,.room-grid>button>div{min-width:0}}.replay-upcard{top:65%}@media (width<=600px){.room-capacity-notice{max-width:none;margin:0 0 20px;position:static}.lobby-card:has(.room-capacity-notice){padding-top:8px}}.navigation-sheet>button{align-items:center;gap:12px;display:flex}.menu-icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.archive-list{border:1px solid #d9b87944;border-radius:10px;gap:0;display:grid;overflow:hidden}.account-panel .archive-item{background:#0b3034;border:0;border-bottom:1px solid #d9b87926;border-radius:0;min-width:0;margin:0;padding:0;display:block}.archive-item:last-child{border-bottom:0}.archive-item>summary{cursor:pointer;box-sizing:border-box;color:#f5ecd8;grid-template-columns:minmax(0,1fr) auto auto 14px;align-items:center;gap:12px;min-height:46px;padding:10px 12px;font-size:14px;list-style:none;display:grid}.archive-item>summary::-webkit-details-marker{display:none}.archive-item>summary::marker{content:""}.archive-item>summary:focus-visible{outline-offset:-2px;outline:2px solid #efca82}.archive-item time{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.archive-item strong{font-variant-numeric:tabular-nums;font-size:15px}.archive-outcome{font-size:13px;font-weight:500}.archive-outcome.won{color:#8bc6aa}.archive-outcome.lost{color:#e6a396}.archive-outcome.interrupted{color:#b8c7ca}.archive-item>summary svg{fill:none;stroke:#dabc7e;stroke-width:1.6px;width:14px;height:14px}.archive-item[open]>summary{background:#143b3d}.archive-item[open]>summary svg{transform:rotate(180deg)}.archive-details{gap:14px;padding:14px;display:grid}.archive-date{color:#b4c8c4;font-size:12px}.archive-teams{gap:6px;display:grid}.archive-teams>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.archive-teams span{font-size:14px}.archive-teams span+span:before{content:"+";color:#8fa8a3;margin-right:8px}.archive-teams i{color:#8fa8a3;font-size:11px;font-style:normal}.archive-games{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.archive-games th{text-align:left;text-transform:uppercase;letter-spacing:.1em;color:#94b2ad;padding:0 0 7px;font-size:10px;font-weight:500}.archive-games td{color:#eee7d3;border-top:1px solid #ffffff12;padding:6px 0}.archive-games td small{color:#c69f83;margin-left:8px;font-size:10px;display:inline-block}.archive-games th:last-child,.archive-games td:last-child{text-align:right}.archive-details footer{justify-content:flex-end;align-items:center;gap:12px;display:flex}.archive-details footer small{color:#dabc7e;font-size:11px}.archive-details footer button{font-size:13px}.account-panel:has(.archive-list){margin-top:20px}.account-panel:has(.archive-list)>h1{margin:0 0 14px}.archive-legend{margin:0 0 16px}@media (width<=600px){.archive-item>summary{gap:7px;min-height:46px;padding:9px 10px;font-size:12px}.archive-outcome{font-size:12px}.archive-item strong{font-size:14px}.account-panel:has(.archive-list){padding:16px 10px}.archive-details{padding:12px}.archive-legend{margin-bottom:12px}.account-panel:has(.archive-list)>h1{margin-bottom:12px;font-size:30px}}.replay-screen .replay-exit{place-items:center;width:42px;min-width:42px;height:42px;padding:8px;display:grid}.replay-exit svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.replay-screen .replay-table{top:44px}.replay-table .replay-pos-1,.replay-table .replay-pos-3{flex-direction:column;align-items:center;height:64px;display:flex;top:50%;overflow:visible;transform:translateY(-50%)}.replay-table .replay-pos-1 .replay-contract,.replay-table .replay-pos-3 .replay-contract{position:absolute;top:100%;left:0;right:0}.replay-screen .replay-name{box-sizing:border-box;grid-template-rows:18px 10px;align-content:center;min-height:64px}.replay-name small{min-height:10px;line-height:10px}.replay-screen .replay-name,.replay-screen button.replay-name{box-sizing:border-box;text-align:center;flex:none;justify-content:center;align-items:center;height:64px;min-height:64px;padding:10px 14px;display:flex;position:relative}.replay-screen .replay-name b{margin:0;line-height:18px;display:block}.replay-screen .replay-name small{height:10px;min-height:0;margin:0;line-height:10px;position:absolute;bottom:5px;left:5px;right:5px}.replay-table .replay-pos-1,.replay-table .replay-pos-3{height:64px;top:50%;transform:translateY(-50%)}.replay-table .replay-pos-2{top:calc(var(--replay-top) - 44px);z-index:11}.replay-toolbar .replay-selector{min-width:0;padding-top:0;position:relative}.replay-screen .replay-selector-trigger{min-height:42px;font-size:inherit;text-align:left;align-items:center;gap:8px;padding:8px 10px;display:flex}.replay-selector-trigger b{white-space:nowrap}.replay-selector-trigger svg{fill:none;stroke:currentColor;stroke-width:1.7px;flex:none;width:14px;height:14px}.replay-selector-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.replay-jump{background:#073c2af5;border:1px solid #d9b87965;border-radius:10px;gap:12px;width:230px;max-width:calc(100vw - 100px);padding:16px;display:grid;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 12px 30px #001c1480}.replay-jump label{color:#d9e5cc;gap:6px;font-size:12px;display:grid}.replay-jump select{color:#f6efdd;width:100%;min-width:0;min-height:40px;font:inherit;background:#123b37;border:1px solid #d9b87965;border-radius:6px;padding:8px}.replay-screen:has(.replay-selector-trigger[aria-expanded=true]) .replay-toolbar{z-index:90}.replay-summary .replay-toolbar,.replay-summary .replay-controls{z-index:80}.replay-summary .hand-summary{inset:calc(var(--replay-top) + 50px) 0 calc(var(--replay-bottom) + 53px);padding:6px var(--replay-right) 6px var(--replay-left)}.replay-summary .summary-panel{max-height:100%}.replay-summary .summary-footer:empty{display:none}@media (height<=500px){.replay-summary .summary-heading{padding:8px 14px}.replay-summary .summary-table th,.replay-summary .summary-table td{padding:3px 10px}.replay-summary .summary-footer{padding:7px 14px}}.replay-screen .replay-name{color:#f6efdd;background:#2d5243}.replay-screen .replay-player:not(.replay-turn) .replay-name{border-color:#78907a60}.replay-screen .replay-toolbar button{background:#182d27;border-color:#c6b27a55}.archive-visibility{background:#0b3034;border:1px solid #d9b87944;border-radius:10px;justify-content:space-between;align-items:center;gap:18px;margin:4px 0 18px;padding:12px 14px;color:#f5ecd8!important;letter-spacing:0!important;font-size:14px!important;display:flex!important}.archive-visibility select{min-width:190px;width:auto!important;margin:0!important;padding:9px 34px 9px 11px!important}.archive-notice,.lobby-share-notice{color:#8bc6aa;font-size:13px}.archive-details footer .archive-actions{gap:8px;margin-left:auto;display:flex}.archive-actions button,.room-share{color:#efd399;cursor:pointer;background:#173d3c;border:1px solid #d9b87955;border-radius:9px;place-items:center;width:42px;height:42px;padding:9px;display:grid}.archive-actions button:hover,.room-share:hover{background:#214b46;border-color:#efd399}.archive-actions button:disabled{opacity:.45;cursor:default}.archive-actions svg,.room-share svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.shared-replay-loading section{max-width:620px;margin:12vh auto}.shared-replay-loading h1{font-size:clamp(42px,7vw,72px)}@media (width<=600px){.archive-visibility{flex-direction:column;align-items:flex-start}.archive-visibility select{width:100%!important}.lobby-shell .header-actions{gap:8px}.room-share{width:38px;height:38px;padding:8px}}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-sans-latin-400-normal.woff2)format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/dm-sans-latin-600-normal.woff2)format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/dm-sans-latin-700-normal.woff2)format("woff2")}:root{color:#f7ecd8;font-synthesis:none;background:#091c23;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 50% -20%,#174c50,#091c23 56%);min-width:320px;min-height:100vh;margin:0}button{font:inherit;touch-action:manipulation}.shell{min-height:100vh;padding:26px clamp(20px,4vw,64px);overflow:hidden}header{z-index:4;justify-content:space-between;align-items:center;height:62px;display:flex;position:relative}.logo{letter-spacing:.16em;grid-template-rows:31px 15px;grid-template-columns:43px auto;align-items:center;display:grid}.logo>span{color:#d9533f;border:1px solid #d9b879;border-radius:3px;grid-row:1/3;place-items:center;width:36px;height:50px;font:700 41px/1 DM Sans;display:grid;transform:rotate(-5deg)}.logo>b{font-size:19px}.logo small{color:#a9b7b3;letter-spacing:.2em;font-size:8px}.status{letter-spacing:.18em;color:#a9b7b3;font-size:10px}.status i{background:#50b980;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block;box-shadow:0 0 0 5px #50b98018}.status i.offline{background:#d9533f;box-shadow:0 0 0 5px #d9533f18}.entry-shell:before,.lobby-shell:before{content:"";opacity:.13;pointer-events:none;background-image:linear-gradient(30deg,#d9b879 1px,#0000 1px),linear-gradient(150deg,#d9b879 1px,#0000 1px);background-size:70px 122px;position:absolute;inset:0}.entry-card{z-index:1;max-width:980px;margin:12vh auto 0;position:relative}.entry-card h1{max-width:900px}.name-form{max-width:560px;margin-top:38px}.name-form label{color:#d9b879;letter-spacing:.22em;margin-bottom:9px;font-size:9px;font-weight:700;display:block}.name-form>div{display:flex}.name-form input{color:#f7ecd8;background:#06171dcc;border:1px solid #ffffff24;border-right:0;outline:0;flex:1;min-width:0;padding:17px 18px;font:600 14px DM Sans}.name-form .name-input-only input{border-right:1px solid #ffffff24}.name-form input:focus{border-color:#d9b879}.name-form button{color:#fff;text-transform:uppercase;letter-spacing:.15em;cursor:pointer;background:#d9533f;border:0;padding:0 25px;font-size:9px;font-weight:700}.name-form button:disabled{opacity:.4}.lobby-card{z-index:1;max-width:980px;margin:7vh auto 0;position:relative}.eyebrow{color:#d9b879;letter-spacing:.28em;font-size:11px;font-weight:700}h1{letter-spacing:-.05em;max-width:850px;margin:8px 0 16px;font-size:clamp(48px,7vw,91px);line-height:.94}h1 em{color:#e35e48;font-family:DM Sans;font-weight:700}.lede{color:#a9b7b3;max-width:540px;font-size:16px;line-height:1.6}.seats{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:42px;display:grid}.seat{width:100%;min-height:105px;color:inherit;text-align:left;background:#06171dcc;border:1px solid #ffffff18;align-items:center;gap:13px;padding:17px;display:flex;position:relative}.seat>span{color:#ffffff25;font-size:11px;position:absolute;top:8px;right:10px}.seat-marker{color:#71817f;border:1px dashed #ffffff25;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;font-family:DM Sans;font-size:21px;display:grid}.seat.filled .seat-marker{color:#fff;background:#d9533f;border-style:solid;font-size:13px}.seat b{font-size:13px;display:block}.seat small{color:#81918e;letter-spacing:.15em;margin-top:7px;font-size:8px;display:block}.seat.filled small{color:#5fc38b}.lobby-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.primary,.secondary{text-transform:uppercase;letter-spacing:.15em;cursor:pointer;border:0;padding:14px 24px;font-size:10px;font-weight:700}.primary{color:#fff;background:#d9533f}.secondary{color:#d9b879;background:0 0;border:1px solid #d9b87955}.ready-button{color:#72c79c;text-transform:uppercase;letter-spacing:.15em;cursor:pointer;background:#11352f;border:1px solid #72c79c55;padding:14px 24px;font-size:10px;font-weight:700}.start-hint{text-align:right;color:#71817f;font-size:9px}.remove-bot{color:#d98374;cursor:pointer;background:0 0;border:0;padding:4px 0 0;font-size:8px;display:block}.seat.selectable{cursor:pointer;border-style:dashed}.seat.selectable:hover{background:#102c31;border-color:#d9b879}.seat.you{border-color:#d9b879;box-shadow:inset 0 0 0 1px #d9b87955}.lobby-actions button:disabled{opacity:.3;cursor:not-allowed}.game-shell{padding-bottom:20px}.score{color:#a9b7b3;letter-spacing:.13em;align-items:center;gap:16px;font-size:10px;display:flex}.score b{color:#f6e8d0;margin-left:6px;font-size:18px}.score small{border-left:1px solid #ffffff20;padding-left:15px}.table-wrap{max-width:1120px;margin:20px auto 0;padding:16px 9%}.table{background:radial-gradient(circle,#136259,#0b403d 62%,#082d2d);border:13px solid #412d23;border-radius:48%/17%;height:min(57vh,590px);min-height:430px;position:relative;box-shadow:0 0 0 4px #b6854d,0 28px 70px #0009,inset 0 0 90px #001b1b}.grain{border-radius:inherit;opacity:.14;background-image:repeating-linear-gradient(37deg,#0000 0 3px,#fff 4px,#0000 5px);position:absolute;inset:0}.player{z-index:3;align-items:center;gap:9px;display:flex;position:absolute}.player .avatar{background:#d9533f;border:2px solid #f6e8d0;border-radius:50%;place-items:center;width:39px;height:39px;font-family:DM Sans;font-size:19px;display:grid}.player strong{font-size:11px;display:block}.player small{color:#8cc8b9;letter-spacing:.14em;margin-top:3px;font-size:7px;display:block}.player.south{bottom:-34px;left:50%;transform:translate(-50%)}.player.north{top:-34px;left:50%;transform:translate(-50%)}.player.west{top:45%;left:-70px}.player.east{text-align:right;flex-direction:row-reverse;top:45%;right:-75px}.contract{color:#d9b879;display:grid;position:absolute;top:10%;left:8%}.contract small,.contract span{letter-spacing:.2em;font-size:7px}.contract b{color:#0d1414;text-shadow:0 1px #d9b879;font-size:36px;line-height:1}.trick{justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:25% 30%}.trick .card:first-child{transform:rotate(-13deg)translateY(8px)}.trick .card:nth-child(3){transform:rotate(11deg)translateY(-3px)}.card{color:#172126;cursor:pointer;text-align:left;background:#f3eadb;border:1px solid #ddcfb8;border-radius:7px;width:74px;height:108px;padding:7px;font-family:Georgia;font-size:17px;font-weight:700;transition:all .18s;position:relative;overflow:hidden;box-shadow:0 6px 13px #001a1a66}.card b{place-items:center;font-size:38px;display:grid;position:absolute;inset:0}.card>i{letter-spacing:3px;word-break:break-all;text-align:center;opacity:.22;font:10px/11px Georgia;position:absolute;inset:19px 12px}.card .corner{position:absolute;bottom:6px;right:7px;transform:rotate(180deg)}.card.red{color:#c94536}.card:hover,.card.active{box-shadow:0 16px 20px #001a1a88;transform:translateY(-13px)!important}.card.compact{pointer-events:none}.card.rejected{animation:.7s reject-card}.trick .card{cursor:default}.trick .card:hover{transform:inherit!important}.card.genovese{background:#f5edda;border:2px solid #e0d3b8;border-radius:5px;padding:4px}.card.genovese:after{content:"";pointer-events:none;border:1px solid #927d5c55;position:absolute;inset:3px}.pip-face{z-index:1;place-items:center;display:grid;position:absolute;inset:8px}.pip-face b{font-size:18px;line-height:1;position:static}.pips-1 b{font-size:39px}.pips-7,.pips-8,.pips-9,.pips-10{grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr}.pips-7 b:nth-child(7),.pips-9 b:nth-child(9){position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pips-8 b,.pips-10 b{font-size:16px}.court{background:#ead9b8;border:1px solid #a98a5b;position:absolute;inset:5px;overflow:hidden}.court:after{content:"";z-index:4;background:#181a16;width:140%;height:2px;position:absolute;top:49%;left:-20%;transform:rotate(-35deg)}.court-top,.court-bottom{background:linear-gradient(135deg,#d8b44d 0 25%,#b83e31 25% 47%,#174f43 47% 73%,#161713 73%);width:100%;height:55%;position:absolute;left:0;overflow:hidden}.court-top{top:0}.court-bottom{bottom:0;transform:rotate(180deg)}.court .crown{color:#f0cf67;text-shadow:0 1px #111;font-size:20px;font-style:normal;position:absolute;top:7px;left:50%;transform:translate(-50%)}.court span>b{color:#f3e1b9;font-size:17px;position:absolute;inset:auto 7px 5px auto}.court span>em{background:#e7bd8f;border:2px solid #241b16;border-radius:50% 50% 43% 43%;width:19px;height:24px;position:absolute;top:27px;left:50%;transform:translate(-50%)}.court-q .crown{font-size:23px}.court-j span>em{border-radius:50% 20%}.court-k span>em:after{content:"";background:#171713;width:28px;height:5px;position:absolute;bottom:-5px;left:-6px}@keyframes reject-card{0%{transform:translateY(-35px)rotate(2deg)}30%{transform:translateY(-15px)translate(-8px)rotate(-3deg)}55%{transform:translateY(-15px)translate(8px)rotate(3deg)}to{transform:none}}.timer{align-items:center;gap:8px;display:grid;position:absolute;bottom:9%;right:8%}.timer span{letter-spacing:.18em;color:#f3d8a2;font-size:8px}.timer i{background:#ffffff1b;width:130px;height:4px;display:block;overflow:hidden}.timer u{background:#e05b43;height:100%;transition:width .1s linear;display:block}.hand-area{z-index:5;place-items:center;margin-top:-38px;display:grid;position:relative}.hand{justify-content:center;display:flex}.hand .card{margin-left:-13px}.quick-actions{gap:8px;margin-bottom:10px;display:flex}.quick-actions button{color:#d9b879;text-transform:uppercase;letter-spacing:.13em;cursor:pointer;background:#102d32;border:1px solid #d9b87955;padding:8px 15px;font-size:8px}.hand-area p{color:#718783;letter-spacing:.1em;font-size:9px}.back{color:#81918e;cursor:pointer;background:0 0;border:0;position:fixed;bottom:18px;left:20px}.quick-actions button.muted{opacity:.35;cursor:default}.player.turn .avatar{box-shadow:0 0 0 4px #d9b87955,0 0 24px #d9b87988}.speech{color:#172126;background:#f8ecd9;border-radius:10px;width:max-content;max-width:170px;padding:8px 11px;font-size:10px;font-weight:700;animation:.25s pop;position:absolute;bottom:53px;left:50%;transform:translate(-50%);box-shadow:0 6px 16px #001b1baa}.speech:after{content:"";border:6px solid #0000;border-top-color:#f8ecd9;border-bottom:0;position:absolute;bottom:-6px;left:50%}@keyframes pop{0%{opacity:0;transform:translate(-50%)scale(.5)}}.taken-stack{width:34px;height:38px;position:absolute;top:2px;left:calc(100% + 10px)}.taken-stack i{background:repeating-linear-gradient(45deg,#b44135 0 3px,#efd298 3px 5px);border:1px solid #f4e2c1;border-radius:2px;position:absolute;inset:5px 4px;transform:rotate(5deg)}.taken-stack b{color:#132329;background:#d9b879;border-radius:50%;place-items:center;width:17px;height:17px;font-size:9px;display:grid;position:absolute;bottom:-3px;right:-5px}.bid-panel,.contest-panel{z-index:7;text-align:center;background:#061c22f2;border:1px solid #d9b87955;min-width:275px;padding:15px 18px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 15px 40px #001b1bcc}.bid-panel>small,.contest-panel small{color:#d9b879;letter-spacing:.2em;margin-bottom:8px;font-size:8px;display:block}.upcard-mini{place-items:center;height:116px;display:grid}.bid-panel>div:last-child{justify-content:center;gap:7px;display:flex}.bid-panel button,.contest-panel button{color:#f7ecd8;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;background:#133138;border:1px solid #ffffff20;padding:10px 14px;font-size:9px;font-weight:700}.bid-panel button.gold{color:#d9b879;border-color:#d9b879}.bid-panel button.red-action,.contest-panel button{background:#d9533f;border-color:#d9533f}.suit-choice button{font-size:23px!important}.suit-choice span{margin-top:3px;font:7px DM Sans;display:block}.contest-panel{gap:7px;display:grid}.contest-panel b{color:#f4dba9;font:700 28px DM Sans}.contest-panel span{color:#94a8a4;font-size:9px}.contest-line{background:#ffffff18;height:3px;display:block}.contest-line u{background:#e05b43;height:100%;transition:width .1s linear;display:block}.upcard-table{opacity:.78;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.trick-cross{z-index:4;position:absolute;inset:27% 31%}.played-card{transition:all .25s;position:absolute;top:50%;left:50%}.played-card.pos-0{transform:translate(-50%,15%)}.played-card.pos-1{transform:translate(-145%,-50%)rotate(90deg)}.played-card.pos-2{transform:translate(-50%,-115%)rotate(180deg)}.played-card.pos-3{transform:translate(45%,-50%)rotate(-90deg)}.played-card .card:hover{transform:none!important}.opponent-hand{z-index:2;pointer-events:none;width:150px;height:80px;position:absolute}.opponent-hand i{--spread:calc((var(--i) - (var(--n) - 1)/2) * 8px);background:repeating-linear-gradient(45deg,#af3e33 0 3px,#edce91 3px 5px);border:2px solid #eeddb9;border-radius:4px;width:39px;height:58px;position:absolute;top:50%;left:50%;box-shadow:0 3px 8px #001b1b88}.opponent-hand.north{top:3%;left:50%;transform:translate(-50%)}.opponent-hand.north i{transform:translateX(var(--spread))}.opponent-hand.west{top:50%;left:3%;transform:translateY(-50%)rotate(90deg)}.opponent-hand.west i{transform:translateX(var(--spread))}.opponent-hand.east{top:50%;right:3%;transform:translateY(-50%)rotate(90deg)}.opponent-hand.east i{transform:translateX(var(--spread))}.capture-animation{z-index:10;pointer-events:none;position:absolute;inset:27% 31%}.capture-animation>div{animation:.9s forwards capture-south;animation-delay:calc(var(--i) * 40ms);position:absolute;top:50%;left:50%}.capture-animation>div:nth-child(2){transform:rotate(5deg)}.capture-animation>div:nth-child(3){transform:rotate(-5deg)}.capture-animation>div:nth-child(4){transform:rotate(8deg)}.capture-animation.winner-1>div{animation-name:capture-west}.capture-animation.winner-2>div{animation-name:capture-north}.capture-animation.winner-3>div{animation-name:capture-east}@keyframes capture-south{0%{opacity:1;transform:translate(-50%,-50%)}90%{opacity:1}to{opacity:0;transform:translate(-50%,345%)}}@keyframes capture-north{0%{opacity:1;transform:translate(-50%,-50%)}90%{opacity:1}to{opacity:0;transform:translate(-50%,-420%)rotate(180deg)}}@keyframes capture-west{0%{opacity:1;transform:translate(-50%,-50%)}90%{opacity:1}to{opacity:0;transform:translate(-500%,-50%)rotate(90deg)}}@keyframes capture-east{0%{opacity:1;transform:translate(-50%,-50%)}90%{opacity:1}to{opacity:0;transform:translate(400%,-50%)rotate(-90deg)}}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;background:#001014c9;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.declaration-modal,.result-card{background:#0d2930;border:1px solid #d9b87966;width:min(480px,100%);padding:31px;position:relative;box-shadow:0 25px 80px #000}.declaration-modal h2,.result-card h2{margin:4px 0 8px;font:700 40px DM Sans}.declaration-modal>p:not(.eyebrow){color:#8fa5a1;font-size:12px}.modal-x{color:#8fa5a1;cursor:pointer;background:0 0;border:0;font-size:24px;position:absolute;top:9px;right:12px}.declaration-grid{grid-template-columns:1fr 1fr;gap:8px;margin:24px 0;display:grid}.declaration-grid>div{background:#071c22;justify-content:space-between;align-items:center;padding:12px;display:flex}.declaration-grid b{text-transform:uppercase;font-size:11px}.declaration-grid span{align-items:center;gap:10px;display:flex}.declaration-grid button{color:#d9b879;cursor:pointer;background:#16363c;border:1px solid #ffffff18;width:25px;height:25px}.confirm-declaration,.result-card button{color:#fff;text-transform:uppercase;letter-spacing:.18em;cursor:pointer;background:#d9533f;border:0;width:100%;padding:14px;font-size:9px;font-weight:700}.result-card>div{border-block:1px solid #ffffff18;justify-content:space-between;margin:25px 0;padding:18px 0;display:flex}.result-card>div span{text-transform:uppercase;letter-spacing:.12em;font-size:12px}.result-card>div b{color:#d9b879;font-size:28px;display:block}.result-card>small{text-align:center;color:#8fa5a1;display:block}.toast{color:#fff;z-index:30;background:#d9533f;padding:11px 18px;font-size:11px;font-weight:700;position:fixed;top:86px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #0008}.deal-animation{pointer-events:none;z-index:9;position:absolute;inset:0}.packet{opacity:0;animation:.8s forwards deal-packet;position:absolute;top:50%;left:50%}.packet b{background:repeating-linear-gradient(45deg,#c84c3b 0 4px,#f1d7a8 4px 6px);border:2px solid #f5e4c8;border-radius:4px;width:45px;height:65px;display:block;position:absolute;box-shadow:0 4px 9px #001b1b88}.packet b:nth-child(2){transform:translate(4px,3px)}.packet b:nth-child(3){transform:translate(8px,6px)}.packet.seat-0{--x:0px;--y:180px}.packet.seat-1{--x:-330px;--y:0px}.packet.seat-2{--x:0px;--y:-210px}.packet.seat-3{--x:330px;--y:0px}@keyframes deal-packet{0%{opacity:1;transform:translate(-50%,-50%)scale(.8)}80%{opacity:1;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1)}}.loading{place-items:center;display:grid}.loading p{color:#8fa5a1}.waiting{opacity:.55}@media (width<=800px){.seats{grid-template-columns:1fr 1fr}h1{font-size:52px}.table-wrap{padding:20px 4%}.player.west{left:-25px}.player.east{right:-30px}.table{height:480px}.card{width:58px;height:88px}.trick{inset:28% 22%}.hand .card{margin-left:-20px}.score small{display:none}}.arena{grid-template:"nw north ne"145px"west table east"minmax(390px,1fr)"sw south se"155px/210px minmax(560px,1fr) 210px;align-items:center;width:min(1280px,96vw);height:calc(100vh - 105px);min-height:690px;margin:5px auto 0;display:grid;position:relative}.arena>.table{border-radius:48%/18%;grid-area:table;width:100%;height:100%;min-height:390px;position:relative}.player-zone{z-index:5;justify-content:center;align-items:center;gap:12px;min-width:0;display:flex;position:relative}.player-zone.north{flex-direction:column;grid-area:north}.player-zone.south{flex-direction:column;grid-area:south}.player-zone.west{flex-direction:row;grid-area:west}.player-zone.east{flex-direction:row;grid-area:east}.player-zone .player{flex:none;position:relative!important;inset:auto!important;transform:none!important}.player-zone .player.in-zone{display:flex}.player-zone.west .player,.player-zone.east .player{text-align:center;flex-direction:column}.player-zone .speech{bottom:calc(100% + 10px)}.zone-hand{justify-content:center;align-items:center;min-width:95px;height:112px;display:flex}.zone-hand>*{flex:none;margin-left:-45px}.zone-hand>:first-child{margin-left:0}.zone-hand.face-up>*{margin-left:-18px}.zone-hand.face-up>:first-child{margin-left:0}.zone-hand.face-down .card-back{background:repeating-linear-gradient(45deg,#ab3c33 0 4px,#edcf91 4px 7px);border:2px solid #f0dfbd;border-radius:5px;width:74px;height:108px;display:block;position:relative;box-shadow:0 5px 12px #001a1a77}.zone-hand.face-down .card-back:after{content:"";border:1px solid #173d3a88;position:absolute;inset:4px}.player-zone.west .zone-hand,.player-zone.east .zone-hand{width:120px;transform:rotate(90deg)}.player-zone.north .zone-hand{transform:rotate(180deg)}.table-actions{z-index:9;white-space:nowrap;grid-area:south;align-items:center;display:flex;position:absolute;top:-38px;left:50%;transform:translate(-50%)}.table-actions small{color:#718783;letter-spacing:.12em;margin-left:8px;font-size:8px}.taken-stack{top:0;left:calc(100% + 8px)}.trick-cross{inset:22% 27%}.played-card{animation-duration:.42s;animation-timing-function:cubic-bezier(.2,.8,.25,1);animation-fill-mode:both}.played-card.pos-0{animation-name:play-south}.played-card.pos-1{animation-name:play-west}.played-card.pos-2{animation-name:play-north}.played-card.pos-3{animation-name:play-east}@keyframes play-south{0%{transform:translate(-50%,330%)scale(1.05)}to{transform:translate(-50%,15%)}}@keyframes play-west{0%{transform:translate(-430%,-50%)rotate(90deg)}to{transform:translate(-145%,-50%)rotate(90deg)}}@keyframes play-north{0%{transform:translate(-50%,-390%)rotate(180deg)}to{transform:translate(-50%,-115%)rotate(180deg)}}@keyframes play-east{0%{transform:translate(330%,-50%)rotate(-90deg)}to{transform:translate(45%,-50%)rotate(-90deg)}}.contract{display:none}.capture-animation{inset:22% 27%}.lobby-card{margin-top:3vh}.lobby-card h1{font-size:clamp(40px,5vw,68px)}.lobby-table{width:min(760px,90vw);height:390px;margin:25px auto 0;position:relative}.mini-felt{color:#d9b879;letter-spacing:.17em;background:radial-gradient(circle,#136259,#0b403d 70%);border:8px solid #412d23;border-radius:48%/24%;justify-content:center;align-items:center;gap:12px;font-size:10px;display:flex;position:absolute;inset:70px 170px;box-shadow:0 0 0 3px #b6854d,0 20px 50px #0007}.mini-felt i{color:#f4e5cb;font:700 18px DM Sans}.lobby-position{width:210px;position:absolute}.lobby-position.pos-0{bottom:0;left:50%;transform:translate(-50%)}.lobby-position.pos-2{top:0;left:50%;transform:translate(-50%)}.lobby-position.pos-1{top:50%;left:0;transform:translateY(-50%)}.lobby-position.pos-3{top:50%;right:0;transform:translateY(-50%)}.lobby-position .seat{min-height:86px}.lobby-actions,.start-hint{width:min(760px,90vw);margin-inline:auto}@media (width<=900px){.arena{transform-origin:top;width:118%;height:780px;margin-left:-9%;transform:scale(.82)}.lobby-table{transform-origin:top;margin-bottom:-60px;transform:scale(.82)}.zone-hand.face-up>*{margin-left:-27px}}:root{--card-w:74px;--card-h:108px}.card{width:var(--card-w);height:var(--card-h)}.pip-face{inset:7px}.pips-7{grid-template-rows:repeat(3,1fr)}.pips-8,.pips-9{grid-template-rows:repeat(4,1fr)}.pips-10{grid-template-rows:repeat(5,1fr)}.court-svg{width:calc(100% - 8px);height:calc(100% - 8px);display:block;position:absolute;inset:4px}.draggable-card{cursor:grab;flex:none}.draggable-card:active{cursor:grabbing}.zone-hand.face-up>.draggable-card{margin-left:-18px}.zone-hand.face-up>.draggable-card:first-child{margin-left:0}.draggable-card>.card{display:block}.taken-stack{width:var(--card-w);height:var(--card-h);top:-34px;left:calc(100% + 14px)}.taken-stack i{background:repeating-linear-gradient(45deg,#b44135 0 4px,#efd298 4px 7px);border:2px solid #f4e2c1;border-radius:5px;inset:0;box-shadow:0 5px 12px #001a1a77}.taken-stack i:nth-child(2){transform:rotate(-5deg)translate(-4px,3px)}.taken-stack b{width:21px;height:21px;font-size:10px;bottom:-7px;right:-7px}.player-zone.west .taken-stack,.player-zone.east .taken-stack{top:-34px;left:calc(100% + 12px);transform:none}.capture-animation>div{animation-duration:1.05s}.capture-animation .card{width:var(--card-w);height:var(--card-h)}.dealt-card{opacity:0;animation:.62s cubic-bezier(.2,.75,.2,1) forwards deal-one;position:absolute;top:50%;left:50%}.dealt-card>.card-back{width:var(--card-w);height:var(--card-h);background:repeating-linear-gradient(45deg,#ab3c33 0 4px,#edcf91 4px 7px);border:2px solid #f0dfbd;border-radius:5px;display:block;box-shadow:0 6px 13px #001a1a88}.dealt-card.seat-0{--x:0px;--y:330px}.dealt-card.seat-1{--x:-480px;--y:0px}.dealt-card.seat-2{--x:0px;--y:-360px}.dealt-card.seat-3{--x:480px;--y:0px}@keyframes deal-one{0%{opacity:1;transform:translate(-50%,-50%)scale(.92)}85%{opacity:1;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) rotate(2deg)}to{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y)))}}.hand-review{align-items:center}.review-card{width:min(1120px,96vw);padding:27px}.review-card h2{font-size:34px}.score-calculation{overflow-x:auto;justify-content:flex-start!important;align-items:flex-end!important;gap:10px!important;margin:17px 0!important;padding:14px 0!important;display:flex!important}.score-calculation span{min-width:max-content!important}.score-calculation span b{font-size:22px!important}.score-calculation i{color:#718783;padding-bottom:7px;font-style:normal}.score-calculation .final-score b{color:#e45c47}.won-cards-scroll{scrollbar-color:#d9b879 #071c22;overflow:auto hidden;justify-content:flex-start!important;gap:8px!important;margin:12px 0!important;padding:15px 7px 25px!important;display:flex!important}.won-cards-scroll .card{flex:0 0 var(--card-w)}.match-total{text-align:center;color:#d9b879;letter-spacing:.1em;font-weight:700}.review-card button:disabled{color:#8fa5a1;cursor:default;background:#16363c}.lobby-notice{color:#f0c8bd;text-align:center;background:#d9533f22;border:1px solid #d9533f66;width:max-content;max-width:90%;margin:0 auto 8px;padding:8px 13px;font-size:10px}.card.french{background:#fff;border:0;border-radius:6px;padding:0;line-height:0;overflow:hidden}.card.french img{object-fit:fill;pointer-events:none;width:100%;height:100%;display:block}.card-back,.taken-stack i{background:#fff url(/cards/back.svg) 50%/100% 100% no-repeat!important}.taken-stack b{display:none!important}.player-zone.west .taken-stack{top:-34px;left:auto;right:calc(100% + 12px);transform:none}.player-zone.east .taken-stack{top:-34px;left:calc(100% + 12px);right:auto;transform:none}.player-zone.north .taken-stack,.player-zone.south .taken-stack{top:-34px;left:calc(100% + 14px);right:auto}.deck-stack{width:var(--card-w);height:var(--card-h);z-index:6;transition:transform .35s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.deck-stack.compact{transform:translate(calc(-50% - 92px),-50%)}.deck-stack .card-back{width:var(--card-w);height:var(--card-h);border:1px solid #f0dfbd;border-radius:6px;display:block;position:absolute;inset:0;box-shadow:0 7px 16px #001a1a88}.deck-stack .card-back:first-child{transform:translate(-5px,-4px)rotate(-1deg)}.deck-stack .card-back:nth-child(2){transform:translate(-3px,-2px)rotate(.5deg)}.deck-stack .card-back:nth-child(3){transform:translate(-1px,-1px)rotate(-.4deg)}.deck-stack .card-back:nth-child(4){transform:none}.upcard-table{z-index:7;opacity:1;animation:.36s both reveal-upcard}@keyframes reveal-upcard{0%{opacity:0;transform:translate(-50%,-50%)rotateY(85deg)}to{opacity:1;transform:translate(-50%,-50%)rotateY(0)}}.deal-animation{z-index:9}.dealt-card{z-index:10}.bid-panel{min-width:0;padding:13px 16px}.bid-panel>small{margin-bottom:10px}.bid-panel{top:calc(50% + 115px)}.capture-animation.precise{z-index:12;pointer-events:none;position:absolute;inset:0}.capture-animation.precise>div{position:absolute;top:50%;left:50%;animation:none!important}.taken-stack.arriving{animation:1.18s step-end both show-arrived-pile}@keyframes show-arrived-pile{0%{visibility:hidden}to{visibility:visible}}.logo{grid-template-rows:46px}.logo>b{align-self:center}.contest-panel{top:calc(50% + 125px)}.declaration-popover{z-index:18;text-align:center;background:#061c22f5;border:1px solid #d9b87988;width:310px;padding:17px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 15px 45px #001014cc}.declaration-popover>small{color:#d9b879;letter-spacing:.2em;margin-bottom:13px;font-size:8px;display:block}.declaration-popover>div{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.declaration-popover>div button{color:#f7ecd8;cursor:pointer;background:#102f35;border:1px solid #ffffff20;height:44px;font-weight:700}.declaration-popover>div button.selected{color:#10242a;background:#d9b879;border-color:#f4dfb6;box-shadow:0 0 0 2px #d9b87933}.declaration-popover .declare-submit{color:#fff;text-transform:uppercase;letter-spacing:.15em;cursor:pointer;background:#d9533f;border:0;width:100%;margin-top:10px;padding:11px;font-size:9px;font-weight:700}.contract-announcement{z-index:17;text-align:center;background:#071d23f2;border:1px solid #d9b87999;min-width:280px;padding:18px 25px;animation:3.4s both contract-toast;position:absolute;top:calc(50% + 125px);left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 45px #001014cc}.contract-announcement small{color:#d9b879;letter-spacing:.22em;margin-bottom:5px;font-size:8px;display:block}.contract-announcement b{color:#f7ecd8;font:700 27px DM Sans}.contract-suit{vertical-align:-.08em;color:#f7ecd8;margin-left:4px;font-size:1.35em;font-style:normal;line-height:.7;display:inline-block}.contract-suit.hearts,.contract-suit.diamonds{color:#e25343}@keyframes contract-toast{0%{opacity:0;transform:translate(-50%,-42%)scale(.94)}8%,88%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-58%)scale(.98)}}.score span{white-space:nowrap;text-overflow:ellipsis;max-width:240px;overflow:hidden}.score span b{display:inline-block}.rooms-card{width:min(900px,94vw);margin:8vh auto 0}.rooms-card h1{font-size:clamp(48px,7vw,78px)}.room-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:35px;display:grid}.room-grid>button{text-align:left;color:#f7ecd8;cursor:pointer;background:#071c22d9;border:1px solid #ffffff1d;align-items:center;gap:16px;min-height:105px;padding:18px;display:flex}.room-grid>button:hover{border-color:#d9b879;transform:translateY(-2px)}.room-grid>button>span{color:#c94738;background:#f6eddd;border-radius:5px;place-items:center;width:52px;height:67px;font:700 35px DM Sans;display:grid;box-shadow:0 5px 14px #0006}.room-grid>button.playing>span{color:#fff;background:#d9533f}.room-grid>button div{flex:1}.room-grid b{font-size:16px;display:block}.room-grid small{color:#8fa5a1;margin-top:8px;display:block}.room-grid i{color:#d9b879;text-transform:uppercase;letter-spacing:.15em;font-size:10px}.text-button,.game-exit button{color:#a9b7b3;text-transform:uppercase;letter-spacing:.13em;cursor:pointer;background:0 0;border:1px solid #ffffff24;padding:9px 12px;font-size:8px}.text-button:hover,.game-exit button:hover{color:#f7ecd8;border-color:#d9b879}.header-actions{align-items:center;gap:18px;display:flex}.game-exit{position:absolute;top:58px;right:0}.game-exit button{color:#dd8375;border-color:#d9533f55}.declaration-selector{z-index:19;text-align:center;background:#061c22f5;border:1px solid #d9b87999;width:min(660px,90%);padding:16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 50px #001014dd}.declaration-selector>small,.declaration-display>small{color:#d9b879;letter-spacing:.2em;margin-bottom:12px;font-size:8px;display:block}.declaration-selector>div{justify-content:center;min-height:130px;padding:14px 6px;display:flex;overflow-x:auto}.declaration-selector>div>div{margin-left:-16px;transition:all .18s}.declaration-selector>div>div:first-child{margin-left:0}.declaration-selector>div>div.selected{filter:drop-shadow(0 0 8px #d9b879);transform:translateY(-15px)}.declaration-selector>button{color:#fff;text-transform:uppercase;letter-spacing:.13em;cursor:pointer;background:#d9533f;border:0;padding:11px 20px;font-size:9px;font-weight:700}.declaration-display{--from-x:0px;--from-y:360px;--land-x:0px;--land-y:82px;--rot:0deg;z-index:18;text-align:center;pointer-events:none;place-content:center;display:grid;position:absolute;inset:0}.declaration-display.pos-1{--from-x:-500px;--from-y:0px;--land-x:-135px;--land-y:0px;--rot:90deg}.declaration-display.pos-2{--from-x:0px;--from-y:-410px;--land-x:0px;--land-y:-82px;--rot:180deg}.declaration-display.pos-3{--from-x:500px;--from-y:0px;--land-x:135px;--land-y:0px;--rot:-90deg}.declaration-display>div{justify-content:center;display:flex}.declaration-display>div>div{animation:2.55s both show-declared-card;animation-delay:calc(var(--i) * 60ms);margin-left:-10px}.declaration-display>div>div:first-child{margin-left:0}@keyframes show-declared-card{0%{opacity:0;transform:translate(var(--from-x),var(--from-y)) rotate(var(--rot)) scale(.94)}18%,78%{opacity:1;transform:translate(var(--land-x),var(--land-y)) rotate(var(--rot)) scale(1)}to{opacity:0;transform:translate(var(--from-x),var(--from-y)) rotate(var(--rot)) scale(.94)}}@media (width<=700px){.room-grid{grid-template-columns:1fr}.score span{max-width:130px}.game-exit{top:62px;right:4px}:root{--card-w:48px;--card-h:70px}body{min-height:100dvh;overflow-x:hidden}.shell{min-height:100dvh;padding:12px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));overflow:hidden}header{height:48px}.logo{grid-template-rows:38px;grid-template-columns:31px auto}.logo>span{width:27px;height:38px;font-size:30px}.logo>b{letter-spacing:.11em;font-size:13px}.status{letter-spacing:.1em;font-size:7px}.status i{margin-right:4px}.game-shell header .logo{display:none}.game-shell header{justify-content:center;height:42px}.game-shell .score{letter-spacing:.04em;justify-content:center;gap:7px;width:100%;padding-right:0;font-size:7px}.game-shell .score span{text-align:center;max-width:40%}.game-shell .score b{margin:1px 0 0;font-size:15px;display:block}.game-shell .score small{padding-left:7px;font-size:6px}.game-exit{z-index:30;top:44px;right:2px}.game-exit button{background:#091c23e8;padding:6px 7px;font-size:6px}.arena{grid-template-rows:94px minmax(300px,1fr) 112px;grid-template-columns:66px minmax(210px,1fr) 66px;align-items:center;width:100%;height:calc(100dvh - 58px);min-height:560px;margin:0;transform:none}.arena>.table{border-width:7px;border-radius:45%/13%;min-height:300px;box-shadow:0 0 0 2px #b6854d,0 16px 38px #0008,inset 0 0 55px #001b1b}.player-zone{gap:5px}.player-zone.north,.player-zone.south,.player-zone.west,.player-zone.east{flex-direction:column}.player-zone.west{grid-area:west}.player-zone.east{grid-area:east}.player-zone .player.in-zone{text-align:center;flex-direction:column;gap:4px;max-width:64px}.player .avatar{border-width:1px;width:28px;height:28px;font-size:13px}.player strong{text-overflow:ellipsis;white-space:nowrap;max-width:62px;font-size:8px;overflow:hidden}.player small{letter-spacing:.05em;margin-top:1px;font-size:5px}.player-zone .speech{max-width:115px;padding:5px 7px;font-size:7px;bottom:calc(100% + 4px)}.zone-hand{min-width:60px;height:72px}.zone-hand.face-up>.draggable-card{margin-left:-34px}.zone-hand.face-up>.draggable-card:first-child{margin-left:0}.zone-hand>*{margin-left:-34px}.zone-hand>:first-child{margin-left:0}.zone-hand.face-down .card-back{width:var(--card-w);height:var(--card-h);border-width:1px}.player-zone.west .zone-hand,.player-zone.east .zone-hand{width:72px;height:72px;transform:rotate(90deg)}.player-zone.north .zone-hand{transform:rotate(180deg)}.taken-stack{width:var(--card-w);height:var(--card-h);top:-18px}.player-zone.west .taken-stack{top:-17px;right:calc(100% + 3px)}.player-zone.east .taken-stack{top:-17px;left:calc(100% + 3px)}.player-zone.north .taken-stack,.player-zone.south .taken-stack{top:-18px;left:calc(100% + 5px)}.table-actions{gap:4px;top:-27px}.quick-actions button{padding:6px 8px;font-size:6px}.table-actions small{display:none}.trick-cross{inset:18% 16%}.played-card.pos-0{transform:translate(-50%,20%)}.played-card.pos-1{transform:translate(-150%,-50%)rotate(90deg)}.played-card.pos-2{transform:translate(-50%,-120%)rotate(180deg)}.played-card.pos-3{transform:translate(50%,-50%)rotate(-90deg)}.timer{gap:5px;bottom:6%;right:50%;transform:translate(50%)}.timer span{font-size:6px}.timer i{width:100px;height:3px}.deck-stack.compact{transform:translate(calc(-50% - 61px),-50%)}.bid-panel,.contest-panel{min-width:220px;max-width:88%;padding:9px 10px}.bid-panel{top:calc(50% + 79px)}.contest-panel{gap:4px;top:calc(50% + 91px)}.bid-panel>small,.contest-panel small{margin-bottom:5px;font-size:6px}.bid-panel button,.contest-panel button{padding:7px 8px;font-size:7px}.contest-panel b{font-size:18px}.contest-panel span{font-size:6px}.suit-choice button{font-size:17px!important}.contract-announcement{min-width:205px;padding:12px 15px;top:calc(50% + 82px)}.contract-announcement b{font-size:20px}.contract-announcement small{font-size:6px}.dealt-card.seat-0{--x:0px;--y:255px}.dealt-card.seat-1{--x:-170px;--y:0px}.dealt-card.seat-2{--x:0px;--y:-250px}.dealt-card.seat-3{--x:170px;--y:0px}.declaration-popover{width:235px;padding:12px}.declaration-popover>div{gap:4px}.declaration-popover>div button{height:35px;font-size:8px}.declaration-selector{width:94%;padding:10px}.declaration-selector>div{min-height:90px;padding:10px 4px}.declaration-selector>div>div{margin-left:-28px}.declaration-selector>div>div:first-child{margin-left:0}.declaration-selector>button{padding:8px 12px;font-size:7px}.declaration-display{--from-y:280px;--land-y:58px}.declaration-display.pos-1{--from-x:-190px;--land-x:-82px}.declaration-display.pos-2{--from-y:-275px;--land-y:-58px}.declaration-display.pos-3{--from-x:190px;--land-x:82px}.capture-animation .card{width:var(--card-w);height:var(--card-h)}.entry-card{margin:9vh auto 0}.entry-card h1{font-size:47px}.lede{font-size:13px}.name-form{margin-top:28px}.name-form input{padding:13px 11px;font-size:12px}.name-form button{padding:0 13px;font-size:7px}.rooms-card{margin:5vh auto 0}.rooms-card h1{font-size:46px}.room-grid{gap:8px;margin-top:24px}.room-grid>button{min-height:82px;padding:12px}.room-grid>button>span{width:39px;height:53px;font-size:27px}.room-grid b{font-size:13px}.room-grid small{font-size:8px}.room-grid i{font-size:7px}.lobby-card{margin-top:2vh}.lobby-card h1{font-size:36px}.lobby-card .lede{display:none}.lobby-table{width:100%;height:430px;margin-top:8px;transform:none}.mini-felt{border-width:6px;inset:92px 58px}.mini-felt i{font-size:13px}.lobby-position{width:142px}.lobby-position.pos-1{left:-2px}.lobby-position.pos-3{right:-2px}.lobby-position .seat{gap:7px;min-height:68px;padding:8px}.lobby-position .seat-marker{width:34px;height:34px;font-size:17px}.lobby-position .seat b{font-size:9px}.lobby-position .seat small{margin-top:3px;font-size:6px}.lobby-actions{margin-top:4px}.start-hint{text-align:center;font-size:7px}.primary,.ready-button{padding:10px 15px;font-size:8px}.review-card{width:96vw;max-height:92dvh;padding:14px;overflow:auto}.review-card h2{font-size:25px}.score-calculation{gap:7px!important}.score-calculation span b{font-size:17px!important}.won-cards-scroll{padding-bottom:14px!important}.result-card{padding:20px}}.game-shell header .logo{visibility:hidden}.game-shell header .score{justify-content:flex-end;position:absolute;top:0;right:0}.game-shell .game-exit{top:10px;left:0;right:auto}@media (width<=700px){.game-shell header{height:42px}.game-shell header .score{background:#091c23e8;border:1px solid #ffffff18;border-radius:4px;grid-template-columns:1fr auto 1fr;gap:4px;width:auto;max-width:58%;padding:3px 5px;display:grid;top:0;right:2px}.game-shell header .score span{text-align:center;max-width:74px;font-size:6px;line-height:1.15}.game-shell header .score b{font-size:13px}.game-shell header .score small{display:none}.game-shell .game-exit{top:3px;left:2px;right:auto}.arena{grid-template-rows:105px minmax(250px,270px) 130px;grid-template-columns:78px minmax(180px,1fr) 78px;justify-content:center;height:calc(100dvh - 52px)}.arena>.table{border-radius:44%/16%;min-height:250px;max-height:270px}.player-zone.west .player{transform:translateY(-42px)!important}.player-zone.east .player{transform:translateY(42px)!important}.table-actions{grid-area:table;align-self:stretch;top:auto;bottom:9px}.bid-panel,.contest-panel{top:50%}.declaration-popover{max-width:88%;top:50%}.declaration-selector{max-height:92%;top:50%;overflow:auto}.trick-cross{inset:17% 13%}}.zone-hand.selecting-declaration .draggable-card{transition:transform .18s,filter .18s}.zone-hand.selecting-declaration .draggable-card.declaration-selected{filter:drop-shadow(0 0 9px #d9b879);transform:translateY(-18px)}.declaration-reveal-action{z-index:19;background:#061c22f2;border:1px solid #d9b87977;align-items:center;gap:10px;width:max-content;max-width:92%;padding:8px 10px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #001014bb}.declaration-reveal-action small{color:#d9b879;letter-spacing:.12em;text-transform:uppercase;font-size:7px}.declaration-reveal-action button{color:#fff;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;background:#d9533f;border:0;padding:9px 13px;font-size:8px;font-weight:700}@media (width<=700px){.bid-panel,.contest-panel,.contract-announcement{top:calc(50% + 82px)}.declaration-reveal-action{gap:6px;padding:6px 7px;bottom:8px}.declaration-reveal-action small{font-size:6px}.declaration-reveal-action button{padding:7px 9px;font-size:6px}}.card.french{background:#f4eddd;border-color:#d5cab6;position:relative;overflow:hidden;box-shadow:0 5px 13px #00131575,inset 0 1px 1px #fff9}.card.french img{width:100%;height:100%;display:block;position:absolute;inset:0}@media (height<=520px) and (orientation:landscape){:root{--card-w:46px;--card-h:67px}.shell{padding:5px 9px;overflow:hidden}.game-shell header{justify-content:center;height:28px}.game-shell header .logo{display:none}.game-shell .score{gap:8px;font-size:7px}.game-shell .score b{font-size:13px}.arena{grid-template-rows:68px minmax(205px,1fr) 68px;grid-template-columns:76px minmax(360px,1fr) 76px;width:100%;height:calc(100dvh - 34px);min-height:340px;margin:0;transform:none}.arena>.table{border-width:7px;min-height:205px}.player-zone{gap:4px}.player-zone.north,.player-zone.south{flex-direction:row}.player-zone.west,.player-zone.east{flex-direction:column}.player .avatar{width:26px;height:26px;font-size:12px}.player strong{font-size:7px}.player small{font-size:5px}.zone-hand{height:68px}.zone-hand>*,.zone-hand.face-up>.draggable-card{margin-left:-32px}.zone-hand.face-up>.draggable-card:first-child,.zone-hand>:first-child{margin-left:0}.zone-hand.face-down .card-back{width:var(--card-w);height:var(--card-h)}.player-zone.west .zone-hand,.player-zone.east .zone-hand{width:68px;height:66px}.game-exit{top:30px;right:2px}.game-exit button{padding:5px;font-size:6px}.table-actions{top:-22px}.quick-actions button{padding:5px 7px;font-size:6px}.bid-panel{min-width:210px;padding:7px;top:calc(50% + 66px)}.contest-panel{min-width:210px;padding:7px;top:calc(50% + 72px)}.bid-panel button,.contest-panel button{padding:6px 7px;font-size:7px}.timer{bottom:4%}.dealt-card.seat-0{--x:0px;--y:180px}.dealt-card.seat-1{--x:-310px;--y:0px}.dealt-card.seat-2{--x:0px;--y:-175px}.dealt-card.seat-3{--x:310px;--y:0px}}@media (width<=700px){.lobby-card h1{font-size:32px}.lobby-table{height:410px;margin-top:2px}.lobby-actions{left:50%;bottom:max(14px,env(safe-area-inset-bottom));z-index:60;pointer-events:auto;width:auto;margin:0;position:fixed;transform:translate(-50%)}.lobby-actions button{min-width:180px;min-height:44px;padding:12px 18px;box-shadow:0 10px 30px #000c}.zone-hand.face-up>.draggable-card{margin-left:-21px}.zone-hand.face-up>.draggable-card:first-child{margin-left:0}}.zone-hand{gap:4px;overflow:visible}.zone-hand>*,.zone-hand.face-up>*,.zone-hand.face-up>.draggable-card{margin-left:0!important}.player-zone.west .zone-hand,.player-zone.east .zone-hand{width:var(--card-h)}.arena>.table .contract{z-index:6;text-align:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#061c228f;border:1px solid #d9b87955;border-radius:4px;padding:7px 9px;display:grid;top:7%;left:auto;right:5%}.arena>.table .contract small,.arena>.table .contract span{font-size:6px}.arena>.table .contract b{color:#f5dfb3;text-shadow:none;font-size:24px}.arena>.table .contract span{color:#a8bbb6;margin-top:2px}.declaration-builder{z-index:19;text-align:center;background:#061c22f4;border:1px solid #d9b87999;width:min(430px,90%);padding:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 50px #001014dd}.declaration-builder>small,.declaration-result>small{color:#d9b879;letter-spacing:.2em;margin-bottom:9px;font-size:8px;display:block}.declaration-builder>b{color:#f7ecd8;font:700 20px DM Sans;display:block}.declaration-chips{justify-content:center;align-items:center;gap:6px;min-height:32px;margin:12px 0;display:flex}.declaration-chips span{color:#10242a;text-transform:uppercase;background:#d9b879;border-radius:12px;padding:5px 8px;font-size:8px;font-weight:700}.declaration-chips i{color:#718783;font-size:8px;font-style:normal}.declaration-builder-actions{grid-template-columns:1fr 1fr 1fr;gap:7px;display:grid}.declaration-builder-actions button{color:#f7ecd8;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;background:#15343a;border:1px solid #ffffff20;padding:10px 8px;font-size:8px;font-weight:700}.declaration-builder-actions button.confirm{background:#d9533f;border-color:#d9533f}.declaration-builder-actions button.cancel{color:#be8d84;background:0 0}.declaration-builder-actions button:disabled{opacity:.28;cursor:default}.zone-hand.selecting-declaration .draggable-card.declaration-used{filter:brightness(.36)saturate(.35);pointer-events:none}.zone-hand.selecting-declaration .draggable-card.declaration-used .card{transform:none!important}.zone-hand.selecting-declaration .draggable-card.declaration-selected{z-index:3}.declaration-result{z-index:18;text-align:center;pointer-events:none;background:#071d23f2;border:1px solid #d9b87999;min-width:300px;padding:15px 20px;animation:2.2s both declaration-result;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 45px #001014cc}.declaration-result b{font:700 22px DM Sans}@keyframes declaration-result{0%{opacity:0;transform:translate(-50%,-42%)scale(.94)}10%,82%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-58%)scale(.98)}}@media (width<=700px){:root{--card-w:min(48px,calc((100vw - 18px)/8));--card-h:calc(var(--card-w) * 1.4583)}.zone-hand{gap:1px}.declaration-builder{width:88%;padding:13px}.declaration-builder>b{font-size:16px}.declaration-builder-actions{gap:4px}.declaration-builder-actions button{padding:8px 4px;font-size:6px}.declaration-result{min-width:220px;max-width:86%;padding:11px 13px}.declaration-result b{font-size:17px}.arena>.table .contract{padding:5px 6px;top:5%;right:4%}.arena>.table .contract b{font-size:18px}.arena>.table .contract span{display:none}}@media (height<=520px) and (orientation:landscape){:root{--card-w:min(46px,calc((100vw - 24px)/8));--card-h:calc(var(--card-w) * 1.4583)}.zone-hand{gap:1px}.declaration-builder{width:310px;padding:9px}.declaration-chips{min-height:24px;margin:6px 0}.declaration-builder-actions button{padding:6px 4px}}@media (width<=700px) and (orientation:portrait){.game-shell{--card-w:min(48px,calc((100vw - 32px)/8),max(32px,calc((100dvh - 280px - env(safe-area-inset-bottom))/10.9166)));--card-h:calc(var(--card-w) * 1.4583);--end-zone:calc(var(--card-h) + 76px);--side-span:calc(var(--card-w) * 8 + 63px);padding-top:8px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.game-shell .arena{width:100%;height:calc(100dvh - 62px - env(safe-area-inset-bottom));min-height:calc(var(--end-zone) * 2 + var(--side-span));grid-template-columns:calc(var(--card-h) + 6px) minmax(0,1fr) calc(var(--card-h) + 6px);grid-template-rows:var(--end-zone) minmax(var(--side-span),1fr) var(--end-zone);margin:0;transform:none}.game-shell .arena>.table{border-radius:50%/17%;height:100%;min-height:0;max-height:none}.game-shell .player-zone.north,.game-shell .player-zone.south{justify-content:center;justify-self:center;gap:12px;width:calc(100vw - 24px);height:100%}.game-shell .player-zone.north .zone-hand,.game-shell .player-zone.south .zone-hand{height:var(--card-h);min-height:var(--card-h)}.game-shell .player-zone.west,.game-shell .player-zone.east{gap:0;height:100%}.game-shell .player-zone.west .zone-hand,.game-shell .player-zone.east .zone-hand{width:var(--card-h);height:var(--card-h);min-width:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(90deg)}.game-shell .player-zone.west .player,.game-shell .player-zone.east .player{width:56px;max-width:56px;position:absolute!important;top:16px!important;bottom:auto!important;transform:none!important}.game-shell .player-zone.west .player{left:calc(100% + 5px)!important;right:auto!important}.game-shell .player-zone.east .player{left:auto!important;right:calc(100% + 5px)!important}.game-shell .player-zone.west .taken-stack,.game-shell .player-zone.east .taken-stack{top:calc(100% + 10px);left:50%;right:auto;transform:translate(-50%)}.game-shell .arena>.table .contract{top:auto;bottom:52px;right:50%;transform:translate(50%)}.game-shell .timer{bottom:92px}.game-shell .timer span{font-size:6px}.game-shell .table-actions{bottom:10px}}.avatar-icon{flex:none;width:100%;height:100%;display:block}.avatar-picker{gap:12px;margin-top:28px;display:flex}.avatar-picker button{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;width:58px;height:58px;padding:3px}.avatar-picker button.selected{border-color:#f0d398;box-shadow:0 0 0 3px #d9b87933}.avatar-line{flex:none;align-items:center;gap:4px;display:flex}.player .avatar{background:0 0;overflow:hidden}.seat-avatar:has(.avatar-icon){background:0 0;border:0;border-radius:50%;overflow:hidden}.identity{flex-direction:column;align-items:center;gap:4px;display:flex}.identity>.avatar-icon{border:1px solid #f5dfb3;border-radius:50%;width:42px;height:42px}.identity>small{color:#f1dfc0;letter-spacing:0;text-transform:none;margin:0;font:600 10px DM Sans,sans-serif}.winner-avatars{justify-content:center;gap:18px;margin-bottom:10px;display:flex}.contract-badge{color:#192529;background:#f8eddb;border:1px solid #d9b879;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font:700 14px DM Sans,sans-serif;display:grid}.suit-mark{color:#171c20;vertical-align:middle;background:#f8eddb;border-radius:50%;place-items:center;min-width:1.15em;font-size:1.35em;font-style:normal;line-height:1.15;display:inline-grid}.suit-mark.hearts,.suit-mark.diamonds{color:#c92d32}.contract-badge .suit-mark{background:0 0;font-size:23px}.contract-announcement b,.contest-panel b,.declaration-result b,.declaration-builder>b{text-transform:uppercase;letter-spacing:.025em;font:700 19px/1.3 DM Sans,sans-serif}.contract-announcement,.contest-panel{flex-direction:column;align-items:center;gap:10px;display:flex}.contest-line{width:100%}.declaration-display>small{text-transform:uppercase;font:700 11px/1.4 DM Sans,sans-serif}.speech{text-transform:uppercase;font-style:normal;line-height:1.4}.declaration-result{animation:none}.player-zone.north>.taken-stack,.player-zone.south>.taken-stack{left:calc(50% + var(--card-w) * 4 + 28px);top:auto;bottom:0;right:auto;transform:none}.player-zone.west>.taken-stack{top:calc(50% + 105px);left:0;right:auto;transform:none}.player-zone.east>.taken-stack{top:calc(50% + 105px);left:auto;right:0;transform:none}@media (width<=700px){.avatar-picker{gap:8px}.avatar-picker button{width:48px;height:48px}.contract-announcement b,.contest-panel b,.declaration-result b,.declaration-builder>b{font-size:12px}.identity>.avatar-icon{width:32px;height:32px}.identity>small{font-size:8px}.contract-badge{width:22px;height:22px;font-size:11px}.contract-badge .suit-mark{font-size:18px}.player-zone .speech{z-index:30;max-width:145px;font-size:9px}}@media (width<=700px) and (orientation:portrait){.game-shell .arena{grid-template-columns:calc(var(--card-h) + var(--card-w) + 12px) minmax(0,1fr) calc(var(--card-h) + var(--card-w) + 12px)}.game-shell .player-zone.west .zone-hand{left:auto;right:3px;transform:translateY(-50%)rotate(90deg)}.game-shell .player-zone.east .zone-hand{left:3px;right:auto;transform:translateY(-50%)rotate(90deg)}.game-shell .player-zone.west .player{width:var(--card-w);max-width:var(--card-w);top:12px!important;left:0!important;right:auto!important}.game-shell .player-zone.east .player{width:var(--card-w);max-width:var(--card-w);top:12px!important;left:auto!important;right:0!important}.game-shell .player-zone.west .avatar-line,.game-shell .player-zone.east .avatar-line{flex-direction:column}.game-shell .player-zone.west>.taken-stack,.game-shell .player-zone.east>.taken-stack{top:auto;bottom:16px;transform:none}.game-shell .player-zone.west>.taken-stack{left:0;right:auto}.game-shell .player-zone.east>.taken-stack{left:auto;right:0}.game-shell .player-zone.north>.taken-stack,.game-shell .player-zone.south>.taken-stack{inset:auto auto 6px calc(50% + 68px);transform:none}.game-shell .player-zone.north>.taken-stack{top:4px;bottom:auto}.game-shell .played-card.pos-1{transform:translate(-105%,-50%)rotate(90deg)}.game-shell .played-card.pos-3{transform:translate(5%,-50%)rotate(-90deg)}.game-shell .player-zone.west .speech{bottom:calc(100% + 8px);left:0;transform:none}.game-shell .player-zone.east .speech{bottom:calc(100% + 8px);left:auto;right:0;transform:none}.game-shell .bid-panel,.game-shell .contest-panel,.game-shell .contract-announcement,.game-shell .declaration-result,.game-shell .declaration-builder{width:calc(100% + 10px);min-width:0;max-width:none;padding:9px 5px}.game-shell .bid-panel button,.game-shell .contest-panel button{letter-spacing:0;padding:10px 3px;font-size:7px}.game-shell .declaration-builder-actions{grid-template-columns:1fr;gap:5px}.game-shell .declaration-builder-actions button{min-height:32px;font-size:8px}.game-shell .timer{bottom:62px}.game-shell .timer i{width:85px}.game-shell .table-actions{gap:3px}.game-shell .table-actions button{letter-spacing:0;padding:7px 4px;font-size:6px}}.suit-mark{background:0 0;border-radius:0;min-width:auto}.contest-panel b .suit-mark,.contract-announcement b .suit-mark{font-size:1.8em}.result-card h2,.declaration-modal h2,.logo>span,.room-grid>button>span,.mini-felt i{font-family:DM Sans,sans-serif;font-style:normal}.result-card h2,.declaration-modal h2{font-weight:700}.match-total,.result-card,.review-card{font-style:normal}@media (width<=700px) and (orientation:portrait){.game-shell .arena{grid-template-columns:calc(var(--card-h) + 6px) minmax(0,1fr) calc(var(--card-h) + 6px)}.game-shell .player-zone.west .zone-hand,.game-shell .player-zone.east .zone-hand{gap:0;left:50%;right:auto;transform:translate(-50%,-50%)rotate(90deg)}.game-shell .player-zone.west .zone-hand>*,.game-shell .player-zone.east .zone-hand>*{margin-left:-10px!important}.game-shell .player-zone.west .zone-hand>:first-child,.game-shell .player-zone.east .zone-hand>:first-child{margin-left:0!important}.game-shell .player-zone.west .player,.game-shell .player-zone.east .player{width:58px;max-width:58px;top:0!important;right:auto!important}.game-shell .player-zone.west .player{left:calc(50% - 4px)!important;transform:translate(-50%)!important}.game-shell .player-zone.east .player{left:calc(50% + 4px)!important;transform:translate(-50%)!important}.game-shell .player-zone.west .avatar-line,.game-shell .player-zone.east .avatar-line{flex-direction:row}.game-shell .player-zone.west .speech,.game-shell .player-zone.east .speech{top:calc(100% + 4px);bottom:auto}.game-shell .player-zone.west .speech{left:28px;transform:none}.game-shell .player-zone.east .speech{left:auto;right:28px;transform:none}.game-shell .player-zone.west>.taken-stack,.game-shell .player-zone.east>.taken-stack{inset:auto auto 0 50%;transform:translate(-50%)}.game-shell .bid-panel,.game-shell .contest-panel,.game-shell .contract-announcement,.game-shell .declaration-result,.game-shell .declaration-builder{width:auto;min-width:min(275px,88vw);max-width:88vw;padding:15px 18px}.game-shell .bid-panel button,.game-shell .contest-panel button{letter-spacing:.12em;padding:10px 14px;font-size:9px}.game-shell .declaration-builder{width:min(430px,88vw)}.game-shell .declaration-builder-actions{grid-template-columns:1fr 1fr 1fr;gap:7px}.game-shell .declaration-builder-actions button{min-height:0;padding:10px 6px;font-size:7px}.game-shell .played-card.pos-1{transform:translate(-150%,-50%)rotate(90deg)}.game-shell .played-card.pos-3{transform:translate(50%,-50%)rotate(-90deg)}}.bid-panel,.contest-panel,.contract-announcement{z-index:30}.seat.filled .seat-avatar:has(.avatar-icon){background:0 0;border:0;border-radius:50%;width:52px;height:52px}.contract-badge .suit-mark{font-size:12px}@media (width<=700px) and (orientation:portrait){.game-shell .player-zone.west .speech,.game-shell .player-zone.east .speech{z-index:40;top:auto;bottom:calc(100% + 8px)}.game-shell .player-zone.west .speech{left:0;right:auto;transform:none}.game-shell .player-zone.east .speech{left:auto;right:0;transform:none}.game-shell .player-zone.west .player{top:0!important;bottom:auto!important}.game-shell .player-zone.west>.taken-stack{top:auto;bottom:0;transform:translate(-50%)rotate(90deg)}.game-shell .player-zone.east .player{top:auto!important;bottom:0!important}.game-shell .player-zone.east>.taken-stack{top:0;bottom:auto;transform:translate(-50%)rotate(90deg)}.game-shell .player-zone.west,.game-shell .player-zone.east{z-index:20}.game-shell .player-zone.west .speech:after{left:35%}.game-shell .player-zone.east .speech:after{left:72%}}.player>div>small{display:none}.game-shell .arena:has(.zone-hand.selecting-declaration) .player-zone.south{z-index:30}.declaration-display.pos-1,.declaration-display.pos-3{--rot:90deg}.declaration-display.pos-3{--rot:-90deg}.declaration-display.pos-1>div,.declaration-display.pos-3>div{flex-direction:column;align-items:center}.declaration-display.pos-1>div>div,.declaration-display.pos-3>div>div{margin-top:-12px;margin-left:0}.declaration-display.pos-1>div>div:first-child,.declaration-display.pos-3>div>div:first-child{margin-top:0}.game-shell .arena:has(.zone-hand.selecting-declaration) .player-zone.south{position:relative;z-index:1000!important}:is(.game-shell .arena:has(.zone-hand.selecting-declaration) .player-zone.south .zone-hand,.game-shell .arena:has(.zone-hand.selecting-declaration) .player-zone.south .draggable-card){position:relative;z-index:1001!important}.game-shell .declaration-builder{z-index:2000!important}.game-shell .score{position:relative}.game-shell .standby-score{color:#d9b879;white-space:nowrap;background:#091c23e8;border:1px solid #d9b87966;border-radius:4px;padding:4px 7px;font-size:7px;position:absolute;top:calc(100% + 4px);right:0}.game-shell .standby-score b{margin-left:4px;font-size:13px}.abandon-backdrop{z-index:2100}.abandon-dialog{background:#0d2930;border:1px solid #d9b87966;width:min(470px,100%);padding:31px;box-shadow:0 25px 80px #000}.abandon-dialog h2{margin:4px 0 24px;font:700 32px/1.15 DM Sans,sans-serif}.abandon-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.abandon-actions button{text-transform:uppercase;letter-spacing:.14em;cursor:pointer;padding:14px 12px;font-size:9px;font-weight:700}.abandon-actions .cancel-abandon{color:#071c22;background:#d9b879;border:1px solid #d9b879}.abandon-actions .confirm-abandon{color:#a9b7b3;background:0 0;border:1px solid #ffffff2b}.review-card{max-height:94dvh;overflow:auto}.review-card>.hand-outcome,.review-card>.hand-points,.review-card>.point-detail{border:0;margin:0;padding:0}.hand-outcome{border-bottom:1px solid #ffffff18!important;padding-bottom:17px!important}.hand-outcome h2{text-transform:uppercase;margin:0}.hand-outcome.bath h2{color:#e87968}.hand-outcome.won h2{color:#f7ecd8}.hand-points{border-bottom:1px solid #ffffff18!important;padding:18px 0!important}.hand-points h3,.point-detail h3{color:#d9b879;letter-spacing:.2em;text-transform:uppercase;margin:0 0 11px;font-size:9px}.hand-points>div{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:7px 0;display:grid}.hand-points span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.hand-points b{color:#d9b879;font-size:25px}.point-detail{padding:18px 0 4px!important}.point-detail .won-cards-scroll{border:0!important;margin:0!important;padding:7px 7px 17px!important}.point-detail .score-calculation{border-top:1px solid #ffffff18!important;border-bottom:0!important;margin:0!important;padding:17px 0 14px!important}.redeal-announcement{z-index:19;text-align:center;background:#071d23f2;border:1px solid #d9b87999;width:min(390px,88%);padding:22px 26px;animation:.25s pop;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 45px #001014cc}.redeal-announcement small,.redeal-announcement span{color:#d9b879;letter-spacing:.2em;text-transform:uppercase;font-size:8px;display:block}.redeal-announcement b{color:#f7ecd8;margin:8px 0 6px;font:700 24px/1.15 DM Sans,sans-serif;display:block}.redeal-announcement span{color:#8fa5a1;letter-spacing:.12em}.score-calculation i{align-self:flex-end;place-items:center;height:24px;line-height:1;padding:0!important;display:grid!important}@media (width<=700px){.abandon-dialog{padding:23px}.abandon-dialog h2{font-size:25px}.abandon-actions{grid-template-columns:1fr}.review-card>.hand-outcome h2{font-size:24px}.hand-points{padding:13px 0!important}.point-detail{padding-top:13px!important}.redeal-announcement{padding:17px 14px}.redeal-announcement b{font-size:18px}}.game-shell .game-exit{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.voice-chat{z-index:25;background:#0d2930;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;max-width:320px;padding:5px;display:flex;position:relative}.game-exit .voice-microphone{color:#e7e9df;cursor:pointer;border:1px solid #8fa5a166;border-radius:6px;align-items:center;gap:7px;min-height:44px;padding:8px 10px;display:flex}.game-exit .voice-microphone.live{color:#7cd4a2;background:#174536;border-color:#7cd4a2}.voice-microphone:disabled{opacity:.55;cursor:default}.voice-status{color:#a7bbb6;font-size:10px}.game-exit .voice-unlock,.voice-notice button{color:#f4dba9;cursor:pointer;background:#133138;border:1px solid #d9b87966;border-radius:6px;min-height:44px;padding:8px}.voice-notice{color:#f4e5cb;background:#0d2930;border:1px solid #d9b87966;border-radius:8px;width:min(320px,85vw);padding:12px;font-size:12px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #0007}.voice-notice button{margin-top:8px;display:block}.voice-chat button:focus-visible{outline-offset:3px;outline:2px solid #f4dba9}@media (width<=700px){.game-shell .game-exit{justify-content:flex-end;gap:5px}.voice-chat{gap:4px;max-width:230px}.voice-status{font-size:9px}.game-exit .voice-microphone{letter-spacing:0;font-size:10px}}.game-shell header{z-index:26}.voice-notice{left:0;right:auto}@media (width<=700px){.game-shell header{height:105px}.game-shell .game-exit{flex-wrap:nowrap;justify-content:space-between;top:43px;left:0;right:0}.voice-chat{max-width:calc(100% - 80px)}.voice-chat .voice-microphone{padding:8px;font-size:9px}.voice-status{flex-basis:100%;padding-left:3px}.game-shell .arena{height:calc(100dvh - 115px)}}@media (height<=500px) and (orientation:landscape){.game-shell header{height:76px}.game-shell .game-exit{justify-content:flex-start;top:30px;left:0;right:0}.voice-chat{max-width:none}.voice-status{flex-basis:auto}.game-shell .arena{grid-template-rows:60px minmax(180px,1fr) 60px;height:calc(100dvh - 86px);min-height:300px}.game-shell .arena>.table{min-height:180px}}.play-screen{--table-w:100vw;--table-h:100dvh;--hand-card-w:clamp(86px, min(calc(var(--table-w) * .145), calc(var(--table-h) * .29)), 160px);--hand-card-h:calc(var(--hand-card-w) * 1.46);--hand-visible-h:calc(var(--hand-card-h) * .8);--hand-step:min(calc(var(--hand-card-w) * .78), calc((calc(var(--table-w) * .88) - var(--hand-card-w)) / 7));--trick-card-w:clamp(68px, min(calc(var(--table-w) * .11), calc(var(--table-h) * .24)), 148px);--trick-card-h:calc(var(--trick-card-w) * 1.46);width:100%;height:var(--table-h);isolation:isolate;color:#f6f1df;background:radial-gradient(at 48% 40%,#258043 0%,#176a35 45%,#0d4b29 100%);position:fixed;inset:0;overflow:hidden}.play-screen:before{content:"";pointer-events:none;opacity:.3;background-image:repeating-linear-gradient(0deg,#fff1 0 1px,#0000 1px 3px),repeating-linear-gradient(90deg,#001d1615 0 1px,#0000 1px 3px);position:absolute;inset:0}.play-screen:after{content:"";pointer-events:none;border:1px solid #b2ce9130;border-radius:28px;position:absolute;inset:9px;box-shadow:0 0 0 6px #002c1715}.game-surface,.felt-table{position:absolute;inset:0}.felt-table{pointer-events:none}.felt-table button{pointer-events:auto}.play-screen button{cursor:pointer;font-family:inherit}.play-screen button:disabled{cursor:default;opacity:.45}.play-screen button:focus-visible{outline-offset:3px;outline:3px solid #f6d78a}.play-screen .card{width:var(--trick-card-w);height:var(--trick-card-h);background:#faf7ec;border:1px solid #d8ccaf;border-radius:7px;flex:none;padding:0;box-shadow:0 4px 12px #00241180}.play-screen .card:hover,.play-screen .card.active,.play-screen .card:active{transform:none!important}.play-screen .card img{object-fit:fill;-webkit-user-select:none;user-select:none;width:100%;height:100%}.table-toolbar{left:max(14px, env(safe-area-inset-left));top:max(12px, env(safe-area-inset-top));z-index:80;align-items:flex-start;gap:7px;display:flex;position:absolute}.table-toolbar .voice-chat{background:#063c27c9;border:1px solid #ecf0cf24;border-radius:10px;flex-wrap:nowrap;gap:0;max-width:240px;padding:0}.table-toolbar .voice-microphone{color:#f8f2dc;background:0 0;border:0;border-radius:9px;min-width:44px;height:44px;padding:11px}.table-toolbar .voice-microphone.live{color:#baf49c;background:#c9ff9217}.table-toolbar .voice-microphone svg{width:20px;height:20px}.table-toolbar .voice-microphone>span{display:none}.table-toolbar .voice-status{color:#f5d680;white-space:nowrap;align-self:center;padding:0 9px 0 0;font-size:10px;display:block}.table-toolbar .voice-status.is-connected{color:#baf49c}.table-toolbar .voice-unlock{color:#f6d78a;background:0 0;border:0;border-left:1px solid #fff2;border-radius:0 10px 10px 0;min-height:44px;padding:0 10px;font-size:11px}.table-toolbar .voice-notice{width:min(280px, calc(var(--table-w) * .6));background:#093e2b;font-size:11px;line-height:1.4;top:51px;left:0}.table-toolbar .voice-notice button{min-height:36px;padding:6px 10px}.leave-table{color:#e9e4d1;background:#063c27c9;border:1px solid #ecf0cf24;border-radius:10px;place-items:center;width:44px;height:44px;display:grid}.leave-table svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.table-score{right:max(14px, env(safe-area-inset-right));top:max(12px, env(safe-area-inset-top));z-index:40;background:#04321fc7;border:1px solid #edf0c11c;border-radius:10px;min-width:110px;padding:8px 12px;position:absolute}.table-score>div{justify-content:space-between;gap:20px;font-size:13px;line-height:1.55;display:flex}.table-score b{text-align:right;font-variant-numeric:tabular-nums;color:#fffbea;grid-template-columns:minmax(4ch,auto) 1ch 1.5ch;align-items:baseline;gap:6px;font-size:17px;display:grid}.table-score b strong{font:inherit}.table-score b i{text-align:center;color:#97b49b;font-size:12px;font-style:normal;font-weight:400}.table-score b em{text-align:center;color:#f1d58c;font-size:15px;font-style:normal}.table-score small{color:#b7d0b8;letter-spacing:.09em;margin-top:3px;font-size:8px;display:block}.table-score .series-score{color:#f1d58c;text-align:center;border-top:1px solid #edf0c11c;margin-top:5px;padding-top:5px}.last-trick-drawer{z-index:90;color:#f7f1df;width:230px;height:148px;transition:transform .24s;position:absolute;top:0;left:50%;transform:translate(-50%,-100%)}.last-trick-drawer.open{transform:translate(-50%)}.last-trick-toggle{color:#f7f1df;background:#053923e8;border:1px solid #dfe9c32b;border-top:0;border-radius:0 0 10px 10px;justify-content:center;align-items:center;gap:6px;min-width:112px;height:32px;font-size:9px;display:flex;position:absolute;bottom:-31px;left:50%;transform:translate(-50%);box-shadow:0 5px 14px #0024154d}.last-trick-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.last-trick-content{background:#053923f2;border:1px solid #dfe9c32b;border-top:0;border-radius:0 0 12px 12px;place-items:center;width:100%;height:100%;display:grid;overflow:hidden;box-shadow:0 8px 24px #00241566}.last-trick-content p{color:#bad0ba;font-size:9px}.last-trick-stage{width:112px;height:94px;position:relative;transform:scale(.62)}.last-trick-card{position:absolute;top:50%;left:50%}.last-trick-card.pos-0{transform:translate(-50%,-20%)}.last-trick-card.pos-1{transform:translate(-110%,-55%)}.last-trick-card.pos-2{transform:translate(-50%,-95%)}.last-trick-card.pos-3{transform:translate(10%,-55%)}.spectator-drawer{z-index:95;color:#f7f1df;width:clamp(92px,10vw,140px);transition:transform .24s;position:absolute;top:24%;bottom:18%;right:0;transform:translate(100%)}.spectator-drawer.open{transform:translate(0)}.spectator-drawer-toggle{color:#f7f1df;background:#053923e8;border:1px solid #dfe9c32b;border-right:0;border-radius:10px 0 0 10px;place-items:center;width:35px;height:54px;display:grid;position:absolute;top:50%;left:-35px;transform:translateY(-50%);box-shadow:-4px 4px 14px #0024154d}.spectator-drawer-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.spectator-drawer-toggle>span{color:#193b28;background:#efcf76;border-radius:9px;place-items:center;min-width:15px;height:15px;padding:0 3px;font-size:8px;font-weight:800;display:grid;position:absolute;top:3px;right:2px}.spectator-drawer-content{background:#053923f2;border:1px solid #dfe9c32b;border-right:0;border-radius:12px 0 0 12px;height:100%;padding:12px 8px;overflow:hidden;box-shadow:-8px 6px 24px #00241566}.spectator-drawer-content header{border-bottom:1px solid #fff2;flex-direction:column;align-items:flex-start;gap:4px;padding:0 2px 9px;display:flex}.spectator-drawer-content header b{letter-spacing:.035em;text-transform:uppercase;max-width:100%;font-size:8px}.spectator-drawer-content header span{background:#ffffff18;border-radius:9px;place-items:center;min-width:18px;height:18px;font-size:9px;display:grid}.spectator-drawer-content p{color:#bad0ba;margin:13px 2px;font-size:9px;line-height:1.4}.spectator-drawer-content ul{scrollbar-width:thin;max-height:calc(100% - 30px);margin:9px 0 0;padding:0;list-style:none;overflow-y:auto}.spectator-drawer-content li{align-items:center;gap:6px;min-width:0;padding:5px 1px;display:flex}.spectator-drawer-content li>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:9px;font-weight:650;overflow:hidden}.spectator-drawer-content li small{color:#efcf76;letter-spacing:.1em;text-transform:uppercase;margin-top:1px;font-size:7px;display:block}.table-seat{z-index:15;text-shadow:0 1px 3px #002918b3;max-width:180px;position:absolute}.table-seat.has-speech{z-index:60}.seat-north{text-align:center;top:16px;left:67%;transform:translate(-50%)}.seat-west{left:max(28px, env(safe-area-inset-left));top:39%}.seat-east{right:max(28px, env(safe-area-inset-right));text-align:right;top:39%}.seat-south{left:max(28px, env(safe-area-inset-left));bottom:calc(var(--hand-visible-h) + 40px)}.seat-identity{align-items:center;gap:8px;display:flex}.seat-east .seat-identity{flex-direction:row-reverse}.turn-chip{background:#1b6339;border:2px solid #f3d36f;border-radius:50%;flex:none;width:15px;height:15px;position:relative;box-shadow:0 2px 6px #00241680}.turn-chip:after{content:"";background:#f3d36f;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.seat-identity>span{text-overflow:ellipsis;max-width:135px;font-size:13px;font-weight:700;overflow:hidden}.seat-identity small{letter-spacing:.12em;color:#c0d1b0;min-height:11px;margin-top:2px;font-size:7px;font-weight:400;display:block}.table-contract{color:#f7eed7;background:#04331fcc;border-radius:5px;align-items:center;gap:5px;margin-top:5px;padding:4px 9px;font-size:11px;display:inline-flex}.table-contract .suit-mark{font-size:16px}.table-speech{color:#f8f3e3;width:max-content;max-width:180px;text-shadow:none;background:#00391ee6;border-radius:9px;padding:7px 10px;font-size:11px;position:absolute;top:calc(100% + 9px);left:0;box-shadow:0 2px 7px #022b1725}.seat-east .table-speech{left:auto;right:0}.seat-north .table-speech{left:50%;transform:translate(-50%)}.seat-south .table-speech{max-width:min(180px, calc(var(--table-w) * .32));top:50%;bottom:auto;left:calc(100% + 12px);transform:translateY(-50%)}.play-screen .trick-cross{z-index:10;width:0;height:0;position:absolute;inset:37% auto auto 50%}.play-screen .played-card{animation:.38s cubic-bezier(.15,.75,.25,1) backwards table-card-in;position:absolute;top:0;left:0}.play-screen .played-card.pos-0{--card-x:-50%;--card-y:-20%;--from-x:0px;--from-y:calc(var(--table-h) * .65);transform:translate(var(--card-x), var(--card-y))}.play-screen .played-card.pos-1{--card-x:-110%;--card-y:-55%;--from-x:calc(var(--table-w) * -.65);--from-y:0px;transform:translate(var(--card-x), var(--card-y))}.play-screen .played-card.pos-2{--card-x:-50%;--card-y:-95%;--from-x:0px;--from-y:calc(var(--table-h) * -.6);transform:translate(var(--card-x), var(--card-y))}.play-screen .played-card.pos-3{--card-x:10%;--card-y:-55%;--from-x:calc(var(--table-w) * .65);--from-y:0px;transform:translate(var(--card-x), var(--card-y))}@keyframes table-card-in{0%{transform:translate(calc(var(--card-x) + var(--from-x)), calc(var(--card-y) + var(--from-y)))}to{transform:translate(var(--card-x), var(--card-y))}}.play-screen .trick-cross.take-0{--take-x:0px;--take-y:calc(var(--table-h) * .8)}.play-screen .trick-cross.take-1{--take-x:calc(var(--table-w) * -.75);--take-y:0px}.play-screen .trick-cross.take-2{--take-x:0px;--take-y:calc(var(--table-h) * -.75)}.play-screen .trick-cross.take-3{--take-x:calc(var(--table-w) * .75);--take-y:0px}.play-screen .trick-cross.is-taking{transform:translate(var(--take-x), var(--take-y));opacity:0;animation:.55s cubic-bezier(.55,.05,.8,.45) backwards trick-collect}@keyframes trick-collect{0%{opacity:1;transform:translate(0)}85%{opacity:1}to{transform:translate(var(--take-x), var(--take-y));opacity:0}}.table-upcard{position:absolute;top:38%;left:50%;transform:translate(-50%,-65%)}.table-upcard .card{width:calc(var(--trick-card-w) * 1.08);height:calc(var(--trick-card-h) * 1.08)}.own-hand{bottom:calc(var(--hand-visible-h) - var(--hand-card-h));width:calc(var(--hand-card-w) + (var(--hand-count) - 1) * var(--hand-step));height:var(--hand-card-h);z-index:45;transition:width .35s;position:absolute;left:50%;transform:translate(-50%)}.hand-card{width:var(--hand-step);height:var(--hand-card-h);top:0;left:calc(var(--hand-index) * var(--hand-step));touch-action:none;transition:left .4s cubic-bezier(.2,.7,.25,1);position:absolute}.hand-card:last-child{width:var(--hand-card-w)}.own-hand.is-dealing{pointer-events:none}.hand-card-motion{width:var(--hand-card-w);height:var(--hand-card-h)}.hand-card-motion.is-dealt{animation:hand-slide-in .46s cubic-bezier(.15,.75,.25,1) var(--arrival-delay) backwards}.hand-card-motion.awaiting-upcard{visibility:hidden}@keyframes hand-slide-in{0%{transform:translateX(calc(var(--table-w) * .65))}to{transform:translate(0)}}.own-hand .card{width:var(--hand-card-w);height:var(--hand-card-h);cursor:pointer;border-radius:9px;transition:box-shadow .15s}.hand-card.declaration-selected{transform:translateY(-18px)}.hand-card.declaration-selected .card{box-shadow:0 0 0 3px #eac76a,0 5px 16px #00241190}.hand-card:focus-within{z-index:2}.hand-card .card.rejected{animation:.3s hand-reject}@keyframes hand-reject{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.hand-actions{right:max(20px, env(safe-area-inset-right));bottom:calc(var(--hand-visible-h) + 15px);z-index:50;gap:6px;display:flex;position:absolute}.hand-actions button{color:#f8f0d7;background:#043923ed;border:1px solid #edf0c23b;border-radius:7px;min-height:40px;padding:8px 13px;font-size:11px}.hand-actions button.belote-selected{color:#173b25;background:#f5de9d;border-color:#f5de9d;box-shadow:0 0 0 2px #f5de9d55}.turn-indicator{left:50%;bottom:calc(var(--hand-visible-h) + 10px);z-index:20;color:#c8d9bd;text-align:center;font-size:10px;position:absolute;transform:translate(-50%)}.turn-indicator.your-turn{color:#ffe3a3}.turn-indicator i{background:#062e1f75;border-radius:3px;width:95px;height:3px;margin:5px auto 0;display:block;overflow:hidden}.turn-indicator u{background:#f3d58e;height:100%;transition:width .1s linear;display:block}.spectator-label{text-align:center;color:#dae1c4;width:100%;font-size:12px;position:absolute;bottom:22px}.play-screen .bid-panel{top:auto;left:50%;bottom:calc(var(--hand-visible-h) + 36px);width:max-content;min-width:0;max-width:calc(var(--table-w) * .65);z-index:40;background:#062d1fed;border:1px solid #b9d2915c;border-radius:16px;padding:6px;position:absolute;transform:translate(-50%);box-shadow:0 5px 16px #002d1780}.play-screen .bid-panel>small{display:none}.play-screen .bid-panel>div:last-child{gap:6px}.play-screen .bid-panel button{color:#173b25;letter-spacing:.02em;background:#f1f0e5;border:none;border-radius:10px;min-width:86px;min-height:45px;padding:8px 18px;font-size:12px}.play-screen .bid-panel button.gold{color:#173b25;background:#f5de9d}.play-screen .bid-panel button.red-action{color:#173b25;background:#cfdcc3}.play-screen .suit-choice button{min-width:62px;padding:6px 12px}.play-screen .contest-panel,.play-screen .contract-announcement,.play-screen .redeal-announcement{width:max-content;max-width:calc(var(--table-w) * .58);z-index:40;text-align:center;background:#063921f0;border:1px solid #b9d2915c;border-radius:14px;gap:6px;min-width:260px;padding:12px 18px;position:absolute;inset:43% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 5px 20px #00241180}.play-screen .contest-panel b,.play-screen .contract-announcement b{color:#fff3cf;font-size:17px}.play-screen .contest-panel button{color:#183c2a;background:#f2e5b9;border-radius:8px;min-width:120px;min-height:42px;font-size:12px}.play-screen .identity{align-items:center;gap:7px;display:flex}.play-screen .identity small{font-size:11px}.play-screen .redeal-announcement b{margin:6px 0;font-size:18px;line-height:1.3;display:block}.play-screen .redeal-announcement span,.play-screen .redeal-announcement small{font-size:10px}.play-screen .declaration-builder{top:auto;bottom:calc(var(--hand-visible-h) + 18px);width:min(470px, calc(var(--table-w) * .66));z-index:55;background:#063921f5;border-color:#cce19f5c;border-radius:14px;padding:12px 16px;position:absolute;left:50%;transform:translate(-50%)}.play-screen .declaration-builder>b{font-size:15px}.play-screen .declaration-builder>small{color:#cddbbd;margin-bottom:5px}.play-screen .declaration-chips{min-height:22px;margin:6px 0}.play-screen .declaration-builder-actions button{letter-spacing:0;background:#154d32;border-radius:7px;min-height:38px;padding:7px 8px;font-size:10px}.play-screen .declaration-builder-actions .confirm{color:#163e28;background:#e6d99f}.play-screen .declaration-display{width:max-content;max-width:calc(var(--table-w) * .74);z-index:35;--rot:0deg;position:absolute;inset:42% auto auto 50%;transform:translate(-50%,-50%)}.play-screen .declaration-display>div{flex-direction:row;align-items:center;display:flex;transform:none}.play-screen .declaration-display>div>div{margin:0 0 0 -32px;transform:none}.play-screen .declaration-display>div>div:first-child{margin:0}.play-screen .toast{z-index:180;max-width:calc(var(--table-w) * .75);border-radius:8px;padding:10px 16px;font-size:12px;top:85px}.play-screen .modal-backdrop{z-index:150;background:#002715c9}.play-screen .abandon-dialog{background:#0a412b;border-color:#d9e4b24d;border-radius:16px;max-width:460px}.play-screen .abandon-dialog h2{font-size:25px}.showing-summary .table-toolbar{flex-direction:column}.showing-summary .voice-chat{flex-direction:column;max-width:44px}.showing-summary .voice-status{padding:0 0 7px;font-size:9px}.showing-summary .voice-unlock{border-top:1px solid #fff2;border-left:0;width:44px;padding:6px 3px;font-size:9px}.showing-summary .voice-notice{top:0;left:58px}.hand-summary{z-index:70;padding:10px max(14px, env(safe-area-inset-right)) 10px max(78px, calc(env(safe-area-inset-left) + 62px));background:#052d22ed;place-items:center;display:grid;position:absolute;inset:0}.summary-panel{width:min(920px,100%);max-height:calc(var(--table-h) - 20px);color:#29392d;background:#f3f0e6;border:1px solid #fff8;border-radius:18px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 12px 70px #00180d80}.summary-heading{flex:none;justify-content:space-between;align-items:center;gap:15px;padding:18px 22px 14px;display:flex}.summary-heading p{letter-spacing:.15em;color:#667261;margin:0 0 5px;font-size:9px;font-weight:700}.summary-heading h2{margin:0;font-size:17px;font-weight:400;line-height:1.25}.summary-heading strong{margin-top:3px;font-weight:700;display:block}.outcome-mark{color:#28663f;background:#deead5;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:23px;display:grid}.outcome-mark.bath{color:#b9533c;background:#efdad0}.summary-scroll{overscroll-behavior:contain;scrollbar-color:#aab4a0 #eeeae0;min-height:0;padding:0 14px;overflow:auto}.summary-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;font-size:13px}.summary-table th,.summary-table td{padding:8px 14px;line-height:1.25}.summary-table th:first-child{text-align:left;width:44%}.summary-table thead th{z-index:2;text-align:center;color:#344535;background:#f3f0e6;border-bottom:1px solid #d7d9cd;position:sticky;top:0}.summary-table thead b{font-size:13px;display:block}.summary-table thead small{white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:10px;font-weight:400;display:block;overflow:hidden}.summary-table tbody th{color:#636b60;font-weight:400}.summary-table td{text-align:center;font-variant-numeric:tabular-nums}.summary-table tbody tr:nth-child(odd){background:#e8e7df}.summary-table .subtotal-row th,.summary-table .subtotal-row td{border-top:1px solid #d2d5c9;font-weight:700}.summary-table .awarded-row{color:#305338;font-weight:700;background:#dfe9d6!important}.summary-table .awarded-row th{color:#305338;font-weight:700}.summary-table .match-total-row{color:#fff8de;font-size:19px;font-weight:700;background:#254d35!important}.summary-table tfoot th,.summary-table tfoot td{background:#254d35;position:static}.summary-table .match-total-row th{color:#fff8de;font-size:12px;font-weight:600}.summary-table .series-total-row{color:#f4dc97;font-size:15px;font-weight:700;background:#183d29!important}.summary-table .series-total-row th{color:#f4dc97;font-size:11px}.summary-contract{align-items:center;gap:6px;display:inline-flex}.summary-contract .suit-mark{font-size:17px}.bath-flag{border-radius:5px;min-width:72px;padding:4px 12px;font-size:10px;font-weight:700;display:inline-block}.bath-flag.no{color:#38613b;background:#d5e5c9}.bath-flag.yes{color:#9c3f2c;background:#eccbc0}.summary-footer{flex:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 22px;display:flex}.series-rematch-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-left:auto;display:flex}.summary-footer .series-rematch-actions button{margin-left:0}.summary-footer>span{color:#6c7467;font-size:10px}.summary-footer button{color:#fffbe9;background:#347543;border:0;border-radius:9px;min-width:144px;min-height:44px;margin-left:auto;padding:10px 20px;font-size:13px;font-weight:700}.final-hand-outcome{color:#4b654b;max-width:38%;font-size:10px}.random-queue{gap:10px;width:min(480px,100%);margin:20px auto;display:grid}.random-queue .seat{width:100%;min-height:76px}.random-lobby .lobby-actions{width:min(480px,100%)}.queue-hint{color:#acc4b5;max-width:480px;margin:10px auto;font-size:13px;line-height:1.5}@media (height<=500px),(orientation:portrait) and (width<=500px){.table-seat{max-width:130px}.seat-identity>span{max-width:104px;font-size:11px}.seat-west{left:max(20px, env(safe-area-inset-left));top:37%}.seat-east{right:max(20px, env(safe-area-inset-right));top:37%}.seat-south{left:max(20px, env(safe-area-inset-left));bottom:calc(var(--hand-visible-h) + 28px)}.table-speech{max-width:145px;padding:6px 8px;font-size:9px}.table-contract{font-size:10px}.hand-actions{right:max(14px, env(safe-area-inset-right));gap:4px}.hand-actions button{min-height:36px;padding:7px 10px;font-size:10px}.summary-panel{border-radius:12px}.summary-heading{padding:10px 16px 8px}.summary-heading p{margin-bottom:3px;font-size:8px}.summary-heading h2{font-size:12px}.summary-heading strong{margin-left:5px;display:inline}.outcome-mark{width:29px;height:29px;font-size:17px}.summary-table{font-size:11px}.summary-table th,.summary-table td{padding:3px 12px;line-height:1.2}.summary-table thead b{font-size:11px}.summary-table thead small{font-size:9px}.summary-table .match-total-row{font-size:16px}.summary-footer{padding:8px 16px}.summary-footer button{min-height:38px;font-size:11px}.last-trick-drawer{width:195px;height:125px}.last-trick-stage{transform:scale(.5)}.bath-flag{padding:2px 12px;font-size:9px}}@media (width<=720px) and (orientation:landscape),(height<=720px) and (orientation:portrait) and (width<=1024px){.table-score{min-width:90px;padding:5px 9px}.table-score>div{font-size:11px}.table-score b{font-size:14px}.table-score small{font-size:7px}.seat-north{top:12px}.play-screen .bid-panel button{min-width:70px;min-height:42px;padding:7px 12px}.play-screen .declaration-builder{width:calc(var(--table-w) * .62);padding:8px 11px}.play-screen .declaration-builder>b{font-size:12px}.hand-actions{bottom:calc(var(--hand-visible-h) + 10px);flex-direction:column}}@media (orientation:portrait) and (width<=1024px){.play-screen{--table-w:100dvh;--table-h:100vw;width:var(--table-w);height:var(--table-h);transform-origin:0 0;inset:0 auto auto 100vw;transform:rotate(90deg)}}@media (prefers-reduced-motion:reduce){.play-screen *,.play-screen :after{transition:none!important;animation:none!important}}.upcard-flight{--flight-end-x:calc(var(--table-w) * .5 - (var(--hand-card-w) + (var(--flight-count) - 1) * var(--hand-step)) * .5 + var(--flight-index) * var(--hand-step));--flight-end-y:calc(var(--table-h) - var(--hand-visible-h));z-index:60;pointer-events:none;left:var(--flight-end-x);top:var(--flight-end-y);width:var(--hand-card-w);height:var(--hand-card-h);animation:.55s cubic-bezier(.2,.75,.25,1) backwards upcard-to-hand;position:absolute}.play-screen .upcard-flight .card{width:100%;height:100%}@keyframes upcard-to-hand{0%{left:calc(var(--table-w) * .5);top:calc(var(--table-h) * .38);width:calc(var(--trick-card-w) * 1.08);height:calc(var(--trick-card-h) * 1.08);transform:translate(-50%,-65%)}to{left:var(--flight-end-x);top:var(--flight-end-y);width:var(--hand-card-w);height:var(--hand-card-h);transform:none}}.claimed-hands{z-index:36;pointer-events:none;position:absolute;inset:0}.cards-down .turn-indicator,.cards-down .claim-caption{display:none}.claim-hand{--claim-card-w:clamp(42px, calc(var(--table-h) * .14), 78px);--claim-step:min(calc(var(--claim-card-w) * .65), calc((var(--table-h) * .62 - var(--claim-card-w)) / 7));width:max-content;max-width:70%;position:absolute}.claim-hand .card{width:var(--claim-card-w);height:calc(var(--claim-card-w) * 1.46)}.claim-hand>div{display:flex}.claim-hand>div>div{margin-left:calc(var(--claim-step) - var(--claim-card-w));animation:.4s ease-out backwards claim-card-in;animation-delay:calc(var(--i) * 35ms)}.claim-hand>div>div:first-child{margin-left:0}.claim-hand.pos-0{--claim-x:0px;--claim-y:100px;bottom:50px;left:50%;transform:translate(-50%)}.claim-hand.pos-2{--claim-x:0px;--claim-y:-100px;top:45px;left:50%;transform:translate(-50%)}.claim-hand.pos-1{--claim-x:0px;--claim-y:100px;top:50%;left:65px;transform:translate(-50%,-50%)rotate(90deg)}.claim-hand.pos-3{--claim-x:0px;--claim-y:100px;top:50%;right:65px;transform:translate(50%,-50%)rotate(-90deg)}.last-trick-drawer.claim-recap{--recap-card-w:clamp(32px, calc(var(--table-w) * .09), 42px);--recap-step:calc(var(--recap-card-w) * .45);--recap-fan-w:calc(var(--recap-card-w) + (var(--recap-count,1) - 1) * var(--recap-step));--recap-size:calc(var(--recap-fan-w) + var(--recap-card-w) * 2.92 + 36px);width:var(--recap-size);height:var(--recap-size)}.last-claim-stage{width:100%;height:100%;position:relative}.last-claim-stage .claim-hand{--claim-card-w:var(--recap-card-w);--claim-step:var(--recap-step);max-width:none}.last-claim-stage .claim-hand.pos-0{bottom:8px}.last-claim-stage .claim-hand.pos-2{top:8px}.last-claim-stage .claim-hand.pos-1{left:calc(8px + var(--recap-card-w) * .73)}.last-claim-stage .claim-hand.pos-3{right:calc(8px + var(--recap-card-w) * .73)}.claimed-hands.is-static .claim-hand>div>div{animation:none}@keyframes claim-card-in{0%{opacity:0;transform:translate(var(--claim-x), var(--claim-y))}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.claim-hand>div>div{animation-duration:.01ms;animation-delay:0s}}.play-screen.cards-down .hand-actions{bottom:10px;right:max(20px, env(safe-area-inset-right));flex-direction:row}.mode-choices{grid-template-columns:1fr 1fr;gap:16px;max-width:620px;margin:24px 0;display:grid}.mode-choices button{color:#f7ecd8;cursor:pointer;text-align:left;background:#11352f;border:1px solid #d9b87988;border-radius:12px;min-height:125px;padding:20px}.mode-choices b{font-size:23px;display:block}.mode-choices span{color:#bad0c7;margin-top:12px;font-size:13px;display:block}.mode-choices button:disabled{opacity:.4}.policy-backdrop{z-index:200;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#031219e8;place-items:center;display:grid;position:fixed;inset:0}.policy-sheet{color:#f7ecd8;overscroll-behavior:contain;background:#103039;border:1px solid #d9b87988;border-radius:14px;width:min(760px,100%);max-height:100%;padding:20px;font:15px/1.6 DM Sans,sans-serif;overflow:auto}.policy-sheet header{align-items:flex-start;gap:12px;height:auto;min-height:44px}.policy-sheet h2{margin:0 0 12px;font-size:25px}.policy-sheet h3{font-size:18px}.policy-sheet p{white-space:pre-line}.policy-sheet button,.lobby-safety button,.home-info,.player-safety-toggle{color:#f7ecd8;min-height:44px;font:inherit;cursor:pointer;background:#1b4842;border:1px solid #d9b87966;border-radius:8px;padding:8px 12px}.policy-sheet button:disabled{opacity:.4}.policy-sheet a{color:#f1d58c}.policy-sheet small{color:#bfd0cc;margin-top:10px;font-size:12px;display:block}.policy-sheet label{margin:16px 0;display:block}.policy-sheet input[type=checkbox]{vertical-align:middle;accent-color:#e0bd7a;width:20px;height:20px;margin-right:10px}.policy-sheet select,.policy-sheet textarea{color:#fff;width:100%;font:inherit;background:#061d24;border:1px solid #b0c7c0;border-radius:6px;margin-top:6px;padding:12px;display:block}.policy-sheet textarea{min-height:90px}.policy-actions,.policy-links{flex-wrap:wrap;gap:10px;margin:15px 0;display:flex}.policy-links button{font-size:13px}.guest-code{overflow-wrap:anywhere;font-size:12px}.lobby-safety{right:max(12px,env(safe-area-inset-right));bottom:calc(env(safe-area-inset-bottom) + 75px);z-index:60;gap:8px;display:flex;position:fixed}.home-info,.player-safety-toggle{place-items:center;width:44px;height:44px;padding:10px;display:grid}.home-info{right:calc(env(safe-area-inset-right,0px) + 14px);bottom:calc(env(safe-area-inset-bottom,0px) + 14px);z-index:60;border-radius:50%;position:fixed}.home-info svg,.player-safety-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.home-info .info-dot{fill:currentColor;stroke:none}.rooms-shell,html.native-app .rooms-shell{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 76px)}.room-grid>button:disabled{opacity:.55;cursor:wait}.play-screen .policy-backdrop{padding:calc(var(--native-table-top,0px) + 8px) calc(var(--native-table-right,0px) + 8px) calc(var(--native-table-bottom,0px) + 8px) calc(var(--native-table-left,0px) + 8px)}@media (width<=500px){.mode-choices{gap:10px}.mode-choices button{padding:16px 12px}.mode-choices b{font-size:20px}.entry-card{margin-top:6vh}}:is(.access-entry,.rooms-shell,.lobby-shell,.account-shell,.rules-shell,.navigation){--ui-bg:#121615;--ui-panel:#1b211f;--ui-raised:#242c28;--ui-border:#35403a;--ui-text:#f0f2e9;--ui-muted:#a5b1a9;--ui-accent:#a7d58e;--ui-ink:#192616;color:var(--ui-text)}:is(.access-entry,.rooms-shell,.lobby-shell,.account-shell,.rules-shell){background:var(--ui-bg);min-height:100dvh;padding:24px max(24px,env(safe-area-inset-right)) max(40px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));font-size:15px;line-height:1.5}:is(.entry-shell,.lobby-shell):before{display:none}:is(.access-entry,.rooms-shell,.lobby-shell,.account-shell,.rules-shell)>header{border-bottom:1px solid #ffffff0d;flex-wrap:nowrap;width:min(1120px,100%);height:60px;margin:0 auto;padding-bottom:18px}:is(.access-entry,.rooms-shell,.lobby-shell,.account-shell,.rules-shell) .logo{letter-spacing:.09em;flex-shrink:0;align-items:center;gap:12px;display:flex}:is(.access-entry,.rooms-shell,.lobby-shell,.account-shell,.rules-shell) .logo>span{border-color:#d0b47b;border-radius:4px;width:29px;height:38px;font-size:29px}:is(.access-entry,.rooms-shell,.lobby-shell,.account-shell,.rules-shell) .logo>b{letter-spacing:.12em;font-size:13px}:is(.access-entry,.rooms-shell,.lobby-shell,.account-shell,.rules-shell) h1{letter-spacing:-.035em;overflow-wrap:anywhere;margin:0 0 28px;font-size:clamp(28px,3.7vw,42px);font-weight:700;line-height:1.15}:is(.rooms-shell,.lobby-shell,.account-shell) .eyebrow{color:var(--ui-muted);letter-spacing:.12em;margin:0 0 10px;font-size:11px}:is(.rooms-shell,.lobby-shell,.account-shell) p{color:var(--ui-muted)}:is(.access-entry,.rooms-shell,.lobby-shell,.account-shell,.rules-shell) button{transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s}:is(.access-entry,.rooms-shell,.lobby-shell,.account-shell,.rules-shell) :is(button,input,textarea,summary):focus-visible,.navigation button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:4px}:is(.rooms-shell,.lobby-shell,.account-shell,.rules-shell) :is(.text-button,.secondary),.account-shell .account-panel button{border:1px solid var(--ui-border);background:var(--ui-raised);min-height:44px;color:var(--ui-text);text-transform:none;letter-spacing:0;border-radius:9px;padding:10px 16px;font-size:14px;font-weight:600;line-height:1.4}:is(.rooms-shell,.lobby-shell) .primary,.account-shell .account-panel form>button:not(.account-link),.account-shell .profile-chat-button{background:var(--ui-accent);min-height:46px;color:var(--ui-ink);border:1px solid var(--ui-accent);text-transform:none;letter-spacing:0;border-radius:9px;padding:12px 20px;font-size:14px;font-weight:700}.account-shell .account-panel :is(input:not([type=checkbox]),textarea),.rooms-shell :is(.room-search input,.room-create>input){color:var(--ui-text);min-height:48px;font:inherit;box-shadow:none;background:#141a17;border:1px solid #455248;border-radius:9px;padding:12px 14px;font-size:16px}:is(.rooms-shell,.account-shell) :is(input,textarea)::placeholder{color:#84948a;opacity:1}.account-shell .account-panel label{color:#d6ded7;gap:8px;margin:20px 0;font-size:13px;font-weight:600}.account-shell .account-panel label small{color:var(--ui-muted);font-size:12px;font-weight:400}.account-shell .account-panel input[type=checkbox]{accent-color:var(--ui-accent)}.account-shell .account-panel .account-check{font-weight:400;line-height:1.6}.account-shell .account-panel .account-link{color:var(--ui-accent);background:0 0;border-color:#0000;min-height:44px;padding:10px 0;font-weight:500;text-decoration:none}.account-shell .account-panel .account-danger{color:#f5b0a3;background:#352420;border-color:#684039}.account-shell .account-panel .account-error,.rooms-shell [role=alert]{color:#ffb2a4}.access-entry .entry-card{max-width:920px;margin:clamp(72px,16vh,160px) auto 60px}.access-entry .access-tiles{gap:16px}.access-entry .access-tiles button{aspect-ratio:1.2;background:var(--ui-panel);border:1px solid var(--ui-border);min-height:200px;color:var(--ui-text);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:28px;font-size:19px;font-weight:600;display:flex;transform:none;box-shadow:0 8px 30px #00000018}.access-entry .access-tiles button:first-child{background:#263725;border-color:#759564}.access-entry .access-tiles .menu-icon{width:32px;height:32px;color:var(--ui-accent);stroke-width:1.5px}.rooms-shell .rooms-card,.lobby-shell .lobby-card,.rules-shell .rules-page{width:100%;max-width:960px;margin:48px auto 0}.account-shell .account-panel{background:var(--ui-panel);border:1px solid var(--ui-border);border-radius:14px;width:min(800px,100%);margin:48px auto 0;padding:32px;box-shadow:0 12px 40px #00000018}:is(.account-view-login,.account-view-register,.account-view-verify,.account-view-reset,.account-view-reset-request) .account-panel{max-width:480px}.account-shell .account-panel h1{margin:0 0 24px;font-size:30px}.account-shell .account-panel p{font-size:14px;line-height:1.65}.account-shell .account-panel hr{border-color:var(--ui-border)}.account-shell .account-panel .account-search{gap:0}.account-shell .account-search label{margin-top:0}.account-shell .search-note{font-size:12px!important}.navigation{top:calc(env(safe-area-inset-top,0px) + 23px);right:max(24px,env(safe-area-inset-right,0px))}.navigation .menu-trigger{background:var(--ui-panel);border-color:var(--ui-border);color:var(--ui-text);border-radius:9px;width:44px;height:44px}.navigation .navigation-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050806a8}.navigation .navigation-sheet{width:max-content;min-width:220px;max-width:calc(100vw - 20px);min-height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);padding:calc(20px + env(safe-area-inset-top,0px)) 16px max(20px,env(safe-area-inset-bottom,0px));background:var(--ui-panel);border:1px solid var(--ui-border);border-radius:14px;gap:5px;margin:10px 10px 10px 0;overflow:auto;box-shadow:-18px 0 60px #0005}.navigation .navigation-sheet header{border:0;flex:none;height:48px;margin:0 0 22px;padding:0 10px}.navigation .navigation-sheet header b{color:var(--ui-text);letter-spacing:-.02em;font-size:19px}.navigation .navigation-sheet button{color:#d4ddd5;background:0 0;border:1px solid #0000;border-radius:8px;flex-shrink:0;min-height:50px;padding:14px 16px;font-size:15px}.navigation .navigation-sheet .menu-icon{color:#99ad9c;width:21px;height:21px}.navigation .navigation-sheet header button{min-height:36px;color:var(--ui-muted);padding:0}.navigation .navigation-sheet .menu-home{border-top:1px solid var(--ui-border);border-radius:0;margin-top:auto;padding-top:22px}.navigation .unread-dot{box-shadow:0 0 0 3px var(--ui-panel)}.rooms-shell .room-search{gap:12px;margin:0 0 24px}.rooms-shell .room-grid{gap:12px;margin-top:0}.rooms-shell .room-grid>button{background:var(--ui-panel);border:1px solid var(--ui-border);min-height:128px;box-shadow:none;border-radius:12px;gap:16px;padding:20px;transform:none}.rooms-shell .room-grid>button>span{color:#a74736;width:42px;height:56px;box-shadow:none;background:#e5dfcd;border-radius:5px;flex:none;font-size:28px}.rooms-shell .room-grid>button.playing>span{color:#b8d9a8;background:#344936}.rooms-shell .room-grid b{color:var(--ui-text);font-size:16px;font-weight:600;line-height:1.3}.rooms-shell .room-grid small{color:var(--ui-muted);margin-top:6px;font-size:12px;line-height:1.4}.rooms-shell .room-grid i{color:var(--ui-accent);letter-spacing:0;text-transform:none;font-size:12px;font-style:normal}.rooms-shell .room-create{background:var(--ui-panel);border:1px solid var(--ui-border);border-radius:14px;gap:18px;max-width:620px;padding:28px}.rooms-shell .room-create>label{margin-bottom:-10px;font-size:13px;font-weight:600}.rooms-shell .room-create fieldset{border-color:var(--ui-border);flex-wrap:wrap;gap:16px;min-width:0;margin:0;padding:16px}.rooms-shell .room-create legend{color:var(--ui-muted);font-size:12px;font-weight:600}.rooms-shell .room-create fieldset label{cursor:pointer;gap:10px;min-height:28px;font-size:14px}.rooms-shell .room-create input[type=radio]{accent-color:var(--ui-accent)}.rooms-shell .bot-counter button{color:var(--ui-accent);cursor:pointer;background:#29352c;border:1px solid #465449;border-radius:8px}.rooms-shell .bot-counter button:disabled{opacity:.35;cursor:default}.rooms-shell .bot-counter output{font-size:22px}.rooms-shell .room-create-actions{padding-top:6px}.lobby-shell .room-specs{color:var(--ui-muted);margin-top:-14px;font-size:14px}.lobby-shell .queue-hint{color:var(--ui-muted);font-size:13px}.lobby-shell .seat{background:var(--ui-panel);border-color:var(--ui-border);color:var(--ui-text);border-radius:10px}.lobby-shell .seat.you{box-shadow:none;border-color:#b08d55}.lobby-shell .seat.is-ready{border-color:#689a6c}.lobby-shell .seat b{overflow-wrap:anywhere}.lobby-shell .seat small{letter-spacing:.06em}.lobby-shell .seat>span{color:#718076}.lobby-shell .seat-marker{color:#9caf9f;border-color:#56665b}.lobby-shell .seat.filled .seat-marker{color:#f1c98f;background:#66462a}.lobby-shell .seat.filled.is-ready .seat-marker{color:#b9e2a4;background:#31523a}.lobby-shell .seat.is-ready small{color:#a7d58e}.lobby-shell .ready-button{text-transform:none;letter-spacing:0;border-radius:9px;min-height:48px;padding:12px 24px;font-size:14px}.lobby-shell .ready-button.available{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-ink)}.lobby-shell .ready-button.waiting{color:#f0d6a6;background:#513b26;border-color:#8c693f}.lobby-shell .room-capacity-notice{color:#e3ddbb;background:#323526;border-color:#626045}.account-shell .profile-actions{gap:8px;margin-top:28px}.account-shell .profile-actions button{background:#242c28;border-color:#0000;align-items:center;gap:14px;min-height:58px;padding:14px 18px;font-size:15px;font-weight:500;display:flex}.account-shell .profile-actions .menu-icon{color:var(--ui-accent);width:21px;height:21px}.account-shell .profile-actions .account-danger{color:#efa696;background:0 0;border-top:1px solid #543a32;border-radius:0;margin-top:16px}.account-shell .profile-actions .account-danger .menu-icon{color:inherit}.account-shell .profile-actions .unread-dot{margin-left:auto}.account-shell .profile-stats{border-block:1px solid var(--ui-border);gap:16px;margin:0 0 24px;padding:16px 0;font-size:12px}.account-shell .profile-stats>span{color:var(--ui-muted);flex:1;gap:5px;display:grid}.account-shell .profile-stats b{color:var(--ui-text);margin:0;font-size:17px;font-weight:600}.account-shell .search-results{gap:8px;margin-top:24px}.account-shell .search-results button{background:#242c28;border-color:#0000;min-height:60px;padding:16px}.account-shell .search-results button b{color:var(--ui-text);font-size:15px;font-weight:600}.account-shell .search-results button span{color:var(--ui-muted);font-size:12px}.account-shell .friend-section h2{color:var(--ui-muted);margin-bottom:12px;font-size:14px;font-weight:600}.account-shell .friend-row{border-color:var(--ui-border);padding:12px 0}.account-shell .friend-row button{font-size:12px}.account-shell .friend-row>.account-link{color:var(--ui-text);font-size:15px}.account-shell .archive-list{border:1px solid var(--ui-border);border-radius:10px;gap:0;overflow:hidden}.account-shell .archive-item{border:0;border-bottom:1px solid var(--ui-border);background:0 0;border-radius:0}.account-shell .archive-item:last-child{border-bottom:0}.account-shell .account-panel .archive-item>summary{min-height:46px;color:var(--ui-text);padding:10px 14px;font-size:13px}.account-shell .archive-item>summary time{font-variant-numeric:tabular-nums;font-weight:500}.account-shell .archive-format{color:var(--ui-muted);font-size:11px}.account-shell .archive-item summary>strong{font-variant-numeric:tabular-nums;font-size:14px}.account-shell .archive-outcome{border-radius:5px;justify-self:start;padding:3px 7px;font-size:11px;font-weight:600}.account-shell .archive-outcome.won{color:#b6dfa0;background:#2b412b}.account-shell .archive-outcome.lost{color:#f2b7a8;background:#482e28}.account-shell .archive-outcome.interrupted{color:#c4ccc5;background:#313a33}.account-shell .archive-details{border-color:var(--ui-border);background:#151c17;padding:18px 14px}.account-shell .archive-teams{color:#d1dbd2}.account-shell .archive-team-row>b{color:#a7b8a9}.account-shell .archive-games{margin:16px 0;font-size:12px}.account-shell .archive-games th{color:var(--ui-muted);font-size:11px;font-weight:500}.account-shell .archive-games :is(th,td){border-color:var(--ui-border);padding:8px}.account-shell .archive-details footer button{color:#c2e4b0;background:#293b29;border-color:#476443;min-height:40px;font-size:12px}.account-shell .thread-list{border-radius:10px;gap:0;overflow:hidden}.account-shell .thread-list>button{background:#242c28;border:0;border-bottom:1px solid #394239;border-radius:0;gap:6px;padding:18px}.account-shell .thread-list>button:last-child{border-bottom:0}.account-shell .thread-list b{color:var(--ui-text);font-size:15px;font-weight:600}.account-shell .thread-list time{color:var(--ui-muted);font-size:11px}.account-shell .thread-list span:not(.unread-dot){color:var(--ui-muted);font-size:13px;font-weight:400}.account-shell .conversation h1{border-bottom:1px solid var(--ui-border);margin:8px 0 20px;padding-bottom:18px;font-size:22px}.account-shell .chat-messages{scrollbar-color:#49574b transparent;background:#121914;border:1px solid #2e3a30;border-radius:10px;gap:12px;padding:18px}.account-shell .chat-messages>p{text-align:center;color:var(--ui-muted);margin:auto;font-size:13px}.account-shell .chat-message{background:#2b352e;border-radius:12px 12px 12px 3px;max-width:85%;padding:11px 14px}.account-shell .chat-message.mine{background:#344e32;border-radius:12px 12px 3px}.account-shell .chat-message p{color:#f0f2e9;font-size:15px;line-height:1.55}.account-shell .chat-message time{color:#bdc9ba;margin-top:6px;font-size:10px}.account-shell .chat-compose{gap:10px;margin-top:12px}.account-shell .chat-compose textarea{resize:vertical;border-radius:10px;min-height:54px;max-height:180px;padding:14px;font-size:16px}.account-shell .chat-compose button{align-self:stretch;min-width:70px;padding:12px 16px}.rules-shell .rules-heading p{color:var(--ui-muted)}.rules-shell .rules-tabs{border-color:var(--ui-border);background:#1c241e;border-radius:10px;box-shadow:0 8px 24px #0003}.rules-shell .rules-tabs button{color:var(--ui-muted);border-radius:7px}.rules-shell .rules-tabs button[aria-selected=true]{color:#d1e9bf;background:#344a30;border-color:#5d7a4f}.rules-shell .rule-section{background:var(--ui-panel);border-color:var(--ui-border);border-radius:12px}.rules-shell .rule-section h2{color:var(--ui-text);font-size:21px}.rules-shell .rule-section>header>span{color:var(--ui-accent)}.rules-shell .rule-body{color:#bfcac1;font-size:15px}.rules-shell .rule-body strong{color:var(--ui-text)}.rules-shell .rule-body li::marker{color:var(--ui-accent)}.rules-shell .rule-note{background:#283527;border-color:#8eb777}.rules-shell .rule-note>b,.rules-shell .rule-ranking{color:#c1dfa9}.rules-shell .rule-orders>div,.rules-shell .rule-table-wrap thead th{color:#c1d6b8;background:#283329}.rules-shell .rule-orders p{color:#d2e6c2}.rules-shell .rule-table-wrap,.rules-shell .rule-table-wrap :is(th,td){border-color:var(--ui-border)}#root:not(:has(.play-screen)) .policy-backdrop{background:#080d0be8}#root:not(:has(.play-screen)) .policy-sheet{color:#e7ede4;background:#1b211f;border-color:#455248;border-radius:14px;padding:28px}#root:not(:has(.play-screen)) .policy-sheet button{color:#e1edd8;background:#2b392b;border-color:#53654c;border-radius:8px;font-size:14px}#root:not(:has(.play-screen)) .policy-sheet :is(a,small){color:#b6ceaa}#root:not(:has(.play-screen)) .policy-sheet input[type=checkbox]{accent-color:#a7d58e}@media (hover:hover){.navigation .navigation-sheet>button:hover{color:#f2f5eb;background:#2a352d}.navigation .navigation-sheet>button:hover .menu-icon{color:var(--ui-accent)}.access-entry .access-tiles button:hover{background:#2b382b;border-color:#8cac7c}.rooms-shell .room-grid>button:hover{background:#242e26;border-color:#65805a;transform:none}.account-shell .account-panel button:not(:disabled):hover{filter:brightness(1.12)}.account-shell .archive-item>summary:hover{background:#273129}.lobby-shell .seat.selectable:hover{background:#29352b;border-color:#8cac7c}}@media (width<=700px){:is(.access-entry,.rooms-shell,.lobby-shell,.account-shell,.rules-shell){padding:calc(14px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(28px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}:is(.access-entry,.rooms-shell,.lobby-shell,.account-shell,.rules-shell)>header{height:54px;padding-bottom:14px}:is(.access-entry,.rooms-shell,.lobby-shell,.account-shell,.rules-shell) .logo{gap:9px}:is(.access-entry,.rooms-shell,.lobby-shell,.account-shell,.rules-shell) .logo>b{letter-spacing:.08em;font-size:10px}:is(.access-entry,.rooms-shell,.lobby-shell,.account-shell,.rules-shell) .logo>span{width:25px;height:34px;font-size:26px}.navigation{top:calc(env(safe-area-inset-top,0px) + 12px);right:max(16px,env(safe-area-inset-right,0px))}.account-shell .account-back,.rules-shell .rules-back{min-height:40px;margin-right:52px;padding:8px;font-size:12px}.account-shell>header .logo{max-width:none}.access-entry .entry-card{max-width:440px;margin:56px auto 32px}.access-entry .access-tiles{grid-template-columns:1fr;gap:12px;max-width:none}.access-entry .access-tiles button{aspect-ratio:auto;border-radius:12px;flex-direction:row;gap:18px;min-height:118px;padding:24px;font-size:18px}.access-entry .access-tiles .menu-icon{width:26px;height:26px}.rooms-shell .rooms-card,.lobby-shell .lobby-card,.rules-shell .rules-page{margin-top:30px}.rooms-shell .room-search{gap:10px}.rooms-shell .room-grid>button{gap:14px;min-height:116px;padding:16px}.rooms-shell .room-grid small{font-size:11px}.rooms-shell .room-grid>button>span{width:36px;height:48px;font-size:25px}.rooms-shell .room-create{gap:18px;padding:20px 16px}.rooms-shell .room-create fieldset{gap:12px;padding:12px}.rooms-shell .room-create fieldset label{font-size:13px}.account-shell .account-panel{border-radius:12px;margin-top:28px;padding:22px 16px}.account-shell .account-panel h1{font-size:28px}.account-shell .account-panel .archive-item>summary{grid-template-columns:74px 32px minmax(0,1fr) 36px 12px;gap:5px;padding:10px 8px;font-size:12px}.account-shell .archive-outcome{padding:3px 5px;font-size:10px}.account-shell .chat-messages{height:clamp(180px,45dvh,430px);padding:12px}.account-shell .chat-message{max-width:92%;padding:10px 12px}.account-shell .chat-compose{gap:8px}.account-shell .chat-compose button{min-width:60px;padding:10px}.account-shell .conversation h1{font-size:22px}.lobby-shell{padding-bottom:100px}.lobby-shell .header-actions{gap:8px}.lobby-shell .header-actions .text-button{min-height:40px;padding:8px;font-size:11px}.lobby-shell .header-actions .status{letter-spacing:0;font-size:6px}.lobby-shell .lobby-position{width:140px}.lobby-shell .lobby-position .seat{gap:7px;min-height:76px;padding:10px 8px}.lobby-shell .lobby-position .seat b{font-size:10px}.lobby-shell .lobby-position .seat small{font-size:7px}.lobby-shell .lobby-actions{width:max-content;max-width:calc(100vw - 32px)}.lobby-shell .ready-button{white-space:normal;max-width:100%;font-size:13px}.rules-shell .rule-section{padding:20px 16px}#root:not(:has(.play-screen)) .policy-sheet{padding:22px 18px}}@media (width<=374px){.account-shell>header .logo>b,.rules-shell>header .logo>b{letter-spacing:0;font-size:9px}.account-shell .account-back,.rules-shell .rules-back{margin-right:48px;padding:6px;font-size:11px}.account-shell .account-panel{padding:20px 12px}.account-shell .account-panel .archive-item>summary{grid-template-columns:66px 27px minmax(0,1fr) 30px 10px;gap:3px;padding-inline:6px;font-size:11px}.lobby-shell .header-actions .status{display:none}.lobby-shell .lobby-position{width:128px}}@media (prefers-reduced-motion:reduce){:is(.access-entry,.rooms-shell,.lobby-shell,.account-shell,.rules-shell,.navigation) button{transition:none}}:is(.access-entry,.rooms-shell,.lobby-shell,.account-shell,.rules-shell){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.navigation{right:max(24px,calc((100vw - 1120px)/2),env(safe-area-inset-right,0px))}.navigation .navigation-sheet header button{font-size:24px;line-height:1}.account-shell .account-panel .profile-chat-button{background:var(--ui-accent);color:var(--ui-ink);border-color:var(--ui-accent)}.account-shell .profile-actions .account-danger{border:0;border-top:1px solid #543a32}.lobby-shell .seat.filled .seat-marker{font-size:0;position:relative}.lobby-shell .seat.filled .seat-marker:after{content:none}.lobby-shell .seat.filled .seat-dot{background:currentColor;border-radius:50%;width:8px;height:8px;margin:0;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.account-shell .archive-actions button{place-content:center;place-items:center;padding:0;display:grid}.account-shell .archive-actions button svg{place-self:center;margin:0;display:block}.account-shell>header .logo>span,.rules-shell>header .logo>span{width:29px;height:38px;font-size:29px}@media (width<=700px){.navigation{right:max(16px,env(safe-area-inset-right,0px))}.account-shell>header .logo>span,.rules-shell>header .logo>span{width:25px;height:34px;font-size:26px}}.public-brand{color:inherit;text-decoration:none}.public-home{align-items:center;text-decoration:none;display:inline-flex}.rules-content-only{display:contents}.public-page .rules-page{margin-top:48px}.public-information .rules-heading{margin-bottom:24px}.public-document-links{flex-wrap:wrap;gap:8px;margin:0 0 24px;display:flex}.public-document-links a{border:1px solid var(--ui-border);color:#d4e8c6;background:#242c28;border-radius:8px;align-items:center;min-height:38px;padding:8px 12px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.public-documents{gap:16px;display:grid}.public-information .rule-section small{color:var(--ui-muted);margin:-4px 0 18px;font-size:11px;display:block}.public-information .rule-body h3{color:#e4ece0;margin:22px 0 7px;font-size:16px;line-height:1.35}.public-information .rule-body h3:first-child{margin-top:0}.public-information .rule-body p{white-space:pre-line}@media (width<=700px){.public-page .rules-page{margin-top:30px}.public-document-links{gap:6px}.public-document-links a{padding:7px 10px;font-size:12px}}:is(.account-view-profile,.account-view-archive,.account-view-search,.account-view-friends,.account-view-chats) .account-panel{width:100%;max-width:960px;box-shadow:none;background:0 0;border:0;border-radius:0;margin:48px auto 0;padding:0;overflow:visible}:is(.account-view-login,.account-view-register,.account-view-verify,.account-view-reset,.account-view-reset-request) .account-panel{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.information-shell .information-content{width:100%;max-width:960px;color:var(--ui-text);margin:48px auto 0}.information-content h1,.information-document h1{margin:0 0 24px;font-size:30px}.information-content p{max-width:760px;color:var(--ui-muted);white-space:pre-line;font-size:14px;line-height:1.7}.information-content button{border:1px solid var(--ui-border);background:var(--ui-raised);min-height:44px;color:var(--ui-text);font:inherit;cursor:pointer;border-radius:9px;padding:10px 16px;font-size:14px;font-weight:600}.information-content a{color:var(--ui-accent)}.information-content hr{border:0;border-top:1px solid var(--ui-border);margin:30px 0}.information-content .policy-links{margin:0 0 22px}.information-document>small{color:var(--ui-muted);margin:-14px 0 32px;font-size:12px;display:block}.information-document>section{border-top:1px solid var(--ui-border);padding:22px 0}.information-document h2{color:#e5ece3;margin:0 0 10px;font-size:19px}.account-view-chats{height:100dvh;min-height:100dvh;overflow:hidden}.account-view-chats .account-panel{max-width:none;height:calc(100dvh - 116px);min-height:0;margin-top:18px}.account-shell .conversation{grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;display:grid}.account-shell .conversation-header{border-bottom:1px solid var(--ui-border);align-items:center;gap:18px;height:auto;min-height:58px;padding:0 0 14px;display:flex}.account-shell .conversation-header h1{text-align:left;border:0;margin:0;padding:0;font-size:22px}.account-shell .chat-messages{background:0 0;border:0;border-radius:0;gap:8px;height:auto;min-height:0;padding:22px 4px 18px}.account-shell .chat-message-row{touch-action:pan-y;align-self:flex-start;align-items:flex-end;gap:7px;max-width:90%;display:flex}.account-shell .chat-message-row.mine{flex-direction:row-reverse;align-self:flex-end}.account-shell .chat-message-row .chat-message{background:#2b352e;border-radius:12px 12px 12px 3px;align-self:auto;max-width:100%;padding:10px 13px}.account-shell .chat-message-row.mine .chat-message{background:#344e32;border-radius:12px 12px 3px}.account-shell .chat-message time{text-align:right;white-space:nowrap;color:var(--ui-muted);margin:4px 0 0;font-size:10px;line-height:1.2;display:block}.account-shell .chat-day{width:100%;color:var(--ui-muted);text-align:center;align-items:center;gap:12px;margin:13px 0 7px;font-size:11px;display:flex}.account-shell .chat-day:before,.account-shell .chat-day:after{content:"";background:var(--ui-border);flex:1;height:1px}.account-shell .chat-day span{flex:none}.account-shell .chat-compose{background:#1b231e;border:1px solid #465248;border-radius:12px;grid-template-columns:minmax(0,1fr) 52px;align-items:stretch;gap:0;margin:0;padding:0;overflow:hidden;display:grid!important}.account-shell .chat-compose textarea{box-sizing:border-box;resize:none;width:100%;min-height:52px;max-height:130px;color:var(--ui-text);font:inherit;background:0 0;outline:0;margin:0;padding:14px 16px;font-size:16px;border:0!important;border-radius:0!important}.account-shell .chat-compose button{color:#cde4be;background:#344e32;border:0;border-left:1px solid #465248;border-radius:0;width:52px;min-width:52px;min-height:52px;margin:0;padding:0;display:block;position:relative}.account-shell .chat-compose button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px;display:block;position:absolute;top:50%;left:50%;transform:translate(-54%,-50%)}.account-shell .chat-compose button:disabled{opacity:.4}@media (width<=700px){:is(.account-view-profile,.account-view-archive,.account-view-search,.account-view-friends,.account-view-chats) .account-panel{margin-top:28px;padding:0}.information-shell .information-content{margin-top:28px}.account-view-chats .account-panel{height:calc(100dvh - 94px);margin-top:8px}.account-shell .conversation-header{gap:12px;min-height:52px}.account-shell .chat-messages{padding-inline:0}.account-shell .chat-message-row{max-width:94%}}:is(.account-shell .account-back,.rules-shell .rules-back:not(:has(.back-icon))){flex:none}:is(.account-shell .account-back:has(.back-icon),.rules-shell .rules-back:has(.back-icon)){box-sizing:border-box;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;margin-right:58px;padding:0;display:grid}.back-icon{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px;display:block}@media (width<=700px){:is(.account-shell .account-back:has(.back-icon),.rules-shell .rules-back:has(.back-icon)){margin-right:52px;padding:0}}@media (width<=374px){:is(.account-shell .account-back:has(.back-icon),.rules-shell .rules-back:has(.back-icon)){margin-right:48px;padding:0}}.lobby-shell .header-actions :is(.room-share,.lobby-back){box-sizing:border-box;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;display:grid;position:relative}.lobby-shell .header-actions .room-share svg{width:22px;height:22px;margin:0;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.lobby-shell .header-actions .lobby-back .back-icon{width:22px;height:22px}
