:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--night:#102b39;--deep:#0c222e;--felt:#1d5c61;--paper:#fcfaf3;--brass:#dfbd79;--muted:#a3b8c0;--red:#ba404a;--line:#a3b8c02e;color:var(--paper);background:var(--night);font-synthesis:none;font-variant-numeric:tabular-nums;font-family:Avenir Next,Avenir,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--brass);outline-offset:4px}button{border:0}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}h1,h2{text-wrap:balance;font-family:Georgia,Times New Roman,serif;font-weight:400}p{line-height:1.7}button{transition:background .15s,transform .15s}input{background:var(--deep);border:1px solid var(--line);min-width:0;color:var(--paper);outline-offset:2px;border-radius:7px;width:100%;padding:14px 16px}input::placeholder{color:#819aa7}input:disabled{opacity:.75}button:disabled{opacity:.4}small{font-size:12px}.red{color:var(--red)}.eyebrow{letter-spacing:2px;color:var(--brass);font-size:10px;font-weight:600;line-height:1.5}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;height:94px;padding:0 5%;display:flex}.brand{letter-spacing:3px;white-space:nowrap;align-items:center;gap:13px;font-size:15px;display:flex}.brand b{color:var(--brass);font-weight:600}.brand-icon{width:35px;height:43px;color:var(--brass);border:1px solid var(--brass);border-radius:5px;place-items:center;font-size:31px;display:grid;transform:rotate(-9deg)}.header-actions{align-items:center;gap:24px;display:flex}.header-note{color:var(--muted);font-size:12px}.icon-button{border:1px solid var(--line);width:36px;height:36px;color:var(--paper);background:0 0;border-radius:50%;font:18px Georgia,serif}.room-label{letter-spacing:1.5px;color:var(--muted);font-size:9px}.room-label strong{color:var(--paper);letter-spacing:2px;margin-top:3px;font-size:13px;display:block}.quiet,.text-button{color:var(--brass);background:0 0;padding:10px 0;font-size:12px}.quiet:disabled{color:var(--muted)}.primary{background:var(--brass);width:100%;min-height:48px;color:var(--deep);border-radius:6px;justify-content:space-between;align-items:center;gap:20px;padding:14px 19px;font-size:13px;font-weight:650;display:flex}.primary:not(:disabled):hover{background:#eccd91;transform:translateY(-1px)}.secondary{color:var(--paper);white-space:nowrap;background:0 0;border:1px solid #dfbd798c;border-radius:6px;min-height:45px;padding:13px 18px;font-size:12px}.secondary:hover{background:#dfbd791a}.home{grid-template-columns:1.1fr 1fr;align-items:center;gap:7%;max-width:1320px;min-height:calc(100vh - 167px);margin:0 auto;padding:58px 6%;display:grid}.home-copy{flex-direction:column;align-items:flex-start;gap:28px;display:flex}.home-copy .eyebrow{align-items:center;gap:12px;display:flex}.small-line{background:var(--brass);width:29px;height:1px}.home h1{letter-spacing:-2.8px;font-size:clamp(48px,5.6vw,79px);line-height:1.08}.home h1 em{color:var(--brass);font-weight:400}.intro{color:var(--muted);font-size:15px}.home-details{color:var(--paper);gap:22px;font-size:11px;display:flex}.home-details span+span{position:relative}.home-details span+span:before{content:"·";color:var(--brass);position:absolute;left:-13px}.suit-line{letter-spacing:20px;color:var(--muted);padding-top:10px;font-size:24px}.suit-line span{color:var(--brass)}.entry-panel{border:1px solid var(--line);background:#0c222e66;border-radius:14px;overflow:hidden;box-shadow:0 24px 70px #0000001a}.entry-art{isolation:isolate;background:radial-gradient(at bottom,#1d5c61e6,#1d5c611a);justify-content:center;align-items:center;height:208px;display:flex;position:relative;overflow:hidden}.card{background:var(--paper);color:#172e38;-webkit-user-select:none;user-select:none;border:1px solid #e2e0d8;border-radius:7px;flex-shrink:0;width:84px;height:120px;font-family:Georgia,serif;position:relative;box-shadow:0 5px 14px #0000002e}.card.red{color:var(--red)}.corner{flex-direction:column;align-items:center;font-size:22px;font-weight:600;line-height:1.02;display:flex;position:absolute;top:7px;left:8px}.corner small{font-size:17px}.corner.bottom{inset:auto 8px 7px auto;transform:rotate(180deg)}.pip{place-items:center;font-size:39px;display:grid;position:absolute;inset:0}.back{border:5px solid var(--paper);background:repeating-linear-gradient(45deg,#0000 0 5px,#dfbd7921 5px 6px),#173c4b;outline:1px solid #e2e0d8;place-items:center;display:grid}.back:before{content:"";border:1px solid var(--brass);border-radius:2px;position:absolute;inset:5px}.back-mark{color:var(--brass);font:italic 39px Georgia,serif}.entry-art .card{width:92px;height:131px;position:absolute;top:24px}.art-left{z-index:1;transform:translate(-62px)rotate(-17deg)}.art-center{z-index:2;transform:translateY(-5px)}.art-right{z-index:3;transform:translate(62px)rotate(17deg)}.art-caption{letter-spacing:3px;color:var(--muted);font-size:8px;position:absolute;bottom:18px}.entry-form{flex-direction:column;gap:13px;padding:29px 35px 25px;display:flex}.entry-form h2{margin-bottom:6px;font-size:32px}.entry-form label{color:var(--muted);font-size:11px}.or{color:var(--muted);letter-spacing:1.5px;align-items:center;gap:12px;padding:4px 0;font-size:8px;display:flex}.or span{background:var(--line);flex:1;height:1px}.join-row{gap:10px;display:flex}.entry-note{text-align:center;color:var(--muted);font-size:10px}.home-footer{border-top:1px solid var(--line);letter-spacing:1.5px;max-width:1320px;color:var(--muted);justify-content:space-between;align-items:center;margin:auto;padding:20px 6%;font-size:9px;display:flex}.home-footer span:last-child{letter-spacing:0;font-family:Georgia,serif;font-size:12px;font-style:italic}.game-layout{grid-template-columns:minmax(0,1fr) 280px;gap:36px;max-width:1440px;margin:0 auto;padding:32px 4% 30px;display:grid}.table-column{min-width:0}.page-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px;display:flex}.page-heading h1{letter-spacing:-.6px;margin-top:7px;font-size:27px}.live-tag{letter-spacing:1px;color:var(--muted);white-space:nowrap;border:1px solid var(--line);border-radius:20px;padding:7px 10px;font-size:8px}.live-tag:before{content:"";background:#77b8a3;border-radius:50%;width:5px;height:5px;margin-right:6px;display:inline-block}.paused-tag:before{background:var(--brass)}.table-shell{isolation:isolate;height:408px;margin:0 6px;position:relative}.felt{background:radial-gradient(ellipse at center,#246569,var(--felt) 66%,#184e54);border:8px solid #173b48;border-radius:46%;outline:1px solid #dfbd7945;position:absolute;inset:40px 42px;overflow:hidden;box-shadow:inset 0 0 0 2px #dfbd7926,inset 0 5px 25px #123d46,0 14px 40px #00000029}.felt-ring{border:1px solid #dfbd7921;border-radius:48%;position:absolute;inset:17px}.table-monogram{opacity:.045;color:var(--paper);place-items:center;font:italic 150px Georgia,serif;display:grid;position:absolute;inset:0}.table-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:absolute;inset:0}.table-center p{color:#b9cfd0;font-size:11px}.room-code{letter-spacing:6px;font-size:31px;font-weight:500}.table-center .eyebrow{font-size:8px}.table-center .secondary{min-height:35px;padding:10px 15px;font-size:10px}.seat{z-index:3;text-align:center;flex-direction:column;align-items:center;gap:5px;min-width:70px;max-width:130px;display:flex;position:absolute}.seat strong{text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:11px;font-weight:550;overflow:hidden}.seat small{color:var(--muted);font-size:9px}.seat.south{bottom:0;left:50%;transform:translate(-50%)}.seat.north{top:0;left:50%;transform:translate(-50%)}.seat.east{top:50%;right:-9px;transform:translateY(-50%)}.seat.west{top:50%;left:-9px;transform:translateY(-50%)}.avatar{width:43px;height:43px;color:var(--paper);background:#284653;border:2px solid #45606a;border-radius:50%;place-items:center;font:18px Georgia,serif;display:grid;position:relative}.avatar.team-1{color:#e7d4ba;background:#514c4c;border-color:#73655a}.active-seat .avatar{border-color:var(--brass);box-shadow:0 0 0 4px #dfbd791f}.active-seat small{color:var(--brass)}.connection-dot{border:2px solid var(--night);background:#78b69e;border-radius:50%;width:8px;height:8px;position:absolute;bottom:0;right:0}.connection-dot.offline{background:#bc7c60}.you{color:var(--brass);letter-spacing:1px;margin-left:3px;font-size:7px}.empty-seat .avatar{background:var(--night);color:var(--muted);border:1px dashed #5d757e;font:20px sans-serif}.empty-seat span{color:var(--muted);font-size:11px}.side-panel{border:1px solid var(--line);background:#0c222e59;border-radius:10px;align-self:start;overflow:hidden}.panel-block{border-bottom:1px solid var(--line);padding:23px}.panel-block:last-child{border-bottom:0}.panel-block h2{margin-top:8px;font-size:27px}.panel-block p{color:var(--muted);margin-top:10px;font-size:11px}.team-choices{grid-template-columns:1fr 1fr;gap:9px;margin-top:20px;display:grid}.team-choice{color:var(--paper);border:1px solid var(--line);text-align:left;background:0 0;border-radius:6px;flex-direction:column;align-items:flex-start;gap:8px;padding:13px 10px;display:flex}.team-choice>span:first-child{font-size:11px}.team-choice strong{font-size:28px;font-weight:500}.team-choice strong small{color:var(--muted);margin-left:5px;font-size:14px;font-weight:400}.team-choice .team-names{color:var(--muted);overflow-wrap:anywhere;font-size:9px;line-height:1.6}.team-choice.chosen{border-color:var(--brass);background:#dfbd790f}.target-row{align-items:center;gap:12px;margin-top:13px;display:flex}.target-row input{width:87px;padding:9px 12px;font-size:24px}.target-row span{color:var(--muted);font-size:11px}.start-section{flex-direction:column;align-items:center;gap:8px;padding:23px;display:flex}.start-section p{color:var(--muted);text-align:center;font-size:9px}.start-section .primary{font-size:11px}.muted{color:var(--muted)}.waiting-host{color:var(--brass);font-size:12px}.table-footnote{color:var(--muted);justify-content:center;align-items:center;gap:10px;margin-top:32px;font-size:11px;display:flex}.table-footnote>span{color:var(--brass);font-size:20px}.mini-hand{height:20px;margin-top:3px;padding-left:8px;display:flex}.mini-hand i{background:repeating-linear-gradient(45deg,#254e5b 0 3px,#1b3c4b 3px 4px);border:1px solid #c8d2cb;border-radius:2px;width:16px;height:22px;margin-left:-8px;transform:rotate(-3deg)}.mini-hand i:nth-child(2n){transform:rotate(5deg)}.game-center{inset:30px}.hidden-rang h2{font-size:23px}.large-suit{color:#dfbd79cc;font-size:47px}.hidden-rang{flex-direction:column;align-items:center;gap:11px;display:flex}.played-cards{width:240px;height:220px;position:relative}.played-card{flex-direction:column;align-items:center;gap:3px;display:flex;position:absolute}.played-card .card{width:61px;height:86px}.played-card .corner{font-size:17px;top:5px;left:5px}.played-card .corner.bottom{inset:auto 5px 5px auto}.played-card .corner small{font-size:13px}.played-card .pip{font-size:27px}.played-card .back-mark{font-size:29px}.played-card small{color:#bfd3d3;text-overflow:ellipsis;white-space:nowrap;max-width:80px;font-size:8px;overflow:hidden}.played-south{bottom:0;left:90px}.played-north{top:0;left:90px}.played-east{top:59px;right:0}.played-west{top:59px;left:0}.last-trick{opacity:.58}.pile-label{color:#bdd2d1;align-items:center;gap:6px;font-size:10px;display:flex;position:absolute;bottom:2px}.pile-label strong{color:var(--paper)}.pile-icon{color:var(--brass);font-size:20px}.last-label{white-space:nowrap;color:var(--muted);font-size:8px;position:absolute;top:29px;left:50%;transform:translate(-50%)}.lead-prompt{color:var(--muted);place-items:center;font:italic 18px Georgia,serif;display:grid;position:absolute;inset:0}.turn-banner{min-height:40px;color:var(--muted);text-align:center;background:#0c222e80;border-radius:5px;justify-content:center;align-items:center;gap:9px;margin:20px 0 13px;padding:8px 14px;font-size:11px;display:flex}.turn-dot{background:var(--muted);border-radius:50%;flex-shrink:0;width:5px;height:5px}.your-turn{color:var(--brass);background:#dfbd7912}.your-turn .turn-dot{background:var(--brass)}.hand-section{padding:10px 0}.hand-heading{justify-content:space-between;align-items:center;gap:10px;padding:0 3px 16px;display:flex}.hand-heading>span:last-child{color:var(--muted);font-size:9px}.hand-count{color:var(--muted);letter-spacing:1px;margin-left:10px;font-size:8px}.hand{justify-content:center;gap:0;min-height:151px;padding:13px 8px 18px;display:flex;overflow-x:auto}.hand-card{background:0 0;border-radius:7px;flex:none;margin-left:-29px;padding:0;transition:transform .15s;position:relative}.hand-card:first-child{margin-left:0}.hand-card .card{width:74px;height:106px}.hand-card .corner{font-size:21px}.hand-card .pip{font-size:34px}.hand-card:disabled{opacity:1}.hand-card:disabled .card{color:#647477;background:#d7ded9}.hand-card:disabled .card.red{color:#a4777a}.hand-card.playable{transform:translateY(-4px)}.hand-card.playable .card{box-shadow:0 0 0 1px var(--brass),0 5px 14px #0000002e}.hand-card.playable:hover,.hand-card.playable:focus-visible{z-index:2;transform:translateY(-15px)}.hand-card:focus-visible{z-index:4}.call-controls{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;padding:16px 20px;display:flex}.suit-picker,.bid-picker{gap:7px;margin-top:8px;display:flex}.suit-button{background:var(--paper);width:37px;height:39px;color:var(--night);border:2px solid #0000;border-radius:5px;font-size:26px}.suit-button.red{color:var(--red)}.suit-button.selected{outline:2px solid var(--brass);outline-offset:2px}.bid-picker button{border:1px solid var(--line);width:43px;height:39px;color:var(--muted);background:0 0;border-radius:5px;font-size:17px}.bid-picker button.selected{border-color:var(--brass);color:var(--brass);background:#dfbd7914}.bid-picker small{font-size:7px;display:block}.call-controls .eyebrow{letter-spacing:1px;font-size:8px}.call-actions{flex-direction:column;align-items:center;display:flex}.call-actions .primary{min-height:42px;padding:11px 13px;font-size:11px}.call-actions .quiet{padding:7px 0 0;font-size:9px}.score-top{justify-content:space-between;align-items:center;display:flex}.score-top>span:last-child{color:var(--muted);font-size:8px}.score-number{letter-spacing:-2px;margin-top:12px;font:64px Georgia,serif;display:block}.score-number small{letter-spacing:0;color:var(--muted);margin-left:7px;font:14px Avenir Next,sans-serif}.score-lead{color:var(--brass);margin-top:3px;font-size:12px}.score-track{background:#2c4651;height:3px;margin-top:18px}.score-track span{background:var(--brass);height:3px;display:block}.score-teams{color:var(--muted);overflow-wrap:anywhere;justify-content:space-between;gap:10px;margin-top:11px;font-size:8px;display:flex}.call-summary-row{align-items:center;gap:18px;margin-top:14px;display:flex}.call-summary-row>strong{flex-direction:column;font:42px Georgia,serif;display:flex}.call-summary-row small{color:var(--muted);margin-top:4px;font:9px Avenir Next,sans-serif;display:block}.call-summary-row>span{font-size:12px}.rang-badge{border:1px solid var(--line);border-radius:5px;align-items:center;gap:11px;margin-top:17px;padding:11px;display:flex}.rang-badge>span{color:var(--brass);font-size:29px}.rang-badge strong{font-size:11px;font-weight:500}.rang-badge small{color:var(--muted);margin-top:4px;font-size:8px;display:block}.trick-counts{gap:16px;margin-top:14px;display:flex}.trick-counts>div{flex:1;justify-content:space-between;align-items:center;gap:12px;display:flex}.trick-counts span{color:var(--muted);font-size:10px}.trick-counts strong{font-size:25px;font-weight:500}.panel-block .small-help{font-size:9px}.activity ol{flex-direction:column;gap:13px;margin:17px 0 0;padding:0;list-style:none;display:flex}.activity li{color:var(--muted);padding-left:13px;font-size:9px;line-height:1.7;position:relative}.activity li:before{content:"";background:#4a6570;border-radius:50%;width:4px;height:4px;position:absolute;top:6px;left:0}.activity li.latest{color:var(--paper)}.activity li.latest:before{background:var(--brass)}.activity details{color:var(--muted);margin-top:16px;font-size:10px}.activity summary{cursor:pointer}.result-block{flex-direction:column;align-items:center;gap:8px;max-width:280px;display:flex}.result-block h2{font-size:29px}.result-block .award{color:var(--brass);font:47px Georgia,serif}.result-block p{font-size:10px}.result-block .primary{width:auto;min-height:37px;padding:9px 14px;font-size:10px}.notice{z-index:20;border-radius:7px;max-width:calc(100% - 24px);padding:14px 20px;font-size:12px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 5px 25px #0005}.notice.error{color:var(--paper);background:#643943;align-items:center;gap:20px;display:flex}.notice.error button{color:var(--paper);background:0 0;padding:2px 5px;font-size:20px}.notice.toast{background:var(--paper);color:var(--night)}.connection-notice{text-align:center;background:var(--brass);color:var(--night);z-index:15;padding:10px;font-size:12px;position:fixed;top:0;left:0;right:0}.rules-dialog{background:var(--night);border:1px solid var(--line);width:560px;max-width:calc(100vw - 32px);max-height:85vh;color:var(--paper);z-index:31;border-radius:12px;margin:0;padding:35px;display:block;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.rules-dialog h2{margin-top:10px;font-size:31px}.rules-dialog ul{color:var(--muted);flex-direction:column;gap:17px;margin:25px 0;padding-left:18px;font-size:12px;line-height:1.8;display:flex}.rules-dialog li strong{color:var(--paper)}.close-dialog{position:absolute;top:14px;right:14px}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#061824cc;position:fixed;inset:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=1450px){.table-shell{height:455px}.felt{inset:40px 60px}.game-center{inset:40px 45px}.hand-card{margin-left:-24px}}@media (width<=1100px){.game-layout{grid-template-columns:minmax(0,1fr) 245px;gap:22px;padding:25px 3%}.panel-block{padding:19px}.page-heading h1{font-size:23px}.hand-card{margin-left:-38px}.hand-card .card{width:67px;height:100px}.felt{inset:40px 25px}.table-shell{height:380px}.call-controls{flex-wrap:wrap;gap:14px}.call-actions{flex:1}.home{gap:5%;padding:45px 5%}.entry-form{padding:25px}.header-actions{gap:16px}}@media (width<=820px){.game-layout{grid-template-columns:1fr;max-width:720px;padding:24px}.side-panel{grid-template-columns:1fr 1fr;display:grid}.panel-block{border-right:1px solid var(--line)}.lobby-layout .side-panel{display:block}.lobby-layout{grid-template-columns:minmax(0,1fr) 240px;gap:18px;padding:20px}.lobby-layout .page-heading{flex-direction:column;align-items:flex-start}.lobby-layout .table-shell{height:395px}.lobby-layout .felt{inset:55px 10px}.lobby-layout .seat.east{right:-12px}.lobby-layout .seat.west{left:-12px}.lobby-layout .room-code{letter-spacing:3px;font-size:21px}.lobby-layout .table-center p{max-width:110px}.lobby-layout .table-center .secondary{padding:9px;font-size:8px}.topbar{height:78px;padding:0 25px}.home{grid-template-columns:1fr 1fr;gap:30px;padding:50px 30px}.home h1{font-size:51px}.home-copy{gap:24px}.home-copy .eyebrow{letter-spacing:1px;font-size:8px}.intro{font-size:12px}.home-details{gap:17px;font-size:9px}.entry-form{padding:23px}.entry-form h2{font-size:27px}.join-row{flex-wrap:wrap}.join-row .secondary{width:100%}.header-note{display:none}.hand-card{margin-left:-26px}.hand{justify-content:center}.hand-card .card{width:69px;height:102px}.call-controls{flex-wrap:nowrap}.home-footer{padding:20px 30px}}@media (width<=600px){.topbar{gap:12px;height:70px;padding:0 20px}.brand{letter-spacing:2px;gap:10px;font-size:12px}.brand-icon{width:27px;height:34px;font-size:25px}.header-actions{gap:12px}.header-actions .quiet{font-size:10px}.room-label{letter-spacing:.8px;font-size:7px}.room-label strong{letter-spacing:1px;font-size:10px}.header-actions .icon-button{width:29px;height:29px;font-size:15px}.home{flex-direction:column;align-items:stretch;gap:35px;padding:37px 24px;display:flex}.home-copy{gap:21px}.home h1{letter-spacing:-2px;font-size:56px}.home-copy .eyebrow{letter-spacing:1.4px;font-size:8px}.intro{font-size:13px}.home-details{gap:23px;font-size:10px}.suit-line{display:none}.entry-art{height:173px}.entry-art .card{width:80px;height:114px;top:13px}.entry-form{padding:26px}.join-row{flex-wrap:nowrap}.join-row .secondary{width:auto}.home-footer{gap:12px;padding:20px 24px;font-size:7px}.home-footer span:last-child{font-size:10px}.game-layout,.lobby-layout{flex-direction:column;gap:22px;padding:23px 16px;display:flex}.page-heading{align-items:flex-start;gap:8px;margin-bottom:20px}.page-heading h1{max-width:230px;font-size:23px}.page-heading .eyebrow{font-size:8px}.live-tag{margin-top:4px;padding:6px 8px;font-size:7px}.table-shell,.lobby-layout .table-shell{height:370px;margin:0 2px}.felt,.lobby-layout .felt{border-width:6px;border-radius:43%;inset:43px 14px}.felt-ring{border-radius:43%;inset:12px}.seat{min-width:60px;max-width:90px}.seat strong{max-width:90px;font-size:10px}.seat small{font-size:8px}.seat.east,.lobby-layout .seat.east{right:-4px}.seat.west,.lobby-layout .seat.west{left:-4px}.seat.east,.seat.west,.seat.east strong,.seat.west strong{max-width:75px}.avatar{width:35px;height:35px;font-size:16px}.seat.south{bottom:1px}.seat.north{top:1px}.side-panel{grid-template-columns:1fr 1fr;width:100%;display:grid}.panel-block{padding:18px}.panel-block .eyebrow{letter-spacing:1.4px;font-size:8px}.score-top{flex-wrap:wrap;gap:4px}.score-number{font-size:47px}.score-number small{font-size:11px}.score-teams{flex-direction:column;gap:6px}.activity{grid-column:1/-1}.activity ol{grid-template-columns:1fr 1fr;gap:12px;display:grid}.trick-counts{gap:12px}.trick-counts>div{flex-direction:column;gap:4px}.small-help{max-width:220px}.call-summary-row{gap:12px}.call-summary-row>strong{font-size:34px}.rang-badge{gap:7px;padding:9px}.rang-badge small{font-size:7px}.lobby-layout .side-panel{display:block}.lobby-layout .page-heading{flex-direction:row;align-items:flex-start}.lobby-layout .room-code{letter-spacing:4px;font-size:27px}.lobby-layout .table-center p{max-width:none;font-size:9px}.lobby-layout .table-center .secondary{padding:10px 12px;font-size:10px}.team-choices{margin-top:15px}.team-choice{padding:15px}.team-choice .team-names{font-size:11px}.table-footnote{margin-top:15px;font-size:9px}.game-center{inset:18px 20px}.played-cards{width:171px;height:192px}.played-card .card{border-radius:5px;width:49px;height:72px}.played-card .corner{font-size:14px}.played-card .corner small{font-size:10px}.played-card .pip{font-size:23px}.played-card small{max-width:65px;font-size:7px}.played-card .back-mark{font-size:23px}.played-south{bottom:0;left:61px}.played-north{top:0;left:61px}.played-east{top:55px;right:0}.played-west{top:55px;left:0}.pile-label{font-size:9px;bottom:5px}.last-label{font-size:7px;top:24px}.turn-banner{margin-top:15px;font-size:10px}.hand-heading>span:last-child{text-align:right;max-width:128px;font-size:8px}.hand-heading .eyebrow{letter-spacing:1px;font-size:8px}.hand-count{margin-left:4px;font-size:7px}.hand{justify-content:flex-start;min-height:128px;padding:12px 5px 15px}.hand-card{margin-left:-33px}.hand-card .card{width:57px;height:87px}.hand-card .corner{font-size:17px;left:5px}.hand-card .corner small{font-size:13px}.hand-card .corner.bottom{right:5px}.hand-card .pip{font-size:28px}.call-controls{flex-wrap:wrap;gap:17px;padding:15px}.call-controls>div{flex:1}.call-controls .call-actions{flex-basis:100%}.call-actions .primary{justify-content:center;width:100%}.call-controls .eyebrow{white-space:nowrap;font-size:7px}.suit-button{width:31px;height:34px;font-size:24px}.suit-picker{gap:6px}.bid-picker button{width:35px;height:34px;font-size:15px}.hidden-rang h2{font-size:20px}.hidden-rang p{font-size:10px}.hidden-rang{max-width:180px}.large-suit{font-size:36px}.result-block{max-width:190px}.result-block h2{font-size:25px}.result-block .award{font-size:37px}.result-block p{font-size:9px}.rules-dialog{padding:29px 23px}.rules-dialog h2{font-size:26px}.rules-dialog ul{font-size:11px}.notice{width:max-content;font-size:11px;bottom:15px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=600px){.game-layout:not(.lobby-layout) .side-panel>.panel-block:nth-child(3){grid-column:1/-1}}.site-nav{border-bottom:1px solid var(--line);background:var(--deep);align-items:center;gap:28px;min-height:48px;padding:0 5%;display:flex;overflow-x:auto}.site-nav a{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;padding:16px 0 13px;font-size:11px}.site-nav a[aria-current=page]{color:var(--brass);border-bottom-color:var(--brass)}.home{min-height:calc(100vh - 215px)}.guide-page{max-width:1180px;margin:0 auto;padding:55px 5% 65px}.guide-intro{flex-direction:column;gap:16px;max-width:720px;margin-bottom:42px;display:flex}.guide-intro h1{letter-spacing:-1.5px;font-size:clamp(34px,4.2vw,53px)}.guide-intro>p{color:var(--muted);max-width:65ch;font-size:14px}.guide-layout{grid-template-columns:190px minmax(0,1fr);gap:55px;display:grid}.guide-index{flex-direction:column;align-self:start;gap:18px;padding-top:5px;display:flex;position:sticky;top:25px}.guide-index>a{color:var(--muted);font-size:12px}.guide-index>a:hover{color:var(--brass)}.guide-content{flex-direction:column;gap:43px;max-width:750px;display:flex}.guide-content section{flex-direction:column;gap:15px;scroll-margin-top:25px;display:flex}.guide-content h2,.guide-cta h2,.rule-section h2,.score-reference h2{font-size:29px}.guide-content p,.rule-section p,.rule-section li,.score-reference p{color:var(--muted);max-width:65ch;font-size:13px;line-height:1.9}.guide-content strong,.rule-section strong{color:var(--paper);font-weight:600}.guide-step{letter-spacing:1.7px;color:var(--brass);font-size:8px}.learning-example{background:var(--deep);border:1px solid var(--line);border-radius:8px;align-items:center;gap:20px;padding:24px;display:flex}.learning-example>div{flex-direction:column;flex:1;gap:10px;display:flex}.learning-example span:not(.example-arrow){text-transform:uppercase;letter-spacing:1.4px;color:var(--brass);font-size:9px}.learning-example strong{font:20px Georgia,serif}.learning-example p{font-size:11px}.example-arrow{color:var(--brass);font-size:24px}.guide-callout{background:#dfbd7909;border:1px solid #dfbd7959;border-radius:7px;padding:21px 24px}.guide-callout>strong{color:var(--brass)}.guide-callout p{margin-top:9px}.guide-content .secondary{align-self:start}.guide-cta{background:var(--deep);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:25px;margin-top:50px;padding:30px;display:flex}.guide-cta p{color:var(--muted);margin-top:9px;font-size:12px}.guide-cta .primary{width:auto}.rules-grid,.help-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.rule-section{border:1px solid var(--line);background:#0c222e4d;border-radius:8px;flex-direction:column;gap:16px;min-width:0;padding:27px;display:flex}.rule-section ul{flex-direction:column;gap:12px;margin:0;padding-left:18px;display:flex}.rule-section h2{font-size:25px}.score-reference{flex-direction:column;gap:18px;margin:36px 0 15px;display:flex}.table-scroll{border:1px solid var(--line);border-radius:7px;overflow-x:auto}.table-scroll table{border-collapse:collapse;text-align:left;width:100%;min-width:570px;font-size:12px}.table-scroll th{letter-spacing:1px;text-transform:uppercase;color:var(--brass);background:var(--deep);font-size:9px}.table-scroll th,.table-scroll td{border-bottom:1px solid var(--line);padding:17px}.table-scroll tr:last-child td{border:0}.help-links{color:var(--brass);flex-wrap:wrap;gap:20px;font-size:12px;display:flex}@media (width<=700px){.site-nav{gap:23px;padding:0 22px}.site-nav a{font-size:10px}.guide-page{padding:33px 23px 45px}.guide-intro{gap:13px;margin-bottom:29px}.guide-intro>p{font-size:12px}.guide-layout{grid-template-columns:1fr;gap:28px}.guide-index{border-bottom:1px solid var(--line);flex-flow:wrap;gap:15px;padding-bottom:22px;position:static}.guide-index>.eyebrow{width:100%}.guide-index>a{font-size:10px}.guide-content{gap:35px}.guide-content h2,.guide-cta h2{font-size:26px}.guide-content p,.rule-section p,.rule-section li,.score-reference p{font-size:12px}.learning-example{flex-direction:column;align-items:flex-start;gap:15px;padding:19px}.learning-example strong{font-size:21px}.example-arrow{transform:rotate(90deg)}.guide-cta{flex-direction:column;align-items:flex-start;padding:24px}.guide-cta .primary{font-size:12px}.rules-grid,.help-grid{grid-template-columns:1fr;gap:16px}.rule-section{padding:23px}.rule-section h2{font-size:25px}.home{min-height:auto}}.timer-select{background:var(--deep);width:100%;color:var(--paper);border:1px solid var(--line);border-radius:6px;min-height:45px;margin-top:13px;padding:13px 11px;font:12px Avenir Next,sans-serif;display:block}.turn-clock{border-left:1px solid var(--line);white-space:nowrap;color:var(--brass);padding-left:10px;font-size:10px}.end-controls{flex-direction:column;align-items:stretch;gap:12px;display:flex}.end-controls p{margin:0}.end-controls .secondary{font-size:11px}.end-controls .small-help{font-size:9px}.end-button{color:#e5a4a4;text-align:center}.end-dialog h2{margin:13px 0 18px}.end-dialog p{color:var(--muted);font-size:13px;line-height:1.8}.end-dialog-actions{gap:12px;margin-top:25px;display:flex}.end-dialog-actions .primary{width:auto}.ended-page{text-align:center;flex-direction:column;align-items:center;gap:22px;max-width:650px;min-height:calc(100vh - 145px);margin:auto;padding:65px 30px;display:flex}.ended-page h1{font-size:42px}.ended-page>p{color:var(--muted);font-size:13px}.ended-score{border:1px solid var(--line);background:var(--deep);border-radius:9px;flex-direction:column;align-items:center;gap:15px;width:100%;padding:30px;display:flex}.ended-score>span{color:var(--muted);letter-spacing:1px;text-transform:uppercase;font-size:10px}.ended-score>strong{color:var(--brass);font:64px Georgia,serif}.ended-score p{color:var(--muted);font-size:12px}.ended-page>.primary{max-width:310px}.end-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#061824cc}@media (width<=600px){.turn-banner{flex-wrap:wrap}.turn-clock{font-size:9px}.end-dialog-actions{flex-direction:column-reverse}.end-dialog-actions .primary{justify-content:center}.end-controls{grid-column:1/-1}.ended-page{padding:43px 25px}.ended-page h1{font-size:35px}}.google-login{width:100%;margin-top:18px}.account-panel{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;font-size:12px;display:flex}.seat.active-seat .avatar{outline:3px solid var(--brass);outline-offset:5px;box-shadow:0 0 0 10px #dfbd791c}.seat.active-seat>strong{color:var(--brass);background:var(--deep);border-radius:5px;padding:4px 9px}.seat.active-seat>small{color:var(--brass);letter-spacing:.7px;font-weight:750}.seat-collected{color:var(--paper);padding-top:3px;font-size:10px}.pile-label{color:var(--paper);font-size:13px}.pile-label>strong{color:var(--brass);font-size:27px}.collection-notice{background:var(--deep);border:1px solid var(--brass);border-radius:6px;flex-direction:column;gap:5px;margin-top:12px;padding:12px;display:flex}.collection-notice strong{color:var(--brass);font-size:12px}.collection-notice span{color:var(--muted);font-size:10px}.chat-widget{z-index:24;position:fixed;bottom:22px;right:24px}.chat-toggle{background:var(--deep);justify-content:space-between;align-items:center;gap:16px;min-width:110px;display:flex;box-shadow:0 3px 18px #0004}.unread-dot{background:var(--brass);min-width:20px;height:20px;color:var(--deep);border-radius:50%;place-items:center;padding:0 5px;font-size:10px;font-weight:800;display:grid}.chat-panel{background:var(--night);border:1px solid var(--line);border-radius:10px;flex-direction:column;width:360px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 100px);display:flex;position:absolute;bottom:60px;right:0;overflow:hidden;box-shadow:0 12px 50px #0008}.chat-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:16px;display:flex}.chat-heading strong{font:22px Georgia,serif}.chat-heading small{color:var(--muted);margin-top:5px;font-size:10px;display:block}.chat-messages{flex-direction:column;gap:15px;height:260px;min-height:90px;margin:0;padding:16px;list-style:none;display:flex;overflow:auto}.chat-messages li{background:var(--deep);border-radius:5px;align-self:flex-start;min-width:125px;max-width:94%;padding:10px}.chat-messages li.own-message{border:1px solid var(--line);align-self:flex-end}.chat-messages li>span{color:var(--brass);justify-content:space-between;gap:20px;font-size:10px;display:flex}.chat-messages time{color:var(--muted);font-size:9px}.chat-messages p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:5px;font-size:12px}.chat-messages .chat-empty{color:var(--muted);background:0 0;font-size:12px}.chat-panel form{border-top:1px solid var(--line);padding:12px}.chat-panel textarea{resize:vertical;background:var(--deep);width:100%;min-height:50px;max-height:100px;color:var(--paper);border:1px solid var(--line);font:inherit;border-radius:5px;padding:10px;font-size:13px}.chat-panel textarea:focus-visible{outline:2px solid var(--brass)}.chat-compose{align-items:flex-end;gap:10px;margin-top:8px;display:flex}.chat-compose .primary{width:auto;min-height:38px;padding:8px 15px}.emoji-picker{flex-wrap:wrap;gap:2px;display:flex}.emoji-picker button{background:0 0;padding:4px;font-size:18px}.emoji-picker button:hover{background:var(--deep)}@media (width<=600px){.topbar{flex-wrap:wrap;gap:12px;height:auto;min-height:78px;padding-top:15px;padding-bottom:12px}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px}.header-actions .quiet{font-size:10px}.chat-widget{bottom:16px;right:16px}.chat-panel{max-height:calc(100dvh - 90px)}.chat-messages{height:220px}.seat-collected{font-size:8px}.seat.active-seat>strong{padding:3px 5px}.seat.active-seat>small{letter-spacing:0;font-size:8px}.pile-label>strong{font-size:21px}.game-layout{padding-bottom:85px}}.hand-card.selected-card{z-index:5;filter:drop-shadow(0 0 5px var(--brass));transform:translateY(-15px)}.card-selection,.card-lock{background:var(--deep);color:var(--brass);letter-spacing:1px;border-radius:3px;padding:4px 2px;font:700 8px Avenir,sans-serif;display:block;position:absolute;bottom:8px;left:5px;right:5px}.play-confirmation{justify-content:flex-end;align-items:center;gap:12px;min-height:48px;margin-top:14px;display:flex}.play-confirmation>span{color:var(--muted);margin-right:auto;font-size:11px}.play-confirmation .primary{flex-shrink:0;width:auto}.rang-selection-help{color:var(--muted);padding-top:12px;font-size:11px}.chosen-rang-card{align-items:center;gap:16px;padding-top:15px;display:flex}.chosen-rang-card .card{flex-shrink:0;width:55px;height:78px}.chosen-rang-card .card .pip{font-size:24px}.chosen-rang-card .card .corner{font-size:12px}.chosen-rang-card p{font-size:11px}.hand-card{position:relative}@media (width<=600px){.play-confirmation{flex-wrap:wrap}.play-confirmation>span{width:100%}.play-confirmation .primary{flex:1}.hand-card.selected-card{transform:translateY(-8px)}}.table-metrics{background:var(--deep);border:1px solid var(--line);border-radius:6px;justify-content:space-around;gap:15px;margin:16px 0 10px;padding:12px 16px;display:flex}.table-metrics>div{align-items:center;gap:10px;display:flex}.table-metrics strong{color:var(--brass);font:26px Georgia,serif}.table-metrics span{color:var(--muted);font-size:11px}@media (width<=600px){.table-metrics{gap:10px;padding:10px}.table-metrics>div{flex-direction:column;gap:3px}.table-metrics span{font-size:9px}.table-metrics strong{font-size:24px}}.compact-summary,.mobile-table-menu{display:none}.details-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding:16px 20px;display:flex}.details-heading h2{font-size:26px}.details-utilities{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:14px 20px;display:flex}.details-utilities .secondary{flex:1;padding:10px;font-size:11px}.details-links{color:var(--brass);flex-direction:column;gap:16px;padding:20px;font-size:13px;display:flex}.table-details::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#061824bb}@media (width<=600px),(height<=500px) and (width<=1000px){body.table-mode{overscroll-behavior-y:none;overflow:hidden}.table-mode #app{height:100dvh;padding-bottom:calc(44px + env(safe-area-inset-bottom));flex-direction:column;display:flex;overflow:hidden}.table-mode .topbar{flex-wrap:nowrap;flex-shrink:0;gap:10px;height:44px;min-height:44px;padding:4px 12px}.table-mode .brand{letter-spacing:1.5px;gap:7px;font-size:11px}.table-mode .brand-icon{width:23px;height:29px;font-size:22px}.table-mode .header-actions{flex-wrap:nowrap;gap:12px}.table-mode .header-actions>.quiet{display:none}.table-mode .room-label{letter-spacing:0;font-size:0}.table-mode .room-label strong{letter-spacing:1px;margin:0;font-size:10px}.table-mode .header-actions>.icon-button{width:32px;height:32px;min-height:32px}.table-mode .site-nav{display:none}.table-mode .playing-layout{flex:1;gap:0;width:100%;max-width:none;min-height:0;margin:0;padding:5px 10px 7px;display:flex}.table-mode .table-column{flex-direction:column;gap:5px;width:100%;min-height:0;display:flex}.table-mode .page-heading{flex-shrink:0;order:0;gap:0;height:14px;min-height:14px;margin:0}.table-mode .page-heading h1,.table-mode .page-heading .live-tag{display:none}.table-mode .page-heading .eyebrow{letter-spacing:1px;font-size:8px;line-height:14px}.table-mode .compact-summary{border:1px solid var(--line);background:var(--deep);border-radius:6px;flex-shrink:0;order:1;grid-template-columns:1fr 1fr 1.15fr;height:50px;min-height:50px;display:grid}.compact-summary>div{flex-direction:column;justify-content:center;gap:2px;min-width:0;padding:5px 10px;display:flex}.compact-summary>div+div{border-left:1px solid var(--line)}.compact-summary span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.compact-summary strong{color:var(--paper);font-size:16px;font-weight:650;line-height:19px}.compact-summary strong small{color:var(--muted);font-size:10px;font-weight:400}.compact-summary .compact-rang strong{color:var(--brass)}.table-mode .turn-banner{text-align:left;flex-shrink:0;order:2;justify-content:flex-start;gap:5px;min-height:32px;margin:0;padding:5px 8px;font-size:10px;line-height:1.25}.table-mode .turn-clock{white-space:nowrap;flex-shrink:0;margin-left:auto;padding-left:5px;font-size:9px}.table-mode .table-shell{flex:1;order:3;height:auto;min-height:140px;margin:0 3px}.table-mode .felt{border-width:4px;border-radius:44%;inset:26px 24px}.table-mode .felt-ring{inset:9px}.table-mode .game-center{gap:0;inset:8px}.table-mode .table-monogram{font-size:80px}.table-mode .seat{gap:2px;min-width:52px;max-width:88px}.table-mode .seat.north{top:0}.table-mode .seat.south{bottom:0}.table-mode .seat.east{right:-5px}.table-mode .seat.west{left:-5px}.table-mode .seat strong{max-width:88px;font-size:10px}.table-mode .seat small{font-size:8px}.table-mode .seat-collected{padding-top:0;font-size:8px}.table-mode .avatar{width:26px;height:26px;font-size:13px}.table-mode .seat.active-seat .avatar{outline-offset:3px;outline-width:2px;box-shadow:0 0 0 6px #dfbd791a}.table-mode .seat.active-seat>strong{padding:2px 5px}.table-mode .seat.active-seat>small{letter-spacing:0;font-size:7px}.table-mode .played-cards{width:158px;height:142px}.table-mode .played-card{gap:0}.table-mode .played-card .card{border-radius:4px;width:44px;height:62px}.table-mode .played-card .corner{font-size:15px;top:3px;left:4px}.table-mode .played-card .corner.bottom{inset:auto 4px 3px auto}.table-mode .played-card .corner small{font-size:11px}.table-mode .played-card .pip{font-size:22px}.table-mode .played-card>small{display:none}.table-mode .played-north{top:0;left:57px}.table-mode .played-south{bottom:0;left:57px}.table-mode .played-east{top:40px;right:0}.table-mode .played-west{top:40px;left:0}.table-mode .lead-prompt{padding:0 20px;font-size:14px}.table-mode .hidden-rang{gap:5px;max-width:175px}.table-mode .hidden-rang .large-suit{font-size:26px}.table-mode .hidden-rang h2{font-size:16px}.table-mode .hidden-rang p{font-size:10px;line-height:1.4}.table-mode .table-metrics{flex-shrink:0;order:4;gap:7px;height:34px;margin:0;padding:4px 8px;display:flex}.table-mode .table-metrics>div{flex-direction:row;gap:6px}.table-mode .table-metrics strong{font-size:20px}.table-mode .table-metrics span{max-width:55px;font-size:8px;line-height:1.1}.table-mode .hand-section{flex-shrink:0;order:5;min-width:0;padding:0}.table-mode .hand-heading{gap:5px;min-height:15px;padding:2px 0 3px}.table-mode .hand-heading .eyebrow{letter-spacing:1px;font-size:8px}.table-mode .hand-heading>span:last-child{text-align:right;max-width:50%;font-size:8px}.table-mode .hand-count{margin-left:5px;font-size:7px}.table-mode .hand{grid-template-columns:repeat(7,minmax(0,1fr));place-content:start center;gap:3px;min-height:0;padding:5px 1px 3px;display:grid;overflow:visible}.table-mode .hand-card{width:100%;min-width:0;margin:0;transform:none}.table-mode .hand-card .card{border-radius:4px;width:100%;height:68px}.table-mode .hand-card .corner{font-size:17px;top:4px;left:5px}.table-mode .hand-card .corner.bottom{inset:auto 5px 4px auto}.table-mode .hand-card .corner small{font-size:12px}.table-mode .hand-card .pip{font-size:23px}.table-mode .hand-card .back-mark{font-size:25px}.table-mode .hand-card .card-selection,.table-mode .hand-card .card-lock{letter-spacing:.2px;padding:2px 0;font-size:6px;bottom:2px;left:1px;right:1px}.table-mode .hand-card.selected-card{outline:2px solid var(--brass);outline-offset:0;filter:none;transform:translateY(-3px)}.table-mode .hand-card.playable:hover,.table-mode .hand-card.playable:focus-visible{transform:translateY(-3px)}.table-mode .play-confirmation{grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:3px 10px;min-height:0;margin-top:3px;display:grid}.table-mode .play-confirmation>span{grid-column:1/-1;width:auto;min-height:13px;margin:0;font-size:9px;line-height:13px}.table-mode .play-confirmation .primary{grid-column:1;width:100%;min-height:36px;padding:8px 12px;font-size:12px}.table-mode .play-confirmation .text-button{grid-column:2;min-width:45px;padding:7px 3px;font-size:11px}.table-mode .call-controls{flex-shrink:0;order:6;gap:8px;min-height:44px;margin:0;padding:4px 6px}.table-mode .call-controls>div:first-child,.table-mode .call-controls .eyebrow,.table-mode .rang-selection-help{display:none}.table-mode .bid-picker{gap:4px;margin:0}.table-mode .bid-picker button{width:34px;height:34px;font-size:16px}.table-mode .call-actions{flex-direction:row;flex:1;justify-content:flex-end;gap:8px}.table-mode .call-actions .primary{flex:1;justify-content:center;width:auto;min-height:34px;padding:8px;font-size:10px}.table-mode .call-actions .quiet{max-width:66px;min-height:34px;padding:4px;font-size:10px}.table-mode .call-actions .quiet:disabled{display:none}.table-mode .bidding-layout .hand{justify-content:center;gap:5px;display:flex}.table-mode .bidding-layout .hand-card{width:49px}.table-mode .bidding-layout .hand-card .card{height:68px}.table-mode .result-block{gap:4px;max-width:190px}.table-mode .result-block h2{font-size:22px}.table-mode .result-block .award{font-size:32px}.table-mode .result-block p{font-size:10px;line-height:1.3}.table-mode .result-block .eyebrow{font-size:7px}.table-mode .result-block .primary{min-height:32px;padding:7px 10px;font-size:10px}.table-mode .side-panel:not(.table-details){display:none}.table-mode .table-details{background:var(--night);width:min(100%,520px);max-width:100%;max-height:88dvh;color:var(--paper);border:1px solid var(--line);border-radius:16px 16px 0 0;margin:0 auto;padding:0;position:fixed;inset:auto 0 0;overflow-y:auto}.table-mode .table-details .panel-block{border-right:0}.table-mode .table-details .score-number{font-size:48px}.table-mode .table-details .panel-block{padding:16px 20px}.table-mode .mobile-table-menu{z-index:24;width:50%;height:calc(44px + env(safe-area-inset-bottom));padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--deep);border:0;border-top:1px solid var(--line);border-right:1px solid var(--line);border-radius:0;font-size:12px;display:block;position:fixed;bottom:0;left:0}.table-mode .chat-widget{z-index:24;width:50%;position:fixed;bottom:0;right:0}.table-mode .chat-toggle{width:100%;height:calc(44px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line);min-height:44px;padding:8px 20px calc(8px + env(safe-area-inset-bottom));box-shadow:none;border-radius:0;justify-content:center;gap:12px;font-size:12px}.table-mode .chat-panel{right:8px;bottom:calc(52px + env(safe-area-inset-bottom));width:min(374px,100vw - 16px);max-width:none;max-height:calc(100dvh - 100px)}.table-mode .notice{bottom:calc(54px + env(safe-area-inset-bottom))}.table-mode .connection-notice{padding:5px 8px;font-size:10px;top:44px}}@media (width<=600px) and (height<=720px){.table-mode .table-column{gap:4px}.table-mode .hand{flex-wrap:nowrap;justify-content:center;gap:0;padding:5px 2px 3px;display:flex}.table-mode .hand-card{flex:0 0 49px;width:49px;margin-left:clamp(-27px,8.33333vw - 57.0833px,-21px)}.table-mode .hand-card:first-child{margin-left:0}.table-mode .hand-card .card{height:68px}.table-mode .seat>.avatar,.table-mode .seat>small{display:none}.table-mode .felt{inset:17px 21px}.table-mode .played-cards{height:134px}.table-mode .table-shell{min-height:145px}.table-mode .bidding-layout .hand-card{margin-left:0}}@media (width<=600px) and (height<=600px){.table-mode .topbar{height:36px;min-height:36px}.table-mode .brand-icon{height:25px;font-size:19px}.table-mode .table-column{gap:3px}.table-mode .compact-summary{height:38px;min-height:38px}.compact-summary>div{gap:0;padding:3px 8px}.compact-summary strong{font-size:14px;line-height:16px}.compact-summary span{font-size:8px}.table-mode .turn-banner{min-height:28px;font-size:9px}.table-mode .table-metrics{height:28px}.table-mode .table-metrics strong{font-size:17px}.table-mode .hand-card .card,.table-mode .bidding-layout .hand-card .card{height:59px}.table-mode .play-confirmation .primary{min-height:32px;padding:6px 10px;font-size:11px}.table-mode .hand-heading{padding-bottom:0}.table-mode .hand-heading>span:last-child{display:none}.table-mode .table-shell{min-height:135px}}@media (height<=500px) and (width>=501px) and (width<=1000px){.table-mode .topbar{height:36px;min-height:36px}.table-mode .table-column{grid-template-rows:14px 42px 28px minmax(0,1fr) 30px;grid-template-columns:1fr 1fr;gap:4px 12px;display:grid}.table-mode .page-heading{grid-area:1/1/2/3}.table-mode .compact-summary{grid-area:2/1/3/3;height:42px;min-height:42px}.table-mode .turn-banner{grid-area:3/1/4/3;min-height:28px}.table-mode .table-shell{grid-area:4/1/6/2;height:100%;min-height:0}.table-mode .hand-section{grid-area:4/2/5/3;min-height:0}.table-mode .table-metrics{grid-area:5/2/6/3;height:30px}.table-mode .hand-card .card{height:47px}.table-mode .hand{gap:2px;padding:2px 0}.table-mode .hand-heading{min-height:12px;padding:0}.table-mode .play-confirmation{grid-template-rows:auto auto;margin-top:1px}.table-mode .play-confirmation>span{min-height:10px;font-size:8px;line-height:10px}.table-mode .play-confirmation .primary{min-height:30px;padding:5px 8px;font-size:11px}.table-mode .seat .avatar,.table-mode .seat>small{display:none}.table-mode .seat-collected{font-size:7px}.table-mode .felt{inset:14px 23px}.table-mode .played-cards{height:128px}.table-mode .played-card .card{width:40px;height:56px}.table-mode .bidding-layout .table-column{grid-template-rows:14px 42px 28px minmax(0,1fr) 44px}.table-mode .bidding-layout .call-controls{grid-area:5/2/6/3;min-height:44px}.table-mode .bidding-layout .table-metrics{display:none}.table-mode .bidding-layout .hand-card{width:45px}.table-mode .bidding-layout .hand-card .card{height:64px}.table-mode .result-layout .hand-section{display:none}}.table-details:not([open]){display:none}.table-details[open]{display:block}@media (width<=600px),(height<=500px) and (width<=1000px){.table-mode .playing-layout{flex-direction:row}.table-mode .table-column{flex:1}}.details-heading{z-index:2;background:var(--night);position:sticky;top:0}@media (height<=500px) and (width>=501px) and (width<=1000px){.table-mode .hand-card{flex:none;width:100%;margin:0}}@media (height<=360px) and (width>=501px) and (width<=1000px){.table-mode .table-column{grid-template-rows:12px 32px 24px minmax(0,1fr) 26px;gap:3px 10px}.table-mode .compact-summary{height:32px;min-height:32px}.compact-summary>div{padding:2px 8px}.compact-summary span{font-size:8px}.compact-summary strong{font-size:13px;line-height:15px}.table-mode .turn-banner{min-height:24px;font-size:9px}.table-mode .table-metrics{height:26px}.table-mode .table-metrics strong{font-size:17px}.table-mode .hand{flex-wrap:nowrap;justify-content:center;gap:0;padding:3px 0;display:flex}.table-mode .hand-card{flex:0 0 40px;width:40px;margin-left:clamp(-23px,4.16667vw - 45.3333px,-10px)}.table-mode .hand-card:first-child{margin-left:0}.table-mode .hand-card .card{height:57px}.table-mode .hand-heading>span:last-child{display:none}.table-mode .play-confirmation .primary{min-height:28px}.table-mode .play-confirmation>span{min-height:9px;font-size:7px;line-height:9px}.table-mode .bidding-layout .table-column{grid-template-rows:12px 32px 24px minmax(0,1fr) 40px}.table-mode .bidding-layout .call-controls{min-height:40px;padding:2px 4px}.table-mode .bidding-layout .hand{gap:4px}.table-mode .bidding-layout .hand-card{flex:0 0 38px;width:38px;margin-left:0}.table-mode .bidding-layout .hand-card .card{height:57px}.table-mode .call-actions .primary{min-height:30px;padding:5px;font-size:9px}.table-mode .bid-picker button{width:28px;height:30px}.table-mode .call-actions .quiet{min-height:30px;font-size:9px}.table-mode .call-controls{gap:5px}.table-mode .call-actions{gap:4px}.table-mode .played-cards{width:138px;height:106px}.table-mode .played-card .card{width:35px;height:49px}.table-mode .played-north,.table-mode .played-south{left:51px}.table-mode .played-east,.table-mode .played-west{top:28px}.table-mode .played-card .corner{font-size:12px}.table-mode .played-card .corner small{font-size:9px}.table-mode .played-card .pip{font-size:19px}}@media (height<=500px) and (width>=501px) and (width<=1000px){.table-mode .result-layout .table-shell{grid-area:4/1/5/3}.table-mode .result-layout .table-metrics{grid-area:5/1/6/3}.table-mode .result-block{grid-template-columns:auto auto;justify-content:center;align-items:center;gap:3px 12px;max-width:95%;display:grid}.table-mode .result-block .eyebrow,.table-mode .result-block p,.table-mode .result-block .primary{grid-column:1/-1}.table-mode .result-block .award{font-size:27px}.table-mode .result-block p{max-width:420px;font-size:9px}.table-mode .result-block h2{font-size:21px}.table-mode .result-block .primary{justify-content:center;min-height:28px;padding:5px 12px}}@media (width<=600px) and (height<=720px){.table-mode .playing-layout:not(.bidding-layout) .hand{--fan-step:clamp(20px,calc((100vw - 75px)/12),32px)}.table-mode .playing-layout:not(.bidding-layout) .hand-card{width:var(--fan-step);flex:0 0 var(--fan-step);margin:0}.table-mode .playing-layout:not(.bidding-layout) .hand-card:last-child{flex-basis:49px;width:49px}.table-mode .playing-layout:not(.bidding-layout) .hand-card .card{pointer-events:none;width:49px}.table-mode .playing-layout:not(.bidding-layout) .hand-card .card-lock,.table-mode .playing-layout:not(.bidding-layout) .hand-card .card-selection{pointer-events:none;font-size:0}.table-mode .playing-layout:not(.bidding-layout) .card-selection:after{content:"✓";font-size:10px}.table-mode .playing-layout:not(.bidding-layout) .card-lock:after{content:"L";font-size:8px}}@media (height<=360px) and (width>=501px) and (width<=1000px){.table-mode .playing-layout:not(.bidding-layout) .hand{--fan-step:clamp(15px,calc((50vw - 64px)/12),27px)}.table-mode .playing-layout:not(.bidding-layout) .hand-card{width:var(--fan-step);flex:0 0 var(--fan-step);margin:0}.table-mode .playing-layout:not(.bidding-layout) .hand-card:last-child{flex-basis:40px;width:40px}.table-mode .playing-layout:not(.bidding-layout) .hand-card .card{pointer-events:none;width:40px}.table-mode .playing-layout:not(.bidding-layout) .hand-card .card-lock,.table-mode .playing-layout:not(.bidding-layout) .hand-card .card-selection{pointer-events:none;font-size:0}.table-mode .playing-layout:not(.bidding-layout) .card-selection:after{content:"✓";font-size:10px}.table-mode .playing-layout:not(.bidding-layout) .card-lock:after{content:"L";font-size:8px}}@media (width<=600px),(height<=500px) and (width<=1000px){.table-mode .result-layout .table-shell>.seat{display:none}}.hand-card.locked-card{opacity:1}.hand-card.locked-card:disabled .card{background:var(--paper);color:#172e38}.hand-card.locked-card:disabled .card.red{color:var(--red)}.rang-reveal-overlay{z-index:70;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none;background:#041015c2;place-items:center;padding:20px;animation:.2s ease-out rang-reveal-fade;display:grid;position:fixed;inset:0}.rang-reveal-popup{text-align:center;background:linear-gradient(155deg,#153e4a,#0b2532 72%);border:1px solid #dfbd79b8;border-radius:14px;flex-direction:column;align-items:center;gap:12px;width:min(320px,100vw - 40px);padding:22px 24px 20px;display:flex;box-shadow:0 22px 80px #0009}.rang-reveal-title{letter-spacing:1.5px;color:var(--paper);font:26px Georgia,serif}.rang-reveal-suit{color:var(--brass);align-items:center;gap:7px;font:16px Georgia,serif;display:flex}.rang-reveal-suit.red{color:var(--red)}.rang-reveal-face .card{border-radius:10px;width:126px;height:178px;box-shadow:0 12px 30px #0006}.rang-reveal-face .corner{font-size:29px;top:10px;left:11px}.rang-reveal-face .corner small{font-size:22px}.rang-reveal-face .corner.bottom{inset:auto 11px 10px auto}.rang-reveal-face .pip{font-size:64px}.rang-reveal-popup p{color:#cad8d4;font-size:11px}.rang-reveal-overlay .eyebrow{font-size:9px}@keyframes rang-reveal-fade{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media (width<=380px){.rang-reveal-popup{padding:18px}.rang-reveal-title{font-size:22px}.rang-reveal-face .card{width:112px;height:158px}.rang-reveal-face .pip{font-size:56px}}@media (prefers-reduced-motion:reduce){.rang-reveal-overlay{animation:none}}.local-controls .secondary{margin-top:10px}.local-seats{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.local-seats .secondary{padding:9px 4px}.local-seats [aria-pressed=true]{border-color:var(--brass);color:var(--brass)}.local-actions{gap:8px;display:flex}.local-actions .secondary{flex:1;padding:10px 8px}.local-play .header-actions .room-label{color:var(--brass)}.local-play .timer-select{pointer-events:none;opacity:.6}
