:root{color:#f7f1de;font-synthesis:none;text-rendering:geometricprecision;--bg:#15120d;--panel:#241b12;--panel-soft:#302317;--felt:#14583f;--felt-dark:#0d3e2e;--felt-light:#1f7653;--brass:#d8ad59;--cream:#fbf1db;--ink:#2f2418;--muted:#c9b899;--line:#ffefc82e;--shadow:0 24px 70px #00000059;--app-height:100vh;--app-width:100vw;--browser-bottom-clearance:0px;background:#15120d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;min-height:var(--app-height)}body{background:radial-gradient(circle at 50% 10%,#207c5538,#0000 34rem),linear-gradient(145deg,#0f0d0a 0%,#23180f 54%,#0c0a08 100%);min-width:320px;margin:0;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}.start-shell{place-items:center;min-height:100vh;padding:28px;display:grid}.start-panel{border:1px solid var(--line);width:min(1120px,100%);box-shadow:var(--shadow);background:linear-gradient(135deg,#ffffff0d,#ffffff03),#1c140deb;border-radius:8px;padding:30px}.brand-lockup{align-items:center;gap:18px;margin-bottom:24px;display:flex}.brand-mark{color:#1c130b;background:linear-gradient(145deg,#f0cf86,#b87b2b);border-radius:8px;place-items:center;width:64px;height:64px;display:grid;box-shadow:0 16px 34px #00000052}h1,h2,p{margin:0}h1{letter-spacing:0;font-size:clamp(42px,7vw,84px);line-height:.92}h2{font-size:18px;line-height:1.25}p{color:var(--muted);line-height:1.55}.setup-grid{grid-template-columns:minmax(0,1fr) 145px 160px 170px;gap:14px;margin-bottom:16px;display:grid}.field{color:#ecd9b5;gap:8px;font-size:13px;font-weight:700;display:grid}.field input,.field select{border:1px solid var(--line);min-width:0;height:46px;color:var(--cream);background:#130f0b;border-radius:8px;outline:none;padding:0 14px}.field input:focus,.field select:focus{border-color:#d8ad59b8;box-shadow:0 0 0 3px #d8ad592e}.skin-strip{border:1px solid var(--line);background:#0b2d2261;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin-bottom:16px;padding:10px;display:grid}.skin-strip-title,.skin-option{align-items:center;display:inline-flex}.skin-strip-title{color:#f2d78e;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;gap:8px;font-size:12px;font-weight:950}.skin-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.skin-picker.compact{grid-template-columns:repeat(auto-fit,minmax(106px,1fr))}.skin-option{color:#f7e8c4;cursor:pointer;touch-action:manipulation;background:#ffffff0b;border:1px solid #ffefc824;border-radius:8px;justify-content:flex-start;gap:9px;min-width:0;min-height:44px;padding:7px 9px;font-size:12px;font-weight:900}.skin-option.active,.skin-option:focus-visible{color:#211609;background:linear-gradient(145deg,#ffdf95,#c78a31);border-color:#ffd98ac7;outline:none;box-shadow:0 0 0 3px #d8ad5929}.skin-swatch-row{border:1px solid #ffefc852;border-radius:999px;flex:none;display:inline-flex;overflow:hidden;box-shadow:inset 0 0 0 1px #00000038}.skin-swatch{width:16px;height:16px}.skin-option-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (width<=760px){.skin-strip,.skin-picker{grid-template-columns:1fr}}.field.compact{margin:14px 0}.mode-grid{grid-template-columns:1.15fr 1fr .8fr;gap:16px;display:grid}.mode-panel{border:1px solid var(--line);background:#0b2d2294;border-radius:8px;flex-direction:column;align-items:flex-start;gap:14px;min-height:250px;padding:20px;display:flex}.join-panel{background:#372719a3}.mode-heading{color:var(--cream);align-items:center;gap:10px;display:flex}.segmented{border:1px solid var(--line);background:#04140f99;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%;padding:5px;display:grid}.segmented button,.size{min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-size:12px;font-weight:800}.segmented button.active,.size.active{color:#20160c;background:var(--brass)}.primary-button,.secondary-button,.primary-small,.secondary-small,.icon-text,.code-button{border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:850;display:inline-flex}.primary-button,.primary-small{color:#211609;background:linear-gradient(145deg,#ffd98a,#c78631);box-shadow:0 12px 22px #00000047}.secondary-button,.secondary-small,.icon-text,.code-button{color:var(--cream);border:1px solid var(--line);background:#ffffff0f}.primary-button,.secondary-button{width:100%;margin-top:auto}.join-actions{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:auto;display:grid}.join-actions .secondary-button{margin-top:0}.watch-button{background:#0b283475;border-color:#5fc2ff6b}.primary-small,.secondary-small,.icon-text{min-height:38px;padding:0 12px;font-size:13px}.table-size-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:100%;display:grid}.size{border:1px solid var(--line);background:#ffffff0a}.rule-strip{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.rule-chip{border:1px solid var(--line);color:#ead8b6;background:#ffffff0d;border-radius:8px;align-items:center;gap:8px;min-height:34px;padding:0 12px;font-size:13px;font-weight:750;display:inline-flex}.status,.toast{margin-top:16px;font-size:13px}.status.good{color:#84dcae}.toast{color:#ffd68a}.toast.inline{margin-top:0;margin-bottom:8px}.game-shell{grid-template-rows:auto 1fr;gap:14px;min-height:100vh;padding:16px;display:grid}.topbar{border:1px solid var(--line);background:#19120ce0;border-radius:8px;grid-template-columns:minmax(260px,1fr) auto minmax(260px,1fr);align-items:center;gap:14px;min-height:60px;padding:10px 14px;display:grid;box-shadow:0 16px 38px #0000003d}.topbar-left,.topbar-center,.topbar-right,.action-cluster{align-items:center;gap:10px;display:flex}.topbar-center{color:#e6d3ae;justify-content:center;font-size:13px;font-weight:800}.topbar-right{justify-content:flex-end}.mini-brand{font-size:24px;font-weight:950}.code-button{letter-spacing:.08em;min-height:36px;font-size:13px}.connection{color:#f0a77e;font-size:12px;font-weight:900}.connection.on{color:#7edaa9}.table-layout{grid-template-columns:260px minmax(0,1fr) 310px;gap:14px;min-height:0;display:grid}.score-rail,.right-panel{min-width:0}.score-rail,.panel-card{border:1px solid var(--line);background:#1d150ee0;border-radius:8px;box-shadow:0 18px 38px #00000038}.score-rail{padding:16px}.score-rail h2,.panel-card h2,.hand-header h2{color:var(--cream);font-size:16px}.score-row{border-bottom:1px solid #ffefc81a;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.score-row.active strong{color:#ffd98a}.score-row.out{opacity:.52}.score-row div,.result-row div{gap:2px;display:grid}.score-row strong,.result-row strong{color:#f9ecd1;font-size:14px}.score-row span,.result-row span{color:var(--muted);font-size:12px}.score-row b,.result-row b{color:var(--brass)}.rule-note{color:var(--muted);align-items:flex-start;gap:8px;margin-top:14px;font-size:12px;line-height:1.45;display:flex}.felt-wrap{grid-template-rows:minmax(360px,1fr) auto;gap:14px;min-width:0;display:grid}.felt-table{background:radial-gradient(circle at 50% 40%, #ffffff1a, transparent 19rem), radial-gradient(circle, var(--felt-light), var(--felt) 46%, var(--felt-dark));border:12px solid #4a2e19;border-radius:50%;min-height:430px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 8px #ffefc814,inset 0 0 90px #00000047,0 22px 68px #00000057}.center-piles{z-index:18;pointer-events:none;justify-content:center;align-items:center;gap:22px;display:flex;position:absolute;inset:0}.pile{pointer-events:auto;width:116px;height:154px;color:var(--cream);background:repeating-linear-gradient(135deg,#ffffff14 0 8px,#0000 8px 16px),#1b3e31;border:2px solid #fff4d78c;border-radius:8px;align-content:center;place-items:center;gap:8px;display:grid;box-shadow:0 20px 34px #00000047}.pile span{font-size:42px;font-weight:950}.pile small{color:#e9d6b0;text-transform:uppercase;font-size:12px;font-weight:850}.pile:disabled{cursor:default;opacity:1}.turn-plaque{color:#261908;background:#f1c56ff0;border:1px solid #ffefc83d;border-radius:8px;align-items:center;gap:8px;max-width:min(78%,460px);min-height:40px;padding:0 16px;font-size:14px;font-weight:900;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 14px 24px #0000003d}.seat-ring{position:absolute;inset:0}.seat{min-width:118px;max-width:148px;color:var(--cream);background:#130e09b8;border:1px solid #ffefc833;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:30px 1fr;align-items:center;gap:2px 8px;padding:8px 10px;display:grid;position:absolute}.seat.active{border-color:#ffd98af2;box-shadow:0 0 0 3px #ffd98a2e}.seat.me{background:#ffd98a2e}.avatar{color:#211609;background:#e0b862;border-radius:8px;grid-row:1/span 2;place-items:center;width:30px;height:30px;display:grid}.seat-title{align-items:baseline;gap:7px;min-width:0;display:flex}.seat-title strong{color:#fff4dc;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.seat-title b{color:#e2bb64;letter-spacing:.02em;white-space:nowrap;flex:none;font-size:11px;font-weight:950}.seat-card-count{color:var(--muted);font-size:11px;font-weight:800}.seat-0{bottom:70px;left:50%;transform:translate(-50%)}.seat-1{bottom:28%;right:7%}.seat-2{top:28px;left:50%;transform:translate(-50%)}.seat-3{bottom:28%;left:7%}.seat-4{top:12%;right:15%}.seat-5{bottom:12%;right:15%}.seat-6{top:12%;left:15%}.seat-7{bottom:12%;left:15%}.hand-zone{border:1px solid var(--line);background:#130e0ae0;border-radius:8px;min-width:0;padding:14px}.resolution-stage{background:linear-gradient(135deg,#d8ad5924,#14583f21),#17120b;border:1px solid #d8ad5980;border-radius:8px;gap:14px;min-width:0;padding:16px;display:grid;box-shadow:0 18px 40px #0000003d}.felt-wrap.resolving .resolution-stage{z-index:8;max-height:250px;position:absolute;bottom:350px;left:18px;right:18px;overflow:auto}.resolution-header,.resolution-actions,.resolution-meld-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.resolution-header p,.resolution-actions p{font-size:13px}.resolution-status{color:#25190d;background:#d8ad59;border-radius:8px;flex:none;align-items:center;min-height:32px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.resolution-melds{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.resolution-meld{background:#ffffff0d;border:1px solid #ffefc824;border-radius:8px;gap:10px;padding:12px;display:grid}.resolution-meld-title span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:900}.resolution-meld-title strong,.resolution-actions strong{color:#fbefd3;font-size:14px}.mini-card-row{flex-wrap:wrap;gap:8px;display:flex}.resolution-actions{align-items:flex-start;padding-top:2px}.hand-header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.hand-header p{font-size:13px}.hand-row{gap:8px;min-height:156px;padding:4px 2px 10px;display:flex;overflow-x:auto}.card-button{cursor:grab;touch-action:manipulation;background:0 0;border:0;border-radius:8px;flex:none;padding:0}.card-button.selected{transform:translateY(-10px)}.card-button.dragging{opacity:.42;cursor:grabbing}.playing-card{color:#372414;text-align:left;background:radial-gradient(circle at 50% 38%,#ffffffb8,#fff0 48%),linear-gradient(145deg,#ffffffb8,#fff0),#fff1d5;border:2px solid #57371d5c;border-radius:8px;width:96px;height:138px;padding:7px;position:relative;overflow:hidden;box-shadow:0 12px 22px #00000038}.playing-card:before{content:"";pointer-events:none;border:1px solid #8554275c;border-radius:5px;position:absolute;inset:6px;box-shadow:inset 0 0 0 1px #fffceba6}.playing-card:after{content:"";pointer-events:none;border:1px solid #85542729;border-radius:4px;position:absolute;inset:12px}.playing-card.compact{width:82px;height:112px;box-shadow:none}.card-corner{z-index:3;color:var(--suit);justify-items:center;gap:1px;display:grid;position:absolute}.card-corner-bottom{bottom:9px;right:9px;transform:rotate(180deg)}.card-corner b{color:#38210f;font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:900;line-height:1}.card-corner .suit-symbol{width:17px;height:17px}.spanish-art{z-index:2;width:100%;height:calc(100% - 28px);margin-top:10px;position:relative}.pip-canvas{height:calc(100% - 20px)}.pip-place{place-items:center;width:28px;height:28px;display:grid;position:absolute;transform:translate(-50%,-50%)}.suit-symbol{width:100%;height:100%;color:var(--suit);filter:drop-shadow(0 1px #ffffff8c);display:block}.coin-outer{fill:#e8be50;stroke:#7a531d;stroke-width:3px}.coin-inner{fill:#f7db85;stroke:#a06d20;stroke-width:3px}.cup-bowl{fill:#d65f62e6;stroke:#6d2d2e;stroke-width:3px}.sword-blade{fill:#4d85dfe0;stroke:#233e76;stroke-width:3px}.club-staff{fill:#4d8648e6;stroke:#285127;stroke-width:3px}.suit-line{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.face-art{place-items:center;height:calc(100% - 18px);display:grid}.figure-card{width:58%;height:74%;color:var(--suit);background:linear-gradient(#ffffff75,#ffe2a98a),repeating-linear-gradient(90deg,#7d43181f 0 2px,#0000 2px 8px);border:1px solid #59321752;border-radius:50% 50% 8px 8px/32% 32% 8px 8px;align-content:center;justify-items:center;gap:3px;display:grid;position:relative}.figure-crown{color:#7b4a1e;letter-spacing:1px;font-family:Georgia,Times New Roman,serif;font-size:9px;font-weight:900;position:absolute;top:5px}.figure-head{background:#f0c891;border:2px solid #57341899;border-radius:50%;width:22px;height:22px;margin-top:10px}.figure-body{color:#fffbec;background:var(--suit);border-radius:5px 5px 14px 14px;place-items:center;gap:1px;width:72%;min-height:40px;display:grid;box-shadow:inset 0 0 0 2px #ffffff38}.figure-body span{font-size:10px;font-weight:900}.figure-body .suit-symbol{--suit:#fff5d2;width:20px;height:20px}.figure-base{background:#53301661;border-radius:999px;width:64%;height:6px}.spanish-card-title{z-index:3;color:#4a3724;text-align:center;gap:1px;display:grid;position:absolute;bottom:12px;left:18px;right:18px}.spanish-card-title span{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:900;line-height:1.12;overflow:hidden}.spanish-card-title small{color:#7c5c35;font-size:10px;font-weight:900}.playing-card.compact .card-corner b{font-size:15px}.playing-card.compact .card-corner .suit-symbol{width:12px;height:12px}.playing-card.compact .spanish-card-title{bottom:8px;left:13px;right:13px}.playing-card.compact .spanish-card-title small{display:none}.playing-card.compact .figure-card{width:62%;height:70%}.playing-card.compact .figure-head{width:15px;height:15px}.playing-card.compact .figure-body{min-height:26px}.playing-card.compact .figure-body span{font-size:8px}.right-panel{align-content:start;gap:14px;display:grid}.panel-card{padding:16px}.meld-list,.result-list,.log-list{gap:8px;margin-top:12px;display:grid}.meld-row,.result-row,.unmatched,.winner-box{background:#ffffff0a;border:1px solid #ffefc81f;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.meld-row{grid-template-columns:46px 1fr auto;display:grid}.meld-row span,.meld-row small{color:var(--muted);font-size:11px;font-weight:900}.meld-row strong{color:#fbefd3;font-size:13px}.unmatched{margin-top:12px}.unmatched span,.small-copy,.empty-text{color:var(--muted);font-size:13px}.small-copy{margin-top:10px}.winner-box{color:#20160c;background:#d8ad59;justify-content:flex-start;margin-top:12px;font-weight:900}.layoff-list{border-top:1px solid #ffefc81f;gap:5px;margin-top:10px;padding-top:10px;display:grid}.layoff-list p{color:#dbc9a5;font-size:12px;line-height:1.4}.log-card{max-height:300px;overflow:auto}.log-list p{color:#dbc9a5;font-size:12px;line-height:1.4}@media (width<=1180px){.table-layout{grid-template-columns:minmax(0,1fr)}.score-rail,.right-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.right-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.rule-note{grid-column:1/-1}}@media (width<=860px){.start-shell,.game-shell{padding:10px}.start-panel{padding:18px}.setup-grid,.mode-grid,.topbar,.score-rail,.right-panel{grid-template-columns:1fr}.topbar-left,.topbar-center,.topbar-right{flex-wrap:wrap;justify-content:flex-start}.felt-table{border-width:8px;min-height:360px}.seat{min-width:104px;max-width:120px;padding:7px}.center-piles{gap:12px}.pile{width:96px;height:130px}.playing-card{width:86px;height:126px}.hand-header{flex-direction:column;align-items:flex-start}}@media (width<=520px){.brand-lockup{flex-direction:column;align-items:flex-start}.segmented{grid-template-columns:repeat(2,minmax(0,1fr))}.table-size-row{grid-template-columns:repeat(4,minmax(0,1fr))}.felt-table{border-radius:26px}.seat-0,.seat-2{transform:translate(-50%)scale(.9)}.seat-1,.seat-3,.seat-4,.seat-5,.seat-6,.seat-7{transform:scale(.86)}}.game-shell{--brass:var(--skin-brass,#d8ad59);--felt:var(--skin-felt-mid,#14583f);--felt-dark:var(--skin-felt-low,#0d3e2e);--felt-light:var(--skin-felt-hi,#1f7653);--line:var(--skin-line,#ffefc82e);--panel:var(--skin-panel,#241b12);background:radial-gradient(circle at 50% 20%, rgba(var(--skin-brass-rgb,216, 173, 89), .12), transparent 38rem), repeating-linear-gradient(90deg, #ffffff05 0 2px, transparent 2px 9px), linear-gradient(110deg, var(--skin-room-start,#120b06) 0%, var(--skin-room-mid,#24140a) 42%, var(--skin-room-end,#0f0905) 100%);grid-template-rows:auto minmax(0,1fr) auto;gap:10px;min-height:100vh;padding:10px}.game-shell.resolving-shell,.game-shell.spectator-shell{gap:8px;padding-top:8px;padding-bottom:8px}@media (width>=1181px){.game-shell.spectator-shell{height:100vh;overflow:hidden}}.game-shell.resolving-shell .topbar{min-height:76px;padding-top:8px;padding-bottom:8px}.game-shell.spectator-shell .topbar{min-height:82px;padding-top:8px;padding-bottom:8px}.game-shell.resolving-shell .table-logo strong{font-size:38px}.game-shell.spectator-shell .table-logo strong{font-size:40px}.game-shell.resolving-shell .table-logo span,.game-shell.spectator-shell .table-logo span{margin-top:4px}.game-shell.resolving-shell .room-card,.game-shell.spectator-shell .room-card{padding-top:7px;padding-bottom:7px}.topbar{z-index:30;border-color:var(--skin-line,#d8ad5957);background:var(--skin-panel,#0d0a07b3);grid-template-columns:minmax(370px,1fr) auto minmax(180px,1fr);min-height:92px;padding:10px 16px;position:relative;box-shadow:inset 0 0 0 1px #ffefc80f,0 16px 40px #0000004d}.topbar-left{gap:16px}.table-logo{color:var(--skin-brass,#f3cf7b);text-shadow:0 2px #241407,0 10px 22px #00000073;align-items:center;gap:10px;display:flex}.table-logo strong{color:var(--skin-brass,#f3cf7b);font-family:Georgia,Times New Roman,serif;font-size:44px;font-weight:900;line-height:.9;display:block}.table-logo span{border:1px solid rgba(var(--skin-brass-rgb,216, 173, 89), .45);color:#9ddd68;text-transform:uppercase;background:#033020c7;border-radius:999px;margin-top:6px;padding:2px 8px;font-size:10px;font-weight:900;display:inline-block}.room-card{border:1px solid rgba(var(--skin-brass-rgb,216, 173, 89), .36);background:var(--skin-panel,#120e0adb);border-radius:8px;min-width:180px;padding:10px 14px}.room-card span,.room-card small,.round-badge span{color:#b99f73;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:900;display:block}.room-card .code-button{color:#fff1d2;letter-spacing:.05em;background:0 0;border:0;justify-content:flex-start;min-height:30px;padding:0;font-family:Georgia,Times New Roman,serif;font-size:22px}.topbar-center{border:1px solid rgba(var(--skin-brass-rgb,216, 173, 89), .34);background:var(--skin-panel,#100c08d6);border-radius:8px;gap:0;overflow:hidden}.nav-button{border:0;border-right:1px solid rgba(var(--skin-brass-rgb,216, 173, 89), .24);color:#f6e3bd;text-transform:uppercase;cursor:pointer;touch-action:manipulation;background:0 0;justify-content:center;align-items:center;gap:8px;min-width:108px;min-height:46px;font-size:13px;font-weight:900;display:inline-flex}.nav-button:last-child{border-right:0}.nav-button.active,.nav-button:focus-visible{color:#201307;background:linear-gradient(180deg, var(--skin-brass,#f1cf7c), #c58a2e);outline:none}.fullscreen-hint{z-index:120;color:#fff0c9;background:#0c0906f0;border:1px solid #d8ad598a;border-radius:8px;max-width:min(360px,100vw - 32px);padding:10px 12px;font-size:13px;font-weight:850;position:fixed;top:74px;right:16px;box-shadow:0 16px 34px #0000006b}.topbar-right{gap:10px}.name-editor{color:#b99f73;letter-spacing:.08em;text-transform:uppercase;gap:3px;min-width:150px;font-size:9px;font-weight:900;display:grid}.name-editor input{color:#fff1d2;text-transform:none;background:#120e0adb;border:1px solid #d8ad5957;border-radius:8px;outline:none;width:100%;min-width:0;height:32px;padding:0 9px;font-size:13px;font-weight:850}.name-editor input:focus{border-color:#d8ad59c2;box-shadow:0 0 0 3px #d8ad5929}.panel-drawer-backdrop{z-index:100;padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));-webkit-overflow-scrolling:touch;background:#0504037a;place-items:start end;display:grid;position:fixed;inset:0;overflow:auto}.panel-drawer{width:min(430px,100vw - 20px);max-height:min(calc(var(--app-height) - 20px), calc(100vh - 20px));border:1px solid rgba(var(--skin-brass-rgb,216, 173, 89), .5);color:#f8ead0;background:radial-gradient(ellipse at 0% 0%, rgba(var(--skin-brass-rgb,216, 173, 89), .16), transparent 58%), var(--skin-panel,#0c0a07f5);border-radius:8px;gap:10px;padding:12px;display:grid;overflow:auto;box-shadow:inset 0 0 0 1px #ffefc814,0 26px 70px #0000008f}.panel-drawer-header{z-index:2;border-bottom:1px solid rgba(var(--skin-brass-rgb,216, 173, 89), .3);background:var(--skin-panel,#0c0a07fa);justify-content:space-between;align-items:center;gap:12px;margin:-12px -12px 0;padding:12px;display:flex;position:sticky;top:-12px}.panel-drawer-header h2{color:#fff2cf;font-family:Georgia,Times New Roman,serif;font-size:25px;line-height:1}.drawer-close{border:1px solid rgba(var(--skin-brass-rgb,216, 173, 89), .42);color:#ffedc3;cursor:pointer;touch-action:manipulation;background:#1c140cf2;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.drawer-stack{gap:10px;display:grid}.round-history-card{min-width:0}.round-history-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.round-history-title h2{margin:0}.round-history-title p{color:#cbb892;font-size:12px;font-weight:800}.round-history-title>strong{color:#fff2cf;background:#00000038;border:1px solid #d8ad5959;border-radius:8px;place-items:center;min-width:52px;min-height:52px;font-family:Georgia,Times New Roman,serif;font-size:22px;display:grid}.round-history-list{gap:10px;display:grid}.round-history-entry{background:#ffffff09;border:1px solid #ffefc81f;border-radius:8px;gap:10px;padding:10px;display:grid}.round-history-header,.round-history-result{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.round-history-header span{color:#d8bb73;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:950}.round-history-header strong{color:#fff2cf;font-size:16px;display:block}.round-history-header em{color:#251806;text-transform:uppercase;background:#e2bb64;border-radius:999px;flex:none;align-items:center;min-height:26px;padding:0 9px;font-size:10px;font-style:normal;font-weight:950;display:inline-flex}.round-history-results{gap:6px;display:grid}.round-history-result{background:#0504032e;border:1px solid #ffefc814;border-radius:8px;padding:7px 8px}.round-history-result span{gap:1px;min-width:0;display:grid}.round-history-result strong,.round-history-result small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.round-history-result strong{color:#fff2cf;font-size:13px}.round-history-result small{color:#bfa77b;font-size:10px;font-weight:800}.round-history-result b{color:#ffd37c;font-size:14px}.round-history-result em{color:#dac69e;text-align:right;min-width:52px;font-size:11px;font-style:normal;font-weight:850}.round-history-notes{color:#d6c39d;gap:5px;font-size:11px;font-weight:800;display:grid}.drawer-section{border:1px solid rgba(var(--skin-brass-rgb,216, 173, 89), .32);background:#100e0ae0;border-radius:8px;gap:10px;padding:12px;display:grid}.drawer-section h2,.drawer-section h3{color:#fff2cf;font-size:15px}.drawer-section-title{color:var(--skin-brass,#e2bb64);align-items:center;gap:8px;display:flex}.drawer-room-summary{grid-template-columns:1fr auto;align-items:center}.drawer-room-summary span,.drawer-name-form span,.drawer-settings-grid span{color:#b99f73;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900}.drawer-code-button{color:#fff1d2;letter-spacing:.05em;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;min-height:28px;font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:900;display:inline-flex}.drawer-player-list,.drawer-settings-grid{gap:8px;display:grid}.drawer-player{background:#ffffff09;border:1px solid #ffefc81f;border-radius:8px;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;min-width:0;padding:8px;display:grid}.drawer-player.active{background:#e2bb641f;border-color:#e2bb6499}.drawer-seat-number{color:#1d1208;background:#e2bb64;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:950;display:grid}.drawer-player div{gap:2px;min-width:0;display:grid}.drawer-player strong,.drawer-player small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.drawer-player small{color:#cbb58d;font-size:12px;font-weight:800}.drawer-player em{color:#241506;letter-spacing:.06em;text-transform:uppercase;background:#e2bb64;border-radius:999px;padding:3px 7px;font-size:9px;font-style:normal;font-weight:950}.drawer-action-row{grid-template-columns:repeat(2,minmax(0,1fr))}.drawer-name-form{grid-template-columns:1fr auto;align-items:end}.drawer-name-form label{gap:5px;min-width:0;display:grid}.drawer-name-form input{color:#fff1d2;background:#080705eb;border:1px solid #d8ad595c;border-radius:8px;outline:none;width:100%;min-width:0;height:38px;padding:0 10px;font-size:15px;font-weight:850}.drawer-name-form input:focus{border-color:#d8ad59c2;box-shadow:0 0 0 3px #d8ad5929}.drawer-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.drawer-settings-grid div{background:#ffffff09;border:1px solid #ffefc81a;border-radius:8px;gap:3px;min-width:0;padding:9px;display:grid}.drawer-settings-grid strong{color:#fff0bf;font-size:14px}.table-layout{grid-template-columns:minmax(0,1fr) 318px;gap:12px}.game-shell.resolving-shell .table-layout,.game-shell.spectator-shell .table-layout{min-height:0}.felt-wrap{grid-template-rows:minmax(520px,1fr) auto;gap:0;min-height:0;position:relative}.felt-table{background:radial-gradient(circle at 8% 50%, var(--skin-pin-core,#ffe19a) 0 4px, var(--skin-pin-ring,#a76a25) 5px, var(--skin-pin-shadow,#3a1e0e) 6px, transparent 7px), radial-gradient(circle at 17% 23%, var(--skin-pin-core,#ffe19a) 0 4px, var(--skin-pin-ring,#a76a25) 5px, var(--skin-pin-shadow,#3a1e0e) 6px, transparent 7px), radial-gradient(circle at 32% 12%, var(--skin-pin-core,#ffe19a) 0 4px, var(--skin-pin-ring,#a76a25) 5px, var(--skin-pin-shadow,#3a1e0e) 6px, transparent 7px), radial-gradient(circle at 50% 9%, var(--skin-pin-core,#ffe19a) 0 4px, var(--skin-pin-ring,#a76a25) 5px, var(--skin-pin-shadow,#3a1e0e) 6px, transparent 7px), radial-gradient(circle at 68% 12%, var(--skin-pin-core,#ffe19a) 0 4px, var(--skin-pin-ring,#a76a25) 5px, var(--skin-pin-shadow,#3a1e0e) 6px, transparent 7px), radial-gradient(circle at 83% 23%, var(--skin-pin-core,#ffe19a) 0 4px, var(--skin-pin-ring,#a76a25) 5px, var(--skin-pin-shadow,#3a1e0e) 6px, transparent 7px), radial-gradient(circle at 92% 50%, var(--skin-pin-core,#ffe19a) 0 4px, var(--skin-pin-ring,#a76a25) 5px, var(--skin-pin-shadow,#3a1e0e) 6px, transparent 7px), radial-gradient(circle at 83% 77%, var(--skin-pin-core,#ffe19a) 0 4px, var(--skin-pin-ring,#a76a25) 5px, var(--skin-pin-shadow,#3a1e0e) 6px, transparent 7px), radial-gradient(circle at 68% 88%, var(--skin-pin-core,#ffe19a) 0 4px, var(--skin-pin-ring,#a76a25) 5px, var(--skin-pin-shadow,#3a1e0e) 6px, transparent 7px), radial-gradient(circle at 50% 91%, var(--skin-pin-core,#ffe19a) 0 4px, var(--skin-pin-ring,#a76a25) 5px, var(--skin-pin-shadow,#3a1e0e) 6px, transparent 7px), radial-gradient(circle at 32% 88%, var(--skin-pin-core,#ffe19a) 0 4px, var(--skin-pin-ring,#a76a25) 5px, var(--skin-pin-shadow,#3a1e0e) 6px, transparent 7px), radial-gradient(circle at 17% 77%, var(--skin-pin-core,#ffe19a) 0 4px, var(--skin-pin-ring,#a76a25) 5px, var(--skin-pin-shadow,#3a1e0e) 6px, transparent 7px), radial-gradient(ellipse at 50% 48%, rgba(var(--skin-brass-rgb,216, 173, 89), .18), transparent 39%), repeating-linear-gradient(96deg, #ffe8aa17 0 2px, transparent 2px 13px), linear-gradient(115deg, var(--skin-rail-a,#2a1308) 0%, var(--skin-rail-b,#74401f) 18%, var(--skin-rail-c,#3a1b0c) 36%, var(--skin-rail-d,#8a512a) 54%, var(--skin-rail-c,#3b1a0d) 72%, var(--skin-rail-a,#201006) 100%);border:0;min-height:560px;box-shadow:inset 0 0 0 5px #160a05f2,inset 0 0 0 20px #8e522694,inset 0 0 0 27px #ffda8833,inset 0 0 0 43px #200e06cc,inset 0 0 90px #0000006b,0 24px 70px #00000070}.felt-table:before{content:"";z-index:0;border:2px solid rgba(var(--skin-brass-rgb,216, 173, 89), .22);background:radial-gradient(ellipse at 50% 45%, #ffffff24, transparent 24rem), radial-gradient(ellipse at 50% 50%, var(--skin-felt-hi,#176f4b) 0%, var(--skin-felt-mid,#0f5b3b) 53%, var(--skin-felt-low,#08341f) 100%);box-shadow:inset 0 0 0 5px #052214e6, inset 0 0 0 9px rgba(var(--skin-brass-rgb,216, 173, 89), .1), inset 0 0 88px #0000008a, 0 0 22px #00000059;pointer-events:none;border-radius:50%;position:absolute;inset:42px 46px}.felt-table:after{content:"";z-index:1;border:2px solid rgba(var(--skin-brass-rgb,216, 173, 89), .33);pointer-events:none;border-radius:42px;position:absolute;inset:25% 29%}.felt-table>*{z-index:2}.felt-table .center-piles{z-index:18}.felt-table.my-turn{box-shadow:inset 0 0 0 5px #160a05f2, inset 0 0 0 20px #8e522694, inset 0 0 0 27px #ffda883d, inset 0 0 0 43px #200e06cc, inset 0 0 90px #0000006b, 0 24px 70px #00000070, 0 0 0 2px var(--skin-glow,#eabf5b47)}.felt-table.resolve-step{filter:saturate(1.04)}.felt-table.resolve-step .turn-plaque,.felt-table.score-step .center-piles,.felt-table.score-step .turn-plaque,.felt-table.score-step .table-spotlight{display:none}.felt-table.score-step .seat.active{animation:none;box-shadow:0 0 0 2px #e2bb6438,0 12px 28px #00000042}.felt-table.score-step .seat em,.felt-table.draw-step .table-spotlight,.felt-table.discard-step .table-spotlight,.felt-table.draw-step .turn-plaque,.felt-table.discard-step .turn-plaque,.felt-table.draw-step .seat.me,.felt-table.discard-step .seat.me{display:none}.table-spotlight{z-index:4;color:#fff1c4;text-align:center;pointer-events:none;background:linear-gradient(135deg,#ffdb8321,#0000 48%),#0c0a07d1;border:1px solid #ffe09170;border-radius:8px;align-content:center;justify-items:center;gap:3px;width:min(330px,38%);min-height:58px;padding:8px 14px;animation:1.6s both spotlight-in;display:grid;position:absolute;top:112px;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #fff4d214,0 18px 34px #00000057}.table-spotlight.tone-your-turn,.table-spotlight.tone-turn{text-align:left;justify-items:start;width:min(260px,24%);padding:9px 12px;top:122px;left:clamp(128px,18%,240px);transform:none}.table-spotlight.tone-your-turn strong,.table-spotlight.tone-turn strong{font-size:18px}.table-spotlight.tone-your-turn small,.table-spotlight.tone-turn small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;overflow:hidden}.table-spotlight span{color:#d9bc74;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:950}.table-spotlight strong{color:#fff6dc;font-family:Georgia,Times New Roman,serif;font-size:20px;line-height:1}.table-spotlight small{color:#d9c79d;font-size:12px;font-weight:800}.table-spotlight.tone-your-turn{background:radial-gradient(at 50% 0,#9ce14933,#0000 68%),#0a180bdb;border-color:#9ce1499e}.table-spotlight.tone-close,.table-spotlight.tone-score{background:radial-gradient(at 50% 0,#eebd5647,#0000 68%),#221407e0;border-color:#eebd56b8}.table-spotlight.tone-resolve{background:radial-gradient(at 50% 0,#5fc2ff2e,#0000 68%),#091519db;border-color:#5fc2ff80}.table-result-card{z-index:22;color:#fff3cf;background:linear-gradient(135deg,#eebd562e,#0e0b08eb),#0f0c08f0;border:1px solid #eebd5694;border-radius:8px;gap:12px;width:min(720px,62%);max-height:calc(100% - 150px);padding:18px;animation:.35s both score-card-in;display:grid;position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 24px 48px #00000075}.table-result-card span{color:#d9bc74;letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:950}.table-result-card strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,4vw,44px);line-height:1}.table-result-deltas{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;display:grid}.table-result-deltas em{color:#e8d9b7;background:#ffffff0a;border:1px solid #ffefc821;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;min-width:0;padding:10px;font-size:11px;font-style:normal;font-weight:850;display:grid}.table-result-deltas em span,.table-result-deltas em small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.table-result-deltas em span{color:#fff3cf;letter-spacing:0;text-transform:none;grid-area:1/1;font-size:13px}.table-result-deltas em small{color:#cfb686;text-transform:uppercase;grid-area:2/1;font-size:10px;font-weight:900}.table-result-deltas b{color:#fff0bf;grid-area:1/2/span 2;align-self:center;font-size:22px}.table-result-deltas i{color:#e2bb64;grid-column:1/-1;font-size:11px;font-style:normal;font-weight:950}.table-result-actions{justify-content:center;align-items:center;min-height:38px;padding-top:2px;display:flex}.table-result-actions p{color:#d8c49e;text-align:center;font-size:13px;font-weight:800}.score-next-round{min-width:170px;min-height:42px}.rail-studs{z-index:1;pointer-events:none;position:absolute;inset:0}.rail-stud{background:radial-gradient(circle at 35% 30%,#fff0a8 0 2px,#e4b950 3px 6px,#98631f 7px 100%);border:2px solid #5a340eeb;border-radius:50%;width:15px;height:15px;position:absolute;box-shadow:inset -2px -3px 4px #48280a75,0 2px 2px #0006,0 0 0 1px #ffe69633}.stud-0{top:48%;left:8%}.stud-1{top:26%;left:15%}.stud-2{top:12%;left:29%}.stud-3{top:8%;left:49%}.stud-4{top:12%;right:29%}.stud-5{top:26%;right:15%}.stud-6{top:48%;right:8%}.stud-7{bottom:26%;right:15%}.stud-8{bottom:12%;right:29%}.stud-9{bottom:8%;left:49%}.stud-10{bottom:12%;left:29%}.stud-11{bottom:26%;left:15%}.side-game-stats{z-index:7;gap:0;width:142px;display:grid;position:absolute;bottom:130px;left:6px}.stat-box{background:#0c0a08e6;border:1px solid #d8ad5961;border-bottom:0;align-content:center;justify-items:center;gap:6px;min-height:74px;display:grid}.stat-button{width:100%;color:inherit;font:inherit;text-align:center;cursor:pointer;padding:0}.stat-button:hover,.stat-button:focus-visible{background:#271c0cf0;border-color:#f5ce74c2;outline:none}.stat-box:first-child{border-radius:8px 8px 0 0}.stat-box span{color:#bca47a;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:900}.stat-box strong{color:#fff3d6;font-family:Georgia,Times New Roman,serif;font-size:30px;line-height:1}.points-help{color:#e8d1a4;letter-spacing:.06em;text-transform:uppercase;background:#0c0a08f2;border:1px solid #d8ad5961;border-radius:0 0 8px 8px;justify-content:center;align-items:center;gap:8px;min-height:40px;font-size:11px;font-weight:950;display:inline-flex}.center-piles{z-index:3;gap:34px}.pile{background:#1449327a;border-color:#f5daa0ad;width:112px;height:154px;box-shadow:inset 0 0 0 2px #ffefc814,0 20px 34px #00000052}.pile.stock{background:radial-gradient(at 50% 40%,#ffe0931a,#0000 60%),#0d3825b3}.pile.discard{background:#ffffff12}.pile.available{border-color:#9ce149d1;animation:1.8s ease-in-out infinite available-pulse;box-shadow:inset 0 0 0 2px #ffefc81a,0 20px 34px #00000052,0 0 0 4px #9ce14924,0 0 26px #9ce14942}.card-back-stack{width:74px;height:102px;position:relative}.card-back-stack:before,.card-back-stack:after{content:"";background:repeating-linear-gradient(135deg,#f1daa51f 0 7px,#0000 7px 14px),#163424;border:2px solid #efe0bc;border-radius:7px;position:absolute;inset:5px 0 -5px;box-shadow:0 7px 10px #00000038}.card-back-stack:before{transform:translate(5px,5px)}.card-back-stack:after{transform:translate(10px,10px)}.card-back{z-index:2;border-radius:7px;position:absolute;inset:0;box-shadow:0 12px 18px #0000004d}.card-back img{object-fit:contain;image-rendering:auto;width:100%;height:100%;display:block}.card-back-count{z-index:3;color:#241506;background:#e0b75a;border:1px solid #ffe8aa85;border-radius:999px;place-items:center;min-width:26px;min-height:20px;font-size:12px;font-weight:950;display:grid;position:absolute;bottom:10px;right:50%;transform:translate(50%)}.turn-plaque{z-index:12;color:#2b1a07;background:#d6ad57;bottom:58px}.turn-plaque.tone-your-turn{color:#142008;background:linear-gradient(#bfe66c,#7bad2e)}.turn-plaque.tone-close,.turn-plaque.tone-score{background:linear-gradient(#f0c66a,#bc7626)}.turn-plaque.tone-resolve{color:#071c24;background:linear-gradient(#7ed7ff,#3197c5)}.lobby-table-stage{z-index:20;color:#f8ebcf;text-align:center;background:linear-gradient(#2c1f0ff0,#090805f0),#0b0906f0;border:1px solid #d8ad5994;border-radius:8px;gap:14px;width:min(520px,70%);padding:18px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 1px #fff0c814,0 24px 46px #00000061}.lobby-stage-copy{gap:3px;display:grid}.lobby-stage-copy span{color:#e0bb66;letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:950}.lobby-stage-copy strong{color:#fff2cf;font-family:Georgia,Times New Roman,serif;font-size:30px;line-height:1}.lobby-stage-copy small{color:#d7c39d;font-size:13px;font-weight:800}.lobby-stage-code{color:#fff2d1;background:#ffffff0f;border:1px solid #d8ad596b;border-radius:999px;justify-self:center;align-items:center;gap:7px;min-height:34px;padding:0 12px;display:inline-flex;box-shadow:inset 0 0 0 1px #fff0c80d}.lobby-stage-code span{color:#c3ab79;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:950}.lobby-stage-code strong{letter-spacing:.05em;font-family:Georgia,Times New Roman,serif;font-size:19px}.lobby-stage-players{flex-wrap:wrap;justify-content:center;gap:7px;display:flex}.lobby-stage-players span{color:#f6dfad;background:#ffffff0d;border:1px solid #d8ad5957;border-radius:999px;align-items:center;min-height:28px;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.lobby-stage-players span.me{color:#dff5a9;border-color:#a3df559e}.lobby-stage-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.lobby-start-button{min-width:156px}.seat{background:#0c0906e0;border-color:#d8ad598a;min-width:142px;max-width:170px;box-shadow:0 12px 28px #0000004d}.seat:after{content:"";opacity:.82;image-rendering:auto;pointer-events:none;background:url(/assets/cards/spanish-tatu/back.PNG) 50%/contain no-repeat;border-radius:4px;width:34px;height:50px;position:absolute;top:calc(100% + 8px);right:18px;transform:rotate(5deg);box-shadow:-7px 4px 0 -1px #173b28,-14px 8px 0 -1px #173b28,-7px 4px #efe0bc8a,-14px 8px #efe0bc57,0 8px 12px #00000042}.seat.me:after{display:none}.seat.active{border-color:#e2bb64;animation:1.7s ease-in-out infinite seat-turn-pulse;box-shadow:0 0 0 3px #e2bb642e,0 0 24px #e2bb6447,0 12px 28px #0000004d}.seat em{color:#201307;letter-spacing:.08em;text-transform:uppercase;background:#e2bb64;border-radius:999px;grid-column:2;width:fit-content;padding:2px 6px;font-size:9px;font-style:normal;font-weight:950}.avatar{border:2px solid #ffefc899;border-radius:50%}.seat-0{bottom:126px}.hand-zone{z-index:4;width:min(820px,100% - 56px);box-shadow:none;background:0 0;border-color:#d8ad5938;margin:-84px auto 0;padding:0 14px 12px;position:relative}.hand-zone.resolving{z-index:9;margin-top:-116px;padding-bottom:8px}.hand-zone.resolving .table-action-row{display:none}.hand-zone.resolving .hand-header{margin-bottom:0}.hand-zone.resolving .hand-row{min-height:138px;padding-bottom:6px}.hand-zone.spectator-hand{width:min(820px,100% - 220px);margin-top:-150px;padding-bottom:10px}.hand-zone.spectator-hand .hand-row{background:#0c0a085c;border:1px dashed #d8ad5942;border-radius:8px;justify-content:center;align-items:center;min-height:56px;padding:8px 0 10px}.game-shell.spectator-shell .bottom-bar{min-height:72px}.game-shell.spectator-shell .score-track{min-height:70px;padding-top:10px;padding-bottom:13px}.game-shell.spectator-shell .track-line{height:28px}.game-shell.spectator-shell .track-mark span{top:14px}.game-shell.spectator-shell .track-token{width:28px;height:28px;bottom:-10px}.hand-header{margin:0 0 4px;padding:0 4px}.action-status{text-align:center;background:#0c0906c2;border:1px solid #d8ad5947;border-radius:8px;gap:2px;max-width:540px;min-height:38px;margin:0 auto 8px;padding:7px 12px;display:none}.action-status.warning,.hand-zone.resolving .action-status{display:grid}.action-status span{color:#d7b978;letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:950}.action-status strong{overflow-wrap:anywhere;color:#f8e9c6;font-size:13px;line-height:1.2}.action-status.active{background:#10280fc7;border-color:#9ce1497a}.action-status.action-draw{background:linear-gradient(90deg,#84dcae21,#0000 54%),#092219d6;border-color:#84dcae9e}.action-status.action-discard{background:linear-gradient(90deg,#ffd68a29,#0000 54%),#2b1908d6;border-color:#ffd68aa8}.action-status.action-resolve{background:linear-gradient(90deg,#7ed7ff24,#0000 54%),#071c24d6;border-color:#7ed7ff94}.action-status.action-score{background:linear-gradient(90deg,#e2bb6429,#0000 54%),#261707d6;border-color:#e2bb649e}.action-status.warning{background:#361c08d6;border-color:#ffd68a9e}.hand-row{justify-content:center;min-height:178px;overflow-x:visible}.card-button{touch-action:none;-webkit-user-select:none;user-select:none;margin-left:-8px;transition:transform .16s;position:relative}.card-button:first-child{margin-left:0}.card-button:first-child{transform:rotate(-5deg)translateY(7px)}.card-button:nth-child(2){transform:rotate(-3deg)translateY(2px)}.card-button:nth-child(3){transform:rotate(-1deg)}.card-button:nth-child(5){transform:rotate(2deg)}.card-button:nth-child(6){transform:rotate(4deg)translateY(2px)}.card-button:nth-child(7){transform:rotate(6deg)translateY(8px)}.card-button.selected{z-index:22;transform:translateY(-12px)rotate(0)scale(1.04)}.card-button.selected:before{z-index:3;content:"";pointer-events:none;border:3px solid #ffe36e;border-radius:12px;animation:1.4s ease-in-out infinite selected-card-glow;position:absolute;inset:-8px;box-shadow:0 0 0 3px #211404c7,0 0 22px #ffdf68d1,0 18px 32px #00000061}.card-button.selected:after{display:none}.card-button.selected .playing-card{border-color:#ffe36e;box-shadow:inset 0 0 0 1px #fffbeae6,0 0 0 5px #ffe36e47,0 20px 34px #0000006b}.card-button:hover,.card-button:focus-visible,.card-button.hint-visible{z-index:25}.pile.card-info-surface{position:relative}.pile.card-info-surface.inspectable{cursor:pointer}.card-button:hover:not(.selected),.card-button:focus-visible:not(.selected),.card-button.hint-visible:not(.selected){transform:translateY(-16px)rotate(0)scale(1.04)}.card-button:focus-visible{outline:none}.card-button:hover .playing-card.asset-card,.card-button:focus-visible .playing-card.asset-card,.card-button.hint-visible .playing-card.asset-card{filter:drop-shadow(0 0 12px #ffe36e33)}.card-info-tooltip{z-index:80;color:#fff4d5;opacity:0;pointer-events:none;background:#0a0805f5;border:1px solid #ffe8aaa3;border-radius:8px;gap:2px;min-width:138px;padding:7px 10px;transition:opacity .12s,transform .12s;display:grid;position:absolute;bottom:calc(100% + 14px);left:50%;transform:translate(-50%,8px)scale(.96);box-shadow:inset 0 0 0 1px #ffefc80f,0 14px 30px #0000006b}.card-info-tooltip:after{content:"";background:#0a0805f5;border-bottom:1px solid #ffe8aaa3;border-right:1px solid #ffe8aaa3;width:10px;height:10px;position:absolute;top:100%;left:50%;transform:translate(-50%,-5px)rotate(45deg)}.card-button:hover .card-info-tooltip,.card-button:focus-visible .card-info-tooltip,.card-button.hint-visible .card-info-tooltip,.card-info-surface:hover .card-info-tooltip,.card-info-surface:focus-visible .card-info-tooltip,.card-info-surface.hint-visible .card-info-tooltip{opacity:1;transform:translate(-50%)scale(1)}.card-info-tooltip strong,.card-hint-popover strong{color:#fff3ca;white-space:nowrap;font-size:12px;line-height:1.1}.card-info-tooltip small,.card-hint-popover small{color:#dfc58b;letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:900}.card-hint-popover{left:50%;bottom:max(116px, calc(env(safe-area-inset-bottom) + 104px));z-index:130;color:#fff4d5;text-align:center;pointer-events:none;background:radial-gradient(at 50% 0,#ffe36e29,#0000 72%),#0a0805f5;border:1px solid #ffe8aab8;border-radius:8px;gap:2px;min-width:156px;padding:10px 13px;animation:.16s both card-hint-in;display:grid;position:fixed;transform:translate(-50%);box-shadow:inset 0 0 0 1px #ffefc80f,0 18px 42px #0000007a}@media (hover:none){.card-info-tooltip{display:none}}.hand-reorder-bar{justify-content:center;align-items:center;gap:8px;min-height:36px;margin:-8px 0 8px;display:flex}.hand-reorder-bar span{color:#d2b77c;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:950}.reorder-button{color:#fff0bf;cursor:pointer;touch-action:manipulation;background:#120d08e0;border:1px solid #d8ad596b;border-radius:8px;place-items:center;width:38px;height:32px;display:grid}.reorder-button:disabled{cursor:default;opacity:.38}.playing-card{background:radial-gradient(at 50% 42%,#ffffffad,#0000 45%),linear-gradient(90deg,#0000 0 10px,#8b4f1f2e 10px 11px,#0000 11px calc(100% - 11px),#8b4f1f2e calc(100% - 11px) calc(100% - 10px),#0000 calc(100% - 10px)),linear-gradient(#fffdf2e6,#ffedc6eb),#fff1d5;border:3px solid #502e14ad;border-radius:8px;width:106px;height:164px;box-shadow:inset 0 0 0 1px #fffbeae6,0 16px 26px #00000057}.playing-card.compact{width:66px;height:102px}.playing-card.asset-card{color:inherit;background:0 0;border:0;padding:0;box-shadow:0 16px 26px #00000057}.playing-card.asset-card:before,.playing-card.asset-card:after{display:none}.playing-card.asset-card img{object-fit:contain;image-rendering:auto;filter:contrast(1.11)saturate(1.08)brightness(1.03);-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%;display:block}.playing-card.asset-card.compact{box-shadow:0 10px 16px #0000003d}.wild-corner{z-index:3;color:#241506;background:#f0bd55;border:1px solid #4e2d0c8c;border-radius:999px;padding:3px 6px;font-size:10px;font-weight:950;position:absolute;bottom:9px;right:9px}.playing-card:before{border:1px solid #7e481b7a;border-radius:4px;inset:7px;box-shadow:inset 0 0 0 2px #fff8dfbd,inset 0 0 0 4px #8d521f14}.playing-card:after{border-color:#7e481b33;inset:15px}.card-corner-top{top:12px;left:12px}.card-corner-bottom{bottom:12px;right:12px}.card-corner b{color:#2c1809;text-shadow:0 1px #fffce8cc}.pip-place{width:32px;height:32px}.playing-card.compact .pip-place{width:21px;height:21px}.coin-outer{fill:#e5b13e;stroke:#704611}.coin-inner{fill:#ffe19a;stroke:#9b651b}.cup-bowl{fill:#d35558;stroke:#682829}.sword-blade{fill:#477fd8;stroke:#1f376e}.club-staff{fill:#318852;stroke:#214c2d}.figure-card{background:radial-gradient(circle at 50% 20%,#fff9e2b8,#0000 30%),linear-gradient(#fff6d8a3,#f1c67d8a),repeating-linear-gradient(90deg,#7d43181f 0 2px,#0000 2px 8px);border:2px solid #5932176b;width:62%;height:76%;box-shadow:inset 0 0 0 2px #fffae599,0 3px #5d35173d}.figure-head{border-color:#49260ebf;box-shadow:inset 0 -4px #7e481b2e}.figure-body{min-height:44px;box-shadow:inset 0 0 0 2px #ffffff47,inset 0 -9px #0000001c}.spanish-card-title{bottom:14px}.table-action-row{grid-template-columns:1fr 1.25fr 1fr;gap:14px;width:min(700px,100%);margin:10px auto 0;display:grid}.table-action{color:#fff3d2;text-transform:uppercase;background:#0b3523eb;border:2px solid #d8ad5966;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:64px;font-size:18px;font-weight:950;display:inline-flex;box-shadow:inset 0 0 0 2px #ffefc80f,0 12px 28px #00000047}.table-action.close{color:#271606;background:linear-gradient(#e7bd62,#b57322)}.table-action.discard{background:#4f120eeb}.table-action small{text-transform:none;margin-left:2px;font-size:11px;font-weight:800;display:block}.table-action.available{border-color:#9ce149a8;box-shadow:inset 0 0 0 2px #ffefc814,0 12px 28px #00000047,0 0 0 3px #9ce1491f,0 0 24px #9ce1492e}.table-action.close.available{border-color:#ffe59adb;animation:1.55s ease-in-out infinite close-ready;box-shadow:inset 0 0 0 2px #ffefc81f,0 12px 28px #00000047,0 0 0 4px #ffd26729,0 0 30px #ffd2673d}@keyframes spotlight-in{0%{opacity:0;transform:translate(-50%,-8px)scale(.96)}18%,82%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes result-rise{0%{opacity:0;transform:translate(-50%,14px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes score-card-in{0%{opacity:0;transform:translate(-50%,calc(14px - 50%))scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes seat-turn-pulse{0%,to{box-shadow:0 0 0 3px #e2bb6429,0 0 18px #e2bb6433,0 12px 28px #0000004d}50%{box-shadow:0 0 0 4px #e2bb644d,0 0 34px #e2bb645c,0 12px 28px #0000004d}}@keyframes available-pulse{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes close-ready{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes selected-card-glow{0%,to{opacity:.82}50%{opacity:1}}@keyframes card-hint-in{0%{opacity:0;transform:translate(-50%,10px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.table-spotlight,.table-result-card,.seat.active,.pile.available,.table-action.close.available,.card-button.selected:before,.card-hint-popover{animation:none}}.right-panel{gap:10px}.game-shell.resolving-shell .right-panel{scrollbar-width:thin;min-height:0;max-height:calc(100vh - 194px);padding-right:4px;overflow:auto}.game-shell.spectator-shell .right-panel{scrollbar-width:thin;min-height:0;max-height:calc(100vh - 188px);padding-right:4px;overflow:auto}.game-shell.resolving-shell .right-panel .panel-card,.game-shell.spectator-shell .right-panel .panel-card{padding:12px}.game-shell.resolving-shell .right-panel .rules-section,.game-shell.spectator-shell .right-panel .rules-section{gap:6px;padding:9px 0}.panel-card{background:#0d0d0adb;border-color:#d8ad5959}.spectator-card{background:radial-gradient(at 0 0,#5fc2ff1f,#0000 58%),#0d0d0adb;border-color:#5fc2ff61}.spectator-card.active{box-shadow:inset 0 0 0 1px #5fc2ff2e}.spectator-title{color:#d7f0ff;border-bottom:1px solid #5fc2ff38;align-items:center;gap:9px;padding-bottom:10px;display:flex}.watcher-list{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.watcher-list span{color:#d7f0ff;background:#5fc2ff1a;border:1px solid #5fc2ff3d;border-radius:999px;padding:5px 7px;font-size:11px;font-weight:850}.rules-title{border-bottom:1px solid #d8ad593d;align-items:center;gap:9px;padding-bottom:10px;display:flex}.rules-section{border-bottom:1px solid #d8ad592e;gap:8px;padding:12px 0;display:grid}.rules-section:last-child{border-bottom:0;padding-bottom:0}.rules-section h3{color:#e9d0a1;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:13px}.rules-section p,.rules-section li{color:#d5c2a2;font-size:13px;line-height:1.45}.rules-section ul{gap:6px;margin:0;padding-left:18px;display:grid}.example-meld{grid-template-columns:auto 1fr;align-items:center;gap:10px;display:grid}.example-cards{gap:4px;display:flex}.example-cards span{color:#3b2917;background:#fff0d0;border:1px solid #53331852;border-radius:6px;place-items:center;width:32px;height:42px;font-weight:950;display:grid}.bottom-bar{grid-template-columns:minmax(0,1fr) auto;gap:12px;min-height:84px;display:grid}.game-shell.resolving-shell .bottom-bar{min-height:60px}.score-track{background:#0c0a08d1;border:1px solid #d8ad5957;border-radius:8px;gap:12px;min-height:82px;padding:12px 24px 16px;display:grid;box-shadow:inset 0 0 0 1px #ffefc80d}.game-shell.resolving-shell .score-track{gap:7px;min-height:58px;padding:8px 20px 10px}.media-controls{align-items:end;gap:8px;min-width:270px;padding:0;display:flex}.game-shell.resolving-shell .media-controls{align-items:center}.media-button{color:#ead3a6;letter-spacing:.07em;text-transform:uppercase;background:#0c0a08d6;border:1px solid #d8ad5957;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-width:126px;min-height:46px;font-size:12px;font-weight:950;display:inline-flex}.game-shell.resolving-shell .media-button{min-width:116px;min-height:40px}.score-track-title{color:#e8d1a4;letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;font-size:13px;font-weight:950;display:flex}.score-track-title small{color:#bca47a}.track-line{border-bottom:3px solid #e3c67ebf;height:34px;margin:0 12px;position:relative}.game-shell.resolving-shell .track-line{height:24px}.track-mark,.track-token{position:absolute;bottom:-9px;transform:translate(-50%)}.track-mark{background:#e3c67ee0;width:2px;height:19px}.track-mark span{color:#bca47a;font-size:11px;position:absolute;top:20px;transform:translate(-50%)}.game-shell.resolving-shell .track-mark span{top:17px}.track-token{color:#fff7dd;background:hsl(calc(var(--token) * 47deg), 62%, 34%);border:2px solid #ffefc8a6;border-radius:50%;place-items:center;width:32px;height:32px;font-weight:950;display:grid;bottom:-15px;box-shadow:0 6px 12px #00000057}.game-shell.resolving-shell .track-token{width:28px;height:28px;bottom:-13px}.track-token.out{opacity:.45}.score-list{display:none}.score-list-row{min-width:0}@media (width<=1180px){.topbar,.table-layout{grid-template-columns:1fr}.topbar-center,.topbar-right{justify-content:flex-start}.right-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.felt-wrap{padding-left:0}.side-game-stats{grid-template-columns:1fr 1fr auto;width:auto;margin-bottom:10px;position:relative;bottom:auto;left:auto}.stat-box,.stat-box:first-child,.points-help{border:1px solid #d8ad5961;border-radius:8px}.bottom-bar{grid-template-columns:1fr}.media-controls{align-items:stretch;min-width:0}}@media (width<=760px){.table-logo strong{font-size:34px}.topbar-left,.topbar-center,.topbar-right{flex-wrap:wrap}.room-card{min-width:150px}.felt-wrap{grid-template-rows:minmax(390px,1fr) auto}.felt-table{border-radius:28px;min-height:420px}.hand-zone{width:100%;margin-top:-36px}.hand-row{justify-content:flex-start;overflow-x:auto}.card-button{margin-left:0;transform:none!important}.table-action-row,.right-panel{grid-template-columns:1fr}}@media (width<=860px){.game-shell{padding:max(6px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));gap:6px}.topbar{top:max(6px, env(safe-area-inset-top));right:max(6px, env(safe-area-inset-right));z-index:60;width:auto;min-height:38px;box-shadow:none;pointer-events:none;background:0 0;border:0;padding:0;display:block;position:fixed;left:auto}.topbar-left,.topbar-right{display:none}.topbar-center{pointer-events:auto;background:#0c0906eb;border-color:#d8ad596b;flex-wrap:nowrap;justify-content:flex-end;max-width:calc(100vw - 12px);display:flex;box-shadow:0 10px 24px #00000042}.nav-button{gap:0;min-width:42px;min-height:38px;padding:0 10px;font-size:0}.nav-button svg{width:18px;height:18px}.felt-wrap{grid-template-rows:minmax(420px,1fr) auto}.seat:after{display:none}.side-game-stats{z-index:8;grid-template-columns:repeat(2,56px);width:auto;margin:0;position:absolute;top:10px;bottom:auto;left:10px}.stat-box{min-height:42px;padding:4px 6px}.stat-box span{font-size:8px}.stat-box strong{font-size:19px}.points-help{display:none}}@media (width<=860px) and (orientation:portrait){html,body,#root{overflow-x:hidden}.game-shell{grid-template-rows:auto}.table-layout{grid-template-columns:minmax(0,1fr);gap:6px}.right-panel,.bottom-bar{display:none}.felt-wrap{grid-template-rows:minmax(342px,auto) auto;gap:6px}.felt-table{border-width:8px;border-radius:28px;min-height:342px}.felt-table:before{inset:38px 24px}.felt-table:after{border-radius:22px;inset:31% 19%}.rail-stud{border-width:1px;width:10px;height:10px}.side-game-stats{grid-template-columns:repeat(2,50px);top:8px;left:8px}.stat-box{gap:2px;min-height:34px;padding:3px 5px}.stat-box span{font-size:8px}.stat-box strong{font-size:17px}.center-piles{gap:12px;transform:translateY(8px)}.pile{border-width:1px;gap:2px;width:74px;height:100px}.pile small{font-size:9px}.card-back-stack{width:48px;height:68px}.playing-card.compact{width:46px;height:70px}.table-spotlight{display:none}.turn-plaque{max-width:82%;min-height:32px;padding:0 10px;font-size:11px;bottom:12px}.seat{grid-template-columns:23px 1fr;gap:1px 5px;min-width:82px;max-width:104px;padding:5px 6px}.avatar{width:23px;height:23px}.seat-title{gap:4px}.seat-title strong{font-size:10px}.seat-title b,.seat-card-count{font-size:8px}.seat em{padding:1px 5px;font-size:7px}.seat.me{display:none}.seat-2{top:46px}.seat-1{bottom:25%;right:2%}.seat-3{bottom:25%;left:2%}.seat-4,.seat-6{top:17%}.seat-5,.seat-7{bottom:17%}.hand-zone{background:#0a080694;border:1px solid #d8ad5938;border-radius:8px;width:100%;margin:4px 0 0;padding:8px 8px 10px}.hand-zone.resolving{margin-top:4px;padding-bottom:10px}.hand-header{margin:0 0 5px;padding:0}.hand-header h2{font-size:22px;line-height:1.05}.hand-header p{font-size:14px}.hand-row,.hand-zone.resolving .hand-row{justify-content:flex-start;gap:8px;min-height:134px;padding:6px 5px 18px;overflow-x:auto}.playing-card{border-width:2px;width:78px;height:120px}.card-button{margin-left:0;transform:none!important}.card-button.selected{transform:translateY(-8px)scale(1.04)!important}.card-button.selected:before{border-width:2px;border-radius:10px;inset:-5px}.card-button.selected:after{min-height:16px;padding:0 6px;font-size:8px;bottom:-15px}.hand-reorder-bar{justify-content:center;min-height:32px;margin:0 0 7px}.reorder-button{width:38px;height:30px}.table-action-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.table-action{min-height:42px;padding:4px;font-size:11px}.table-action small{display:none}.felt-wrap.resolving .resolution-stage{z-index:8;max-height:228px;position:relative;bottom:auto;left:auto;right:auto;overflow:auto}.resolution-stage{gap:8px;padding:10px}.resolution-header,.resolution-actions,.resolution-meld-title{gap:6px;display:grid}.resolution-header h2{font-size:18px}.resolution-header p,.resolution-actions p{font-size:12px}.resolution-status{width:fit-content;min-height:28px;font-size:10px}.resolution-melds{grid-template-columns:minmax(0,1fr);gap:8px}.resolution-meld{gap:7px;padding:8px}}@media (height<=500px) and (orientation:landscape){html,body,#root{-webkit-overflow-scrolling:touch;height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto!important}.game-shell{min-height:100%;padding:max(4px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));grid-template-rows:auto auto;gap:6px;overflow:visible}.topbar{top:env(safe-area-inset-top);right:env(safe-area-inset-right);left:env(safe-area-inset-left);min-height:38px;box-shadow:none;pointer-events:none;z-index:60;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:4px 6px;position:fixed}.topbar-left{display:none}.topbar-center{pointer-events:auto;background:#0c0906e6;border-radius:8px;grid-column:2;justify-self:end;max-width:100%;display:flex}.nav-button{gap:0;min-width:38px;min-height:34px;padding:0 8px;font-size:0}.nav-button svg{width:17px;height:17px}.topbar-right{display:none}.topbar-right .icon-text,.topbar-right .primary-small{min-height:32px;padding:0 9px;font-size:10px}.room-card{min-width:124px;padding:4px 8px}.room-card span,.room-card small{font-size:8px}.room-card .code-button{min-height:20px;font-size:16px}.table-layout{grid-template-columns:minmax(0,1fr);gap:6px;min-height:0;overflow:visible}.right-panel,.bottom-bar{display:none}.felt-wrap{grid-template-rows:minmax(292px,auto) auto;height:auto;min-height:0;position:relative;overflow:visible}.felt-table{border-radius:22px;height:auto;min-height:292px}.felt-table:before{inset:27px 32px}.felt-table:after{border-radius:24px;inset:28% 27%}.rail-stud{width:10px;height:10px}.side-game-stats{grid-template-columns:repeat(2,48px);top:8px;left:8px}.stat-box{gap:2px;min-height:34px}.stat-box strong{font-size:16px}.center-piles{gap:14px;transform:translateY(-30px)}.pile{border-width:1px;gap:2px;width:78px;height:104px}.pile small{font-size:9px}.card-back-stack{width:50px;height:70px}.playing-card.compact{width:50px;height:76px}.table-spotlight{display:none}.turn-plaque{max-width:68%;min-height:28px;padding:0 10px;font-size:11px;bottom:8px}.seat{pointer-events:none;grid-template-columns:22px 1fr;gap:1px 4px;min-width:76px;max-width:94px;padding:4px 5px}.seat:after{display:none}.avatar{width:22px;height:22px}.seat-title{gap:4px}.seat-title strong{font-size:10px}.seat-title b,.seat-card-count{font-size:8px}.seat em{padding:1px 4px;font-size:7px}.seat-0{bottom:8px}.seat.me{display:none}.seat-2{top:6px}.seat-1{top:50%;bottom:auto;right:1.5%;transform:translateY(-50%)}.seat-3{top:50%;bottom:auto;left:1.5%;transform:translateY(-50%)}.seat-4,.seat-6{top:12%}.seat-5,.seat-7{bottom:12%}.hand-zone{z-index:11;background:#0a0806c2;width:100%;margin:-8px 0 0;padding:0 4px 6px;position:relative;bottom:auto;left:auto;right:auto}.hand-header{display:none}.hand-row{justify-content:flex-start;min-height:66px;padding:2px 0 4px;overflow-x:auto}.playing-card{width:46px;height:68px}.card-button{margin-left:0;transform:none!important}.card-button.selected{transform:translateY(-4px)!important}.hand-reorder-bar{justify-content:flex-start;min-height:28px;margin:-2px 0 4px}.hand-reorder-bar span{font-size:8px}.reorder-button{width:34px;height:26px}.table-action-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.table-action{min-height:30px;font-size:10px}.table-action small{display:none}.panel-drawer-backdrop{padding:max(6px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left));place-items:start stretch}.panel-drawer{width:100%;max-height:calc(var(--app-height) - 12px);padding:8px}.panel-drawer-header{margin:-8px -8px 0;padding:8px;top:-8px}.panel-drawer-header h2{font-size:21px}.drawer-section{padding:9px}}@media (width<=860px){html,body,#root{min-height:var(--app-height);overflow-x:hidden}body{overscroll-behavior-y:contain}.game-shell,.game-shell.resolving-shell,.game-shell.spectator-shell{min-height:var(--app-height);-webkit-overflow-scrolling:touch;grid-template-rows:auto minmax(0,1fr);gap:6px;overflow:hidden auto}.topbar{z-index:35;pointer-events:auto;width:100%;min-height:36px;padding:0;display:block;position:relative;top:auto;left:auto;right:auto}.topbar-center{grid-template-columns:repeat(5,minmax(0,1fr));justify-content:stretch;width:100%;max-width:none;display:grid}.nav-button{min-width:0;min-height:36px;padding:0}.fullscreen-hint{max-width:none;top:48px;left:8px;right:8px}}@media (width<=860px) and (orientation:portrait){.felt-wrap,.felt-wrap.resolving{grid-template-rows:auto auto}.felt-table{height:clamp(320px,43vh,380px);min-height:0}.center-piles{transform:translateY(2px)}.pile{width:72px;height:98px}.turn-plaque{max-width:72%;bottom:10px}.seat:not(.active){opacity:.72}.seat.active{opacity:1}.hand-zone,.hand-zone.resolving{margin-top:4px;padding:7px}.action-status{min-height:34px;margin-bottom:6px;padding:6px 8px}.action-status strong{font-size:12px}.hand-row,.hand-zone.resolving .hand-row{gap:7px;min-height:122px;padding-bottom:20px}.playing-card{width:72px;height:111px}.card-button.selected{transform:translateY(-7px)scale(1.05)!important}.table-action-row{z-index:15;background:linear-gradient(#0000,#0a0806e0 22%);padding-top:4px;position:sticky;bottom:0}}@media (height<=500px) and (orientation:landscape){.game-shell,.game-shell.resolving-shell,.game-shell.spectator-shell{height:var(--app-height);min-height:var(--app-height);grid-template-rows:auto minmax(0,1fr);overflow-y:auto}.topbar{min-height:32px;position:relative;top:auto;left:auto;right:auto}.topbar-center{grid-template-columns:repeat(5,minmax(0,1fr));width:100%;max-width:none;display:grid}.felt-wrap,.felt-wrap.resolving{min-height:calc(var(--app-height) - 42px);grid-template-columns:minmax(0,1fr) minmax(232px,32%)}.felt-table{height:calc(var(--app-height) - 42px);min-height:286px}.hand-zone,.hand-zone.resolving{height:calc(var(--app-height) - 42px);padding-top:6px}.action-status{min-height:28px;margin-bottom:3px;padding:4px 7px}.action-status span{font-size:7px}.action-status strong{font-size:9px;line-height:1.1}.hand-row,.hand-zone.resolving .hand-row{padding-bottom:10px}.table-action-row{padding-top:3px}.felt-wrap.resolving .resolution-stage{max-height:138px}.game-shell{min-height:var(--app-height);padding:max(4px, env(safe-area-inset-top)) max(5px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom)) max(5px, env(safe-area-inset-left));gap:0}.fullscreen-hint{max-width:calc(100vw - 210px);padding:7px 9px;font-size:11px;top:8px;left:8px;right:auto}.topbar{top:max(4px, env(safe-area-inset-top));right:max(4px, env(safe-area-inset-right));min-height:32px;padding:0;left:auto}.topbar-center{background:#0c0906e6;box-shadow:0 8px 18px #0000004d}.nav-button{min-width:34px;min-height:30px;padding:0 7px}.nav-button svg{width:16px;height:16px}.table-layout{height:auto;min-height:0}.felt-wrap,.felt-wrap.resolving{min-height:calc(var(--app-height) - 44px);grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(255px,34%);align-items:stretch;gap:5px;display:grid;overflow:visible}.felt-table{min-height:calc(var(--app-height) - 44px);height:calc(var(--app-height) - 44px);border-width:8px;border-radius:24px;grid-area:1/1}.felt-table:before{inset:25px 28px}.felt-table:after{border-radius:22px;inset:27% 24%}.rail-stud{width:9px;height:9px}.side-game-stats{grid-template-columns:repeat(2,46px);top:7px;left:7px}.stat-box{min-height:31px;padding:2px 4px}.stat-box strong{font-size:15px}.center-piles{gap:12px;transform:none}.pile{width:68px;height:92px}.card-back-stack{width:44px;height:62px}.card-back-count{min-width:23px;min-height:18px;font-size:11px}.playing-card.compact{width:44px;height:66px}.turn-plaque{max-width:76%;min-height:26px;padding:0 9px;font-size:10px;bottom:7px}.seat{grid-template-columns:19px 1fr;gap:1px 4px;min-width:72px;max-width:90px;padding:4px 5px}.avatar{width:19px;height:19px}.avatar svg{width:13px;height:13px}.seat-title{gap:3px}.seat-title strong{font-size:9px}.seat-title b,.seat-card-count{font-size:7px}.seat em{padding:1px 4px;font-size:7px}.seat.me{display:none}.seat-0{bottom:7px}.seat-2{top:7px}.seat-1{top:50%;bottom:auto;right:1.5%;transform:translateY(-50%)}.seat-3{top:50%;bottom:auto;left:1.5%;transform:translateY(-50%)}.seat-4,.seat-6{top:13%}.seat-5,.seat-7{bottom:13%}.hand-zone,.hand-zone.resolving{width:100%;height:calc(var(--app-height) - 44px);background:#0a0806ad;border:1px solid #d8ad5940;border-radius:8px;grid-area:1/2;grid-template-rows:auto minmax(0,1fr) auto auto;margin:0;padding:6px;display:grid;overflow:hidden}.hand-header{margin:0 0 3px;padding:0;display:block}.hand-header h2{font-size:14px;line-height:1}.hand-header p{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.hand-row,.hand-zone.resolving .hand-row{flex-wrap:wrap;place-content:flex-start;gap:6px;min-height:0;padding:3px 2px 10px;overflow:auto}.playing-card{border-width:2px;width:48px;height:72px}.card-button.selected{transform:translateY(-3px)scale(1.04)!important}.card-button.selected:before{border-width:2px;border-radius:9px;inset:-4px}.card-button.selected:after{min-height:14px;padding:0 5px;font-size:7px;bottom:-13px}.hand-reorder-bar{justify-content:center;min-height:22px;margin:0 0 3px}.hand-reorder-bar span{font-size:8px}.reorder-button{width:30px;height:24px}.table-action-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.table-action{min-height:28px;padding:3px;font-size:9px}.table-action svg{width:15px;height:15px}.felt-wrap.resolving .resolution-stage{z-index:12;grid-area:1/1;place-self:end stretch;max-height:126px;margin:0 7px 7px;padding:8px;position:relative;bottom:auto;left:auto;right:auto;overflow:auto}.resolution-header,.resolution-actions,.resolution-meld-title{gap:5px;display:grid}.resolution-header h2{font-size:15px}.resolution-header p,.resolution-actions p{font-size:10px}.resolution-status{width:fit-content;min-height:24px;font-size:9px}.resolution-melds{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px}.resolution-meld{gap:6px;padding:7px}}@media (width>=1181px){html,body,#root{height:var(--app-height);min-height:var(--app-height)}.game-shell,.game-shell.resolving-shell,.game-shell.spectator-shell{height:var(--app-height);min-height:0;padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));grid-template-rows:auto minmax(0,1fr);gap:8px;overflow:hidden}.topbar,.game-shell.resolving-shell .topbar,.game-shell.spectator-shell .topbar{grid-template-columns:minmax(330px,1fr) auto minmax(160px,.72fr);gap:10px;min-height:70px;padding:7px 12px}.table-logo{gap:8px}.table-logo strong,.game-shell.resolving-shell .table-logo strong,.game-shell.spectator-shell .table-logo strong{font-size:36px}.table-logo span,.game-shell.resolving-shell .table-logo span,.game-shell.spectator-shell .table-logo span{margin-top:3px;padding:2px 7px;font-size:9px}.room-card,.game-shell.resolving-shell .room-card,.game-shell.spectator-shell .room-card{min-width:154px;padding:7px 10px}.room-card span,.room-card small{font-size:9px}.room-card .code-button{min-height:25px;font-size:20px}.nav-button{gap:7px;min-width:92px;min-height:38px;font-size:11px}.name-editor{min-width:142px}.name-editor input{height:28px;font-size:12px}.table-layout,.game-shell.resolving-shell .table-layout,.game-shell.spectator-shell .table-layout{grid-template-columns:minmax(0,1fr) minmax(286px,20vw);gap:8px;height:100%;min-height:0;overflow:hidden}.right-panel,.game-shell.resolving-shell .right-panel,.game-shell.spectator-shell .right-panel{scrollbar-width:thin;gap:8px;max-height:100%;padding-right:4px;overflow:auto}.right-panel .panel-card,.game-shell.resolving-shell .right-panel .panel-card,.game-shell.spectator-shell .right-panel .panel-card{padding:11px}.rules-title{padding-bottom:8px}.rules-section,.game-shell.resolving-shell .right-panel .rules-section,.game-shell.spectator-shell .right-panel .rules-section{gap:5px;padding:8px 0}.rules-section h3{font-size:11px}.rules-section p,.rules-section li{font-size:12px;line-height:1.34}.rules-section ul{gap:4px}.example-cards span{width:28px;height:36px}.felt-wrap,.felt-wrap.resolving{grid-template-rows:minmax(0,1fr) auto;height:100%;min-height:0;overflow:hidden}.felt-table{height:100%;min-height:0}.felt-table:before{inset:36px 42px}.felt-table:after{inset:24% 28%}.side-game-stats{width:118px;bottom:100px}.stat-box{min-height:58px}.stat-box strong{font-size:25px}.points-help{min-height:34px;font-size:9px}.center-piles{gap:24px}.pile{width:94px;height:128px}.card-back-stack{width:62px;height:86px}.playing-card.compact{width:62px;height:90px}.turn-plaque{min-height:34px;font-size:12px;bottom:38px}.seat{grid-template-columns:26px 1fr;min-width:106px;max-width:132px;padding:6px 8px}.avatar{width:26px;height:26px}.seat-title strong{font-size:12px}.seat-title b,.seat-card-count{font-size:9px}.seat-0{bottom:92px}.hand-zone,.hand-zone.resolving{width:min(720px,100% - 190px);margin-top:-96px;padding:0 10px 8px}.hand-header{margin-bottom:2px}.hand-header h2{font-size:18px}.hand-header p{font-size:12px}.action-status{max-width:440px;min-height:30px;margin-bottom:5px;padding:5px 10px}.action-status span{font-size:8px}.action-status strong{font-size:12px}.hand-row,.hand-zone.resolving .hand-row{gap:6px;min-height:120px;padding:1px 2px 10px}.playing-card{width:72px;height:106px;padding:5px}.card-button.selected{transform:translateY(-8px)rotate(0)scale(1.035)}.card-button.selected:before{inset:-6px}.card-button.selected:after{bottom:-16px}.hand-reorder-bar{min-height:28px;margin:-5px 0 5px}.reorder-button{width:34px;height:27px}.table-action-row{gap:8px;max-width:630px;margin:0 auto}.table-action{min-height:38px;padding:4px 8px;font-size:12px}.table-action svg{width:18px;height:18px}.table-action small,.bottom-bar{display:none}}@media (width<=860px){.felt-table.score-step .table-result-card{gap:8px;width:min(100% - 22px,380px);max-height:calc(100% - 62px);padding:10px}.felt-table.score-step .table-result-card strong{font-size:26px}.felt-table.score-step .table-result-deltas{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.felt-table.score-step .table-result-deltas em{padding:8px}.felt-table.score-step .table-result-deltas b{font-size:18px}.score-next-round{width:100%;min-width:0}}@media (height<=500px) and (orientation:landscape){.felt-table.score-step .table-result-card{width:min(430px,100% - 36px);max-height:calc(100% - 46px);padding:8px}.felt-table.score-step .table-result-card strong{font-size:22px}.felt-table.score-step .table-result-deltas{grid-template-columns:repeat(4,minmax(0,1fr))}.felt-table.score-step .table-result-actions{min-height:30px}.score-next-round{min-height:32px}}.felt-table.resolve-step .center-piles,.felt-table.resolve-step .table-spotlight,.felt-table.resolve-step .turn-plaque{display:none}.felt-table.resolve-step:after{box-shadow:inset 0 0 0 2px #ffebb81a,0 0 44px #6ccea724}.felt-wrap.resolving .resolution-stage{z-index:24;width:min(980px,100% - 180px);max-height:min(430px,100% - 150px);margin:0;position:absolute;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-46%)}.resolution-stage{background:linear-gradient(135deg,#f0c56629,#0b34272e),#0c0a07f0;border-color:#f0c566a3;gap:12px;padding:14px;box-shadow:inset 0 0 0 1px #fff3cc12,0 22px 54px #00000075}.resolution-topline,.resolution-section-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.resolution-topline span,.resolution-section-title span,.resolution-task-card>span,.resolution-log-strip>span{color:#d9bc74;letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:950}.resolution-topline h2{color:#fff4d6;font-family:Georgia,Times New Roman,serif;font-size:clamp(24px,2.6vw,34px);line-height:1}.resolution-status{color:#261706;white-space:nowrap;background:linear-gradient(145deg,#ffd989,#c9862f);min-height:30px;box-shadow:0 10px 22px #00000042}.resolution-progress{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:6px;display:grid}.resolution-progress span{background:#ffffff0a;border:1px solid #ffefc81f;border-radius:8px;grid-template-rows:auto auto;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:0 7px;min-width:0;padding:7px 8px;display:grid}.resolution-progress span.current{background:#3367275c;border-color:#9ce149b8;box-shadow:0 0 0 3px #9ce1491a}.resolution-progress span.revealed:not(.current){border-color:#7ed0ae47}.resolution-progress i,.resolution-progress svg{color:#f2cc78;grid-row:1/span 2;place-self:center;font-style:normal;font-weight:950}.resolution-progress b,.resolution-progress small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.resolution-progress b{color:#fff3d2;font-size:12px}.resolution-progress small{color:#cdb990;text-transform:uppercase;font-size:9px;font-weight:850}.resolution-body{grid-template-columns:minmax(0,1.55fr) minmax(240px,.85fr);align-items:stretch;gap:12px;display:grid}.resolution-showcase,.resolution-task-card,.resolution-loose-preview{background:#ffffff0b;border:1px solid #ffefc81f;border-radius:8px;align-content:start;gap:10px;min-width:0;padding:12px;display:grid}.resolution-section-title strong,.resolution-task-card strong{overflow-wrap:anywhere;color:#fff4d6;min-width:0;font-size:16px}.resolution-melds{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.resolution-meld{background:#0818126b;gap:8px;padding:9px}.resolution-meld .playing-card.compact,.resolution-eligible .playing-card.compact{width:52px;height:76px}.resolution-meld-title{gap:8px}.resolution-meld-title strong{font-size:13px}.resolution-remaining{color:#d6c29a;font-size:12px;font-weight:800}.resolution-task-card{background:linear-gradient(145deg,#d8ad5917,#0000 54%),#0d0c0994;border-color:#d8ad5938}.resolution-loose-preview{grid-template-columns:minmax(0,auto) minmax(0,1fr);align-items:center}.resolution-loose-preview .resolution-section-title{place-content:center start;gap:3px;display:grid}.resolution-loose-preview .mini-card-row{justify-content:flex-end;overflow:hidden}.resolution-task-card.active{border-color:#9ce149a8;box-shadow:0 0 0 3px #9ce1491a}.resolution-task-card.final{border-color:#ffda8094}.resolution-task-card p{color:#dcc9a3;font-size:12px;line-height:1.36}.resolution-eligible{background:#1f4c2738;border:1px dashed #9ce1495c;border-radius:8px;padding:8px}.resolution-task-card .action-cluster{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.resolution-task-card .action-cluster:has(.primary-small:only-child){grid-template-columns:1fr}.resolution-log-strip{background:#ffffff09;border:1px solid #ffefc81a;border-radius:8px;align-items:center;gap:9px;min-width:0;padding:8px 10px;display:flex}.resolution-log-strip p{color:#d8c49e;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;font-weight:800;overflow:hidden}.hand-zone.resolving{z-index:10}.hand-zone.resolving .action-status{display:none}.felt-table.score-step .seat{opacity:.72}.felt-table.score-step .seat.active{opacity:1}.felt-table.score-step .table-result-card{gap:10px;width:min(620px,56%);max-height:calc(100% - 120px);padding:16px}.felt-table.score-step .table-result-card strong{font-size:clamp(25px,3vw,36px)}.felt-table.score-step .table-result-deltas{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}@media (width<=1180px){.felt-wrap.resolving .resolution-stage{width:auto;max-height:none;margin:-40px 10px 8px;position:relative;top:auto;left:auto;overflow:visible;transform:none}}@media (width<=860px){.resolution-stage{gap:9px;padding:10px}.resolution-topline{align-items:flex-start}.resolution-topline h2{font-size:22px}.resolution-status{min-height:26px;padding:0 8px;font-size:9px}.resolution-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.resolution-body{grid-template-columns:1fr}.resolution-showcase,.resolution-task-card,.resolution-loose-preview{padding:9px}.resolution-melds{grid-template-columns:minmax(0,1fr)}.resolution-log-strip{gap:4px;display:grid}.felt-table.score-step .table-result-card{width:min(100% - 22px,390px);max-height:calc(100% - 58px)}}@media (height<=500px) and (orientation:landscape){.game-shell.spectator-shell .felt-wrap.resolving{grid-template-columns:minmax(0,1fr)}.felt-wrap.resolving .resolution-stage{top:56px;right:max(8px, env(safe-area-inset-right));bottom:auto;left:max(8px, env(safe-area-inset-left));width:auto;max-height:calc(var(--app-height) - 64px);margin:0;position:fixed;overflow:auto;transform:none}.resolution-stage{gap:6px;padding:7px}.resolution-topline h2{font-size:16px}.resolution-topline span,.resolution-section-title span,.resolution-task-card>span,.resolution-log-strip>span{font-size:8px}.resolution-status{min-height:22px;padding:0 7px;font-size:8px}.resolution-progress{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.resolution-progress span{grid-template-columns:16px minmax(0,1fr);padding:4px 5px}.resolution-progress b{font-size:10px}.resolution-progress small{display:none}.resolution-body{grid-template-columns:minmax(0,1.35fr) minmax(168px,.85fr);gap:6px}.resolution-showcase,.resolution-task-card{gap:6px;padding:7px}.resolution-melds{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.resolution-meld{gap:4px;padding:5px}.resolution-meld-title strong,.resolution-task-card strong{font-size:11px}.resolution-task-card p,.resolution-remaining{font-size:9px;line-height:1.22}.mini-card-row{gap:4px}.resolution-meld .playing-card.compact,.resolution-eligible .playing-card.compact{width:34px;height:50px}.resolution-task-card .action-cluster{gap:5px}.resolution-task-card .primary-small,.resolution-task-card .secondary-small{min-height:28px;padding:0 8px;font-size:10px}.resolution-log-strip{display:none}}.card-button.selected:after{z-index:32;color:#2a1704;content:"Selected";letter-spacing:0;pointer-events:none;text-transform:uppercase;background:#ffe36e;border:1px solid #fff2b2e6;border-radius:999px;place-items:center;min-height:18px;padding:0 8px;font-size:9px;font-weight:950;display:grid;position:absolute;bottom:-21px;left:50%;transform:translate(-50%);box-shadow:0 8px 18px #00000057}@media (width<=860px){.topbar{pointer-events:auto}.nav-button{touch-action:manipulation}.card-button{touch-action:pan-y pinch-zoom;-webkit-tap-highlight-color:transparent}.hand-row{touch-action:pan-y pinch-zoom;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.panel-drawer-backdrop{z-index:180;position:fixed;inset:0;overflow:hidden}.panel-drawer{max-height:calc(var(--app-height) - 16px);overflow:auto}}@media (width<=860px) and (orientation:portrait){.game-shell,.game-shell.resolving-shell,.game-shell.spectator-shell{min-height:var(--app-height);padding:max(4px, env(safe-area-inset-top)) max(5px, env(safe-area-inset-right)) max(7px, env(safe-area-inset-bottom)) max(5px, env(safe-area-inset-left));gap:5px}.topbar{min-height:34px}.topbar-center{border-radius:8px}.nav-button{min-height:34px}.felt-wrap,.felt-wrap.resolving{grid-template-rows:minmax(292px,42vh) auto;gap:5px}.felt-table{border-radius:22px;height:clamp(292px,42vh,360px);min-height:292px}.felt-table:before{inset:31px 19px}.felt-table:after{inset:32% 18%}.center-piles{gap:10px;transform:translateY(2px)}.pile{width:66px;height:88px}.card-back-stack{width:42px;height:60px}.playing-card.compact{width:42px;height:62px}.turn-plaque{max-width:78%;min-height:28px;bottom:8px}.seat{grid-template-columns:20px 1fr;min-width:72px;max-width:92px;padding:4px 5px}.avatar{width:20px;height:20px}.seat-title strong{font-size:9px}.seat-title b,.seat-card-count{font-size:7px}.hand-zone,.hand-zone.resolving{margin:0;padding:6px 7px 8px}.hand-header{margin-bottom:3px}.hand-header h2{font-size:18px}.hand-header p{font-size:12px}.hand-row,.hand-zone.resolving .hand-row{flex-wrap:nowrap;gap:6px;min-height:112px;padding:4px 5px 18px;overflow:auto visible}.playing-card{width:clamp(62px,18vw,74px);height:clamp(94px,27vw,112px)}.card-button.selected{transform:translateY(-6px)scale(1.035)!important}.card-button.selected:before{inset:-4px}.hand-reorder-bar{min-height:29px;margin:-1px 0 4px}.reorder-button{width:38px;height:28px}.table-action-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.table-action{min-height:38px;padding:3px;font-size:10px}.table-action svg{width:16px;height:16px}.table-action small{display:none}}@media (height<=500px) and (orientation:landscape){html,body,#root{height:var(--app-height);min-height:var(--app-height);overflow:hidden}.game-shell,.game-shell.resolving-shell,.game-shell.spectator-shell{height:var(--app-height);min-height:0;padding:max(3px, env(safe-area-inset-top)) max(5px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom)) max(5px, env(safe-area-inset-left));grid-template-rows:34px minmax(0,1fr);gap:4px;overflow:hidden}.topbar,.game-shell.resolving-shell .topbar,.game-shell.spectator-shell .topbar{z-index:90;min-height:34px;box-shadow:none;background:#0a0806e0;border-radius:8px;padding:0;display:block;position:relative;top:auto;left:auto;right:auto}.topbar-left,.topbar-right{display:none}.topbar-center{width:100%;max-width:none;box-shadow:none;background:#0c0906f0;border-radius:8px;grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.nav-button{min-width:0;min-height:34px;padding:0;font-size:0}.nav-button svg{width:17px;height:17px}.table-layout,.game-shell.resolving-shell .table-layout,.game-shell.spectator-shell .table-layout{height:100%;min-height:0;overflow:hidden}.right-panel,.bottom-bar{display:none}.felt-wrap,.felt-wrap.resolving{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) clamp(184px,32vw,260px);gap:4px;height:100%;min-height:0;display:grid;overflow:hidden}.felt-table{border-width:6px;border-radius:22px;grid-area:1/1;height:100%;min-height:0}.felt-table:before{inset:21px 24px}.felt-table:after{border-radius:20px;inset:28% 23%}.rail-stud{width:8px;height:8px}.side-game-stats{grid-template-columns:repeat(2,42px);width:auto;top:6px;left:6px}.stat-box{min-height:28px;padding:2px 4px}.stat-box span{font-size:7px}.stat-box strong{font-size:14px}.points-help{display:none}.center-piles{gap:clamp(8px,2vw,16px);transform:none}.pile{border-width:1px;gap:1px;width:clamp(58px,10vw,70px);height:clamp(78px,21vh,96px)}.pile small{font-size:8px}.card-back-stack{width:clamp(36px,7vw,45px);height:clamp(52px,15vh,64px)}.card-back-count{min-width:20px;min-height:17px;font-size:10px}.playing-card.compact{width:clamp(36px,7vw,45px);height:clamp(54px,16vh,67px)}.seat{grid-template-columns:18px 1fr;gap:1px 4px;min-width:68px;max-width:86px;padding:3px 4px}.avatar{width:18px;height:18px}.seat-title strong{font-size:8px}.seat-title b,.seat-card-count{font-size:7px}.turn-plaque{max-width:72%;min-height:24px;padding:0 8px;font-size:9px;bottom:5px}.hand-zone,.hand-zone.resolving{background:#0a0806c2;border:1px solid #d8ad5942;border-radius:8px;grid-area:1/2;grid-template-rows:auto minmax(0,1fr) auto auto;width:100%;height:100%;margin:0;padding:5px;display:grid;overflow:hidden}.hand-header{margin:0 0 3px;padding:0;display:block}.hand-header h2{font-size:13px}.hand-header p{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9px;overflow:hidden}.hand-row,.hand-zone.resolving .hand-row{flex-wrap:wrap;place-content:flex-start;gap:5px;min-height:0;padding:3px 2px 15px;display:flex;overflow:auto}.playing-card{border-width:2px;width:clamp(41px,7.1vw,50px);height:clamp(61px,18vh,74px)}.card-button{margin-left:0;transform:none!important}.card-button.selected{transform:translateY(-2px)scale(1.04)!important}.card-button.selected:before{border-width:2px;inset:-4px}.card-button.selected:after{min-height:14px;padding:0 5px;font-size:7px;bottom:-12px}.hand-reorder-bar{justify-content:center;min-height:25px;margin:0 0 3px}.hand-reorder-bar span{font-size:7px}.reorder-button{width:31px;height:24px}.table-action-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%;margin:0;padding:0}.table-action{gap:3px;min-height:30px;padding:2px;font-size:8px}.table-action svg{width:14px;height:14px}.table-action small{display:none}.panel-drawer-backdrop{padding:38px max(5px, env(safe-area-inset-right)) max(5px, env(safe-area-inset-bottom)) max(5px, env(safe-area-inset-left));place-items:start end}.panel-drawer{width:min(420px,100%);max-height:calc(var(--app-height) - 46px);padding:8px}.panel-drawer-header{margin:-8px -8px 0;padding:8px;top:-8px}}@media (width<=860px){.card-button,.hand-row{touch-action:pan-y pinch-zoom!important}}@media (height<=500px) and (orientation:landscape){html,body,#root{overflow:hidden auto}.game-shell,.game-shell.resolving-shell,.game-shell.spectator-shell{overscroll-behavior-y:contain;overflow:hidden auto}}@media (width<=860px) and (orientation:portrait){.game-shell,.game-shell.resolving-shell,.game-shell.spectator-shell{overflow:hidden auto}.table-layout,.game-shell.resolving-shell .table-layout,.game-shell.spectator-shell .table-layout{overflow:visible}.felt-wrap,.felt-wrap.resolving{grid-template-rows:minmax(292px,auto) auto;overflow:visible}.seat.me,.felt-table.draw-step .seat.me,.felt-table.discard-step .seat.me{z-index:24;background:#21502ac7;border-color:#b2e863d1;min-width:94px;max-width:122px;box-shadow:inset 0 0 0 1px #f4ffcf24,0 10px 20px #0000004d;display:grid!important;inset:auto auto 48px 50%!important;transform:translate(-50%)!important}.seat.me:after{display:none}.seat.me .seat-title strong{max-width:62px}.center-piles{transform:translateY(-16px)}.hand-zone,.hand-zone.resolving{margin-top:2px;padding:6px 7px 7px}.hand-header{margin:0 0 3px;display:block}.hand-header h2{font-size:18px}.hand-header p{font-size:12px}.hand-row,.hand-zone.resolving .hand-row{flex-wrap:nowrap;justify-content:center;gap:clamp(2px,.7vw,4px);min-height:64px;padding:1px 0 5px;overflow:visible}.hand-row .card-button,.hand-zone.resolving .hand-row .card-button{flex:0 auto}.hand-row .playing-card,.hand-zone.resolving .hand-row .playing-card{aspect-ratio:.68;border-width:2px;width:min(52px,12.5vw - 6.25px);height:auto;padding:3px}.card-button.selected{transform:translateY(-4px)scale(1.04)!important}.card-button.selected:after{min-height:14px;padding:0 5px;font-size:7px;bottom:-13px}.hand-reorder-bar{min-height:23px;margin:0 0 3px}.table-action-row{gap:6px}.table-action{min-height:36px}.bottom-bar{min-height:0;margin-top:8px;display:block!important}.media-controls{display:none!important}.score-track{gap:8px;min-height:0;padding:10px}.score-track-title{font-size:11px}.score-track-title small{font-size:10px}.track-line{display:none}.score-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.score-list-row{background:#ffffff09;border:1px solid #d8ad593d;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-height:42px;padding:6px 7px;display:grid}.score-list-row.me{background:#46782d2e;border-color:#a3df5580}.score-list-row.current{box-shadow:inset 0 0 0 1px #f5ce743d}.score-list-row.out{opacity:.55}.score-list-row span{gap:2px;min-width:0;display:grid}.score-list-row b{color:#fff0cc;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.score-list-row small{color:#cbb892;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:800;overflow:hidden}.score-list-row strong{color:#e2bb64;white-space:nowrap;font-size:12px}}@media (width<=860px){.topbar,.game-shell.resolving-shell .topbar,.game-shell.spectator-shell .topbar{top:max(4px, env(safe-area-inset-top));right:max(4px, env(safe-area-inset-right));left:max(4px, env(safe-area-inset-left));z-index:92;min-height:34px;box-shadow:none;pointer-events:none;background:0 0;border:0;grid-template-columns:minmax(0,1fr);place-items:start end;gap:5px;padding:0;display:grid;position:fixed}.topbar-left,.topbar-right{display:none!important}.room-card,.game-shell.resolving-shell .room-card,.game-shell.spectator-shell .room-card{background:#0c0906ed;border-radius:8px;min-width:0;max-width:132px;padding:5px 7px;box-shadow:0 10px 24px #00000047}.room-card span,.room-card small,.game-shell.resolving-shell .room-card span,.game-shell.resolving-shell .room-card small,.game-shell.spectator-shell .room-card span,.game-shell.spectator-shell .room-card small{display:none}.room-card .code-button,.game-shell.resolving-shell .room-card .code-button,.game-shell.spectator-shell .room-card .code-button{color:#fff1d2;letter-spacing:.04em;white-space:nowrap;align-items:center;gap:5px;max-width:118px;min-height:24px;font-size:15px;display:inline-flex;overflow:hidden}.room-card .code-button svg{flex:none}.topbar-center{pointer-events:auto;border-radius:8px;grid-template-columns:repeat(5,minmax(0,1fr));justify-self:end;max-width:min(238px,100vw - 8px);display:grid;overflow:hidden}.nav-button{min-width:0;min-height:34px;padding:0}.lobby-table-stage{gap:9px;width:min(360px,76%);padding:12px;top:51%}.lobby-stage-copy strong{font-size:23px}.lobby-stage-copy small,.lobby-stage-players span{font-size:11px}.lobby-stage-code{min-height:30px;padding:0 10px}.lobby-stage-code span{font-size:8px}.lobby-stage-code strong{font-size:16px}.lobby-stage-actions{gap:7px}.lobby-stage-actions .primary-small,.lobby-stage-actions .icon-text{min-height:34px;padding:0 10px;font-size:11px}}@media (height<=500px) and (orientation:landscape){.topbar,.game-shell.resolving-shell .topbar,.game-shell.spectator-shell .topbar{grid-template-columns:minmax(0,1fr);position:relative;top:auto;left:auto;right:auto}.room-card,.game-shell.resolving-shell .room-card,.game-shell.spectator-shell .room-card{max-width:116px;padding:4px 6px}.room-card .code-button,.game-shell.resolving-shell .room-card .code-button,.game-shell.spectator-shell .room-card .code-button{min-height:22px;font-size:13px}.topbar-center{max-width:min(218px,100vw - 8px)}.lobby-table-stage{gap:7px;width:min(390px,58%);padding:10px}.lobby-stage-copy span{font-size:10px}.lobby-stage-copy strong{font-size:21px}.lobby-stage-players{gap:5px}.lobby-stage-players span{min-height:24px;padding:0 8px}}@media (width<=860px) and (orientation:portrait){:root{--phone-bottom-clearance:max(184px, calc(var(--browser-bottom-clearance) + env(safe-area-inset-bottom) + 24px))}html,body,#root{scroll-padding-bottom:var(--phone-bottom-clearance)}.game-shell,.game-shell.resolving-shell,.game-shell.spectator-shell{scroll-padding-bottom:var(--phone-bottom-clearance);padding-bottom:var(--phone-bottom-clearance)!important}.bottom-bar{scroll-margin-bottom:var(--phone-bottom-clearance);margin-top:4px;margin-bottom:0}.score-track{scroll-margin-bottom:var(--phone-bottom-clearance);gap:4px;padding:4px 5px}.score-track-title{display:none}.score-list{grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:4px}.score-list-row{grid-template-columns:minmax(0,1fr);align-content:center;align-items:center;gap:2px;min-height:27px;padding:3px 5px}.score-list-row span{align-items:baseline;gap:3px;display:flex}.score-list-row b{flex:0 auto;max-width:46px;font-size:9px}.score-list-row small{flex:auto;min-width:0;font-size:7px}.score-list-row strong{justify-self:start;font-size:10px}.felt-wrap.resolving .resolution-stage{max-height:min(41vh, calc(var(--app-height) - var(--phone-bottom-clearance) - 160px));overscroll-behavior:contain;scroll-margin-bottom:var(--phone-bottom-clearance);-webkit-overflow-scrolling:touch;margin:-64px 8px 8px;overflow:auto}.resolution-stage{padding-bottom:14px}.game-shell.resolving-shell{padding-bottom:calc(var(--phone-bottom-clearance) + 10px)!important}.hand-zone.resolving{display:none}.resolution-loose-preview{grid-template-columns:minmax(0,1fr);gap:6px;padding:8px}.resolution-loose-preview .resolution-section-title{grid-template-columns:minmax(0,1fr) auto;align-items:baseline}.resolution-loose-preview .mini-card-row{-webkit-overflow-scrolling:touch;justify-content:flex-start;gap:5px;padding-bottom:2px;overflow:auto hidden}.resolution-loose-preview .playing-card.compact{flex:none;width:42px;height:62px}.felt-table.score-step .table-result-card{max-height:min(52vh, calc(var(--app-height) - 190px));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;overflow:auto}}@media (width<=860px){html,body,#root{-webkit-overflow-scrolling:touch;height:auto!important;min-height:100%!important;overflow:hidden auto!important}body{overscroll-behavior-y:auto!important}.game-shell,.game-shell.resolving-shell,.game-shell.spectator-shell{touch-action:pan-y pinch-zoom;height:auto!important;min-height:var(--app-height)!important;overflow:visible!important}.felt-wrap,.felt-wrap.resolving,.table-layout,.hand-zone,.resolution-stage{touch-action:pan-y pinch-zoom}}@media (pointer:coarse) and (height<=500px) and (orientation:landscape){html,body,#root{height:auto!important;min-height:100%!important;overflow:hidden auto!important}.game-shell,.game-shell.resolving-shell,.game-shell.spectator-shell{touch-action:pan-y pinch-zoom;height:auto!important;min-height:var(--app-height)!important;overflow:visible!important}}
