:root{--deep-brown:#38251e;--wood:#68452f;--leather:#b77b45;--cream:#d9b77b;--paper:#e8dcc4;--bottle-green:#42665a;--muted-red:#a64b39;--gold:#e9b949;--ink:#2a1b15;--radius:10px}*{box-sizing:border-box}html,body{background:var(--deep-brown);height:100%;color:var(--paper);-webkit-tap-highlight-color:transparent;margin:0;font-family:Georgia,Times New Roman,serif}button{cursor:pointer;font:inherit}button:disabled{cursor:not-allowed;opacity:.5}input{font:inherit}.title{font-family:var(--font-title), Georgia, serif;letter-spacing:.04em}.logo-title{margin:0;line-height:0}.logo{filter:drop-shadow(0 6px 14px #0000008c);width:min(300px,74vw);height:auto;margin:-4px auto -2px;display:block}.home{background:linear-gradient(180deg, #1c100a73 0%, #160c08b8 100%), url(/themes/saloon/scene/back.webp) center / cover no-repeat, linear-gradient(180deg, var(--wood), var(--deep-brown));grid-template-rows:auto 1fr;place-items:center;gap:10px;min-height:100%;padding:12px 14px 18px;display:grid;position:relative;overflow-x:hidden}.saloon-dust{pointer-events:none;background-image:radial-gradient(circle at 18% 28%,#f3d27a59 0 2px,#0000 3px),radial-gradient(circle at 62% 22%,#f3d27a47 0 1.5px,#0000 3px),radial-gradient(circle at 82% 45%,#f3d27a52 0 2px,#0000 3px),radial-gradient(circle at 35% 65%,#f3d27a40 0 1.5px,#0000 3px);animation:9s ease-in-out infinite alternate dust-float;position:fixed;inset:0}.tumbleweed{pointer-events:none;opacity:.7;border:3px dashed #b77b45a6;border-radius:50%;width:52px;height:52px;animation:18s linear infinite tumble;position:fixed;bottom:18px;left:-72px;box-shadow:inset 0 0 10px #38251e99}@keyframes dust-float{0%{opacity:.65;transform:translateY(0)translate(0)}to{opacity:.95;transform:translateY(-14px)translate(10px)}}@keyframes tumble{0%{transform:translate(-80px)translateY(0)rotate(0)}25%{transform:translate(30vw)translateY(-14px)rotate(180deg)}50%{transform:translate(62vw)translateY(0)rotate(360deg)}75%{transform:translate(90vw)translateY(-10px)rotate(540deg)}to{transform:translate(115vw)translateY(0)rotate(720deg)}}.topbar{z-index:2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:min(920px,100%);display:flex;position:relative}.pill-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.wood-pill{border:2px solid var(--leather);color:var(--paper);background:#2a1b15e6;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 4px 12px #00000059}.wood-pill strong{color:var(--gold)}.poster{width:min(460px,100%);color:var(--ink);border:4px solid var(--ink);text-align:center;background:linear-gradient(#f3e8d2 0%,#e4d3b0 100%);border-radius:10px;padding:18px 20px;box-shadow:0 20px 44px #00000094,inset 0 0 0 2px #b77b4559}.poster h1{color:var(--muted-red);margin:0;font-size:clamp(48px,13vw,76px);line-height:1}.poster .subtitle{color:var(--wood);margin:4px 0 12px;font-style:italic}.field{text-align:left;gap:5px;margin-bottom:10px;display:grid}.field label{font-size:14px;font-weight:700}.field input{border:2px solid var(--ink);border-radius:var(--radius);color:var(--ink);background:#fff8ea;padding:10px 12px}.choices{flex-wrap:wrap;gap:8px;display:flex}.choice{border:2px solid var(--ink);border-radius:var(--radius);min-width:64px;color:var(--ink);background:#fff8ea;flex:1;padding:8px 6px}.choice[aria-pressed=true]{background:var(--leather);color:#fff}.primary{border:3px solid var(--ink);border-radius:var(--radius);background:var(--muted-red);color:#fff;width:100%;padding:12px 14px;font-size:16px;font-weight:700}.secondary{border:2px solid var(--ink);border-radius:var(--radius);background:var(--cream);color:var(--ink);padding:10px 14px;font-weight:700}.divider{border-top:2px dashed var(--wood);margin:14px 0 10px}.join-row{gap:8px;display:flex}.join-row input{flex:1;min-width:0}.problem{color:var(--muted-red);margin-top:12px;font-weight:700}.lobby{background:radial-gradient(circle at 50% 35%, #d4a64a24, #140b07c7), url(/themes/saloon/scene/back.webp) center / cover no-repeat fixed, linear-gradient(180deg, var(--wood), var(--deep-brown));place-items:center;min-height:100%;padding:20px 14px;display:grid;overflow-x:hidden}.lobby .poster{width:100%;max-width:560px}.teams{grid-template-columns:1fr 1fr;gap:12px;margin:14px 0;display:grid}.team{border:2px solid var(--ink);border-radius:var(--radius);text-align:left;background:#fff8ea;padding:10px}.team h3{margin:0 0 8px;font-size:15px}.seat{border-top:1px solid #0000001f;justify-content:space-between;gap:6px;padding:6px 0;font-size:14px;display:flex}.seat .free{color:#8a7a68;font-style:italic}.badge-ready{color:var(--bottle-green);font-weight:700}.share{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.share code{text-overflow:ellipsis;white-space:nowrap;border:2px dashed var(--ink);border-radius:var(--radius);background:#fff8ea;flex:180px;min-width:0;padding:9px 10px;font-size:12.5px;overflow:hidden}@media (max-width:600px){.teams{grid-template-columns:1fr}.poster{padding:16px 14px}.share .secondary{text-align:center;flex:auto;padding:9px 10px;font-size:13px}}.lobby-actions{gap:10px;display:grid}.table-page{background:var(--deep-brown);position:fixed;inset:0;overflow:hidden}.table-canvas{position:absolute;inset:0}.table-canvas canvas{display:block}.hud-top{pointer-events:none;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:absolute;top:8px;left:8px;right:8px}.score{background:linear-gradient(#341f15d6,#1c100beb),url(/themes/saloon/ui/panel.webp) 50%/100% 100%;border:2px solid #d4a64a;border-radius:10px;min-width:168px;max-width:240px;padding:7px 11px;font-size:13px;line-height:1.3;box-shadow:0 8px 20px #0000008c,inset 0 1px #ffe29e40}.score.us-plaque{border-color:#4dc48c}.score.rivals{text-align:right;border-color:#d65544}.score-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.score-head strong{color:var(--gold);letter-spacing:.04em;white-space:nowrap;font-size:13px}.score.us-plaque .score-head strong{color:#7ee3b3}.score.rivals .score-head strong{color:#ff9c8e}.score-tag{color:#e9fff5;white-space:nowrap;background:#1d5c40b8;border:1px solid #7ee3b373;border-radius:999px;padding:1px 7px;font-size:11px;font-weight:800}.score-tag.rival{color:#ffefec;background:#7d2217bf;border-color:#ff9c8e73}.score-roster{color:#f6e8ccc7;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.score-nums{color:var(--paper);margin-top:2px;font-size:13px;font-weight:700}.baza-row{border-top:1px solid #e2b66d38;align-items:center;gap:6px;margin-top:5px;padding-top:5px;display:flex}.baza-row.rivals{justify-content:flex-end}.baza-label{letter-spacing:.07em;color:#f6e8cccc;font-size:10px;font-weight:900}.baza-pips{align-items:center;gap:4px;display:inline-flex}.baza-pip{background:#0e0805a6;border:2px solid #f6e8cc52;border-radius:50%;width:13px;height:13px;transition:transform .16s,box-shadow .16s}.baza-row.mine .baza-pip.won{background:radial-gradient(circle at 32% 30%,#fff0ad,#d4a64a 62%,#7d5917);border-color:#fff6cf;transform:scale(1.08);box-shadow:0 0 8px #d4a64ad9}.baza-row.rivals .baza-pip.won{background:radial-gradient(circle at 32% 30%,#ffb0a3,#c94a38 62%,#6d1c13);border-color:#ffdcd6;transform:scale(1.08);box-shadow:0 0 8px #c94a38cc}.baza-count{color:var(--gold);font-size:12px;font-weight:900}.baza-row.rivals .baza-count{color:#ff9c8e}.status{text-align:center;background:linear-gradient(#341f15db,#1c100bed),url(/themes/saloon/ui/panel.webp) 50%/100% 100%;border:2px solid #d4a64ab8;border-radius:12px;max-width:44%;padding:6px 14px;font-size:14px;box-shadow:0 8px 22px #00000085,inset 0 1px #ffe29e47}.status.mine{color:var(--ink);background:linear-gradient(#f3cd73 0%,#d4a64a 100%);border-color:#4f2f12;font-weight:700;box-shadow:0 0 24px #d4a64a99,0 8px 20px #00000080}.status-top{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.mano-title{letter-spacing:.05em;font-size:13px}.muestra-pill,.pot-pill{color:var(--paper);background:#180d08c7;border:1px solid #ffe29e66;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-flex}.pot-pill{color:#ffe7a8;border-color:#f0c365b8}.status-line{margin-top:3px;font-size:13px;font-weight:700}.timer-track{background:#0e080559;border-radius:999px;height:4px;margin-top:5px;overflow:hidden}.timer-fill{background:#3db885;height:100%;transition:width .25s linear}.status.mine .timer-fill{background:#2f1b10}.timer-fill.urgent{background:#d9412e}.bet-wait-pill{z-index:16;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;border-radius:999px;max-width:calc(100% - 24px);padding:7px 14px;font-size:13px;font-weight:800;animation:.18s ease-out drop;position:absolute;top:96px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 22px #0000008c}.bet-wait-pill.us{color:#ecfff5;background:linear-gradient(#1b4d37,#113224);border:2px solid #59c48d}.bet-wait-pill.rival{color:#fff0ed;background:linear-gradient(#62221a,#3c130e);border:2px solid #e06b58}.showdown-bar{left:50%;bottom:calc(var(--hand-height,158px) + 12px);z-index:22;border:3px solid var(--gold);width:min(460px,100% - 20px);color:var(--paper);text-align:center;background:linear-gradient(#382115e0,#1b0f0af2),url(/themes/saloon/ui/panel.webp) 50%/100% 100%;border-radius:14px;padding:12px 14px;animation:.2s ease-out drop;position:absolute;transform:translate(-50%);box-shadow:0 18px 42px #000000b8,0 0 28px #d4a64a59,inset 0 1px #ffe29e59}.showdown-head{color:#fff4da;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;font-size:16px;display:flex}.showdown-kicker{color:#fff;letter-spacing:.06em;background:#9e2d20;border:1px solid #ffd6ca8c;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:900}.showdown-sub{color:#f6e8cce6;margin:4px 0 10px;font-size:13px}.showdown-btns{grid-template-columns:1fr 1fr;gap:10px;display:grid}.actions{right:14px;bottom:var(--actions-bottom,16px);z-index:20;flex-direction:column;align-items:stretch;gap:8px;display:flex;position:absolute}.saloon-btn{border:2px solid #23140d;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:8px 14px;font-weight:900;transition:transform 80ms,box-shadow 80ms,filter .12s;display:flex;box-shadow:0 5px #1b0f0a,0 10px 20px #00000073,inset 0 1px #ffffff52}.saloon-btn:hover:not(:disabled){filter:brightness(1.07)}.saloon-btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px #1b0f0a,0 4px 10px #00000073}.saloon-btn:disabled{opacity:.65;cursor:wait}.showdown-btns .saloon-btn{flex-direction:column;gap:2px}.saloon-btn.accept{color:#fff;background:linear-gradient(#329368 0%,#1d5c40 100%);border-color:#79deb1}.saloon-btn.reject{color:#fff;background:linear-gradient(#c24232 0%,#7d2217 100%);border-color:#f39a8c}.saloon-btn.bet{color:#24140c;background:linear-gradient(#eab95a 0%,#b57c24 100%);border-color:#fff0c2;padding:9px 15px}.bet-cta .bet-icon{object-fit:contain;filter:drop-shadow(0 2px 3px #0006);width:28px;height:28px}.bet-copy{text-align:left;flex-direction:column;align-items:flex-start;line-height:1.15;display:flex}.btn-main{letter-spacing:.03em;font-size:16px;font-weight:900}.btn-sub{opacity:.92;font-size:11px;font-weight:700}.banner{z-index:18;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;border:2px solid #23140dd9;border-radius:999px;max-width:calc(100% - 32px);padding:8px 18px;font-weight:700;animation:.18s ease-out drop;position:absolute;top:132px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 22px #0000007a}.banner.info{background:var(--paper);color:var(--ink)}.banner.good{color:var(--ink);background:linear-gradient(#f3cd73,#d4a64a)}.banner.bad{color:#fff;background:linear-gradient(#c24232,#8e281b)}.connection{background:var(--muted-red);color:#fff;border-radius:999px;padding:6px 14px;font-size:14px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.finish{z-index:30;background:#140c0899;place-items:center;padding:16px;display:grid;position:absolute;inset:0}@keyframes drop{0%{opacity:0;transform:translate(-50%,-8px)}}@media (max-width:720px){.hud-top{gap:5px;top:6px;left:6px;right:6px}.score{flex:1 1 0;min-width:0;max-width:none;padding:5px 7px;font-size:11px}.score-head{flex-direction:column;align-items:flex-start;gap:2px}.score.rivals .score-head{align-items:flex-end}.score-head strong{font-size:11px}.score-tag{padding:1px 6px;font-size:10px}.score-roster,.score-nums{display:none}.baza-row{gap:4px;margin-top:4px;padding-top:4px}.baza-label{font-size:9px}.baza-pip{width:11px;height:11px}.status{flex:1.05 1 0;max-width:none;padding:5px 7px;font-size:11px}.status-top{gap:4px}.mano-title{font-size:11px}.muestra-pill,.pot-pill{padding:1px 6px;font-size:10px}.status-line{font-size:11px}.bet-wait-pill{padding:5px 11px;font-size:12px;top:86px}.banner{font-size:13px;top:122px}.actions{right:8px}.saloon-btn{min-height:44px;padding:7px 10px}.btn-main{font-size:14px}}@media (prefers-reduced-motion:reduce){.banner,.bet-wait-pill,.showdown-bar,.saloon-dust,.tumbleweed{animation:none}}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#120a06b8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-card{background:var(--paper);width:min(560px,100%);max-height:86vh;color:var(--ink);border:4px solid var(--ink);text-align:left;border-radius:10px;padding:20px;overflow-y:auto;box-shadow:0 20px 50px #0000008c}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.modal-head h2{color:var(--muted-red);margin:0}.medal-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin:10px 0 16px;display:grid}.medal-item{border:2px solid var(--leather);background:#fff8ea;border-radius:8px;padding:10px;font-size:13px}.medal-item.locked{opacity:.48;filter:grayscale(.8)}.history-list{gap:6px;margin-top:8px;display:grid}.history-row{background:#68452f1a;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.pause-panel{z-index:25;width:min(360px,100% - 28px);color:var(--ink);border:3px solid var(--deep-brown);text-align:center;background:linear-gradient(#efe2c6 0%,#dfd0b0 100%);border-radius:14px;padding:18px 16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 50px #000000a6,inset 0 0 0 2px #ad7f3959}.hud-tools{z-index:15;gap:5px;display:flex;position:absolute;top:114px;right:12px}.hud-icon-btn{color:var(--paper);background:linear-gradient(#341f15eb,#1c100bf0);border:1.5px solid #d4a64a8c;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700;transition:transform 80ms,border-color .12s;box-shadow:0 3px 8px #0006}.hud-icon-btn:hover{border-color:var(--gold);transform:translateY(-1px)}@media (max-width:720px){.hud-tools{gap:4px;top:90px;right:8px}.hud-icon-btn{padding:4px 7px;font-size:11px}}.action-stack{gap:8px;margin-top:8px;display:grid}.bot-cta{border:2px solid var(--ink);border-radius:var(--radius);background:var(--gold);width:100%;color:var(--ink);padding:14px;font-size:18px;font-weight:700}.char-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:8px;display:grid}.char-card{border:2px solid var(--leather);background:#fff8ea;border-radius:8px;padding:8px;font-size:12px}.table-page .bet-wait-pill{top:auto;bottom:calc(var(--actions-bottom,165px) + 6px);z-index:25}.table-page .banner{top:auto;bottom:calc(var(--hand-height,148px) + 52px);z-index:26;max-width:min(92vw,460px)}.arrastre-pill{color:#fff2cf;letter-spacing:.04em;background:linear-gradient(#9f2d22,#6f1c14);border:1px solid #f0c25c;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:11px;font-weight:700;animation:1.3s ease-in-out infinite saloon-pulse;display:inline-flex;box-shadow:0 2px 8px #00000073}@keyframes saloon-pulse{0%,to{box-shadow:0 0 #f0c25c73}50%{box-shadow:0 0 12px 2px #f0c25cb8}}.hud-icon-btn.active{color:#fff1cc;background:linear-gradient(#87572d,#563218);border-color:#e9b949}.hud-history{z-index:42;width:min(300px,100vw - 24px);max-height:min(320px,52vh);color:var(--ink);border:2px solid var(--wood);background:linear-gradient(#f3e8d2,#e2d1b2);border-radius:12px;flex-direction:column;display:flex;position:fixed;top:56px;right:12px;overflow:hidden;box-shadow:0 14px 32px #0000008c}.hud-history-head{color:#f4deb1;background:linear-gradient(#4b2d1c,#2f1b10);justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.hud-history-close{color:#f4deb1;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:14px}.hud-history-empty{color:var(--wood);text-align:center;margin:0;padding:14px;font-size:13px}.hud-history-list{flex-direction:column;gap:5px;margin:0;padding:8px 10px;font-size:12.5px;list-style:none;display:flex;overflow-y:auto}.hist-item{border-left:3px solid var(--leather);background:#38251e14;border-radius:6px;padding:5px 8px}.hist-item.good{background:#42665a24;border-left-color:#2f7a57}.hist-item.bad{background:#a64b3924;border-left-color:#9f2d22}.back-picker{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px;display:grid}.back-option{text-align:left;color:var(--ink);cursor:pointer;background:#fff8e8a6;border:2px solid #68452f59;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;transition:border-color .14s,transform .12s,background .14s;display:flex}.back-option:hover{border-color:var(--leather);transform:translateY(-1px)}.back-option.active{border-color:var(--gold);background:#e9b94938;box-shadow:0 3px 10px #68452f33}.back-meta{flex-direction:column;gap:2px;font-size:13px;display:flex}.back-meta small{color:var(--wood);font-size:11px}.finish-actions{flex-direction:column;gap:10px;margin-top:12px;display:flex}.hud-header{display:contents}@media (max-width:720px){.hud-header{z-index:15;pointer-events:none;flex-direction:column;gap:5px;display:flex;position:absolute;top:6px;left:6px;right:6px}.hud-history{top:148px}.hud-header .hud-top{position:static;top:auto;left:auto;right:auto}.hud-header .hud-tools{pointer-events:auto;flex-wrap:wrap;justify-content:center;align-self:center;position:static;top:auto;right:auto}.table-page .bet-wait-pill{bottom:calc(var(--actions-bottom,165px) + 4px);max-width:calc(100vw - 24px);font-size:12px}.table-page .banner{bottom:calc(var(--hand-height,148px) + 48px);font-size:12px}}
