@import"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,700,0,0";:root{--homev2-bg: #050816;--homev2-bg-soft: #0b1023;--homev2-surface: #111833;--homev2-surface-muted: #161f3f;--homev2-border: #2a3a6a;--homev2-text: #eef4ff;--homev2-text-muted: #93a5cf;--homev2-accent: #6e75ff;--homev2-accent-soft: #4f5cff;--homev2-success: #22d06d;--homev2-warning: #f0b334}body.home-active{display:block;place-items:initial;background:radial-gradient(circle at 50% 20%,rgba(78,99,255,.25),transparent 26%),linear-gradient(180deg,#090e2a,#040814 70%)}#root.home-active{max-width:none;margin:0;padding:0;min-height:100vh}.homev2-screen{position:relative;min-height:100vh;width:100%;display:flex;flex-direction:column;background:radial-gradient(circle at 50% 20%,rgba(78,99,255,.25),transparent 26%),linear-gradient(180deg,#090e2a,#040814 70%);color:var(--homev2-text);overflow:visible;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-touch-callout:none}.homev2-screen *{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.homev2-header{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;padding:1rem 3.2rem;border-bottom:1px solid rgba(87,104,193,.45);background:#060918eb}.homev2-brand{text-decoration:none;text-transform:uppercase;color:var(--homev2-text);display:inline-flex;flex-direction:column;line-height:.95;width:fit-content}.homev2-brand-kicker{font-size:.5rem;font-weight:800;letter-spacing:.08em;color:#7b8cb6}.homev2-brand-title{font-size:1.95rem;font-weight:900;font-style:italic;letter-spacing:.02em;transform:scaleY(.86);transform-origin:left center}.homev2-nav{display:flex;align-items:center;justify-content:center;gap:1.5rem}.homev2-nav-link{color:var(--homev2-text-muted);text-decoration:none;font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.homev2-nav-link:hover{color:#d7e2ff}.homev2-identity{display:flex;align-items:center;gap:.55rem;border:1px solid rgba(110,117,255,.55);border-radius:7px;padding:.28rem .5rem;background:#161f3fcc}.homev2-identity-icon{width:1.55rem;height:1.55rem;display:grid;place-items:center;background:linear-gradient(135deg,#7d84ff,#5a65ff);color:#f3f5ff;border-radius:4px;font-size:.8rem}.homev2-identity-kicker{margin:0;font-size:.5rem;text-transform:uppercase;color:#7ec2ff;letter-spacing:.07em;font-weight:800}.homev2-identity-name{margin:0;font-size:.95rem;text-transform:uppercase;color:#f2f5ff;font-weight:900;font-style:italic;transform:scaleY(.9);transform-origin:left center}.homev2-main{flex:1;overflow:visible;padding:1.6rem 1.25rem 2rem}.homev2-hero{text-align:center;margin:0 auto 1.8rem}.homev2-hero-kicker{margin:0;text-transform:uppercase;font-style:italic;font-size:clamp(2rem,3.2vw,3rem);font-weight:900;transform:scaleY(.84)}.homev2-hero-title{margin:0;text-transform:uppercase;font-style:italic;font-size:clamp(5.7rem,11.2vw,10.6rem);letter-spacing:.01em;line-height:.83;transform:scaleY(.83);background:linear-gradient(180deg,#f5f8ff,#dce4ff 48%,#8b97c8);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 10px 28px rgba(0,0,0,.42)}.homev2-hero-line{width:min(390px,52vw);height:2px;margin:.3rem auto 0;background:linear-gradient(90deg,transparent 0%,rgba(90,107,255,.9) 50%,transparent 100%);box-shadow:0 0 10px #5569ff59}.homev2-hero-subtitle{margin-top:1rem;color:var(--homev2-accent);text-transform:uppercase;font-size:clamp(1.2rem,1.9vw,1.7rem);letter-spacing:.4em;font-style:italic;font-weight:800;animation:homev2-subtitle-pulse 2.2s ease-in-out infinite}@keyframes homev2-subtitle-pulse{0%,to{opacity:.78}50%{opacity:1}}.homev2-grid{width:min(1020px,100%);margin:0 auto;display:grid;grid-template-columns:.88fr 1.12fr;gap:1.75rem;align-items:start;padding-top:1.4rem}.homev2-panel{background:#101632ad;border:1px solid var(--homev2-border);border-radius:10px;padding:1.15rem}.homev2-identity-panel{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.homev2-identity-panel:hover{border-color:#4159a7;box-shadow:0 8px 26px #23357259;transform:translateY(-1px)}.homev2-explore{background:transparent;border:0;padding:0}.homev2-saved{width:min(1020px,100%);margin:0 auto 1rem;background:#141f44c2}.homev2-saved p{margin:0;color:#afbee3;font-size:.9rem}.homev2-saved strong{color:#f4f7ff}.homev2-saved-actions{margin-top:.7rem;display:flex;gap:.55rem}.homev2-saved-actions .homev2-btn{width:auto;padding-inline:.85rem}.homev2-section-title{margin:0 0 .75rem;color:#f4f8ff;text-transform:uppercase;letter-spacing:.04em;font-size:1.8rem;font-weight:900;font-style:italic;transform:scaleY(.84);transform-origin:left center}.homev2-label{display:block;color:#8fa1d0;text-transform:uppercase;font-size:.62rem;letter-spacing:.16em;margin:0 0 .42rem;font-style:italic;font-weight:700}.homev2-input{width:100%;border:1px solid #2c3d72;background:#060a1ccc;border-radius:7px;color:#f0f5ff;font-size:1.9rem;font-weight:800;font-style:italic;text-transform:uppercase;transform:scaleY(.88);transform-origin:left center;padding:1rem}.homev2-input::placeholder{color:#4e5f8f;opacity:1}.homev2-input:focus{border-color:#67f;outline:2px solid rgba(102,119,255,.28);outline-offset:0}.homev2-btn{border:1px solid transparent;border-radius:7px;padding:.9rem 1rem;width:100%;text-transform:uppercase;letter-spacing:.05em;font-size:1.35rem;font-weight:900;font-style:italic;transform:scaleY(.86);transform-origin:center}.homev2-create-btn{font-size:1.55rem}.homev2-btn-primary{background:linear-gradient(90deg,#6f74ff,#5f63e2);color:#eef2ff;box-shadow:0 0 22px #6c75ff47}.homev2-btn-primary:hover{filter:brightness(1.06)}.homev2-identity-panel .homev2-create-btn:hover:not(:disabled){border-color:#8d98ff;box-shadow:0 0 0 1px #a5b0ff47,0 10px 22px #5665e37a;transform:scaleY(.86) translateY(-1px)}.homev2-btn-secondary{background:#212b579e;border-color:#3d4f8f;color:#8fa6ff}.homev2-btn-secondary:hover{border-color:#6a7dcb;color:#cfd8ff}.homev2-btn-ghost{background:transparent;border-color:#32457b;color:#98abd8}.homev2-divider{display:flex;align-items:center;margin:1rem 0 1.05rem;color:#768abb;text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;font-style:italic;font-weight:700}.homev2-divider:before,.homev2-divider:after{content:"";height:1px;background:#2b3d72;flex:1}.homev2-divider span{margin:0 .7rem}.homev2-inline{display:grid;grid-template-columns:1fr 56px;gap:.55rem}.homev2-icon-btn{height:52px;border-radius:7px;border:1px solid #3d4f90;background:#222c55a8;color:#eef1ff;font-size:1.3rem;font-weight:900;display:flex;align-items:center;justify-content:center}.homev2-icon-btn:disabled{opacity:.45}.homev2-icon-btn:hover:not(:disabled){border-color:#7a8cff;color:#f4f7ff;background:linear-gradient(90deg,#5965f6,#747cff);box-shadow:0 0 0 1px #99a6ff40,0 8px 20px #4a56c773}.homev2-games-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap;margin-bottom:.75rem}.homev2-games-header .homev2-section-title{margin:0}.homev2-right-column{display:flex;flex-direction:column;gap:.55rem}.homev2-live-pill{border:1px solid rgba(49,217,117,.55);background:#07361d61;color:#4af382;border-radius:7px;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800;font-style:normal;padding:.38rem .55rem;white-space:nowrap;margin:0 0 0 auto}.homev2-games{margin-top:.5rem}.homev2-games ul{list-style:none;margin:0;padding:3px 0 0;display:grid;gap:.7rem;max-height:420px;overflow:auto;scrollbar-width:thin;scrollbar-color:#4f63ff rgba(28,38,78,.55);padding-right:.35rem}.homev2-games ul::-webkit-scrollbar{width:8px}.homev2-games ul::-webkit-scrollbar-track{background:#1c264e8c;border-radius:999px}.homev2-games ul::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#5f74ff,#4358f0);border-radius:999px;border:1px solid rgba(120,140,255,.35)}.homev2-games ul::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#7284ff,#5568f7)}.homev2-game-row{display:grid;grid-template-columns:1fr auto;gap:.55rem;border:1px solid #2d3e76;border-radius:8px;padding:.85rem .95rem;background:#192348bf;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background-color .18s ease}.homev2-game-row:hover{border-color:#4f63b3;background:#222e5ad1;box-shadow:0 8px 18px #131d3f59;transform:translateY(-1px)}.homev2-code-input{height:52px;transform:none;transform-origin:center;font-size:1.35rem;padding:.2rem .9rem;text-align:center;letter-spacing:.32em}.homev2-game-row-saved{border-color:#4158a1;background:#1e2b58d9}.homev2-saved-inline-actions{display:flex;align-items:center;gap:.4rem}.homev2-game-name{margin:0;color:#f2f6ff;font-size:2.1rem;text-transform:uppercase;letter-spacing:.01em;font-weight:900;font-style:italic;transform:scaleY(.84);transform-origin:left center}.homev2-game-meta{margin:.2rem 0 0;color:#8ba0d1;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.homev2-status-ready{color:#3ff57d}.homev2-status-active{color:var(--homev2-warning)}.homev2-join-btn{width:auto;align-self:center;padding:.65rem .95rem;font-size:1.12rem;transition:border-color .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.homev2-game-row .homev2-join-btn:hover:not(:disabled){color:#f6f8ff;border-color:#7a8cff;background:linear-gradient(90deg,#5a65f8,#7a7fff);box-shadow:0 0 0 1px #99a6ff47,0 8px 20px #4c59cc73;transform:translateY(-1px)}.homev2-join-btn--spectate{border-color:#3e4a72;color:#8a96ba;background:#1e2643bf}.homev2-game-row .homev2-join-btn--spectate:hover:not(:disabled){border-color:#53628f;color:#b6c2e6;background:#2a3456e6;box-shadow:0 0 0 1px #788abc2e,0 6px 14px #2a345661;transform:translateY(-1px)}.homev2-close-btn{min-width:44px;padding-inline:.4rem;border-color:#7a3f56;color:#e8a9bb;background:#60233847}.homev2-game-row .homev2-close-btn:hover:not(:disabled){border-color:#c44a70;color:#ffd6e1;background:linear-gradient(90deg,#8c2f4f,#ba4369);box-shadow:0 0 0 1px #ff99ba3d,0 8px 18px #82274573}.homev2-footer{border-top:1px solid rgba(87,104,193,.45);padding:1rem 2rem 1.1rem;background:#060918eb}.homev2-footer-links{display:flex;justify-content:center;gap:1.4rem;flex-wrap:wrap}.homev2-footer-links a{text-decoration:none;color:#7e90be;text-transform:uppercase;font-size:.62rem;letter-spacing:.12em;font-weight:800}.homev2-footer-links a:hover{color:#9fb2e4}@media(max-width:1200px){.homev2-header{padding-inline:1rem}}@media(max-width:980px){.homev2-grid{grid-template-columns:1fr}.homev2-live-pill{margin-left:0;flex:1 1 100%;width:100%;text-align:center}}@media(max-width:780px){.homev2-header{grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;gap:.6rem}.homev2-brand{grid-column:1;grid-row:1;justify-self:start;align-self:center}.homev2-identity{grid-column:2;grid-row:1;justify-self:end;align-self:center}.homev2-nav{grid-column:1 / -1;grid-row:2;justify-self:center;justify-content:center;gap:1rem;text-align:center}.homev2-hero-subtitle{letter-spacing:.18em}.homev2-game-name{font-size:1.65rem}}@media(max-width:640px){.homev2-main{padding:1.1rem .65rem 1.6rem}.homev2-panel{padding:.8rem}.homev2-inline{grid-template-columns:1fr}.homev2-icon-btn{height:48px}.homev2-saved-actions{flex-direction:column}.homev2-saved-actions .homev2-btn{width:100%}.homev2-game-row{grid-template-columns:1fr}.homev2-join-btn{width:100%}.homev2-saved-inline-actions{flex-direction:column;align-items:stretch}}body.lobby-active{display:block;place-items:initial;margin:0;overflow:hidden;background:radial-gradient(circle at 45% 12%,rgba(70,88,214,.2),transparent 32%),linear-gradient(180deg,#090d28,#050818 72%)}#root.lobby-active{max-width:none;margin:0;padding:0;min-height:100vh}.lobbyv2-screen{height:100vh;display:grid;grid-template-rows:auto 1fr auto;background:radial-gradient(circle at 45% 12%,rgba(70,88,214,.2),transparent 32%),linear-gradient(180deg,#090d28,#050818 72%);color:#eef4ff}.lobbyv2-main{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 360px}.lobbyv2-left{min-width:0;min-height:0;overflow:auto;padding:1.6rem 1.7rem 1.8rem}.lobbyv2-left-inner{width:min(980px,100%);margin:0 auto}.lobbyv2-right{min-height:0;border-left:1px solid rgba(87,104,193,.32);background:#0b1028b3}.lobbyv2-right-scroll{height:100%;display:flex;flex-direction:column;overflow:auto}.lobbyv2-right-scroll,.lobbyv2-left{scrollbar-width:thin;scrollbar-color:#4f63ff rgba(28,38,78,.55)}.lobbyv2-right-scroll::-webkit-scrollbar,.lobbyv2-left::-webkit-scrollbar{width:8px}.lobbyv2-right-scroll::-webkit-scrollbar-track,.lobbyv2-left::-webkit-scrollbar-track{background:#1c264e8c;border-radius:999px}.lobbyv2-right-scroll::-webkit-scrollbar-thumb,.lobbyv2-left::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#5f74ff,#4358f0);border-radius:999px;border:1px solid rgba(120,140,255,.35)}.lobbyv2-right-scroll::-webkit-scrollbar-thumb:hover,.lobbyv2-left::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#7284ff,#5568f7)}.lobbyv2-section-title{margin:0 0 1rem;text-transform:uppercase;letter-spacing:.03em;font-size:2rem;font-style:italic;transform:scaleY(.85);transform-origin:left center}.lobbyv2-players-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.35rem}.lobbyv2-players-head .lobbyv2-section-title{margin:0;display:inline-flex;align-items:center;gap:.45rem}.lobbyv2-head-actions{display:inline-flex;align-items:center;gap:.55rem}.lobbyv2-player-count{color:#7487d0;font-size:.9rem;margin-left:.05rem;border-radius:999px;padding:.2rem .65rem;border:1px solid rgba(106,126,206,.4);background:#2c3b6f73}.lobbyv2-cleanup-inline{margin:0;color:#43ed7f;text-transform:uppercase;letter-spacing:.08em;font-size:.6rem;font-weight:900;white-space:nowrap}.lobbyv2-player-list,.lobbyv2-spectator-list{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}.lobbyv2-player-card,.lobbyv2-spectator-card{display:grid;grid-template-columns:auto 1fr auto;gap:.8rem;align-items:center;border:1px solid rgba(74,93,177,.45);border-radius:14px;padding:.85rem;background:#172043bf}.lobbyv2-spectator-card{grid-template-columns:minmax(0,1fr) auto}.lobbyv2-player-card:hover,.lobbyv2-spectator-card:hover{border-color:#6f85e099}.lobbyv2-avatar{width:54px;height:54px;border-radius:999px;border:2px solid rgba(220,230,255,.25);background:linear-gradient(140deg,var(--card-color-light) 0%,var(--card-color) 52%,var(--card-color-dark) 100%);box-shadow:0 4px 12px #00000059;display:grid;place-items:center}.lobbyv2-avatar-icon{color:#f7fbff;font-size:1.2rem;line-height:1;text-shadow:-1px -1px 0 rgba(22,33,68,.75),1px -1px 0 rgba(22,33,68,.75),-1px 1px 0 rgba(22,33,68,.75),1px 1px 0 rgba(22,33,68,.75);font-variation-settings:"opsz" 24,"wght" 700,"FILL" 0,"GRAD" 0}.lobbyv2-spectator-avatar{background:linear-gradient(140deg,#7682b4,#5f6b9a 60%,#404a74)}.lobbyv2-player-name{margin:0;font-size:1.6rem;font-weight:900;font-style:italic;transform:scaleY(.84);transform-origin:left center}.lobbyv2-player-name-row{display:flex;align-items:center;gap:.45rem}.lobbyv2-player-meta{margin-top:.1rem;color:#91a5db;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.lobbyv2-player-name-bot{color:#56e594}.lobbyv2-connection-meta{display:inline-flex;align-items:center;gap:.32rem}.lobbyv2-connection-triangle{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:9px solid #34d399}.lobbyv2-badges{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:0}.lobbyv2-badge{font-size:.58rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;border-radius:999px;padding:.16rem .45rem}.lobbyv2-badge-you{background:#6474ff;color:#f6f8ff}.lobbyv2-badge-host{background:#fbbf24;color:#1f2937}.lobbyv2-badge-bot{background:#22c55e;color:#04210d}.lobbyv2-badge-proxy{background:#fb7185;color:#fff1f2}.lobbyv2-card-actions{display:flex;gap:.45rem;align-items:center;justify-self:end}.lobbyv2-card-actions-host{opacity:0;pointer-events:none;transition:opacity .18s ease}.lobbyv2-player-card:hover .lobbyv2-card-actions-host,.lobbyv2-spectator-card:hover .lobbyv2-card-actions-host{opacity:1;pointer-events:auto}.lobbyv2-btn{border:1px solid rgba(78,95,170,.6);border-radius:10px;background:#202b56b3;color:#b8c5f0;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;padding:.45rem .7rem}.lobbyv2-btn:hover:not(:disabled){color:#f0f4ff;border-color:#7d90e0}.lobbyv2-icon-btn{display:inline-flex;align-items:center;gap:.32rem}.lobbyv2-btn-icon{font-size:.9rem;line-height:1}.lobbyv2-btn-danger{border-color:#ba4c6999;background:#64203780;color:#f4b2c3}.lobbyv2-btn-danger:hover:not(:disabled){border-color:#d06185;color:#ffe2eb;background:#832b47b8}.lobbyv2-leave-head-btn{width:auto;min-width:118px}.lobbyv2-mobile-top-controls{display:none}.lobbyv2-mobile-leave-btn{width:100%}.lobbyv2-promote-btn{border-color:#3e4a72;color:#8a96ba;background:#1e2643bf}.lobbyv2-promote-btn:hover:not(:disabled){border-color:#53628f;color:#b6c2e6;background:#2a3456e6;box-shadow:0 0 0 1px #788abc2e,0 6px 14px #2a345661}.lobbyv2-kick-btn{border-color:#7a3f56;color:#e8a9bb;background:#60233847}.lobbyv2-kick-btn:hover:not(:disabled){border-color:#c44a70;color:#ffd6e1;background:linear-gradient(90deg,#8c2f4f,#ba4369);box-shadow:0 0 0 1px #ff99ba3d,0 8px 18px #82274573}.lobbyv2-quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:.8rem;margin-top:1rem}.lobbyv2-quick-actions--single{grid-template-columns:1fr}.lobbyv2-dashed-card{min-height:170px;border:2px dashed rgba(94,110,140,.4);border-radius:16px;background:#181e3861;display:grid;place-items:center;color:#94a0c0;text-align:center;padding:.75rem}.lobbyv2-action-card{grid-template-rows:auto auto auto auto;gap:.5rem;align-content:start;justify-items:center;padding-top:1.05rem}.lobbyv2-quick-actions--single .lobbyv2-dashed-card{min-height:92px;justify-items:start;align-content:center;text-align:left;grid-template-columns:auto auto;grid-template-rows:1fr;column-gap:.85rem;padding:.8rem 1.1rem}.lobbyv2-quick-actions--single .lobbyv2-action-title{font-size:1.1rem}.lobbyv2-quick-actions--single .lobbyv2-action-icon{width:2.6rem;height:2.6rem;font-size:1.1rem}.lobbyv2-action-icon{width:3.1rem;height:3.1rem;border-radius:999px;display:grid;place-items:center;font-size:1.25rem;font-weight:900;letter-spacing:.08em;color:#dbe5ff;background:#263058bf;border:1px solid rgba(173,191,255,.24);text-shadow:0 0 8px rgba(233,241,255,.2);box-shadow:inset 0 1px 1px #ffffff29,inset 0 -1px 3px #060a2047,0 4px 10px #05081847;font-variation-settings:"opsz" 24,"wght" 700,"FILL" 0,"GRAD" 0}.lobbyv2-action-icon-bot{background:#175c3f80}.lobbyv2-action-title{color:#ccd5ee;font-size:1.65rem;font-weight:800;letter-spacing:.01em}.lobbyv2-invite-card:hover{border-color:#5870ffcc;background:#1921489e;box-shadow:inset 0 0 0 1px #667eff47}.lobbyv2-bot-card:hover{border-color:#42d083bd;background:#122d2c94;box-shadow:inset 0 0 0 1px #40d3833d}.lobbyv2-bot-card[role=button]{cursor:pointer}.lobbyv2-bot-card[aria-disabled=true]{opacity:.52;cursor:not-allowed}.lobbyv2-bot-slider{--lobbyv2-diff-accent-start: #3ecf8e;--lobbyv2-diff-accent-end: #4bb58f;--lobbyv2-diff-accent-text: #072a1f;width:100%;max-width:440px;border:1px solid rgba(94,110,158,.55);border-radius:999px;background:#1d274bd1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:.16rem;gap:.16rem}.lobbyv2-bot-level{border:0;border-radius:999px;background:transparent;color:#8698c79e;font-size:.9rem;text-transform:none;letter-spacing:0;font-weight:800;padding:.34rem .4rem;line-height:1.1;white-space:nowrap;min-width:0}.lobbyv2-bot-level.is-active{background:linear-gradient(90deg,var(--lobbyv2-diff-accent-start) 0%,var(--lobbyv2-diff-accent-end) 100%);color:var(--lobbyv2-diff-accent-text)}.lobbyv2-bot-difficulty-pill{border-radius:999px;padding:.16rem .58rem;border:1px solid rgba(92,108,175,.5);font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;width:auto}.lobbyv2-player-meta.lobbyv2-bot-difficulty-pill{display:inline-flex;align-items:center;margin-top:.22rem}.lobbyv2-player-meta.lobbyv2-bot-difficulty-pill:before{content:"DIFFICULTY: ";opacity:.95}.lobbyv2-diff-easy{color:#7dd3fc;border-color:#7dd3fc7a;background:#0e346d5c}.lobbyv2-diff-normal{color:#43e788;border-color:#43e78873;background:#0c543559}.lobbyv2-diff-hard{color:#ffcf58;border-color:#ffcf5873;background:#644b0d59}.lobbyv2-diff-nightmare{color:#ff7f7f;border-color:#ff7f7f73;background:#6b1f2c59}.lobbyv2-bot-slider.lobbyv2-diff-easy{--lobbyv2-diff-accent-start: #38bdf8;--lobbyv2-diff-accent-end: #3b82f6;--lobbyv2-diff-accent-text: #e0f2fe}.lobbyv2-bot-slider.lobbyv2-diff-normal{--lobbyv2-diff-accent-start: #34d399;--lobbyv2-diff-accent-end: #22c55e;--lobbyv2-diff-accent-text: #062712}.lobbyv2-bot-slider.lobbyv2-diff-hard{--lobbyv2-diff-accent-start: #fbbf24;--lobbyv2-diff-accent-end: #f59e0b;--lobbyv2-diff-accent-text: #2f1a02}.lobbyv2-bot-slider.lobbyv2-diff-nightmare{--lobbyv2-diff-accent-start: #f87171;--lobbyv2-diff-accent-end: #ef4444;--lobbyv2-diff-accent-text: #2b0606}.lobbyv2-add-bot-btn{width:auto;min-width:116px;margin-top:.2rem}.lobbyv2-sidebar-section{padding:1.1rem;border-bottom:1px solid rgba(87,104,193,.22)}.lobbyv2-start-btn{width:100%;border:1px solid rgba(138,150,255,.55);border-radius:14px;padding:1rem 1.1rem;background:linear-gradient(90deg,#6b73f7,#5f6ae4);color:#f5f8ff;text-transform:uppercase;letter-spacing:.05em;font-weight:900;font-size:1.1rem;font-style:italic;transform:scaleY(.88);transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}.lobbyv2-start-btn:hover:not(:disabled){filter:brightness(1.09);transform:scaleY(.88) translateY(-1px);box-shadow:0 10px 24px #5768e761}.lobbyv2-run-sim-btn{width:100%;margin-top:.6rem;border:1px solid rgba(96,114,192,.62);border-radius:10px;padding:.58rem .9rem;background:#212b579e;color:#b8c5f0;text-transform:uppercase;letter-spacing:.07em;font-size:.72rem;font-weight:900}.lobbyv2-run-sim-btn:hover:not(:disabled){border-color:#7a8cff;color:#f1f5ff;background:#3e4b84e6}.lobbyv2-sidebar-title{margin:0 0 .8rem;font-size:1.4rem;font-style:italic;transform:scaleY(.88);transform-origin:left center}.lobbyv2-section-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.8rem}.lobbyv2-section-head .lobbyv2-sidebar-title{margin:0}.lobbyv2-code-copy{border:0;background:transparent;display:grid;justify-items:end;gap:.34rem;padding:0;cursor:pointer}.lobbyv2-code-copy-status{border-radius:7px;border:1px solid rgba(71,205,128,.48);color:#effff4;background:linear-gradient(90deg,#47ca71,#35bc6a);padding:.2rem .5rem;font-size:.56rem;font-weight:900;letter-spacing:.07em;line-height:1}.lobbyv2-code-copy-value{border-radius:999px;border:1px solid rgba(93,111,177,.45);color:#8ea1de;background:#1c2447c7;padding:.22rem .48rem .2rem .58rem;font-size:.62rem;font-weight:800;letter-spacing:.08em;display:inline-flex;align-items:center;gap:.36rem;transition:border-color .16s ease,color .16s ease,box-shadow .16s ease,background .16s ease}.lobbyv2-code-copy-icon{font-size:.9rem;color:#8d96b8;line-height:1;font-variation-settings:"opsz" 20,"wght" 700,"FILL" 0,"GRAD" 0}.lobbyv2-code-copy:hover .lobbyv2-code-copy-value{border-color:#8b98ebd1;color:#c4d0ff;box-shadow:0 0 0 1px #8192f047}.lobbyv2-code-copy:hover .lobbyv2-code-copy-icon{color:#d7ddf5}.lobbyv2-code-copy.is-copied .lobbyv2-code-copy-status{border-color:#47cd8099}.lobbyv2-code-copy.is-copied .lobbyv2-code-copy-value{border-color:#47cd80b3;color:#53ef8f;background:#0b4d2942;box-shadow:0 0 0 1px #47cd802e}.lobbyv2-code-copy.is-copied .lobbyv2-code-copy-icon{color:#8de4a9}.lobbyv2-kv{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.lobbyv2-kv-label{margin:0;color:#7f93c7;text-transform:uppercase;font-size:.58rem;letter-spacing:.09em;font-weight:800}.lobbyv2-kv-value{margin:.22rem 0 0;font-weight:700;color:#e8efff;font-size:.88rem}.lobbyv2-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.15rem .55rem;border:1px solid rgba(90,205,127,.45);color:#43ed7f;background:#0b4d2959;text-transform:uppercase;letter-spacing:.08em;font-size:.56rem;font-weight:800}.lobbyv2-pill-dot{width:6px;height:6px;border-radius:999px;background:#43ed7f}.lobbyv2-form-group{margin-bottom:.8rem}.lobbyv2-form-group label{display:block;margin-bottom:.32rem;color:#8396ca;text-transform:uppercase;font-size:.58rem;letter-spacing:.1em;font-weight:800}.lobbyv2-input,.lobbyv2-select{width:100%;border:1px solid rgba(75,91,158,.55);border-radius:11px;background:#222b4fb3;color:#ecf2ff;padding:.58rem .7rem}.lobbyv2-inline-row{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}.lobbyv2-chat-placeholder{border:1px dashed rgba(98,115,184,.45);border-radius:12px;padding:.95rem;color:#8fa3d8;font-size:.85rem;line-height:1.4;background:#121b3a8c;min-height:120px}.lobbyv2-chat-section{flex:1;display:flex;flex-direction:column;min-height:260px}.lobbyv2-chat-section .lobbyv2-chat-placeholder{flex:1}.lobbyv2-bottom-actions{margin-top:.6rem;display:flex;gap:.55rem;flex-wrap:wrap}.lobbyv2-cardback-choice{width:100%;height:auto;aspect-ratio:5 / 7;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,filter .12s ease,opacity .12s ease}.lobbyv2-cardback-choice:hover:not(.is-disabled){transform:translateY(-1px) scale(1.02);box-shadow:0 0 0 1px #adbdff73,0 8px 16px #29367066;border-color:#8ea4ff}.lobbyv2-cardback-choice.is-selected{border-color:#95a6ff;box-shadow:0 0 0 2px #95a6ff59}.lobbyv2-cardback-choice.is-selected:active{transform:scale(.96)}.lobbyv2-cardback-choice.is-disabled{opacity:.34;filter:grayscale(.72) brightness(.72);border-color:#747ea37a;box-shadow:inset 0 0 0 1px #2027418c}.homev2-footer--lobby{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1.2rem}.homev2-footer-left{display:inline-flex;align-items:center;gap:.45rem;color:#84f7ad;text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;font-weight:800}.homev2-footer-server-dot{width:6px;height:6px;border-radius:999px;background:#43ed7f;box-shadow:0 0 8px #43ed7fb3}@media(max-width:980px){body.lobby-active{overflow:auto}.lobbyv2-screen{height:auto;min-height:100vh}.lobbyv2-main{grid-template-columns:1fr}.lobbyv2-left,.lobbyv2-right-scroll{overflow:visible}.lobbyv2-right{border-left:0;border-top:1px solid rgba(87,104,193,.32)}.lobbyv2-sidebar-section:first-child{display:none}.lobbyv2-players-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"mobile mobile" "title actions";align-items:center;gap:.45rem .55rem}.lobbyv2-mobile-top-controls{grid-area:mobile;display:grid;gap:.45rem;width:100%}.lobbyv2-players-head .lobbyv2-section-title{grid-area:title}.lobbyv2-head-actions{grid-area:actions;width:auto;justify-content:flex-end;align-items:center;flex-wrap:nowrap}.lobbyv2-leave-head-btn{display:none}.lobbyv2-player-card,.lobbyv2-spectator-card{padding:.62rem .68rem;gap:.52rem;border-radius:12px}.lobbyv2-avatar{width:44px;height:44px}.lobbyv2-player-name{font-size:1.3rem}.lobbyv2-player-meta{margin-top:.02rem;font-size:.68rem}.lobbyv2-card-actions-host{opacity:1;pointer-events:auto}.lobbyv2-card-actions{flex-wrap:nowrap;gap:.28rem;align-self:start}.lobbyv2-card-actions .lobbyv2-btn{min-height:34px;min-width:34px;padding:.3rem;border-radius:9px;display:grid;place-items:center}.lobbyv2-card-actions .lobbyv2-btn-label{display:none}.lobbyv2-card-actions .lobbyv2-btn-icon{font-size:.92rem}.lobbyv2-quick-actions{grid-template-columns:1fr}.lobbyv2-dashed-card.lobbyv2-action-card{min-height:0;border:2px dashed rgba(94,110,140,.4);border-radius:14px;background:#181e3861;box-shadow:none;padding:.62rem .68rem .58rem;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon title" "icon slider";gap:.4rem .55rem;align-items:center;justify-items:start;text-align:left}.lobbyv2-action-card>.lobbyv2-action-icon{grid-area:icon;width:44px;height:44px;font-size:1.05rem}.lobbyv2-action-card>.lobbyv2-action-title{grid-area:title;font-size:1.1rem;font-weight:800;letter-spacing:.01em;transform:none;transform-origin:center center;width:100%;text-align:center;justify-self:center}.lobbyv2-invite-card{min-height:84px;grid-template-areas:"icon title";grid-template-columns:auto minmax(0,1fr);border-color:#5870ffcc;background:#1921489e;box-shadow:inset 0 0 0 1px #667eff47}.lobbyv2-invite-card>.lobbyv2-action-title{display:flex;align-items:center;justify-content:center;min-height:100%;align-self:center;margin:0}.lobbyv2-invite-card:hover{border-color:#5870ffe0;background:#192148b8;box-shadow:inset 0 0 0 1px #667eff57}.lobbyv2-bot-card{border-color:#42d083bd;background:#122d2c94;box-shadow:inset 0 0 0 1px #40d3833d}.lobbyv2-bot-card:hover{border-color:#42d083d6;background:#122d2ca8;box-shadow:inset 0 0 0 1px #40d38357}.lobbyv2-bot-card>.lobbyv2-bot-slider{grid-area:slider;width:100%;max-width:none;margin-top:0;margin-bottom:0}.homev2-footer--lobby{grid-template-columns:1fr;justify-items:center;gap:.6rem}}@media(max-width:640px){.lobbyv2-left{padding:1rem .65rem 1.15rem}.lobbyv2-inline-row,.lobbyv2-kv{grid-template-columns:repeat(2,minmax(0,1fr))}.lobbyv2-inline-row{grid-template-columns:1fr}.lobbyv2-start-btn,.lobbyv2-run-sim-btn,.lobbyv2-btn{min-height:40px}}body.sim-active{display:block;place-items:initial;margin:0;overflow:hidden;background:radial-gradient(circle at 45% 12%,rgba(70,88,214,.2),transparent 32%),linear-gradient(180deg,#090d28,#050818 72%)}#root.sim-active{max-width:none;margin:0;padding:0;min-height:100vh}.simv2-screen{height:100vh;display:grid;grid-template-rows:auto 1fr auto;color:#eef4ff;background:radial-gradient(circle at 45% 12%,rgba(70,88,214,.2),transparent 32%),linear-gradient(180deg,#090d28,#050818 72%)}.simv2-main{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 420px;overflow:hidden}.simv2-left{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(170px,48%) minmax(0,1fr);border-right:1px solid rgba(87,104,193,.22);overflow:hidden}.simv2-score-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.85rem 1.2rem .75rem;border-bottom:1px solid rgba(87,104,193,.2)}.simv2-section-title{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:1rem;color:#7f93c7}.simv2-title-with-icon{display:inline-flex;align-items:center;gap:.35rem}.simv2-title-with-icon .material-symbols-outlined{font-size:1rem;color:#667dcb;font-variation-settings:"opsz" 20,"wght" 700,"FILL" 0,"GRAD" 0}.simv2-score-status{margin:0;color:#43ed7f;text-transform:uppercase;letter-spacing:.08em;font-size:.62rem;font-weight:900}.simv2-chart-wrap{min-height:0;padding:.85rem 1.2rem 1rem;border-bottom:1px solid rgba(87,104,193,.2)}.simv2-log-section{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);position:relative;overflow:hidden}.simv2-log-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.8rem;padding:.85rem 1.2rem .7rem;border-bottom:1px solid rgba(87,104,193,.2)}.simv2-log-title{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.88rem;color:#7f93c7;justify-self:start}.simv2-autoscroll{margin:0;font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800;justify-self:end;text-align:right}.simv2-autoscroll.is-active{color:#43ed7f}.simv2-autoscroll.is-disabled{color:#7e8eb7}.simv2-log{min-height:0;overflow:auto;padding:.75rem 1.2rem 1rem;display:flex;flex-direction:column;gap:.32rem;background:#050a189e}.simv2-scroll-up{position:absolute;left:50%;top:2.9rem;transform:translate(-50%);width:34px;height:34px;border-radius:999px;border:1px solid rgba(109,126,206,.6);background:linear-gradient(180deg,#5f74ff,#4358f0);color:#f5f8ff;font-size:1.05rem;font-weight:900;box-shadow:0 8px 18px #2e3b8266;animation:simv2-bounce 1.3s ease-in-out infinite}.simv2-right{min-height:0;background:#0b1028b3}.simv2-right-scroll{height:100%;overflow:auto;display:flex;flex-direction:column}.simv2-right-scroll,.simv2-log{scrollbar-width:thin;scrollbar-color:#4f63ff rgba(28,38,78,.55)}.simv2-right-scroll::-webkit-scrollbar,.simv2-log::-webkit-scrollbar{width:8px}.simv2-right-scroll::-webkit-scrollbar-track,.simv2-log::-webkit-scrollbar-track{background:#1c264e8c;border-radius:999px}.simv2-right-scroll::-webkit-scrollbar-thumb,.simv2-log::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#5f74ff,#4358f0);border-radius:999px;border:1px solid rgba(120,140,255,.35)}.simv2-right-scroll::-webkit-scrollbar-thumb:hover,.simv2-log::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#7284ff,#5568f7)}.simv2-control-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:.52rem}.simv2-game-meta{margin-top:.8rem;border:1px solid rgba(87,104,193,.26);border-radius:12px;background:#13193499;padding:.6rem .7rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.simv2-game-meta>div:nth-child(2){text-align:center}.simv2-game-meta>div:nth-child(3){text-align:right}.simv2-small-btn{padding:.48rem .5rem;display:inline-flex;align-items:center;justify-content:center;gap:.22rem}.simv2-small-btn .material-symbols-outlined,.lobbyv2-start-btn .material-symbols-outlined{font-size:.92rem;line-height:1;font-variation-settings:"opsz" 20,"wght" 700,"FILL" 0,"GRAD" 0}.simv2-end-btn{border-color:#ba4c6999;background:#64203780;color:#f4b2c3}.simv2-slider-row{margin-top:.54rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.48rem}.simv2-slider-row label{color:#93a5cf;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.simv2-slider-row input[type=range]{width:100%}.simv2-slider-row span{color:#c4d0f0;font-size:.68rem;font-weight:700;min-width:3.8rem;text-align:right}.simv2-rank-table-wrap{border:1px solid rgba(87,104,193,.26);border-radius:10px;overflow:hidden}.simv2-rank-table{width:100%;border-collapse:collapse}.simv2-rank-table th,.simv2-rank-table td{padding:.48rem .55rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.simv2-rank-table thead th{color:#7f93c7;background:#141b3aa6;text-align:left}.simv2-rank-table tbody td{border-top:1px solid rgba(87,104,193,.16);color:#e8efff}.simv2-rank-row.is-hidden{opacity:.35}.simv2-rank-row.is-round-winner{background:linear-gradient(90deg,#4a7aff38,#6076e11f)}.simv2-rank-row.is-total-winner{background:linear-gradient(90deg,#29915e4d,#1a6c4238)}.simv2-rank-table tbody td:nth-child(n+2),.simv2-rank-table thead th:nth-child(n+2){text-align:right}.simv2-rank-table td:first-child{max-width:156px}.simv2-player-name-cell{display:inline-block;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.simv2-identity-pill{display:inline-block;margin-left:.35rem;padding:.06rem .36rem;border-radius:999px;border:1px solid rgba(148,163,184,.55);background:#0f172ab3;color:#dbeafe;font-size:.58rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;vertical-align:middle}.simv2-status-icon{display:inline-flex;align-items:center;margin-left:.28rem;vertical-align:middle}.simv2-status-icon .material-symbols-outlined{font-size:.88rem;line-height:1;font-variation-settings:"opsz" 18,"wght" 700,"FILL" 1,"GRAD" 0}.simv2-status-icon.is-active{color:#67f09a}.simv2-status-icon.is-stalled{color:#ffd56a}.simv2-status-icon.is-locked{color:#ff8b8b}.simv2-player-dot{width:8px;height:8px;border-radius:999px;display:inline-block;margin-right:.35rem}.simv2-controls-panel{padding-top:.95rem}.simv2-filter-row{max-width:100%}.simv2-filter-chips{display:flex;flex-wrap:wrap;gap:.35rem}.simv2-filter-chip,.simv2-filter-reset{border:1px solid rgba(148,163,184,.45);background:#0f172abf;color:#e2e8f0;border-radius:999px;padding:.2rem .6rem;font-size:.7rem;cursor:pointer}.simv2-filter-chip.is-active{background:#3b82f659;border-color:#60a5fabf;color:#fff}.simv2-filter-reset[disabled]{opacity:.5;cursor:not-allowed}.simv2-log-line{padding:.48rem .7rem;border-radius:6px;line-height:1.5;color:#e6edf6;font-size:.78rem;white-space:nowrap;border-left:4px solid transparent;display:flex;align-items:center;justify-content:space-between;gap:.8rem}.simv2-log-left{display:inline-flex;align-items:center;gap:.42rem;min-width:0}.simv2-log-seat-wrap{display:inline-flex;align-items:center;gap:.36rem}.simv2-log-seat-dot{width:8px;height:8px;border-radius:999px;flex:0 0 auto}.simv2-log-rev{color:#8491b6;font-weight:700;letter-spacing:.03em;min-width:2.6rem;flex:0 0 auto}.simv2-log-mode-toggle{width:202px;border:1px solid rgba(94,110,158,.55);border-radius:999px;background:#1d274bd1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:.16rem;gap:.16rem;justify-self:center}.simv2-log-mode-btn{border:0;border-radius:999px;background:transparent;color:#8698c7;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;padding:.27rem .15rem}.simv2-log-mode-btn.is-active{background:linear-gradient(90deg,#5f74ff,#4d64f8);color:#eff3ff}.lobbyv2-kv .lobbyv2-code-copy{justify-items:start}.simv2-log-player{color:#dfe7ff;font-weight:700}.simv2-log-body{min-width:0;overflow:hidden;text-overflow:ellipsis}.simv2-log-time{color:#8fa0cc;font-variant-numeric:tabular-nums;flex:0 0 auto}@keyframes simv2-bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-2px)}}@media(max-width:1100px){body.sim-active{overflow:auto}.simv2-screen{min-height:100vh;height:auto}.simv2-main{grid-template-columns:1fr;overflow:visible}.simv2-right{border-top:1px solid rgba(87,104,193,.32)}.simv2-right-scroll,.simv2-log{overflow:visible}}.app{width:100%;min-height:100vh}.app--sim{height:100%;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.home-screen{max-width:700px;margin:0 auto;padding:2rem}.home-content{display:flex;flex-direction:column;gap:1rem}.card-back-fieldset{border:0;padding:0;margin:0}.card-back-fieldset legend{margin-bottom:.5rem;font-weight:600}.win-condition-group,.bot-add-group,.visibility-row{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.visibility-row select,.visibility-row input{width:auto;min-width:180px;flex:1 1 220px}.win-condition-group select,.win-condition-group input,.bot-add-group select{width:auto;min-width:140px;flex:1 1 180px}.connection-indicator--disconnected{animation:pulse-disconnected 1s ease-in-out infinite}@keyframes pulse-disconnected{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:.8}}.bot-add-group .btn{flex:0 0 auto}.logo{text-align:center;margin-bottom:.25rem}.logo-image{width:280px;height:auto;display:block;margin:0 auto .25rem}.logo-cards{display:flex;justify-content:center;gap:.5rem}.title{text-align:center;font-size:3rem;margin:.5rem 0}.subtitle{text-align:center;color:#888;margin-top:.25rem;margin-bottom:2rem}.saved-session{background-color:#2a2a2a;padding:1.5rem;border-radius:8px;margin-bottom:1rem}.session-status{color:#888;font-size:.9rem;margin-top:.5rem}.game-options{display:flex;gap:2rem;margin-top:1rem;align-items:flex-start}.game-option{flex:1;display:flex;flex-direction:column;gap:1rem}.game-option h3{text-align:center;margin:0;font-size:1.25rem}.divider-vertical{width:1px;background:linear-gradient(to bottom,transparent,#444,transparent);flex-shrink:0}.public-games-section{margin-top:2rem;padding-top:2rem;border-top:1px solid #444}.public-games-section h3{text-align:center;margin-bottom:1rem}.public-games-table{width:100%;border-collapse:collapse;background-color:#2a2a2a;border-radius:8px;overflow:hidden}.public-games-table thead{background-color:#1a1a1a}.public-games-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:#fff}.public-games-table td{padding:.75rem 1rem;border-top:1px solid #444}.public-games-table tbody tr{transition:background-color .2s}.public-games-table tbody tr:hover{background-color:#333}.public-games-table .game-code{font-family:monospace;font-weight:600;letter-spacing:.05em;color:#888}.public-games-table .game-name{font-weight:500}.public-games-table .player-count{color:#888}.public-games-table th:last-child,.public-games-table td:last-child{text-align:right}.card-back-selector{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:.5rem}.card-back-option{width:40px;height:56px;border:2px solid transparent;border-radius:4px;cursor:pointer;background:linear-gradient(135deg,var(--card-color-light) 0%,var(--card-color) 50%,var(--card-color-dark) 100%);transition:all .2s}.card-back-option:hover{transform:scale(1.1)}.card-back-option.selected{border-color:#646cff;box-shadow:0 0 0 2px #646cff}.card-back-option.disabled{opacity:.3;cursor:not-allowed}.lobby-panel{max-width:800px;margin:0 auto;padding:2rem}.lobby-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.gc-countdown{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .75rem;margin-bottom:1.5rem;border-radius:999px;background:#f59e0b26;color:#f59e0b;font-weight:600;font-size:.9rem}.lobby-title{display:flex;align-items:center;gap:.75rem}.lobby-logo{height:32px;width:auto;display:block}.lobby-logo-link{display:inline-flex;align-items:center}.game-code-box{display:flex;align-items:center;gap:1rem}.game-code-box .code{font-size:2rem;font-weight:700;letter-spacing:.2em}.players-section,.spectators-section,.player-controls,.host-settings-section{margin-bottom:2rem}.players-list{list-style:none;padding:0}.player-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background-color:#2a2a2a;border-radius:4px;margin-bottom:.5rem}.player-item.settings-item{align-items:stretch;flex-direction:column;gap:1rem}.player-color-card{width:32px;height:44px;border-radius:4px;background:linear-gradient(135deg,var(--card-color-light) 0%,var(--card-color) 50%,var(--card-color-dark) 100%);border:1px solid var(--card-color-dark);box-shadow:0 1px 3px #0000004d;flex-shrink:0}.spectator-card{background:linear-gradient(135deg,#4a4a4a,#2a2a2a,#1a1a1a);border-color:#1a1a1a}.player-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.player-name-row{display:flex;align-items:center;gap:.5rem}.player-name{font-weight:500}.player-badges{display:flex;gap:.375rem;flex-wrap:wrap}.badge{display:inline-block;padding:.125rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500;line-height:1.5}.badge-you{background-color:#3b82f6;color:#fff}.badge-host{background-color:#8b5cf6;color:#fff}.badge-bot{background-color:#6b7280;color:#fff}.badge-difficulty{text-transform:capitalize}.badge-difficulty-easy{background-color:#3b82f6;color:#fff}.badge-difficulty-normal{background-color:#10b981;color:#fff}.badge-difficulty-hard{background-color:#f59e0b;color:#fff}.badge-difficulty-nightmare{background-color:#ef4444;color:#fff}.connection-indicator{width:10px;height:10px;border-radius:50%;flex-shrink:0}.host-settings-section{margin-top:1.5rem}.lobby-actions{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.sim-panel{margin-top:2rem;background:#1f1f1f;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.sim-header{display:flex;align-items:center;justify-content:space-between}.sim-status{font-size:.75rem;font-weight:600;text-transform:uppercase;padding:.2rem .6rem;border-radius:999px;background:#333;color:#fff}.sim-status--running{background:#22c55e33;color:#fff}.sim-status--paused{background:#f59e0b33;color:#fff}.sim-status--ended{background:#ef444433;color:#fff}.sim-controls{display:flex;flex-direction:column;gap:.75rem}.sim-settings{display:grid;grid-template-columns:auto minmax(120px,1fr);gap:.5rem .75rem;align-items:center}.sim-settings input{width:100%}.sim-settings .btn{grid-column:1 / -1;justify-self:start}.sim-actions{display:flex;gap:.75rem;flex-wrap:wrap}.sim-meta{display:flex;gap:1rem;color:#b3b3b3;font-size:.85rem}.sim-panel .sim-log{background:#00000059;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.75rem;max-height:240px;overflow:auto;font-size:.75rem;color:#e6e6e6;line-height:1.4}.sim-screen{height:100%;display:flex;flex-direction:column;background:#121212;overflow:hidden;min-height:0}.sim-topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:.5rem 1rem;border-bottom:1px solid rgba(255,255,255,.08);background:#1c1c1c}.sim-chart-panel{flex:0 0 34%;min-height:200px;padding:1rem 1.25rem;background:#0b0f1a;border-bottom:1px solid rgba(255,255,255,.08)}.sim-score-chart{position:relative;width:100%;height:100%;min-height:180px;border-radius:12px;overflow:hidden;background:#0b0f1a;border:1px solid rgba(255,255,255,.08)}.sim-score-chart canvas{position:relative;z-index:2;width:100%!important;height:100%!important}.sim-score-chart-bg{position:absolute;inset:0;background:radial-gradient(circle at top,rgba(70,80,120,.2),transparent 55%);z-index:1;pointer-events:none}.sim-controls-center{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.sim-controls-center .sim-revs{color:#cbd5f5;font-weight:600;font-size:.85rem}.sim-slider{display:flex;align-items:center;gap:.5rem;color:#d8d8d8;font-size:.85rem}.sim-slider input[type=range]{width:70px}.sim-slider-value{font-variant-numeric:tabular-nums;min-width:3.5rem;text-align:right;color:#e5e5e5}.sim-status-overlay{position:absolute;top:.75rem;left:50%;transform:translate(-50%);background:#0000008c;border:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 8px 24px #00000059}.sim-log-container{flex:1;padding:1.25rem;position:relative;overflow:hidden;min-height:0;display:flex;flex-direction:column}.sim-screen .sim-log{flex:1;min-height:0;background:#0f172a;overflow:auto;border-radius:8px;border:1px solid rgba(255,255,255,.08);padding:.75rem;display:flex;flex-direction:column;gap:.25rem}.sim-scroll-button{position:absolute;right:3rem;bottom:2rem;box-shadow:0 8px 24px #00000059}.sim-legend-toggle{position:absolute;right:3rem;top:4.5rem;opacity:.85;box-shadow:0 8px 24px #00000059}.sim-filter{position:absolute;right:3rem;top:2rem;display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;max-width:14rem}.sim-filter-chips{display:flex;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-end;gap:.35rem;scrollbar-width:none}.sim-filter-chips::-webkit-scrollbar{display:none}.sim-filter-chip,.sim-filter-reset{border:1px solid rgba(148,163,184,.45);background:#0f172abf;color:#e2e8f0;border-radius:999px;padding:.2rem .6rem;font-size:.7rem;cursor:pointer}.sim-filter-chip.is-active{background:#3b82f6d9;border-color:#60a5fae6;color:#fff}.sim-filter-reset[disabled]{opacity:.5;cursor:not-allowed}.sim-suit{font-weight:700;font-size:1.2em}.sim-suit--red{color:#f87171}.sim-suit--black{color:#e5e7eb}.sim-log-line{padding:.5rem .75rem;border-radius:6px;line-height:1.5;color:#e6edf6;font-size:.78rem;white-space:pre-wrap;border-left:4px solid transparent}.sim-log-empty{color:#9aa3b2;font-size:.85rem}.sim-countdown{background:#f59e0b2e;color:#f59e0b;border-color:#f59e0b59}.game-board{padding:1rem;position:relative}.game-board.no-focus,.game-board.no-focus *{user-select:none;-webkit-user-select:none}.game-board.no-focus *:focus,.game-board.no-focus *:focus-visible{outline:none;box-shadow:none}.game-board.spectator-readonly .commons-pile,.game-board.spectator-readonly .debt-pile,.game-board.spectator-readonly .bench-pile,.game-board.spectator-readonly .spent-pile,.game-board.spectator-readonly .reserve-pile,.game-board.spectator-readonly .game-actions{pointer-events:none}.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem;background-color:#2a2a2a;border-radius:8px}.game-meta{display:flex;align-items:center;gap:1rem;color:#bdbdbd;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.game-meta span{padding:.35rem .6rem;border-radius:999px;background:#00000040}.game-self-apm{color:#d1fae5}.foundations-area{margin-bottom:2rem}.foundations{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem}.foundation-pile{cursor:pointer}.player-area{display:grid;gap:.75rem;margin-bottom:2rem;width:100%;margin-left:auto;margin-right:auto}.yard-spacer{grid-column:1 / -1;min-height:120px}.yard-labels{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1.25rem;color:#9ca3af;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;justify-items:center}.yard-labels .bench-label{grid-column:2 / span 4}.yard-labels .deck-label{grid-column:6 / span 2}.yard-piles{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1.25rem;justify-items:stretch;align-items:start}.tableau-area{grid-column:1 / -1}.tableau{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.tableau-pile{position:relative;min-height:120px;cursor:pointer}.pile-frame{position:relative;width:80px;height:112px;cursor:pointer}.pile-frame .card-draggable{position:absolute;left:0}.empty-slot{width:80px;height:112px;border:2px dashed #555;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#888}.stock-waste-area{display:flex;gap:1rem}.game-actions{display:flex;gap:1rem;justify-content:center}.section-header{text-align:center;margin-bottom:.5rem;color:#888;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em}.shorthand-panel{margin-top:16px;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:8px 12px;background:#00000040}.shorthand-panel summary{cursor:pointer;font-weight:600;color:#f0f0f0}.shorthand-actions{display:flex;gap:8px;margin:10px 0;flex-wrap:wrap}.shorthand-log{max-height:280px;overflow:auto;background:#00000059;border-radius:8px;padding:10px;font-size:12px;line-height:1.5;color:#e6e6e6;border:1px solid rgba(255,255,255,.08)}.card{width:80px;height:112px;border-radius:8px;position:relative;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003;transition:all .2s}.card-draggable{position:relative;cursor:pointer;width:80px;height:112px}.card-draggable.is-selected .card{outline:2px solid rgba(100,108,255,.8);outline-offset:2px}.card-draggable.is-dragging{opacity:0}.drag-badge{position:absolute;top:-8px;right:-8px;background:#1f2937;color:#f8fafc;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-size:.7rem;line-height:1;padding:.2rem .4rem;box-shadow:0 4px 10px #00000059}.card-draggable.is-covered{pointer-events:none}.card-draggable.is-flight-hidden{opacity:0}.card-draggable .card,.card-draggable .card *{pointer-events:none}.card-draggable:hover .card{transform:translateY(-4px);box-shadow:0 6px 12px #00000059}.hover-reset .card-draggable:hover .card{transform:none!important;box-shadow:0 2px 4px #0003!important}.card.mini{width:40px;height:56px}.card.mini .mini-face{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.7rem;font-weight:700}.card.mini .mini-face .rank{font-size:.7rem;line-height:1}.card.mini .mini-face .suit{font-size:.8rem;line-height:1}.card.face{background-color:#fff;color:#000;border:1px solid #ddd}.card.back{background:linear-gradient(135deg,hsl(var(--card-hue, 120),82%,74%),hsl(var(--card-hue, 120),78%,50%) 45%,hsl(var(--card-hue, 120),84%,34%))}.card.empty{background-color:transparent;border:2px dashed #555;box-shadow:none}.card.red{color:#d32f2f}.card.black{color:#000}.card-inner{width:100%;height:100%;padding:4px;position:relative}.card-corner{position:absolute;display:flex;flex-direction:column;align-items:center;font-size:14px;font-weight:700}.card-corner .rank{font-size:12px;line-height:1}.card-corner.top-left{top:4px;left:4px}.card-corner.bottom-right{bottom:4px;right:4px;transform:rotate(180deg)}.card-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.face-card{font-size:32px}.face-card .rank-large{display:none}.modal-content.round-summary{width:min(1020px,96vw);max-width:min(1020px,96vw);max-height:calc(100vh - 24px);background:linear-gradient(180deg,#121436,#0d0f2a);border:1px solid rgba(65,74,145,.45);box-shadow:0 32px 76px #0000009e,inset 0 1px #ffffff0d;animation:round-summary-enter .26s ease-out;border-radius:16px;padding:1.6rem 1.6rem 0;overflow-x:hidden;overflow-y:auto}.modal-content.round-summary.round-summary-match-ended{border-color:#f59e0b52}.round-summary-overlay{align-items:flex-start;padding-top:12px}.round-summary .no-wrap{white-space:nowrap}.round-summary-header{text-align:center;padding:.25rem 0 .5rem;border-bottom:1px solid rgba(255,255,255,.08)}.round-summary-match-ended .round-summary-header{margin:-1.6rem -1.6rem 0;border-bottom-color:#f59e0b2e}.round-summary-header-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));text-align:left;padding:0}.round-summary-header-panel{padding:1.3rem 1.2rem 1rem}.round-summary-header-round{text-align:center}.round-summary-header-match{text-align:center;border-left:1px solid rgba(245,158,11,.15);background:radial-gradient(circle at 30% 10%,rgba(245,158,11,.25),transparent 64%),linear-gradient(165deg,#f59e0b33,#0f112d59)}.round-summary-trophy-wrap{width:52px;height:52px;margin:0 auto .6rem;border-radius:999px;display:grid;place-items:center;background:#252ff433;border:1px solid rgba(99,102,241,.5)}.round-summary-trophy-icon{font-size:28px;color:#8ea5ff}.round-summary-medal-wrap{background:#f59e0b2e;border-color:#f59e0b80}.round-summary-medal-icon{color:#fbbf24}.round-summary-eyebrow{margin:0 0 .2rem;text-transform:uppercase;letter-spacing:.34em;font-size:.58rem;font-weight:800;color:#94a3ffe6}.round-summary-eyebrow-gold{color:#fbbf24f2}.round-summary-match-title{background:linear-gradient(180deg,#fde68a,#f59e0b);-webkit-background-clip:text;background-clip:text;color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.round-summary-match-subline{margin:.55rem 0 0;text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:.56rem;color:#fbbf24c7}.round-summary-match-stats{margin-top:.58rem;gap:.55rem}.round-summary h2{margin:0;font-size:clamp(1.18rem,2.34vw,1.9rem);font-weight:900;letter-spacing:.01em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.round-summary-stats{margin-top:1rem;display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap}.round-summary-stat{display:flex;flex-direction:column;align-items:center}.round-summary-stat-label{text-transform:uppercase;font-size:.56rem;letter-spacing:.22em;color:#7f8bb8;font-weight:800}.round-summary-stat-value{margin-top:.15rem;font-size:1.1rem;font-weight:900;color:#f8fbff}.round-summary-stat-divider{width:1px;height:28px;background:#ffffff24}.winner-announcement{margin:1rem 0 .75rem;background:linear-gradient(135deg,#252ff43d,#10b98129);color:#e7ecff;padding:.82rem;border-radius:10px;text-align:center;border:1px solid rgba(111,133,224,.5)}.winner-announcement h3{margin:0;font-size:.96rem;letter-spacing:.02em}.match-winner{background:linear-gradient(135deg,#f59e0b4d,#facc152e);color:#fff9e2;padding:1rem;border-radius:10px;text-align:center;margin:1rem 0;border:1px solid rgba(250,204,21,.42)}.match-winner p{margin:.5rem 0 0}.scores-table{width:100%;table-layout:fixed;border-collapse:collapse;margin:1rem 0 0;border-radius:12px;overflow:hidden;background:#0a0e2173;border:1px solid rgba(156,163,189,.38);box-shadow:inset 0 0 0 1px #6972911f,0 10px 24px #02041252}.scores-table th,.scores-table td{padding:.72rem .56rem;text-align:center;border-bottom:1px solid rgba(255,255,255,.07);font-size:.86rem}.scores-table th:first-child,.scores-table td:first-child{text-align:left;padding-left:.9rem}.scores-table th{text-transform:uppercase;font-size:.6rem;letter-spacing:.13em;font-weight:900;color:#8d97bb;background:#ffffff0a}.scores-table th:nth-child(1),.scores-table td:nth-child(1){width:25%}.scores-table th:nth-child(2),.scores-table td:nth-child(2){width:11%}.scores-table th:nth-child(3),.scores-table td:nth-child(3){width:14%}.scores-table th:nth-child(4),.scores-table td:nth-child(4){width:10%}.scores-table th:nth-child(5),.scores-table td:nth-child(5){width:10%}.scores-table th:nth-child(6),.scores-table td:nth-child(6){width:12%}.scores-table th:nth-child(7),.scores-table td:nth-child(7){width:12%}.scores-table th:nth-child(8),.scores-table td:nth-child(8){width:6%}.scores-table th:nth-child(6),.scores-table td:nth-child(6){background:#252ff414}.scores-table th:nth-child(7),.scores-table td:nth-child(7){background:#10b98114}.scores-table tr:hover{background:#ffffff09}.scores-table tr.winner-row{background:#252ff424;box-shadow:inset 3px 0 #5f73ff,inset -3px 0 #5f73ff,inset 0 0 0 1px #6f83ff42,0 0 18px #4254ff2e}.scores-table tr.game-winner-row{box-shadow:inset 3px 0 #12b981}.scores-table tr.game-champion-row{background:#f59e0b1f;box-shadow:inset 3px 0 #f59e0b,inset -3px 0 #f59e0b,inset 0 0 0 1px #f59e0b38,0 0 18px #f59e0b33}.scores-table tr.round-winner-only-row{box-shadow:inset 3px 0 #5f73ff}.round-summary-player-cell{width:43%;padding-right:1.2rem!important;white-space:normal!important}.round-summary-player-wrap{display:flex;align-items:center;gap:.62rem;min-width:0}.round-summary-avatar{width:38px;height:38px;aspect-ratio:1 / 1;flex:0 0 38px;border-radius:999px;overflow:hidden;display:grid;place-items:center;border:2px solid var(--avatar-ring, #6b7280);background:linear-gradient(140deg,var(--avatar-fill-light, #e5e7eb) 0%,var(--avatar-ring, #6b7280) 55%,var(--avatar-fill-dark, #374151) 100%);box-shadow:0 0 14px color-mix(in srgb,var(--avatar-ring, #6b7280) 35%,transparent)}.round-summary-avatar-icon{font-size:17px;color:#f4f7ff}.round-summary-player-meta{display:flex;flex-direction:column;align-items:flex-start;gap:.18rem;min-width:0}.round-summary-player-name{font-size:.9rem;font-weight:800;color:#f4f7ff;white-space:nowrap;display:inline-flex;align-items:center;gap:.2rem}.round-summary-champion-star{font-size:.84rem;color:#fbbf24}.round-summary-player-flags{display:inline-flex;gap:.45rem;flex-wrap:nowrap;white-space:nowrap}.round-summary-player-flags.stacked{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;white-space:normal}.round-summary-flag{display:inline-flex;align-items:center;gap:.15rem;font-size:.58rem;text-transform:uppercase;letter-spacing:.03em;font-weight:800}.round-summary-flag-icon{font-size:.84rem;line-height:1}.round-summary-flag-text{line-height:1}.round-summary-flag-round{color:#6f83ff}.round-summary-flag-game{color:#2ee59e}.round-summary-flag-champion{color:#fbbf24}.round-total-cell{color:#edf1ff;font-size:1.1rem;font-weight:900}.game-total-cell{color:#ecfff4;font-size:1.1rem;font-weight:900}.bonus-cell{color:#22c55e;font-weight:500}.round-summary .scores-table td:nth-child(3),.round-summary .scores-table td:nth-child(4),.round-summary .scores-table td:nth-child(5){font-weight:800}.round-total-cell.is-round-winner,.game-total-cell.is-game-leader{font-size:1.85rem;color:#fff}.game-total-cell.is-game-champion{font-size:1.85rem;color:#f59e0b}.scores-table.scores-table-match-ended th:nth-child(1),.scores-table.scores-table-match-ended td:nth-child(1){width:30%}.scores-table.scores-table-match-ended th:nth-child(2),.scores-table.scores-table-match-ended td:nth-child(2){width:10%}.scores-table.scores-table-match-ended th:nth-child(3),.scores-table.scores-table-match-ended td:nth-child(3),.scores-table.scores-table-match-ended th:nth-child(4),.scores-table.scores-table-match-ended td:nth-child(4),.scores-table.scores-table-match-ended th:nth-child(5),.scores-table.scores-table-match-ended td:nth-child(5){width:11%}.scores-table.scores-table-match-ended th:nth-child(6),.scores-table.scores-table-match-ended td:nth-child(6),.scores-table.scores-table-match-ended th:nth-child(7),.scores-table.scores-table-match-ended td:nth-child(7){width:13%}.round-summary-ready-dot{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.14);color:transparent;font-size:.7rem}.round-summary-ready-dot.is-ready{color:#22d3a2;background:#13b58933;border-color:#22d3a280;box-shadow:0 0 12px #22d3a247}.round-summary-actions{margin-top:1.45rem;gap:.9rem}.round-summary-prize{margin-top:1rem;border-radius:12px;border:1px solid rgba(245,158,11,.42);background:linear-gradient(115deg,#f59e0b1a,#12143666);padding:.95rem;display:flex;justify-content:space-between;align-items:center;gap:.95rem;box-shadow:0 0 0 1px #f59e0b14,0 0 24px #f59e0b33}.round-summary-prize-main{display:flex;align-items:center;gap:.62rem}.round-summary-prize-copy h3{margin:0;font-size:1.24rem;color:#f8fbff}.round-summary-prize-winners{display:inline-flex;margin-bottom:0;flex:0 0 auto}.round-summary-prize-winner{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;border:2px solid var(--avatar-ring, #6b7280);background:linear-gradient(140deg,var(--avatar-fill-light, #e5e7eb) 0%,var(--avatar-ring, #6b7280) 55%,var(--avatar-fill-dark, #374151) 100%);box-shadow:0 0 14px color-mix(in srgb,var(--avatar-ring, #6b7280) 35%,transparent)}.round-summary-prize-winner+.round-summary-prize-winner{margin-left:4px}.round-summary-prize-copy p{margin:.3rem 0 0;color:#7f8bb8;font-size:.85rem}.round-summary-prize-winner-name{font-weight:800}.round-summary-prize-value{min-width:235px;display:flex;align-items:center;justify-content:flex-end;text-align:right;gap:.55rem}.round-summary-prize-text{display:grid;gap:.1rem;justify-items:end}.round-summary-prize-value .material-symbols-outlined{color:#fbbf24;font-size:1.45rem}.round-summary-prize-label{text-transform:uppercase;letter-spacing:.12em;font-size:.58rem;color:#fbbf24;font-weight:800}.round-summary-prize-value strong{color:#fff;font-size:1.02rem}.round-summary-actions-shell{margin-top:1.1rem;margin-left:-1.6rem;margin-right:-1.6rem;padding:1.25rem 1.6rem 1.05rem;background:linear-gradient(180deg,#05081cfa,#030512);border-top:1px solid rgba(120,134,189,.28)}.btn.round-summary-action-primary,.btn.round-summary-action-secondary{min-width:300px;height:54px;border-radius:12px;font-size:1.05rem;letter-spacing:.02em;font-weight:900;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;transition:transform .14s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}.btn.round-summary-action-primary{color:#fff;background:linear-gradient(135deg,#3641ff,#4f56ff);border:1px solid rgba(137,148,255,.45);box-shadow:0 12px 28px #3641ff57}.btn.round-summary-action-primary:hover:not(:disabled){transform:scale(1.03);box-shadow:0 16px 32px #3641ff7a}.btn.round-summary-action-rematch{min-width:300px;height:54px;border-radius:12px;font-size:1.05rem;letter-spacing:.02em;font-weight:900;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;color:#1d1302;background:linear-gradient(135deg,#f59e0b,#facc15);border:1px solid rgba(251,191,36,.5);box-shadow:0 12px 28px #f59e0b57;transition:transform .14s ease,box-shadow .16s ease}.btn.round-summary-action-rematch:hover:not(:disabled){transform:scale(1.03);box-shadow:0 16px 34px #f59e0b7a}.btn.round-summary-action-rematch:hover:not(:disabled) .round-summary-rematch-icon{animation:round-summary-rematch-spin .55s linear}@keyframes round-summary-rematch-spin{to{transform:rotate(360deg)}}.btn.round-summary-action-secondary{color:#f4f7ff;background:#ffffff08;border:1px solid rgba(255,255,255,.2)}.btn.round-summary-action-secondary:hover:not(:disabled){transform:scale(1.03);color:#fb7185;background:#f43f5e14;border-color:#f43f5ea6}.btn.round-summary-action-secondary:active:not(:disabled){color:#fff;background:#e11d48;border-color:#e11d48}.btn.round-summary-action-lobby{min-width:300px;height:54px;border-radius:12px;font-size:1.05rem;letter-spacing:.02em;font-weight:900;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;color:#f4f7ff;background:#ffffff08;border:1px solid rgba(130,157,255,.46);transition:transform .14s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}.btn.round-summary-action-lobby:hover:not(:disabled){transform:scale(1.03);color:#dbeafe;background:#3b82f62e;border-color:#60a5fad1;box-shadow:0 0 16px #3b82f642}.round-summary-footer-links{margin-top:.95rem;display:flex;align-items:center;justify-content:center;gap:.7rem}.round-summary-link{border:0;background:transparent;color:#7f89ad;font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;display:inline-flex;align-items:center;gap:.25rem}.round-summary-link .material-symbols-outlined{font-size:.9rem}.round-summary-links-divider{width:1px;height:12px;background:#fff3}@keyframes round-summary-enter{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1024px){.round-summary-overlay{padding-top:8px}.modal-content.round-summary{max-height:calc(100vh - 16px);padding:1.35rem 1.2rem 0}.round-summary-header-panel{padding:1.05rem .9rem .82rem}.round-summary h2{font-size:clamp(1.08rem,2.15vw,1.68rem)}.round-summary-match-stats{margin-top:.5rem;gap:.46rem}.round-summary-stats{margin-top:.76rem;gap:.72rem}.round-summary-actions-shell{padding:.82rem 1rem}}@media(max-width:1024px)and (max-height:900px){.round-summary-overlay{padding-top:6px}.modal-content.round-summary{max-height:calc(100vh - 12px)}.round-summary-header{padding:.1rem 0 .38rem}.scores-table{margin-top:.78rem}.round-summary-actions-shell{margin-top:.72rem;padding-top:.72rem;padding-bottom:.72rem}}@media(max-width:820px){.round-summary{padding:1rem;width:min(98vw,1020px)}.btn.round-summary-action-primary,.btn.round-summary-action-secondary,.btn.round-summary-action-lobby{min-width:240px}.scores-table{font-size:.8rem}.scores-table th,.scores-table td{padding:.5rem .3rem}.round-summary-actions-shell{margin-left:-1rem;margin-right:-1rem;padding:1rem 1rem .95rem}}@media(max-width:700px){.round-summary-overlay{padding:0;align-items:stretch;justify-content:stretch;overflow-y:auto;background-color:#000000f2}.modal-content.round-summary{width:100vw;max-width:100vw;min-height:100vh;min-height:100dvh;max-height:100vh;max-height:100dvh;padding:.95rem .65rem 0;border-radius:0;overflow-y:auto;background:linear-gradient(180deg,#121436f2,#0d0f2af2);animation:none}.round-summary-header{padding:.05rem 0 .45rem}.round-summary-match-ended .round-summary-header{margin:-.95rem -.65rem 0}.round-summary-header-split{grid-template-columns:1fr}.round-summary-header-panel{padding:.7rem .4rem .6rem}.round-summary-header-match{order:-1;border-left:0;border-top:0;border-bottom:1px solid rgba(245,158,11,.22)}.round-summary-trophy-wrap{width:44px;height:44px;margin-bottom:.45rem}.round-summary h2{font-size:clamp(1.15rem,6vw,1.7rem)}.round-summary-stats{margin-top:.65rem;gap:.5rem}.round-summary-stat-label{font-size:.5rem;letter-spacing:.17em}.round-summary-stat-value{font-size:.95rem}.scores-table{margin-top:.7rem;border-radius:10px;font-size:.74rem}.scores-table th:nth-child(2),.scores-table td:nth-child(2),.scores-table th:nth-child(3),.scores-table td:nth-child(3),.scores-table th:nth-child(4),.scores-table td:nth-child(4),.scores-table th:nth-child(5),.scores-table td:nth-child(5){display:none}.scores-table th,.scores-table td{padding:.45rem .34rem}.scores-table th:first-child,.scores-table td:first-child{padding-left:.5rem}.round-summary-player-cell{width:50%;padding-right:.5rem!important}.scores-table th:nth-child(1),.scores-table td:nth-child(1){width:50%}.scores-table th:nth-child(6),.scores-table td:nth-child(6),.scores-table th:nth-child(7),.scores-table td:nth-child(7){width:20%}.scores-table th:nth-child(8),.scores-table td:nth-child(8){width:10%}.scores-table.scores-table-match-ended th:nth-child(7),.scores-table.scores-table-match-ended td:nth-child(7){width:22%}.round-summary-player-wrap,.round-summary-player-meta{min-width:0;overflow:hidden}.round-summary-player-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.round-summary-avatar{width:32px;height:32px;flex:0 0 32px}.round-summary-avatar-icon{font-size:15px}.round-summary-player-name{font-size:.82rem}.round-summary-flag{font-size:.52rem}.round-total-cell,.game-total-cell{font-size:.95rem}.round-total-cell.is-round-winner,.game-total-cell.is-game-leader{font-size:1.4rem}.round-summary-ready-dot{width:22px;height:22px}.round-summary-actions-shell{margin-top:.8rem;margin-left:-.65rem;margin-right:-.65rem;padding:.85rem .65rem .8rem;position:static;bottom:auto;background:linear-gradient(180deg,#0b102600,#0b1026eb 18%,#0b1026f7);z-index:2}.round-summary-actions{margin-top:0;gap:.55rem;flex-direction:column;align-items:stretch}.btn.round-summary-action-primary,.btn.round-summary-action-secondary,.btn.round-summary-action-rematch,.btn.round-summary-action-lobby{min-width:0;width:100%;height:46px;font-size:.94rem}.round-summary-prize{flex-direction:column;align-items:stretch}.round-summary-prize-main{align-items:flex-start}.round-summary-prize-value{min-width:0;justify-content:flex-start;text-align:left}.round-summary-prize-text{justify-items:start}.round-summary h2,.round-summary-match-title{white-space:normal}.round-summary-footer-links{margin-top:.7rem;gap:.5rem}.round-summary-link{font-size:.62rem;letter-spacing:.12em}}.activity-badge{display:inline-block;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.activity-badge.stalled{background-color:#f59e0b;color:#000;animation:pulse-stalled 2s ease-in-out infinite}.activity-badge.locked{background-color:#ef4444;color:#fff;animation:pulse-locked 1s ease-in-out infinite}@keyframes pulse-stalled{0%,to{opacity:1}50%{opacity:.7}}@keyframes pulse-locked{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.05)}}.commons-area{margin-bottom:2rem;text-align:center}.commons-area h3{margin-bottom:1rem;color:#888;font-size:.9rem;text-transform:uppercase;letter-spacing:.1em}.commons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;align-items:start}.commons-suit{display:flex;flex-direction:column;align-items:center;gap:.5rem}.suit-label{width:1.5rem;font-weight:600;color:#666;font-size:2rem;line-height:1}.commons-piles{display:grid;grid-template-columns:repeat(var(--pile-columns, 2),minmax(80px,1fr));gap:.5rem;justify-items:center;width:100%}.commons-pile{cursor:default;transition:transform .2s}.commons-pile:hover{transform:none}.commons-pile.span-all{grid-column:1 / -1}.suit-placeholder{font-size:4rem;color:#555}.debt-pile{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem;position:relative}.debt-pile h4{margin-bottom:.5rem}.bench-area{flex:1}.bench-piles{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.bench-pile{display:flex;justify-content:center;align-items:flex-start;min-height:140px;cursor:pointer}.bench-pile .card,.bench-pile .card-draggable{position:absolute;left:0;z-index:1}.bench-pile .card-draggable:hover .card{transform:translateY(-4px);box-shadow:0 6px 12px #00000059}.deck-area{display:flex;flex-direction:column;gap:.5rem;align-items:center}.deck-piles{display:flex;flex-direction:row;gap:1.5rem;align-items:flex-start;justify-content:center}.reserve-pile,.spent-pile{text-align:center;display:flex;justify-content:center;align-items:flex-start}.reserve-pile{cursor:pointer}.spent-pile .card-draggable,.spent-pile .empty-slot{position:absolute;top:0;left:0}.reserve-pile:hover .reserve-stack .card.back:last-of-type{transform:translateY(-4px);box-shadow:0 6px 12px #00000059}.reserve-stack{position:relative;width:80px;height:112px;pointer-events:none}.reserve-stack .empty-slot,.reserve-stack .card.back{position:absolute;top:0;left:0}.card-draggable{position:relative;cursor:pointer}.opponent-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;margin-bottom:1.5rem}.opponent-card{background:var(--opponent-bg, rgba(0, 0, 0, .25));border:1px solid rgba(255,255,255,.08);border-left:4px solid var(--opponent-color, #6b7280);border-right:4px solid var(--opponent-color, #6b7280);border-radius:8px;padding:.6rem .75rem;display:flex;flex-direction:column;gap:.35rem;container-type:inline-size}.opponent-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.opponent-name{font-weight:600;color:#e6e6e6;font-size:.85rem}.opponent-name-row{display:inline-flex;align-items:center;gap:.4rem}.opponent-status-row{display:inline-flex;align-items:center;gap:.35rem}.opponent-apm{display:inline-block;padding:0;border-radius:0;font-size:.98rem;font-weight:900;letter-spacing:.03em;color:#9ca3af;background:transparent;border:0;line-height:1}.opponent-apm.opponent-apm-gray{color:#9ca3af;background:transparent;border-color:transparent}.opponent-apm.opponent-apm-green{color:#4ade80;background:transparent;border-color:transparent}.opponent-apm.opponent-apm-amber{color:#f59e0b;background:transparent;border-color:transparent}.opponent-apm.opponent-apm-red{color:#f87171;background:transparent;border-color:transparent}.opponent-apm.opponent-apm-frozen{color:#60a5fa;background:transparent;border-color:transparent}.opponent-connection-dot{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 1px #00000059}.opponent-connection-dot.is-connected{background:#34d399}.opponent-connection-dot.is-disconnected{background:#ef4444}.opponent-dc-badge{display:inline-block;padding:.12rem .42rem;border-radius:999px;font-size:.62rem;font-weight:700;letter-spacing:.06em;color:#fee2e2;background:#7f1d1d8c;border:1px solid rgba(252,165,165,.35)}.opponent-proxy-badge{display:inline-block;padding:.12rem .42rem;border-radius:999px;font-size:.62rem;font-weight:700;letter-spacing:.06em;color:#fef3c7;background:#78350f8c;border:1px solid rgba(251,191,36,.35)}.opponent-meta{display:flex;justify-content:space-between;gap:.5rem;font-size:.75rem;color:#b3b3b3}.opponent-piles{display:grid;grid-template-columns:repeat(6,minmax(28px,1fr));gap:.35rem;align-items:center}.opponent-pile{display:flex;justify-content:center}.opponent-pile .card.mini{width:32px;height:44px;font-size:.6rem}.opponent-empty{width:32px;height:44px;border:2px dashed rgba(255,255,255,.3);border-radius:6px}.animation-layer{position:absolute;inset:0;pointer-events:none;z-index:36}.flight-token{position:absolute;width:80px;height:112px;z-index:37;will-change:transform,opacity;animation:flight-move var(--flight-ms, .14s) ease-out var(--flight-delay-ms, 0ms) forwards}.flight-token .card{box-shadow:0 8px 18px #00000059}.touch-drag-token{position:fixed;width:80px;height:112px;transform:translate(-50%,-58%);transform-origin:center center;pointer-events:none;z-index:26}.touch-drag-token .card{width:100%;height:100%;box-shadow:0 10px 20px #0000005c}.card.local-yard-compact-face-card .card-corner{display:none}.card.local-yard-compact-face-card .face-card{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.card.local-yard-compact-face-card .rank-large{display:block;font-size:1.22rem;font-weight:800;letter-spacing:.02em;margin-bottom:.08rem}.card.local-yard-compact-face-card .suit-large{font-size:1.62rem;line-height:1}.card.tucked-face-card .card-corner{flex-direction:row!important;align-items:center;gap:2px}@keyframes flight-move{0%{transform:translate(0) scale(var(--scale-from, 1));opacity:1}to{transform:translate(var(--tx, 0px),var(--ty, 0px)) scale(var(--scale-to, 1));opacity:1}}.debt-counter{display:flex;flex-direction:column;align-items:center;padding:.5rem 1rem;border-radius:8px;background-color:#333;transition:all .3s ease}.debt-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:#888}.debt-count{font-size:1.75rem;font-weight:700;line-height:1}.debt-counter.warning{background-color:#f59e0b33;border:1px solid #f59e0b}.debt-counter.warning .debt-count{color:#f59e0b}.debt-counter.danger{background-color:#f9731633;border:1px solid #f97316;animation:pulse-debt 1.5s ease-in-out infinite}.debt-counter.danger .debt-count{color:#f97316}.debt-counter.critical{background-color:#ef44444d;border:2px solid #ef4444;animation:pulse-debt .8s ease-in-out infinite}.debt-counter.critical .debt-count{color:#ef4444;font-size:2rem}.debt-counter.cleared{background-color:#22c55e33;border:2px solid #22c55e}.debt-counter.cleared .debt-count{color:#22c55e}@keyframes pulse-debt{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:.9}}.game-code{font-family:monospace;font-size:.9rem;color:#888}.notice-banner{position:fixed;top:0;left:50%;transform:translate(-50%) translateY(-100%);background-color:var(--notice-bg, #f59e0b);color:var(--notice-fg, #000);padding:.75rem 1.5rem;border-radius:0 0 8px 8px;font-weight:500;z-index:1000;transition:transform .3s ease;border:1px solid var(--notice-border, transparent);box-shadow:0 8px 24px var(--notice-shadow, rgba(0, 0, 0, .28))}.notice-banner.visible{transform:translate(-50%) translateY(0)}.reconnection-banner{position:fixed;top:0;left:0;right:0;padding:12px 20px;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:500;z-index:1000;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.reconnection-banner--connecting,.reconnection-banner--reconnecting{background:#fef3c7;color:#92400e;border-bottom:1px solid #fcd34d}.reconnection-banner--failed{background:#fee2e2;color:#991b1b;border-bottom:1px solid #fca5a5}.reconnection-spinner{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.reconnection-retry-btn{padding:6px 16px;background:#991b1b;color:#fff;border:none;border-radius:4px;font-weight:500;cursor:pointer;transition:background .15s}.reconnection-retry-btn:hover{background:#7f1d1d}.score-positive{color:#22c55e}.score-negative{color:#fb7185;font-weight:800}.score-neutral{color:#8d99b3}.bonus{color:#f59e0b;font-size:.85em}.modal-overlay{position:fixed;top:20px;left:0;right:0;height:calc(100vh - 20px);background-color:#000000bf;display:flex;align-items:flex-start;justify-content:center;z-index:100}.modal-content{background-color:#1a1a1a;padding:2rem;border-radius:12px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.modal-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.sim-panel{margin-top:20px;padding:16px;border-radius:12px;background:#0f172a14;border:1px solid rgba(15,23,42,.12)}.sim-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.sim-status{font-size:.85rem;padding:4px 10px;border-radius:999px;text-transform:capitalize;background:#64748b26;color:#fff}.sim-status-running{background:#10b98133;color:#fff}.sim-status-paused{background:#f59e0b33;color:#fff}.sim-status-ended{background:#ef444433;color:#fff}.sim-controls{display:grid;gap:12px}.sim-settings{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}.sim-settings input{max-width:120px}.sim-actions{display:flex;gap:10px;flex-wrap:wrap}.game-board{box-sizing:border-box;min-height:100dvh;width:100%;margin-left:0;padding:calc(.9rem + env(safe-area-inset-top,0px)) 0 1.2rem;background:radial-gradient(ellipse at top,#061842,#010b30 46%,#00071f 72%,#000510);color:#dbeafe;overflow-x:hidden}body.touch-drag-active{overflow:hidden;overscroll-behavior:contain}.game-board.touch-drag-active{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.game-board .card-draggable{-webkit-tap-highlight-color:transparent;touch-action:none}.game-board.touch-drag-active .card-draggable{-webkit-user-drag:none;user-drag:none}.game-board-shell{--board-shell-scale: clamp(.52, calc((100vw - .5rem)/830px) , 1);width:min(calc(100vw - 1rem),1180px);max-width:calc(100vw - 1rem);margin:0 auto;display:flex;flex-direction:column;justify-content:flex-start}.game-header{margin:.75rem 0 .5rem;display:flex;justify-content:space-between;gap:.9rem;padding:.68rem 1rem;border-radius:0;border-top:1px solid rgba(37,99,235,.35);border-bottom:1px solid rgba(37,99,235,.35);background:#000924b8}.game-meta{display:flex;align-items:center;gap:.55rem;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase}.meta-block{display:inline-flex;gap:.4rem;align-items:baseline}.meta-label{color:#93c5fd8c}.meta-value{color:#e2e8f0;font-weight:700;letter-spacing:.06em}.opponent-strip{position:relative;height:136px;margin-bottom:.95rem;overflow:visible;pointer-events:none}.opponent-card.arc{position:absolute;top:0;left:50%;width:222px;transform:translate(-50%) translate(var(--arc-x),var(--arc-y)) rotate(var(--arc-rot));transition:transform .14s ease,box-shadow .14s ease;border-radius:10px;background:#040e22f2;padding:.38rem .46rem .46rem;pointer-events:auto;overflow:visible;box-shadow:0 0 10px color-mix(in srgb,var(--opponent-color, #6b7280) 30%,transparent)}.game-board.spectator-readonly .opponent-card.arc:hover{transform:translate(-50%) translate(var(--arc-x),var(--arc-y)) rotate(var(--arc-rot)) scale(1.035)}.opponent-card.arc:before{content:"";position:absolute;inset:-2px;border-radius:12px;pointer-events:none;box-shadow:0 0 12px color-mix(in srgb,var(--opponent-color, #6b7280) 35%,transparent),0 0 22px color-mix(in srgb,var(--opponent-color, #6b7280) 18%,transparent);opacity:.58}.opponent-card.arc.opponent-card-pulse:before{animation:opponent-aura-pulse var(--opponent-pulse-ms, 1s) ease-in-out infinite}.opponent-debt-progress-fill.debt-pulse{animation-name:opponent-debt-pulse;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.opponent-debt-progress-track.debt-pulse-aura{position:relative;overflow:visible}.opponent-debt-progress-track.debt-pulse-aura:after{content:"";position:absolute;inset:-2px;border-radius:999px;pointer-events:none;background:inherit;opacity:.35;filter:blur(6px);animation-name:opponent-debt-pulse;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-duration:inherit}@keyframes opponent-debt-pulse{0%,to{filter:brightness(1);box-shadow:0 0 #fff0}50%{filter:brightness(1.35);box-shadow:0 0 8px #ffffff73}}@keyframes opponent-aura-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.95;transform:scale(1.02)}}.opponent-card.opponent-alert-disconnected{border-color:#ef4444d9;box-shadow:0 0 0 1px #ef44448c,0 6px 18px #7f1d1d59}.opponent-card.opponent-alert-proxy{border-color:#f59e0bd9;box-shadow:0 0 0 1px #f59e0b8c,0 6px 18px #78350f59}.opponent-alert-banner{position:absolute;left:8px;right:8px;bottom:-20px;border-radius:0 0 8px 8px;font-size:.5rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:.16rem .3rem .22rem;border:1px solid transparent}.opponent-card.opponent-alert-disconnected .opponent-alert-banner{color:#fee2e2;background:#7f1d1deb;border-color:#fca5a566}.opponent-card.opponent-alert-proxy .opponent-alert-banner{color:#fef3c7;background:#78350feb;border-color:#fbbf2466}.yard-shell{align-self:center;width:fit-content;max-width:calc(100vw - 1.2rem);margin-top:10px}.tableau-shell.local-ground{position:relative;box-shadow:inset 0 1px #3b82f626}.tableau-shell.local-ground:before{content:"";position:absolute;top:0;bottom:0;left:0;width:3px;background:var(--tableau-accent, #6b7280);z-index:61;pointer-events:none}.tableau-shell.local-ground:after{content:"";position:absolute;top:0;bottom:0;right:0;width:3px;background:var(--tableau-accent, #6b7280);z-index:61;pointer-events:none}.opponent-header{gap:.25rem}.opponent-name{font-size:.66rem;letter-spacing:.05em;color:#9fb8de}.opponent-name-row,.opponent-status-row,.opponent-meta{white-space:nowrap}.opponent-status-row .activity-badge{display:inline-flex;align-items:center;gap:.2rem;background:transparent;border:0;padding:0;color:#22c55e;font-size:.58rem;letter-spacing:.08em}.opponent-status-row .opponent-status-icon{display:inline-flex;font-size:.96rem;line-height:1}.opponent-status-row .activity-badge.stalled{color:#f59e0b}.opponent-status-row .activity-badge.locked{color:#ef4444}.opponent-piles{grid-template-columns:repeat(6,minmax(0,1fr));gap:.22rem}.opponent-pile .card.mini,.opponent-empty{width:24px;height:34px;border-radius:4px}.opponent-pile-debt .card.mini,.opponent-pile-debt .opponent-empty{box-shadow:0 0 0 2px #fde047}.opponent-empty{border-width:1px;border-style:solid;border-color:#64748b70;background:#02061770}.opponent-meta,.opponent-apm,.opponent-dc-badge,.opponent-proxy-badge{font-size:.56rem}.opponent-apm{font-size:.72rem}.opponent-debt-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem;align-items:center;width:100%}.opponent-debt-progress-track{width:100%;min-width:82px;height:6px;border-radius:999px;overflow:hidden;background:#0f172ae6;border:1px solid rgba(148,163,184,.28)}.opponent-debt-progress-fill{height:100%;border-radius:999px;transition:width .18s ease}.opponent-debt-remaining{font-size:.72rem;font-weight:700;color:#dbeafe}.commons-shell{margin-top:-40px;margin-bottom:.65rem;align-self:center;width:fit-content;max-width:min(100%,1160px)}.commons-area{margin-bottom:0;padding:0 .05rem;display:flex;flex-direction:column;align-items:center}.commons-area h3{margin:.2rem 0 .58rem;font-size:.98rem;letter-spacing:.28em;text-transform:uppercase;color:#e2e8f0b3;font-weight:700;position:relative;display:inline-flex;align-items:center;gap:.65rem}.commons-area h3:before,.commons-area h3:after{content:"";width:6.2rem;height:2px;background:linear-gradient(90deg,#3b82f600,#3b82f6f2,#3b82f626);clip-path:polygon(0 50%,100% 0,100% 100%)}.commons-area h3:after{transform:scaleX(-1)}.commons-meta-strip{display:flex;gap:1rem;align-items:center;margin:0 0 .55rem;font-size:.68rem;letter-spacing:.14em;align-self:center}.commons-meta-strip .meta-block{display:inline-flex;gap:.3rem;align-items:center}.commons-meta-strip .meta-label{color:#7dd3fca3;text-transform:uppercase}.commons-meta-strip .meta-value{color:#dbeafe;font-weight:700}.commons{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:max-content;gap:.45rem;justify-content:center}.commons-suit{border:1px solid rgba(30,64,175,.34);border-radius:12px;background:#02091e85;padding:.52rem .5rem;gap:.34rem;align-items:center}.commons-suit.suit-D,.commons-suit.suit-H{background:#3e0c1847;border-color:#b91c1c57}.commons-suit.suit-C,.commons-suit.suit-S{background:#040814a8;border-color:#33415573}.suit-label{display:inline-flex;align-items:center;justify-content:center;gap:0;font-size:.68rem;letter-spacing:.08em;font-weight:700;width:100%;text-align:center}.suit-icon{font-size:2.16rem;line-height:1}.suit-name{display:none}.commons-piles{grid-template-rows:repeat(2,78px);grid-auto-flow:row;gap:.28rem;justify-content:center;justify-items:center;align-content:center}.commons-pile.centered-tail{justify-self:center}.commons-pile,.commons-slot{width:56px;height:78px;display:flex;align-items:center;justify-content:center}.commons-slot>.card{width:56px;height:78px}.commons-slot>.card.commons-face-card{background:#fff;border:1px solid #d6dbe6;box-shadow:0 1px 2px #00000038}.commons-slot>.card.commons-face-card .card-corner{display:none}.commons-slot>.card.commons-face-card .face-card{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.commons-slot>.card.commons-face-card .rank-large{display:block;font-size:1.5rem;font-weight:800;letter-spacing:.02em;margin-bottom:.1rem}.commons-slot>.card.commons-face-card .suit-large{font-size:2rem;line-height:1}.commons-slot>.card.back{width:56px;height:78px}.commons-pile .empty-slot{width:56px;height:78px;border:1px dashed rgba(148,163,184,.52);border-radius:8px;color:#64748b7a;background:#0105128c}.commons-pile .empty-slot.suit-placeholder{font-size:2.4rem;line-height:1}.tableau-shell{--tableau-pad-x: .9rem;border:1px solid rgba(30,64,175,.36);border-radius:12px;background:#01081ee0;padding:.42rem var(--tableau-pad-x) .45rem;box-shadow:inset 0 1px #3b82f626;align-self:center;width:fit-content;margin:0 auto;overflow:hidden}.commons,.tableau-shell{zoom:var(--board-shell-scale)}@supports not (zoom: 1){.commons-shell,.tableau-shell{transform:scale(var(--board-shell-scale));transform-origin:top center}}.score-bar{position:relative;align-self:stretch;width:calc(100% + (2 * var(--tableau-pad-x)));left:0;right:auto;margin:-.42rem 0 0;margin-left:calc(var(--tableau-pad-x) * -1);margin-right:calc(var(--tableau-pad-x) * -1);padding:.58rem .5rem .52rem;border-top:0;border-left:0;border-right:0;border-radius:12px 12px 0 0;background:#0c1e4e73;border-bottom:1px solid rgba(37,99,235,.35);z-index:60}.player-area{margin-top:.35rem;margin-bottom:0;gap:.48rem;width:fit-content;margin-left:auto;margin-right:auto}.yard-labels{font-size:.56rem;letter-spacing:.16em;color:#93c5fdc7;gap:.42rem}.yard-piles{gap:.42rem;justify-content:center;justify-items:center;width:fit-content;margin:0 auto}.yard-labels{width:fit-content;margin:0 auto}.yard-label.bench-slot-label{font-size:.56rem;opacity:.62}.yard-label.deck-slot-label{font-size:.62rem;opacity:.85}.yard-label.debt-label{font-size:.62rem;color:#7dd3fce0;opacity:.85}.yard-labels>:nth-child(1){margin-right:.2rem}.yard-labels>:nth-child(5){margin-right:.2rem}.yard-piles>:nth-child(1){margin-right:.2rem}.yard-piles>:nth-child(5){margin-right:.2rem}.bench-pile .pile-frame,.debt-pile .pile-frame,.spent-pile .pile-frame,.reserve-pile .pile-frame{border-radius:8px;overflow:visible}.tableau-shell .card-corner{flex-direction:row;gap:2px}.tableau-shell .card-corner .rank{font-size:14px}.tableau-shell.local-ground .card-corner .rank,.tableau-shell.local-ground .card-corner .suit{font-size:17px}.tableau-shell .face-card .suit-large{font-size:48px}.bench-pile .empty-slot,.spent-pile .empty-slot,.reserve-pile .empty-slot{border:1px dashed rgba(148,163,184,.52);background:#01051294;color:#94a3b89e}.game-actions{margin-top:.55rem;margin-bottom:.55rem;justify-content:center}.debt-top-card .card{box-shadow:0 6px 14px #00000057;border-radius:8px}.debt-under-highlight .card{box-shadow:0 0 0 2px #fde047,0 6px 14px #00000057}.debt-pile:hover .debt-top-card .card,.debt-top-card:hover .card{transform:translateY(-4px) scale(1.02)!important;box-shadow:0 10px 20px #00000059}.debt-left-pill{position:absolute;bottom:-4px;left:50%;transform:translate(-50%);padding:.1rem .65rem;border-radius:999px;background:#fde047;color:#0b1023;font-size:.62rem;font-weight:800;letter-spacing:.08em;z-index:40;white-space:nowrap}.reserve-pile{position:relative}.reserve-count-pill{position:absolute;bottom:-4px;left:50%;transform:translate(-50%);padding:.1rem .65rem;border-radius:999px;background:#2563eb;color:#dbeafe;font-size:.62rem;font-weight:800;letter-spacing:.08em;z-index:45;white-space:nowrap}.reserve-reset-icon{cursor:pointer;font-size:2rem;color:#dbeafe8c;background:linear-gradient(160deg,#3b82f6,#4f46e5);border-color:#bfdbfe6b!important}.reserve-pile.can-reset .empty-slot:hover{border-color:#93c5fde6;box-shadow:0 0 0 2px #3b82f673}.reserve-pile.can-reset .reserve-reset-icon:hover{color:#93c5fdf2}.deck-cluster{--deck-btn-w: 80px;--deck-btn-gap: .3rem;grid-column:6 / span 2;display:grid;grid-template-columns:repeat(2,var(--deck-btn-w));gap:.45rem;justify-content:end;align-items:start}.deck-controls-row{display:grid;grid-column:1 / -1;width:calc((2 * var(--deck-btn-w)) + var(--deck-btn-gap));grid-template-columns:repeat(2,var(--deck-btn-w));gap:var(--deck-btn-gap);justify-self:end;margin-top:.15rem}.deck-super-stuck-row{display:grid;grid-column:1 / -1;grid-template-columns:1fr;width:calc((2 * var(--deck-btn-w)) + var(--deck-btn-gap));justify-self:end;margin-top:.15rem}.debt-controls-row{margin-top:.15rem;display:grid;grid-template-columns:84px;justify-content:center}.debt-end-round-btn{width:100%;box-sizing:border-box;min-height:32px;border-radius:4px}.debt-end-round-btn.end-round-ready{position:relative;overflow:visible;box-shadow:0 0 0 1px #ffffffb8,0 0 14px #ffffff57;animation:end-round-ready-pulse .5s ease-in-out infinite}.debt-end-round-btn.end-round-ready:before,.debt-end-round-btn.end-round-ready:after{position:absolute;content:"";width:150%;left:50%;height:100%;transform:translate(-50%) rotate(var(--end-round-firework-rot, 0deg));z-index:-1;pointer-events:none;background-repeat:no-repeat}.debt-end-round-btn.end-round-ready:before{top:-68%;background-image:radial-gradient(circle,#facc15 20%,transparent 20%),radial-gradient(circle,transparent 20%,#2dd4bf 20%,transparent 30%),radial-gradient(circle,#a3e635 20%,transparent 20%),radial-gradient(circle,#8b5cf6 20%,transparent 20%),radial-gradient(circle,transparent 10%,#fb7185 15%,transparent 20%),radial-gradient(circle,#60a5fa 20%,transparent 20%),radial-gradient(circle,#34d399 20%,transparent 20%),radial-gradient(circle,#f472b6 20%,transparent 20%),radial-gradient(circle,#c084fc 20%,transparent 20%);background-size:10% 10%,20% 20%,15% 15%,20% 20%,18% 18%,10% 10%,15% 15%,10% 10%,18% 18%;background-position:50% 120%;animation:end-round-fireworks-top .5s linear infinite}.debt-end-round-btn.end-round-ready:after{bottom:-68%;background-image:radial-gradient(circle,#f9a8d4 20%,transparent 20%),radial-gradient(circle,#22d3ee 20%,transparent 20%),radial-gradient(circle,transparent 10%,#6ee7b7 15%,transparent 20%),radial-gradient(circle,#38bdf8 20%,transparent 20%),radial-gradient(circle,#a78bfa 20%,transparent 20%),radial-gradient(circle,#7dd3fc 20%,transparent 20%),radial-gradient(circle,#fde68a 20%,transparent 20%);background-size:15% 15%,20% 20%,18% 18%,20% 20%,15% 15%,20% 20%,18% 18%;background-position:50% 0%;animation:end-round-fireworks-bottom .5s linear infinite}@keyframes end-round-ready-pulse{0%{box-shadow:0 0 0 1px #ffffffb3,0 0 10px #ffffff47;transform:translateZ(0) scale(1)}25%{transform:translate3d(-.8px,.6px,0) scale(1.015)}50%{box-shadow:0 0 0 2px #fffffff5,0 0 18px #fff9;transform:translate3d(.9px,-.5px,0) scale(1.03)}75%{transform:translate3d(-.7px,-.8px,0) scale(1.014)}to{box-shadow:0 0 0 1px #ffffffb3,0 0 10px #ffffff47;transform:translateZ(0) scale(1)}}@keyframes end-round-fireworks-top{0%{background-position:5% 90%,10% 90%,10% 90%,15% 90%,25% 90%,25% 90%,40% 90%,55% 90%,70% 90%;transform:translate(-50%) rotate(var(--end-round-firework-top-rot, 0deg))}50%{background-position:0% 80%,0% 20%,10% 40%,20% 0%,30% 30%,22% 50%,50% 50%,65% 20%,90% 30%;transform:translate(-50%) rotate(var(--end-round-firework-top-rot, 0deg))}to{background-position:0% 70%,0% 10%,10% 30%,20% -10%,30% 20%,22% 40%,50% 40%,65% 10%,90% 20%;background-size:0% 0%,0% 0%,0% 0%,0% 0%,0% 0%,0% 0%,0% 0%,0% 0%,0% 0%;transform:translate(-50%) rotate(var(--end-round-firework-top-rot, 0deg))}}@keyframes end-round-fireworks-bottom{0%{background-position:10% -10%,30% 10%,55% -10%,70% -10%,85% -10%,70% -10%,70% 0%;transform:translate(-50%) rotate(var(--end-round-firework-bottom-rot, 0deg))}50%{background-position:0% 80%,20% 80%,45% 60%,60% 100%,75% 70%,95% 60%,105% 0%;transform:translate(-50%) rotate(var(--end-round-firework-bottom-rot, 0deg))}to{background-position:0% 90%,20% 90%,45% 70%,60% 110%,75% 80%,95% 70%,110% 10%;background-size:0% 0%,0% 0%,0% 0%,0% 0%,0% 0%,0% 0%,0% 0%;transform:translate(-50%) rotate(var(--end-round-firework-bottom-rot, 0deg))}}.deck-apm{grid-column:1 / -1;margin-top:.14rem;text-align:center;color:#7dd3fc94;font-size:.6rem;letter-spacing:.14em;font-weight:700;text-transform:uppercase}.deck-control-btn{width:100%;min-height:32px;padding:.24rem .3rem;font-size:0!important;line-height:1;letter-spacing:0;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:0;text-transform:none}.deck-control-icon{font-family:Material Symbols Outlined;font-variation-settings:"FILL" 1,"wght" 650,"GRAD" 0,"opsz" 24;font-size:1.1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.deck-control-stuck{background-color:#535bf2;color:#fff}.deck-control-undo,.deck-control-stuck{background-color:#535bf2;color:#fff;border:1px solid transparent}.deck-control-undo:hover:not(:disabled),.deck-control-stuck:hover:not(:disabled){background-color:#3e45c7;border-color:#7dd3fc73}.deck-control-undo:active:not(:disabled),.deck-control-stuck:active:not(:disabled){background:#fff;color:#2563eb;border-color:#2563eb80}.deck-control-super-stuck{background-color:#535bf2;color:#fff;border:1px solid transparent}.deck-control-super-stuck:hover:not(:disabled){color:#fff;background:#e11d48;border-color:#e11d48}.deck-control-super-stuck:active:not(:disabled){color:#fb7185;background:#fff;border-color:#f43f5ea6}.deck-control-stuck:disabled{opacity:.5;color:#fff}.debt-end-round-btn:hover:not(:disabled){background:#fff;color:#2563eb;border-color:#2563eb80}.debt-end-round-btn:active:not(:disabled){background:#fff;color:#9ca3af;border-color:#94a3b894}.deck-control-btn:disabled{background-color:#535bf2;color:#fff}.game-board.doubletap-penalty-active .commons-pile,.game-board.doubletap-penalty-active .debt-pile,.game-board.doubletap-penalty-active .bench-pile,.game-board.doubletap-penalty-active .spent-pile,.game-board.doubletap-penalty-active .reserve-pile,.game-board.doubletap-penalty-active .deck-control-btn{pointer-events:none}.card-draggable.invalid-doubletap .card{border-color:#f87171f2!important;box-shadow:0 0 0 2px #f87171d1,0 0 12px #7f1d1d6b!important;animation:invalid-doubletap-jitter .42s ease}.card-draggable.invalid-doubletap .card:after{content:"";position:absolute;inset:0;border-radius:inherit;background:#dc26263d;pointer-events:none}.debt-pile.debt-cleared .pile-frame,.debt-pile.debt-cleared .card-draggable{cursor:default}@keyframes invalid-doubletap-jitter{0%{transform:translate(0)}12%{transform:translate(-4px)}24%{transform:translate(4px)}36%{transform:translate(-3px)}48%{transform:translate(3px)}60%{transform:translate(-2px)}72%{transform:translate(2px)}84%{transform:translate(-1px)}to{transform:translate(0)}}.bench-pile.drop-hover .pile-frame{box-shadow:0 0 0 2px #3b82f6c7;cursor:pointer}.bench-pile.drop-hover .pile-frame .card-draggable:last-child .card{box-shadow:0 0 0 2px #3b82f6d9,0 6px 14px #2563eb57}.commons-pile.drop-hover .commons-slot{box-shadow:inset 0 0 0 2px #3b82f6b8;border-radius:8px;cursor:pointer}.commons-pile.drop-hover .commons-slot .card{box-shadow:0 0 0 2px #3b82f6d9,0 6px 14px #2563eb57}.score-bar .game-meta{gap:1.1rem;font-size:.68rem;letter-spacing:.18em}.score-bar .meta-block{gap:.34rem}.score-bar .meta-label{color:#7dd3fc9e}.score-bar .meta-value{color:#dbeafe;font-weight:700}.score-bar .game-meta span{padding:0;border-radius:0;background:transparent}.game-actions .btn{background:#0f172ad9;border:1px solid rgba(71,85,105,.65);color:#dbeafe;border-radius:6px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem}.shorthand-panel{margin-top:.4rem;border-color:#4755696b;background:#020617ad}@media(max-width:980px){.game-board.compact-opponents{height:100dvh;overflow-y:hidden}.game-board.compact-opponents .game-board-shell{max-height:100%;overflow:hidden}.game-board{min-height:100dvh}.game-board-shell{height:auto;width:calc(100% - .75rem);max-width:calc(100% - .75rem);display:flex;flex-direction:column}.opponent-strip{position:static;height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;pointer-events:auto}.opponent-strip>:last-child:nth-child(odd){grid-column:1 / -1;justify-self:center;width:min(100%,calc(50% - .25rem))}.opponent-card.arc{position:static;transform:none;width:100%}.opponent-status-row .opponent-apm,.opponent-status-row .opponent-apm.opponent-apm-gray,.opponent-status-row .opponent-apm.opponent-apm-green,.opponent-status-row .opponent-apm.opponent-apm-amber,.opponent-status-row .opponent-apm.opponent-apm-red{display:none}@container (min-width: 251px){.opponent-status-row .opponent-apm,.opponent-status-row .opponent-apm.opponent-apm-gray,.opponent-status-row .opponent-apm.opponent-apm-green,.opponent-status-row .opponent-apm.opponent-apm-amber,.opponent-status-row .opponent-apm.opponent-apm-red{display:inline-flex}}.opponent-status-row .activity-badge{letter-spacing:0}.opponent-status-row .opponent-status-icon{font-size:1rem}.commons-shell{margin-top:14px;max-width:none}.commons-meta-strip{width:min(100%,640px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.9rem}.commons-meta-strip .meta-block:nth-child(1){justify-self:start}.commons-meta-strip .meta-block:nth-child(2){justify-self:center}.commons-meta-strip .meta-block:nth-child(3){justify-self:end}.commons{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:max-content}.commons-piles{grid-template-columns:none;grid-template-rows:repeat(2,78px)}.yard-shell{width:fit-content;max-width:none;margin-top:10px}.tableau-shell.local-ground .player-area{grid-template-rows:auto auto auto!important}.tableau-shell.local-ground .yard-spacer{display:block;margin:0!important;padding:0!important}.commons-area>.opponent-strip{width:100%;margin:.35rem 0 .55rem}.game-header{flex-wrap:wrap}.debt-end-round-btn,.deck-control-btn{font-size:0!important;letter-spacing:0!important;padding:0!important;display:inline-flex;align-items:center;justify-content:center}.debt-end-round-btn .deck-control-icon{font-size:1.28rem}.deck-control-undo .deck-control-icon{font-size:1.22rem}.deck-control-stuck .deck-control-icon,.deck-control-super-stuck .deck-control-icon{font-size:1.12rem}}@media(max-width:830px){.yard-shell{margin-top:20px}.commons-area h3{font-size:.98rem;letter-spacing:.28em;margin-bottom:.58rem}.commons-meta-strip{font-size:.68rem;letter-spacing:.14em;gap:1rem;margin-bottom:.55rem}}@media(max-width:820px){.game-board{padding-top:calc(.55rem + env(safe-area-inset-top,0px));padding-bottom:.8rem}.game-board-shell{width:calc(100% - .5rem);max-width:calc(100% - .5rem)}.opponent-strip{gap:.38rem;margin-bottom:.55rem}.opponent-card.arc{padding:.28rem .32rem .34rem;border-radius:9px}.opponent-piles{gap:.16rem}.opponent-pile .card.mini,.opponent-empty{width:22px;height:31px}.commons-shell{margin-top:14px;margin-bottom:.45rem}.commons-meta-strip{margin-bottom:.42rem;gap:.9rem}.yard-shell{width:fit-content;max-width:none;margin-top:20px}.tableau-shell{--tableau-pad-x: .56rem}.score-bar{width:calc(100% + (2 * var(--tableau-pad-x)));left:0;right:auto;margin-left:calc(var(--tableau-pad-x) * -1);margin-right:calc(var(--tableau-pad-x) * -1)}.deck-control-btn{min-height:34px}.debt-controls-row{grid-template-columns:80px}.deck-controls-row{width:calc(160px + .3rem);grid-template-columns:repeat(2,80px);gap:.3rem;justify-self:center}.deck-super-stuck-row{width:calc(160px + .3rem);justify-self:center}}@media(max-width:700px){.game-board{padding-top:calc(.4rem + env(safe-area-inset-top,0px));padding-bottom:.65rem}.opponent-strip{gap:.26rem;margin-bottom:.4rem}.opponent-card.arc{padding:.22rem .26rem .28rem}.opponent-name,.opponent-meta,.opponent-dc-badge,.opponent-proxy-badge{font-size:.62rem}.opponent-apm{font-size:.78rem}.opponent-debt-progress-track{min-width:64px}.commons-shell{margin-top:0}.commons-area h3{margin-bottom:.32rem}.commons-meta-strip{flex-wrap:nowrap;justify-content:space-between;gap:.8rem}.yard-shell{overflow:visible;padding-bottom:.18rem;margin-top:20px}.tableau-shell{min-width:0}}@media(max-width:675px){.game-board.compact-opponents{height:100dvh;overflow-y:hidden}.game-board.compact-opponents .game-board-shell{max-height:100%;overflow:hidden}.game-board{--commons-mobile-card-w: clamp(30px, calc((100vw - 4.4rem) / 12), 46px)}.commons-shell{width:100%;max-width:100%;align-self:stretch}.commons-area{width:100%}.commons{width:100%;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;gap:.28rem}.commons-suit{width:100%;padding:.28rem .24rem;align-items:stretch}.commons-piles{width:100%;justify-content:center;gap:.18rem;grid-template-rows:repeat(2,auto)!important;grid-auto-rows:auto!important;align-content:start;justify-items:stretch}.commons-pile{width:100%;height:auto;align-self:start;display:flex}.commons-slot{width:100%;height:auto;display:flex}.commons-slot>.card,.commons-slot>.card.back,.commons-pile .empty-slot{width:100%;height:auto;aspect-ratio:5 / 7}.commons-pile .empty-slot.suit-placeholder{font-size:1.9rem}.yard-shell{width:100%;max-width:100%;align-self:stretch;margin-top:20px}.tableau-shell{width:100%;box-sizing:border-box}.tableau-shell.local-ground{zoom:1!important;--yard-mobile-card-w: clamp(42px, calc((100vw - 5.2rem) / 7), 72px)}@supports not (zoom: 1){.tableau-shell.local-ground{transform:none!important}}.tableau-shell.local-ground .player-area{width:100%}.tableau-shell.local-ground .yard-labels,.tableau-shell.local-ground .yard-piles{width:100%;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:.28rem}.tableau-shell.local-ground .bench-pile{width:auto!important}.tableau-shell.local-ground .yard-piles>.debt-pile,.tableau-shell.local-ground .yard-piles>.bench-pile{display:flex;justify-content:center}.tableau-shell.local-ground .debt-pile{width:var(--yard-mobile-card-w)}.tableau-shell.local-ground .pile-frame,.tableau-shell.local-ground .card,.tableau-shell.local-ground .card-draggable,.tableau-shell.local-ground .empty-slot,.tableau-shell.local-ground .reserve-stack{width:var(--yard-mobile-card-w)!important;height:calc(var(--yard-mobile-card-w) * 1.4)!important}.score-bar{width:calc(100% + (2 * var(--tableau-pad-x)));left:0;right:auto;margin-left:calc(var(--tableau-pad-x) * -1);margin-right:calc(var(--tableau-pad-x) * -1)}.debt-controls-row{width:var(--yard-mobile-card-w);grid-template-columns:var(--yard-mobile-card-w)!important;justify-self:center}.tableau-shell.local-ground .deck-cluster{--deck-btn-w: var(--yard-mobile-card-w);--deck-btn-gap: .28rem;width:calc((2 * var(--yard-mobile-card-w)) + .28rem);grid-template-columns:repeat(2,var(--yard-mobile-card-w));gap:.28rem;justify-content:center}.deck-controls-row{width:calc((2 * var(--yard-mobile-card-w)) + .28rem);grid-template-columns:repeat(2,var(--yard-mobile-card-w))!important;gap:.28rem;justify-self:center}.deck-super-stuck-row{width:calc((2 * var(--yard-mobile-card-w)) + .28rem);justify-self:center}.tableau-shell.local-ground .yard-spacer{display:block;margin:0!important;padding:0!important}}@media(max-width:675px){.commons{zoom:1!important}@supports not (zoom: 1){.commons-shell{transform:none!important}}.suit-icon{font-size:2.2rem}.commons-slot>.card.commons-face-card .rank-large{font-size:1.5rem;margin-bottom:.08rem}.commons-slot>.card.commons-face-card .suit-large{font-size:2rem}.tableau-shell.local-ground .card .card-corner{display:none}.tableau-shell.local-ground .card .face-card{display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.tableau-shell.local-ground .card .face-card .rank-large{display:block;font-size:1.22rem;font-weight:800;letter-spacing:.02em;margin-bottom:.08rem}.tableau-shell.local-ground .card .face-card .suit-large{font-size:1.62rem;line-height:1}.card.tucked-face-card .face-card{display:none!important}.card.tucked-face-card .card-corner{display:flex!important}}@media(max-height:430px)and (orientation:landscape){.game-board{padding-top:calc(.24rem + env(safe-area-inset-top,0px));padding-bottom:.45rem}.opponent-strip{margin-bottom:.28rem}.commons-shell{margin-top:-8px;margin-bottom:.32rem}.commons-area h3{margin-top:.04rem;margin-bottom:.26rem}.commons-meta-strip{margin-bottom:.26rem}.game-header{margin-top:.28rem;margin-bottom:.24rem;padding-top:.38rem;padding-bottom:.36rem}.score-bar{padding-top:.42rem;padding-bottom:.38rem}.player-area{margin-top:.24rem;gap:.34rem}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{height:100%}html,body{overscroll-behavior:none}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}body.sim-active{display:block;height:100vh;height:100dvh;overflow:hidden;position:fixed;width:100%;place-items:initial;align-items:stretch;justify-content:flex-start}body.game-active{display:block;height:100vh;height:100dvh;place-items:initial;align-items:stretch;justify-content:flex-start;overflow:hidden;position:fixed;width:100%}#root{width:100%;max-width:1280px;margin:0 auto;padding:2rem}#root.sim-active{max-width:none;height:100%;padding:0}#root.game-active{max-width:none;padding:0}html.ios-webkit-viewport-lock,html.ios-webkit-viewport-lock body{width:100%;height:100%;position:fixed;inset:0;overflow:hidden}html.ios-webkit-viewport-lock #root{width:100%;height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}html.ios-webkit-viewport-lock #root.game-active,html.ios-webkit-viewport-lock #root.sim-active{overflow:hidden}button{font-family:inherit;cursor:pointer;transition:all .2s}button:hover{opacity:.9}button:disabled{opacity:.5;cursor:not-allowed}input,select{font-family:inherit;font-size:1rem;padding:.5rem;border:1px solid #ccc;border-radius:4px}.btn{padding:.6rem 1.2rem;border:none;border-radius:4px;font-size:1rem;font-weight:500}.btn-primary{background-color:#646cff;color:#fff}.btn-secondary{background-color:#535bf2;color:#fff}.btn-danger{background-color:#f44336;color:#fff}.btn-success{background-color:#4caf50;color:#fff}.btn-small{padding:.4rem .8rem;font-size:.9rem}.btn-large{padding:.8rem 1.6rem;font-size:1.1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500}.form-group input,.form-group select{width:100%}.divider{margin:1.5rem 0;text-align:center;position:relative}.divider span{background-color:#242424;padding:0 1rem;position:relative;z-index:1}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background-color:#ccc}.button-group{display:flex;gap:.5rem;flex-wrap:wrap}.status-message{margin-top:1rem;padding:.5rem;border-radius:4px;color:#fff;text-align:center}.status-message.status-info{background-color:#3b82f6}.status-message.status-error{background-color:#ff6b6b}.notice-banner{position:fixed;top:1rem;left:50%;transform:translate(-50%);color:#fff;padding:1rem 2rem;border-radius:6px;box-shadow:0 6px 10px #0003;z-index:1000;opacity:0;transition:opacity .3s}.notice-banner.notice-info{background-color:#3b82f6}.notice-banner.notice-warning{background-color:#f59e0b}.notice-banner.notice-error{background-color:#ef4444}.notice-banner.visible{opacity:1}.connection-status{position:fixed;bottom:1rem;right:1rem;padding:.5rem 1rem;border-radius:4px;font-size:.9rem;background-color:#4caf50;color:#fff}.connection-status.bad{background-color:#ff9800}.connection-status.offline{background-color:#f44336}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:#1a1a1a;padding:2rem;border-radius:8px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.modal-actions{margin-top:1.5rem;display:flex;gap:1rem;justify-content:center}
