:root{--bg: #10131c;--bg-deep: #080a11;--surface: #171b26;--surface-alt: #1e2331;--elevated: #252b3b;--border: #2c3345;--border-strong: #3c455c;--primary: #c8102e;--primary-dark: #8c0b20;--primary-soft: rgba(200, 16, 46, .16);--accent: #d4af37;--gold: #d4af37;--gold-soft: rgba(212, 175, 55, .18);--text: #f3f5f9;--text-muted: #98a2b8;--text-inverse: #10131c;--success: #35c26a;--danger: #ff5c5c;--warning: #ffb648;--info: #4aa8ff;--radius: 14px;--radius-sm: 9px;--shadow: 0 12px 30px rgba(0, 0, 0, .35);--u: clamp(6px, 1.1vh, 12px);--gap: clamp(6px, 1.2vh, 14px);--font: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--display: "Playfair Display", Georgia, serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:var(--bg-deep);-webkit-font-smoothing:antialiased;overscroll-behavior:none}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}.app{display:grid;grid-template-rows:auto 1fr;height:100vh;height:100dvh;background:var(--bg);background-size:cover;background-position:center}.app-header{display:flex;align-items:center;gap:var(--gap);padding:calc(var(--u) * .8) var(--gap);background:color-mix(in srgb,var(--surface) 92%,transparent);border-bottom:1px solid var(--border);min-height:calc(var(--u) * 4.2)}.app-header .brand{display:flex;align-items:center;gap:calc(var(--u) * .8);min-width:0}.app-header .brand img{height:calc(var(--u) * 2.6);max-width:30vw;object-fit:contain}.app-header .spacer{flex:1}.app-header .wallet-chip{display:flex;flex-direction:column;line-height:1.1;padding:calc(var(--u) * .4) calc(var(--u) * .9);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-alt)}.app-header .wallet-chip small{color:var(--text-muted);font-size:calc(var(--u) * .85)}.app-body{display:grid;grid-template-columns:auto minmax(0,1fr);min-height:0}.nav-rail{display:flex;flex-direction:column;gap:calc(var(--u) * .4);padding:calc(var(--u) * .6) calc(var(--u) * .5);background:color-mix(in srgb,var(--surface) 88%,transparent);border-right:1px solid var(--border);overflow-y:auto;width:clamp(96px,16vw,190px)}.nav-rail a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:calc(var(--u) * .5) calc(var(--u) * .3);border-radius:var(--radius-sm);color:var(--text-muted);font-size:calc(var(--u) * .95);text-align:center;line-height:1.1}.nav-rail a.active{background:var(--primary-soft);color:var(--text)}.nav-rail a .glyph{font-size:calc(var(--u) * 1.5)}.screen{min-height:0;overflow:auto;padding:var(--gap);display:flex;flex-direction:column;gap:var(--gap)}:root[data-app-mode=game] .app{grid-template-rows:minmax(0,1fr)}:root[data-app-mode=game] .app-header,:root[data-app-mode=game] .nav-rail{display:none}:root[data-app-mode=game] .app-body{grid-template-columns:minmax(0,1fr)}:root[data-app-mode=game] .screen{overflow:hidden;padding:0;gap:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--gap);box-shadow:var(--shadow);min-width:0}.card.tight{padding:calc(var(--u) * .7)}.card h2,.card h3{margin:0 0 calc(var(--u) * .6);font-size:calc(var(--u) * 1.35)}.card p{margin:0 0 calc(var(--u) * .6);color:var(--text-muted)}.grid{display:grid;gap:var(--gap)}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.auto{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}.row{display:flex;align-items:center;gap:var(--gap);flex-wrap:wrap}.row.tight{gap:calc(var(--u) * .6)}.col{display:flex;flex-direction:column;gap:var(--gap)}.between{justify-content:space-between}.grow{flex:1;min-width:0}.section-title{display:flex;align-items:center;gap:calc(var(--u) * .6);font-size:calc(var(--u) * 1.2);font-weight:600;color:var(--text)}.section-title .hint{font-size:calc(var(--u) * .9);color:var(--text-muted);font-weight:400}.btn{display:inline-flex;align-items:center;justify-content:center;gap:calc(var(--u) * .5);padding:calc(var(--u) * .8) calc(var(--u) * 1.4);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-alt);color:var(--text);cursor:pointer;font-size:calc(var(--u) * 1);min-height:calc(var(--u) * 2.8);transition:transform .08s ease,filter .15s ease;white-space:nowrap}.btn:hover:not(:disabled){filter:brightness(1.12)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--text-inverse)}.btn.ghost{background:transparent}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.success{background:var(--success);border-color:var(--success);color:var(--text-inverse)}.btn.small{padding:calc(var(--u) * .45) calc(var(--u) * .8);font-size:calc(var(--u) * .9);min-height:calc(var(--u) * 2.2)}.btn.block{width:100%}.field{display:flex;flex-direction:column;gap:calc(var(--u) * .3);min-width:0}.field label{font-size:calc(var(--u) * .9);color:var(--text-muted)}.field input,.field select,.field textarea{padding:calc(var(--u) * .7) calc(var(--u) * .8);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-sm);min-height:calc(var(--u) * 2.8);width:100%}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--primary);outline-offset:1px}.field .error{color:var(--danger);font-size:calc(var(--u) * .85)}.field .hint{color:var(--text-muted);font-size:calc(var(--u) * .8)}.switch{display:inline-flex;align-items:center;gap:calc(var(--u) * .5);font-size:calc(var(--u) * .95)}.switch input{width:auto;min-height:0}.pill{display:inline-flex;align-items:center;gap:4px;padding:2px calc(var(--u) * .6);border-radius:999px;font-size:calc(var(--u) * .8);font-weight:600;background:var(--surface-alt);border:1px solid var(--border-strong);color:var(--text-muted)}.pill.ok{color:var(--success);border-color:color-mix(in srgb,var(--success) 50%,transparent)}.pill.warn{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 50%,transparent)}.pill.bad{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 50%,transparent)}.pill.gold{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 50%,transparent)}.banner{display:flex;gap:calc(var(--u) * .6);align-items:flex-start;padding:calc(var(--u) * .7) var(--gap);border-radius:var(--radius-sm);font-size:calc(var(--u) * .95);background:var(--surface-alt);border:1px solid var(--border)}.banner.error{background:color-mix(in srgb,var(--danger) 18%,var(--surface));border-color:var(--danger)}.banner.ok{background:color-mix(in srgb,var(--success) 16%,var(--surface));border-color:var(--success)}.banner.warn{background:color-mix(in srgb,var(--warning) 16%,var(--surface));border-color:var(--warning)}.stat{display:flex;flex-direction:column;gap:2px}.stat .value{font-size:calc(var(--u) * 1.6);font-weight:700}.stat .label{font-size:calc(var(--u) * .85);color:var(--text-muted)}.muted{color:var(--text-muted)}.mono{font-variant-numeric:tabular-nums}.center{text-align:center}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table{width:100%;border-collapse:collapse;font-size:calc(var(--u) * .95)}.table th,.table td{text-align:left;padding:calc(var(--u) * .5);border-bottom:1px solid var(--border)}.table th{color:var(--text-muted);font-weight:500}.empty{display:grid;place-items:center;gap:calc(var(--u) * .5);padding:calc(var(--u) * 2);text-align:center;color:var(--text-muted)}.empty img{max-width:30%;max-height:calc(var(--u) * 6);opacity:.8}.spinner{width:calc(var(--u) * 2.2);height:calc(var(--u) * 2.2);border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#04060cb3;display:grid;place-items:center;padding:var(--gap);z-index:50}.modal{width:min(720px,94vw);max-height:92dvh;overflow:auto}.card-rail{display:flex;gap:var(--gap);overflow-x:auto;overflow-y:hidden;padding-bottom:calc(var(--u) * .4);scroll-snap-type:x mandatory;scrollbar-width:thin}.card-rail>*{flex:0 0 calc((100% - 2 * var(--gap)) / 3);min-width:0;scroll-snap-align:start}.card-rail::-webkit-scrollbar{height:6px}.card-rail::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.table-card{display:flex;flex-direction:column;gap:calc(var(--u) * .45)}.table-card .title{font-weight:700;font-size:calc(var(--u) * 1.05)}.table-card .meta{display:flex;flex-wrap:wrap;gap:calc(var(--u) * .35)}.seat-bar{height:5px;border-radius:3px;background:var(--surface-alt);overflow:hidden}.seat-bar span{display:block;height:100%;background:var(--accent)}.asset-bg{background-size:cover;background-position:center}.game-table{display:grid;grid-template-rows:auto 1fr auto;gap:var(--gap);min-height:0}.game-table .felt{position:relative;border-radius:var(--radius);border:1px solid var(--border);background:var(--felt-top, #0d3b2a);padding:var(--gap);overflow:auto}.seat-row{display:flex;gap:var(--gap);overflow-x:auto}.seat{flex:0 0 auto;min-width:calc(var(--u) * 11);text-align:center;padding:calc(var(--u) * .5);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface) 70%,transparent);border:1px solid var(--border)}.seat.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--gold-soft)}.hand{display:flex;gap:calc(var(--u) * .3);flex-wrap:wrap}.card-face{width:calc(var(--u) * 3.6);height:calc(var(--u) * 5);border-radius:calc(var(--u) * .5);border:1px solid var(--border-strong);background:var(--surface);display:grid;place-items:center;cursor:pointer;font-weight:700;font-size:calc(var(--u) * 1.05);-webkit-user-select:none;user-select:none}.card-face.red{color:var(--danger)}.card-face.selected{transform:translateY(-6px);border-color:var(--accent)}.card-face.back{background:repeating-linear-gradient(45deg,#7a1224,#7a1224 6px,#a01a31 6px,#a01a31 12px);color:#fff}.action-bar{display:flex;gap:calc(var(--u) * .6);flex-wrap:wrap;align-items:center}.timer-pill{font-variant-numeric:tabular-nums}.meld-group{display:flex;gap:calc(var(--u) * .3);padding:calc(var(--u) * .4);border:1px dashed var(--border-strong);border-radius:var(--radius-sm)}.splash{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:var(--bg-deep) var(--splash-bg, none) center/cover no-repeat;z-index:80}.splash .inner{display:grid;place-items:center;gap:calc(var(--u) * 1.2)}.splash img.logo{max-width:min(52vw,60vh);max-height:30vh}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:var(--gap);background:var(--bg-deep) var(--auth-bg, none) center/cover no-repeat}.auth-card{width:min(420px,94vw)}@media (max-height: 420px){:root{--u: 7px;--gap: 7px;--radius: 10px}.nav-rail{width:clamp(84px,20vw,150px)}}@media (max-height: 560px){:root{--u: 9px;--gap: 9px}}@media (max-width: 860px){.grid.cols-4,.grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1280px){:root{--u: 12px;--gap: 14px}}@media (min-width: 1700px){:root{--u: 14px;--gap: 16px}.card-rail>*{flex-basis:calc((100% - 2 * var(--gap)) / 3)}}@media (max-width: 560px){.nav-rail{width:68px}.nav-rail a span:not(.glyph){display:none}.card-rail>*{flex-basis:calc((100% - 2 * var(--gap)) / 3)}.app-header{flex-wrap:wrap;row-gap:calc(var(--u) * .35)}}.voice-panel{display:flex;flex-direction:column;gap:calc(var(--u) * .5);padding:calc(var(--u) * .6);border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--surface-alt) 80%,transparent)}.voice-label{font-size:calc(var(--u) * .95)}.voice-error{color:var(--danger);font-size:calc(var(--u) * .85);margin:0}.voice-select{min-height:calc(var(--u) * 2.4);padding:calc(var(--u) * .4);background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm)}.voice-dot{width:calc(var(--u) * .9);height:calc(var(--u) * .9);border-radius:50%;background:var(--text-muted)}.voice-dot.connected{background:var(--success)}.voice-dot.joining,.voice-dot.reconnecting,.voice-dot.requesting-media{background:var(--warning)}.voice-dot.denied,.voice-dot.error,.voice-dot.unsupported{background:var(--danger)}.voice-peer{display:inline-flex;align-items:center;gap:4px;padding:2px calc(var(--u) * .5);border-radius:999px;border:1px solid var(--border-strong);font-size:calc(var(--u) * .8)}.voice-peer.connected{border-color:var(--success)}.voice-peer[data-speaking=yes]{box-shadow:0 0 0 2px var(--gold-soft)}.voice-peer.failed{border-color:var(--danger)}.voice-peer-dot{color:var(--text-muted);font-size:calc(var(--u) * .7)}.voice-peer[data-speaking=yes] .voice-peer-dot{color:var(--success)}.voice-moderate{margin-left:4px;background:none;border:none;cursor:pointer;color:var(--accent);font-size:inherit;text-decoration:underline}.pill{color:var(--text);background:color-mix(in srgb,var(--surface-alt) 88%,var(--border));border-color:var(--border-strong);font-size:max(calc(var(--u) * .8),10px);line-height:1.5}.pill.ok{color:var(--text);background:color-mix(in srgb,var(--success) 26%,var(--surface));border-color:var(--success)}.pill.warn{color:var(--text);background:color-mix(in srgb,var(--warning) 26%,var(--surface));border-color:var(--warning)}.pill.bad{color:var(--text);background:color-mix(in srgb,var(--danger) 26%,var(--surface));border-color:var(--danger)}.pill.gold{color:var(--text);background:color-mix(in srgb,var(--gold) 24%,var(--surface));border-color:var(--gold)}.muted{color:color-mix(in srgb,var(--text-muted) 80%,var(--text))}.felt .muted,.game-table .muted{color:color-mix(in srgb,var(--text) 72%,transparent)}.vip-band{display:inline-flex;align-items:center;gap:4px;color:var(--text)}.vip-band .swatch{width:.7em;height:.7em;border-radius:50%;display:inline-block}.table-wrap{width:100%;overflow-x:auto}.table-wrap .table{min-width:520px}.btn{min-height:max(calc(var(--u) * 2.8),24px)}.btn.small{min-height:max(calc(var(--u) * 2.2),24px)}.nav-rail a,.admin-nav a{min-height:28px;justify-content:center}.voice-moderate{min-height:24px;padding:0 4px}.pill{padding:2px 8px}.btn.danger{background:color-mix(in srgb,var(--danger) 78%,black);border-color:color-mix(in srgb,var(--danger) 78%,black);color:#fff}.auth-card p a,.splash a{display:inline-flex;align-items:center;min-height:24px}.table-stage{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:clamp(4px,.9vh,12px);min-height:0;height:100%;padding:clamp(6px,1.4vh,18px);isolation:isolate;background:radial-gradient(120% 78% at 50% -14%,var(--table-light-a) 0%,var(--table-light-b) 46%),radial-gradient(88% 68% at 50% 42%,var(--table-env-a) 0%,var(--table-env-b) 78%,#000 100%);overflow:hidden}.table-stage[data-env-image=yes]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:center / cover no-repeat var(--table-env-image);opacity:.55}.table-stage:after{content:"";position:absolute;left:50%;bottom:clamp(2px,.6vh,8px);width:86%;height:clamp(18px,5vh,60px);transform:translate(-50%);border-radius:50%;background:radial-gradient(50% 50% at 50% 50%,#000000b8,#0000 72%);filter:blur(6px);pointer-events:none}.table-body{position:relative;display:grid;min-height:0;border-radius:clamp(56px,12vh,150px) / clamp(34px,7vh,92px);padding:clamp(9px,1.7vh,20px);background:repeating-linear-gradient(93deg,#0000004d 0,#0000004d 2px,#fff0 2px,#fff0 5px,#00000029 5px,#00000029 6px,#ffffff08 6px,#ffffff08 11px),linear-gradient(168deg,var(--table-wood-c) 0%,var(--table-wood-a) 38%,var(--table-wood-b) 100%);box-shadow:0 clamp(16px,3.4vh,38px) clamp(30px,6vh,70px) #000000a8,0 3px #00000080,inset 0 1px 0 var(--table-wood-spec),inset 0 -3px 6px #000000b3}.table-body:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background-image:var(--wood-noise);background-size:260px 40px;opacity:.4;mix-blend-mode:overlay;pointer-events:none}.table-body[data-wood-image=yes]:before{background:center / cover no-repeat var(--table-wood-image);mix-blend-mode:normal;opacity:1}.table-rim{position:absolute;inset:clamp(5px,.9vh,11px);border-radius:inherit;border:1px solid var(--table-trim);opacity:.5;pointer-events:none}.table-cushion{position:absolute;inset:clamp(7px,1.3vh,16px);border-radius:inherit;background:repeating-linear-gradient(101deg,#00000038 0,#00000038 1px,#ffffff0d 1px,#ffffff0d 4px),linear-gradient(180deg,var(--table-rim-a),var(--table-rim-b));box-shadow:inset 0 2px 5px #000c,inset 0 -1px #ffffff0d;pointer-events:none}:root{--cloth-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='c'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23c)'/%3E%3C/svg%3E");--wood-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='60'%3E%3Cfilter id='w'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.008 0.22' numOctaves='5' seed='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='60' filter='url(%23w)'/%3E%3C/svg%3E");--paper-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='4' seed='21' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='90' height='90' filter='url(%23p)'/%3E%3C/svg%3E")}.table-felt{position:relative;display:grid;grid-template-rows:minmax(0,1fr) minmax(0,calc(var(--card-h) * var(--surface-share, 1.15))) auto auto;gap:clamp(3px,.7vh,10px);min-height:0;border-radius:clamp(44px,10vh,124px) / clamp(26px,5.4vh,72px);padding:clamp(7px,1.4vh,18px);overflow:hidden;background-color:var(--table-felt-b);background-image:var(--cloth-noise),repeating-linear-gradient(28deg,var(--table-felt-line) 0 1px,rgba(0,0,0,0) 1px 3px),repeating-linear-gradient(-28deg,var(--table-felt-line) 0 1px,rgba(0,0,0,0) 1px 3px),radial-gradient(76% 88% at 50% 34%,var(--table-felt-a) 0%,var(--table-felt-b) 52%,var(--table-felt-c) 100%);background-size:140px 140px,auto,auto,auto;box-shadow:inset 0 clamp(6px,1.4vh,16px) clamp(14px,3vh,34px) #0000009e,inset 0 calc(clamp(6px,1.4vh,16px)*-1) clamp(14px,3vh,34px) #0000006b,inset 0 0 0 1px #0006}.table-felt[data-felt-image=yes]{background-image:var(--table-felt-image);background-size:cover}.table-lighting{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(30% 24% at 50% 31%,var(--table-felt-spec) 0%,rgba(0,0,0,0) 70%),radial-gradient(58% 46% at 50% 30%,var(--table-felt-spec) 0%,rgba(0,0,0,0) 62%),radial-gradient(120% 100% at 50% 50%,rgba(0,0,0,0) 42%,var(--table-vignette) 100%),radial-gradient(140% 118% at 50% 47%,#0000 54%,#0000004d);mix-blend-mode:soft-light}.table-ornament{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:2px;font-family:var(--display);font-size:clamp(11px,1.9vh,21px);letter-spacing:.34em;text-transform:uppercase;text-align:center;color:transparent;-webkit-text-stroke:.4px var(--table-felt-line);text-shadow:0 1px 0 rgba(0,0,0,.28),0 -1px 0 rgba(255,255,255,.05);opacity:.85;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap}.table-ornament .ring{width:clamp(34px,6vh,74px);height:clamp(34px,6vh,74px);border-radius:50%;border:1px solid var(--table-felt-line);box-shadow:inset 0 1px #ffffff0d,0 1px #00000047}.card-slot{position:absolute;left:50%;bottom:0;width:var(--card-w);height:var(--card-h);margin-left:calc(var(--card-w) / -2);transform:translate3d(var(--card-x, 0px),var(--card-y, 0px),0) rotate(var(--card-rotate, 0deg)) scale(var(--card-scale-slot, 1));transform-origin:50% 100%;z-index:var(--card-depth, 0)}.card{position:absolute;top:0;right:0;bottom:0;left:0;border:0;padding:0;background:none;font:inherit;color:inherit;cursor:default;transform:translate3d(0,var(--card-lift, 0px),0) translate3d(var(--card-dx, 0px),var(--card-dy, 0px),0) scale(var(--card-scale, 1));box-shadow:var(--card-shadow-rest);transition:transform var(--motion-duration-normal) var(--motion-ease-standard),box-shadow var(--motion-duration-normal) var(--motion-ease-standard);will-change:transform;-webkit-tap-highlight-color:transparent;touch-action:none;--card-shadow-rest: 0 1px 0 rgba(0, 0, 0, .34), 0 2px 4px rgba(0, 0, 0, .42), 0 6px 12px -4px rgba(0, 0, 0, .5);--card-shadow-lift: 0 1px 0 rgba(0, 0, 0, .3), 0 10px 16px -6px rgba(0, 0, 0, .55), 0 22px 40px -12px rgba(0, 0, 0, .62)}.card-motion{position:absolute;top:0;right:0;bottom:0;left:0}.card-sheet{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--card-radius);overflow:hidden;background-image:var(--paper-noise),linear-gradient(158deg,var(--card-stock-a) 0%,var(--card-stock-b) 56%,var(--card-stock-c) 100%);background-size:90px 90px,auto;box-shadow:inset 0 0 0 1px var(--card-edge),inset 1px 1px 0 var(--card-edge-highlight),inset -1px -1px #786c564d}.card-gloss{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--card-radius);background-image:var(--card-sheen);opacity:.85;pointer-events:none}.card-print{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--card-radius);color:var(--card-ink);font-family:var(--font);pointer-events:none}.card[data-red=yes] .card-print{color:var(--card-ink-red)}.card[data-joker=yes] .card-print{color:#7a4bb0}.card-corner{position:absolute;display:flex;flex-direction:column;align-items:center;line-height:.92;font-weight:700;font-size:clamp(9px,1.7vh,17px);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.card-corner[data-pos=top]{top:5.5%;left:7%}.card-corner[data-pos=bottom]{bottom:5.5%;right:7%;transform:rotate(180deg)}.card-corner .rank{font-size:max(1.06em,11px)}.meld-card .card-corner .rank{font-size:1.06em}.card-corner .pip{font-size:.92em;margin-top:-.06em}.card-corner[data-wide=yes]{letter-spacing:-.12em}.card-pips{position:absolute;top:12%;right:16%;bottom:12%;left:16%}.card-pip{position:absolute;transform:translate(-50%,-50%) rotate(var(--pip-rotate, 0deg));font-size:clamp(8px,1.5vh,15px);line-height:1}.card-honour{position:absolute;top:15%;right:13%;bottom:15%;left:13%;display:grid;place-items:center;border-radius:calc(var(--card-radius) * .6);border:1px solid color-mix(in srgb,currentColor 36%,transparent);background:repeating-linear-gradient(45deg,color-mix(in srgb,currentColor 9%,transparent) 0 2px,transparent 2px 5px),repeating-linear-gradient(-45deg,color-mix(in srgb,currentColor 9%,transparent) 0 2px,transparent 2px 5px);font-family:var(--display);font-size:clamp(15px,3.2vh,32px);font-weight:600;line-height:1}.card-joker{position:absolute;top:22%;right:8%;bottom:22%;left:8%;display:grid;place-content:center;justify-items:center;gap:2px;font-family:var(--display);text-align:center;font-size:clamp(8px,1.5vh,13px);letter-spacing:.12em}.card-joker .mark{font-size:2em}.card[data-face-image=yes] .card-print{display:none}.card[data-face-image=yes] .card-sheet{background:center / 100% 100% no-repeat var(--card-face-image)}.card[data-facing=back] .card-sheet{background-image:var(--paper-noise),repeating-linear-gradient(45deg,var(--card-back-field) 0 3px,rgba(0,0,0,.22) 3px 6px),repeating-linear-gradient(-45deg,var(--card-back-field) 0 3px,rgba(0,0,0,.22) 3px 6px),linear-gradient(158deg,var(--card-back-b) 0%,var(--card-back-a) 100%);background-size:90px 90px,auto,auto,auto;box-shadow:inset 0 0 0 1px #00000080,inset 0 0 0 4px color-mix(in srgb,var(--card-back-a) 70%,#000),inset 0 0 0 5px var(--card-back-line),inset 1px 1px #ffffff14}.card[data-facing=back] .card-gloss{opacity:.5}.card[data-facing=back] .card-print{display:none}.card[data-state=selected]{--card-lift: calc(var(--motion-distance-md) * -.62);box-shadow:var(--card-shadow-lift)}.card[data-state=selected] .card-sheet{box-shadow:inset 0 0 0 1px var(--card-edge),inset 1px 1px 0 var(--card-edge-highlight),inset -1px -1px #786c564d,inset 0 0 0 2px color-mix(in srgb,var(--gold) 62%,transparent)}.card[data-interactive=yes]{cursor:pointer}.card[data-interactive=yes]:hover{--card-lift: calc(var(--motion-distance-sm) * -.5);box-shadow:var(--card-shadow-lift)}.card[data-interactive=yes]:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.card[data-state=dragging]{--card-lift: calc(var(--motion-distance-lg) * -.5);--card-scale: 1.055;box-shadow:var(--card-shadow-lift);transition:transform var(--motion-duration-instant) var(--motion-ease-standard),box-shadow var(--motion-duration-normal) var(--motion-ease-standard);cursor:grabbing}.card[data-state=selected]:hover,.card[data-state=selected]:focus-visible{--card-lift: calc(var(--motion-distance-md) * -.62)}.card[data-state=dragging]:hover,.card[data-state=dragging]:focus-visible{--card-lift: calc(var(--motion-distance-lg) * -.5)}.card[data-facing=back]{opacity:.97}.card[data-state=discarded]{opacity:.94}.card[data-state=melded]{box-shadow:0 1px #00000057,0 3px 8px #0006,0 0 0 1px color-mix(in srgb,var(--gold) 40%,transparent)}.card[data-state=rejected]{box-shadow:var(--card-shadow-rest)}.hand-fan{position:relative;width:100%;height:calc(var(--card-h) + var(--motion-distance-lg));min-height:calc(var(--card-h) + 8px);overflow:visible;touch-action:pan-x}.hand-fan-label{position:absolute;left:0;bottom:-1.4em;font-size:var(--type-size-caption);letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb,var(--text) 58%,transparent);pointer-events:none}.table-centre{position:relative;display:flex;align-items:center;justify-content:center;gap:clamp(14px,4.5vw,64px);min-height:0}.deck-stack,.discard-pile{position:relative;width:var(--card-w);height:var(--card-h);flex:0 0 auto;border:0;padding:0;background:none;cursor:default}.deck-stack .card-slot,.discard-pile .card-slot,.seat-cards .card-slot{left:0;bottom:auto;top:0;margin-left:0}.deck-stack{filter:drop-shadow(0 clamp(6px,1.2vh,14px) clamp(8px,1.6vh,18px) rgba(0,0,0,.55))}.deck-stack:after{content:"";position:absolute;left:6%;right:-10%;bottom:-7%;height:40%;border-radius:50%;background:radial-gradient(50% 50% at 50% 50%,#00000080,#0000 70%);transform:translateZ(0);pointer-events:none}.deck-stack .card-slot,.discard-pile .card-slot{filter:brightness(min(1,calc(.7 + var(--card-depth, 1) * .06)))}.deck-stack .deck-top,.discard-pile .card-slot:last-of-type{filter:none}.discard-pile[data-interactive=yes]{cursor:pointer}.discard-pile[data-interactive=yes]:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:var(--card-radius)}.pile-ring{position:absolute;top:-7%;right:-7%;bottom:-7%;left:-7%;border-radius:calc(var(--card-radius) * 1.6);border:1px dashed color-mix(in srgb,var(--gold) 34%,transparent);pointer-events:none}.pile-ring[data-target=yes]{border-style:solid;border-color:color-mix(in srgb,var(--gold) 78%,transparent);box-shadow:0 0 0 4px var(--gold-soft)}.pile-caption{position:absolute;left:50%;bottom:-1.7em;transform:translate(-50%);white-space:nowrap;font-size:var(--type-size-caption);letter-spacing:.16em;text-transform:uppercase;color:color-mix(in srgb,var(--text) 58%,transparent);pointer-events:none}.card[data-back-image=yes] .card-sheet{background:center / 100% 100% no-repeat var(--card-back-image)}.seat-ring{position:relative;display:flex;align-items:flex-start;justify-content:center;gap:clamp(6px,2.2vw,30px);min-width:0;min-height:0;overflow:hidden;padding-top:clamp(2px,.6vh,8px)}.seat{position:relative;display:grid;justify-items:center;gap:3px;min-width:0;padding:clamp(3px,.6vh,8px) clamp(4px,.9vw,10px);border-radius:var(--radius);text-align:center;transform:scale(var(--seat-scale, 1));transform-origin:top center;transition:transform var(--motion-duration-normal) var(--motion-ease-standard);background:linear-gradient(180deg,#ffffff12,#fff0 46%),linear-gradient(180deg,color-mix(in srgb,var(--table-felt-c) 72%,rgba(0,0,0,.6)),color-mix(in srgb,var(--table-felt-c) 54%,rgba(0,0,0,.42)));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 22%,transparent),inset 0 1px #ffffff12,0 6px 16px -8px #000000bf}.seat-avatar{position:relative;width:clamp(28px,5.4vh,58px);height:clamp(28px,5.4vh,58px);border-radius:50%;display:grid;place-items:center;overflow:hidden;font-family:var(--display);font-size:clamp(11px,2vh,20px);background:radial-gradient(70% 70% at 32% 26%,#fff3,#fff0 60%),linear-gradient(160deg,var(--elevated),var(--surface));box-shadow:inset 0 0 0 1px var(--border-strong),0 2px 5px #00000080}.seat-avatar img{width:100%;height:100%;object-fit:cover}.seat[data-turn=yes] .seat-avatar{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 70%,transparent),0 0 0 2px color-mix(in srgb,var(--gold) 42%,transparent),0 0 clamp(12px,2.4vh,26px) var(--gold-soft),0 2px 5px #00000080}.seat[data-turn=yes]{--seat-scale: 1.06;background:linear-gradient(180deg,#ffffff1a,#fff0 46%),linear-gradient(180deg,color-mix(in srgb,var(--table-felt-c) 58%,rgba(0,0,0,.48)),color-mix(in srgb,var(--table-felt-c) 42%,rgba(0,0,0,.3)));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 62%,transparent),inset 0 1px #ffffff1a,0 6px 16px -8px #000000bf}.seat:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:calc(var(--radius) + 3px);box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 55%,transparent),0 0 14px 2px var(--gold-soft);opacity:0;pointer-events:none}.seat[data-turn=yes]:after{animation:seat-halo 2.6s ease-in-out infinite}@keyframes seat-halo{0%,to{opacity:.3}50%{opacity:.9}}.seat[data-dropped=yes]{opacity:.5;filter:grayscale(.5)}.seat-name{max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--type-size-caption);font-weight:600;color:color-mix(in srgb,var(--text) 88%,transparent)}.seat-meta{display:flex;gap:4px;align-items:center;font-size:var(--type-size-caption);color:color-mix(in srgb,var(--text) 62%,transparent);font-variant-numeric:tabular-nums}.seat-cards{position:relative;height:calc(var(--card-h) * var(--seat-fan-share, .3));width:calc(var(--card-w) * 1.2)}.seat-cards .card-slot{--card-scale-slot: .3;left:50%;bottom:0;top:auto;margin-left:calc(var(--card-w) * -.5)}.turn-banner{position:absolute;left:50%;top:8%;transform:translate(-50%);padding:calc(var(--u) * .35) calc(var(--u) * 1.1);border-radius:var(--radius-pill, 999px);border:1px solid color-mix(in srgb,var(--gold) 46%,transparent);background:color-mix(in srgb,var(--surface) 82%,transparent);font-size:var(--type-size-caption);letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;pointer-events:none}.turn-timer{position:relative;width:clamp(30px,5.6vh,60px);height:clamp(30px,5.6vh,60px);border-radius:50%;display:grid;place-items:center;background:radial-gradient(closest-side,var(--surface) 74%,transparent 75% 100%),conic-gradient(var(--timer-colour, var(--gold)) calc(var(--timer-pct, 0) * 1%),var(--border) 0);box-shadow:0 2px 6px #00000073,inset 0 0 0 1px #0006,inset 0 1px #ffffff24;font-size:var(--type-size-caption);font-weight:700;font-variant-numeric:tabular-nums}.turn-timer[data-warning=yes]{--timer-colour: var(--danger)}.turn-timer:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;box-shadow:0 0 0 2px color-mix(in srgb,var(--danger) 50%,transparent),0 0 8px 1px color-mix(in srgb,var(--danger) 40%,transparent);opacity:0;pointer-events:none}.turn-timer[data-warning=yes]:after{animation:timer-urgent 1s ease-in-out infinite}@keyframes timer-urgent{0%,to{opacity:.25}50%{opacity:1}}.table-top .turn-timer{width:clamp(26px,3.4vh,34px);height:clamp(26px,3.4vh,34px);box-shadow:0 2px 5px #0006,inset 0 0 0 1px #0006,inset 0 1px #ffffff24}.card-motion{animation-delay:calc(var(--deal-order, 0) * var(--deal-stagger, 60ms))}.table-stage[data-outcome=win] .table-lighting{background:radial-gradient(52% 42% at 50% 32%,#fffadc52,#0000 60%),radial-gradient(120% 100% at 50% 50%,rgba(0,0,0,0) 40%,var(--table-vignette) 100%)}.table-stage[data-outcome=lose] .table-felt{filter:saturate(.6) brightness(.86)}.table-stage[data-outcome=lose] .seat[data-winner=yes]{opacity:.45}.settle-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:var(--space-sm, 8px);padding:clamp(12px,2.4vh,26px) clamp(18px,4vw,46px);border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--gold) 40%,transparent);background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--elevation-xl, 0 24px 60px rgba(0, 0, 0, .5));text-align:center}.settle-panel .verdict{font-family:var(--display);font-size:var(--type-size-heading-lg);letter-spacing:.14em;text-transform:uppercase}.settle-panel .amount{font-size:var(--type-size-body-lg);font-variant-numeric:tabular-nums}.table-actions{position:relative;display:flex;justify-content:center;min-width:0;padding:clamp(2px,.5vh,7px) clamp(6px,1.4vw,16px) 0;border-top:1px solid color-mix(in srgb,var(--table-trim) 58%,transparent);z-index:5}.action-rail{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(4px,.9vh,10px);min-width:0;max-width:100%;padding:clamp(3px,.6vh,7px) clamp(4px,.8vw,10px);border-radius:var(--radius-sm);background:linear-gradient(180deg,#00000057,#0000001a);box-shadow:inset 0 2px 6px #0009,inset 0 -1px #ffffff0d,inset 0 0 0 1px #00000073}.action-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:max(calc(var(--u) * 2.6),32px);padding:0 clamp(8px,1.4vw,18px);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:linear-gradient(180deg,#ffffff1a,#fff0 48%),linear-gradient(180deg,var(--elevated) 0%,var(--surface-alt) 70%,var(--surface) 100%);color:var(--text);font-size:var(--type-size-body-sm);font-weight:700;letter-spacing:.03em;text-shadow:0 1px 0 rgba(0,0,0,.45);cursor:pointer;box-shadow:inset 0 1px #ffffff1f,inset 0 -1px #00000073,0 3px #00000080,0 6px 12px -4px #0000008c;transition:transform var(--motion-duration-instant) var(--motion-ease-standard),box-shadow var(--motion-duration-fast) var(--motion-ease-standard)}.action-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px #ffffff29,inset 0 -1px #00000073,0 4px #00000080,0 10px 18px -6px #0009}.action-btn:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 2px 4px #0000008c,0 1px #00000080}.action-btn:disabled{opacity:.42;cursor:not-allowed}.action-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.action-btn[data-variant=primary]{border-color:color-mix(in srgb,var(--primary-dark) 75%,var(--border-strong));background:linear-gradient(180deg,#ffffff42,#fff0 48%),linear-gradient(180deg,var(--primary) 0%,var(--primary-dark) 100%);box-shadow:inset 0 1px #ffffff57,inset 0 -1px #0006,0 3px color-mix(in srgb,var(--primary-dark) 68%,rgba(0,0,0,.72)),0 6px 12px -4px #0000008c}.action-btn[data-variant=gold]{border-color:color-mix(in srgb,var(--gold) 64%,transparent);background:linear-gradient(180deg,#ffffff6b,#fff0 46%),linear-gradient(180deg,color-mix(in srgb,var(--gold) 90%,#fff),color-mix(in srgb,var(--gold) 76%,#000));color:color-mix(in srgb,var(--gold) 14%,var(--text-inverse));text-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:inset 0 1px #ffffff80,inset 0 -1px #0000004d,0 3px color-mix(in srgb,var(--gold) 34%,rgba(0,0,0,.78)),0 6px 12px -4px #0000008c}.action-btn[data-variant=ghost]{background:none;border-color:transparent;color:var(--text-muted);text-shadow:none;box-shadow:none}.action-btn[data-variant=ghost]:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--gold) 34%,transparent);color:var(--text);box-shadow:inset 0 1px #ffffff14}.action-btn[data-variant=ghost]:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 1px 3px #00000080}.action-btn .kbd{padding:0 4px;margin:0 -4px 0 1px;border-radius:4px;border:1px solid color-mix(in srgb,var(--text) 20%,transparent);background:#0000004d;font-size:.86em;font-weight:700;line-height:1.4;color:color-mix(in srgb,var(--text) 76%,transparent)}.action-btn[data-variant=gold] .kbd{border-color:color-mix(in srgb,var(--text-inverse) 28%,transparent);background:#ffffff3d;color:color-mix(in srgb,var(--text-inverse) 82%,transparent)}.table-chrome{justify-self:center;display:flex;gap:clamp(6px,1.4vw,16px);align-items:center;padding:2px clamp(8px,1.6vw,18px);border-radius:var(--radius-pill, 999px);border:1px solid color-mix(in srgb,var(--gold) 30%,transparent);background:color-mix(in srgb,var(--table-rim-b) 78%,transparent);box-shadow:inset 0 1px #ffffff0d,0 4px 12px -6px #0009;font-size:var(--type-size-caption);letter-spacing:.1em;color:color-mix(in srgb,var(--text) 72%,transparent);white-space:nowrap;pointer-events:none}.table-chrome b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.table-stage[data-chrome-overlay=yes] .table-chrome{position:absolute;top:clamp(6px,1.2vh,14px);left:clamp(8px,1.6vw,18px);right:auto;bottom:auto;justify-self:start;z-index:2}.table-stage[data-seat-tight=yes] .seat-cards{display:none}.table-stage[data-seat-tight=yes] .seat{grid-auto-flow:column;align-items:center;gap:5px;padding:2px clamp(3px,.7vw,8px)}.table-stage[data-seat-tight=yes] .seat-avatar{width:clamp(22px,3.4vh,34px);height:clamp(22px,3.4vh,34px)}.table-top{position:absolute;right:clamp(6px,1.4vw,18px);top:clamp(6px,1.4vh,16px);display:flex;gap:6px;align-items:center;z-index:var(--z-inline-bar, 40)}.table-top .pill,.table-top .btn{box-shadow:inset 0 1px #ffffff14,0 2px 7px #00000080}.table-top .pill:not(.ok):not(.warn):not(.bad):not(.gold){background:color-mix(in srgb,var(--surface) 74%,transparent);border-color:color-mix(in srgb,var(--gold) 32%,transparent)}.table-top .btn{border-color:color-mix(in srgb,var(--gold) 32%,transparent)}@media (orientation: portrait){.table-body{padding:clamp(5px,1.4vw,10px);border-radius:clamp(26px,8vw,64px) / clamp(18px,5.4vw,42px)}.table-felt{padding:clamp(5px,1.6vw,12px);border-radius:clamp(18px,6vw,48px) / clamp(14px,4.4vw,32px)}.table-centre{gap:clamp(16px,9vw,54px)}.seat-ring{gap:clamp(2px,1.2vw,10px);flex-wrap:wrap}.seat{--seat-scale: .82}.table-ornament{display:none}.hand-fan{height:calc(var(--card-h) + var(--motion-distance-md))}}@media (max-width: 420px),(max-height: 380px){.table-stage{padding:3px;gap:3px}.action-btn{padding:0 9px}.table-chrome{letter-spacing:.04em}.seat-meta{font-size:10px}}@media (prefers-reduced-motion: reduce){.card,.seat,.action-btn{transition-property:box-shadow;transition-duration:1ms}.card-motion{animation-delay:0ms}.seat[data-turn=yes]:after{animation:none;opacity:.7}.turn-timer[data-warning=yes]:after{animation:none;opacity:.55}.card[data-interactive=yes]:hover,.card[data-state=selected],.card[data-state=selected]:hover,.card[data-state=dragging],.card[data-state=dragging]:hover{--card-lift: 0px}}.card-ace{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:clamp(16px,3.4vh,34px);line-height:1}.pile-hit{position:absolute;top:-6%;right:-6%;bottom:-6%;left:-6%;z-index:40;border:0;padding:0;background:none;cursor:inherit;border-radius:calc(var(--card-radius) * 1.5);-webkit-tap-highlight-color:transparent}.pile-hit:disabled{cursor:default}.pile-hit:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.pile-ring-empty{border-style:dotted;opacity:.5}.seat-flag{font-size:var(--type-size-caption);letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--danger) 80%,var(--text))}.discard-pile[data-targeted=yes] .pile-ring{border-style:solid;border-color:color-mix(in srgb,var(--gold) 78%,transparent);box-shadow:0 0 0 4px var(--gold-soft)}.deck-stack[data-drop-zone=deck]:hover .pile-ring,.deck-stack[data-emptied=yes] .pile-ring{border-style:dashed;border-color:color-mix(in srgb,var(--gold) 40%,transparent)}.deck-stack[data-emptied=yes]{opacity:.35}.deck-stack[data-recycling=yes]{opacity:.72}.deck-stack[data-recycling=yes] .pile-ring{border-style:solid;border-color:color-mix(in srgb,var(--gold) 62%,transparent)}.deck-stack[data-recycling=yes] .pile-caption{color:var(--gold)}.table-felt:has(.card[data-state=dragging]) .pile-ring{border-color:color-mix(in srgb,var(--gold) 46%,transparent)}.settle-panel .actions{display:flex;gap:var(--space-sm, 8px);justify-content:center}@media (prefers-reduced-motion: reduce){.card-motion{--deal-order: 0;--deal-stagger: 0ms}}.screen:has(.table-stage){padding:0;gap:0;overflow:hidden}.table-screen{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:clamp(4px,.8vh,10px);height:100%;min-height:0;padding:calc(clamp(4px,1vh,10px) + env(safe-area-inset-top,0px)) calc(clamp(4px,1vw,12px) + env(safe-area-inset-right,0px)) calc(clamp(4px,1vh,10px) + env(safe-area-inset-bottom,0px)) calc(clamp(4px,1vw,12px) + env(safe-area-inset-left,0px))}.hand-rail{display:grid;justify-items:center;gap:clamp(3px,.7vh,9px);padding-bottom:calc(var(--type-size-caption, 11px) * 1.7);min-width:0}.meld-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(6px,1.6vw,20px);min-width:0}.meld-group{--meld-w: calc(var(--card-w) * .46);position:relative;display:flex;align-items:center;height:calc(var(--card-h) * .5);padding:0 calc(var(--card-w) * .12);border-radius:var(--radius-sm, 8px);background:color-mix(in srgb,var(--table-felt-c) 55%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 18%,transparent)}.meld-card{--card-w: var(--meld-w);--card-h: calc(var(--meld-w) * var(--card-ratio))}.meld-group .card-slot{position:relative;left:auto;bottom:auto;margin-left:calc(var(--meld-w) * -.34)}.meld-group .card-slot:first-child{margin-left:0}.meld-more{margin-left:calc(var(--card-w) * .14);font-size:var(--type-size-caption);font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--text) 66%,transparent)}.table-foot{display:grid;gap:clamp(4px,.8vh,10px);min-width:0}.table-side{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:clamp(6px,1.4vw,16px);min-width:0}@media (orientation: portrait){.table-side{grid-template-columns:minmax(0,1fr)}.meld-group{height:calc(var(--card-h) * .42)}.action-btn{min-width:0;padding:0 clamp(7px,2.4vw,12px)}.action-rail{gap:clamp(4px,1vw,8px)}}.chat-shelf{display:grid;gap:4px;min-width:0}.chat-input{flex:1;min-width:0;padding:var(--space-xs, 6px) var(--space-sm, 10px);border-radius:var(--radius-sm, 8px);border:1px solid color-mix(in srgb,var(--gold) 24%,var(--border));background:color-mix(in srgb,var(--surface) 82%,transparent);color:var(--text);box-shadow:inset 0 2px 5px #00000080}.chat-input::placeholder{color:color-mix(in srgb,var(--text-muted) 76%,transparent)}.chat-input:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.chat-log{display:grid;gap:1px;overflow:hidden;font-size:var(--type-size-caption)}.card-slot .card{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;color:var(--card-ink);text-align:initial;-webkit-tap-highlight-color:transparent}.table-centre{z-index:2}.hand-rail{position:relative;z-index:3}.table-chrome{z-index:2}@media (max-height: 420px){.table-felt{gap:2px;padding:clamp(4px,1vh,9px) clamp(7px,1.4vh,18px)}.table-body{padding:clamp(4px,1vh,8px)}.seat-ring,.table-screen{gap:2px}.table-side{gap:4px}.chat-log{display:none}.card-corner .rank{font-size:max(1.06em,11px)}}
