:root{--text:#667269;--text-h:#17231c;--bg:#f3efe5;--border:#d8d1c2;--code-bg:#f4f3ec;--accent:#b58a3b;--accent-bg:#b58a3b1f;--accent-border:#b58a3b7a;--social-bg:#f4f3ec80;--shadow:#0000001a 0 .625rem .9375rem -.1875rem, #0000000d 0 .25rem .375rem -.125rem;--table-bg:#2d6a4f;--table-felt:radial-gradient(circle, #40916c 0%, #2d6a4f 100%);--wood-border:#5d3a25;--tile-bg:#fcfaf0;--tile-shadow:#dcd9c6;--red-tile:#e63946;--blue-tile:#457b9d;--black-tile:#1d3557;--yellow-tile:#d9b21f;--joker-bg:radial-gradient(circle, #e0c23b 0%, #b88f11 100%);--accent-warm:#e7e1d8;--accent-warm-strong:#d2c7b8;--accent-warm-dark:#b7aa9a;--sans:Avenir Next, Trebuchet MS, system-ui, sans-serif;--heading:Iowan Old Style, Palatino Linotype, Book Antiqua, Palatino, serif;--mono:ui-monospace, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c9a45d;--accent-bg:#c9a45d24;--accent-border:#c9a45d80;--social-bg:#2f303a80;--shadow:#0006 0 .625rem .9375rem -.1875rem, #00000040 0 .25rem .375rem -.125rem}#social .button-icon{filter:invert()brightness(2)}}html{font:1rem/145% var(--sans);letter-spacing:.0112rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=64rem){html{font-size:1rem}}html,body,#root{width:100%;height:100%}#root{width:100%;min-height:100svh;margin:0;padding:0}body{background:var(--table-bg);overscroll-behavior:none;margin:0;padding:0;overflow:hidden}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-.105rem;margin:2rem 0;font-size:3.5rem}@media (width<=64rem){h1{margin:1.25rem 0;font-size:2.25rem}}h2{letter-spacing:-.015rem;margin:0 0 .5rem;font-size:1.5rem;line-height:118%}@media (width<=64rem){h2{font-size:1.25rem}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:.25rem;display:inline-flex}code{background:var(--code-bg);padding:.25rem .5rem;font-size:.9375rem;line-height:135%}.auth-container{justify-content:center;align-items:center;width:100%;display:flex}.auth-container .auth-card{-webkit-backdrop-filter:blur(.3125rem);backdrop-filter:blur(.3125rem);color:#fff;background:#ffffff0d;border:.0625rem solid #ffffff1a;border-radius:.75rem;width:100%;padding:1.5rem}.auth-container .auth-card h2{text-align:center;color:var(--accent-warm);margin-top:0;margin-bottom:2rem;font-size:2rem}.auth-container .auth-card form{flex-direction:column;gap:1.5rem;display:flex}.auth-container .auth-card form .input-group{flex-direction:column;gap:.5rem;display:flex}.auth-container .auth-card form .input-group label{color:#ffffffb3;font-size:.9rem}.auth-container .auth-card form .input-group input{color:#fff;background:#ffffff1a;border:.0625rem solid #fff3;border-radius:.5rem;padding:.8rem;font-size:1rem;transition:border-color .2s}.auth-container .auth-card form .input-group input:focus{border-color:var(--accent-warm);outline:none}.auth-container .auth-card form .auth-error{color:#ff4d4d;text-align:center;background:#ff4d4d1a;border-radius:.3125rem;padding:.5rem;font-size:.85rem}.auth-container .auth-card form .auth-btn{background:var(--accent-warm);color:#000;cursor:pointer;border:none;border-radius:.5rem;margin-top:.5rem;padding:1rem;font-size:1.1rem;font-weight:600;transition:background .2s}.auth-container .auth-card form .auth-btn:hover:not(:disabled){background:var(--accent-warm-strong)}.auth-container .auth-card form .auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-container .auth-card form .auth-privacy-note{color:#ffffffad;margin:-.4rem 0 0;font-size:.75rem;line-height:1.4}.auth-container .auth-card form .auth-privacy-note a{color:var(--accent-warm);font-weight:700;text-decoration:none}.auth-container .auth-card form .auth-privacy-note a:hover{text-decoration:underline}.auth-container .auth-card .guest-btn{color:var(--accent-warm);border:.0625rem solid var(--accent-warm);cursor:pointer;background:0 0;border-radius:.5rem;width:100%;margin-top:1rem;padding:.8rem;font-size:1rem;font-weight:600;transition:background .2s,color .2s}.auth-container .auth-card .guest-btn:hover:not(:disabled){background:#ffd7001a}.auth-container .auth-card .guest-btn:disabled{opacity:.6;cursor:not-allowed}.auth-container .auth-card .guest-notice{border-left:.1875rem solid var(--accent-warm);color:#ffffffe6;background:#ffd7001a;margin-bottom:1.5rem;padding:.8rem;font-size:.85rem;line-height:1.4}.auth-container .auth-card .auth-toggle{text-align:center;color:#fff9;margin-top:1.5rem;font-size:.9rem}.auth-container .auth-card .auth-toggle span{color:var(--accent-warm);cursor:pointer;font-weight:600}.auth-container .auth-card .auth-toggle span:hover{text-decoration:underline}.report-dialog-backdrop{z-index:3000;-webkit-backdrop-filter:blur(.35rem);backdrop-filter:blur(.35rem);background:#00000094;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.report-dialog{color:#fff;background:#173c2d;border:.0625rem solid #e7e1d833;border-radius:.125rem;gap:.85rem;width:min(22rem,100%);padding:1rem;display:grid}.report-dialog-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.report-dialog-header h3{color:var(--accent-warm);margin:.12rem 0 0;font-size:1rem;line-height:1.15}.report-dialog-kicker{color:#ffffff8c;letter-spacing:.08rem;text-transform:uppercase;font-size:.68rem;font-weight:900}.report-dialog-close{color:#ffffffb8;cursor:pointer;background:#ffffff14;border:.0625rem solid #ffffff1f;border-radius:.125rem;width:1.75rem;height:1.75rem;font-size:1.2rem;line-height:1}.report-dialog-close:hover{color:#fff;border-color:#ffffff47}.report-dialog-preview{color:#ffffffbf;overflow-wrap:anywhere;background:#00000038;border:.0625rem solid #ffffff1a;border-radius:.125rem;margin:0;padding:.65rem .7rem;font-size:.78rem;line-height:1.4}.report-dialog-field{gap:.35rem;display:grid}.report-dialog-field span{color:#ffffffad;font-size:.72rem;font-weight:800}.report-dialog-field textarea{resize:vertical;color:#fff;min-height:5.5rem;font:inherit;background:#0000004d;border:.0625rem solid #ffffff24;border-radius:.125rem;outline:none;padding:.7rem;font-size:.82rem;line-height:1.4}.report-dialog-field textarea:focus{border-color:#e7e1d880;outline:.125rem solid #e7e1d81a}.report-dialog-field textarea::placeholder{color:#ffffff61}.report-dialog-actions{justify-content:flex-end;gap:.5rem;display:flex}.report-dialog-actions button{cursor:pointer;border:.0625rem solid #ffffff24;border-radius:.125rem;padding:.5rem .9rem;font-size:.78rem;font-weight:900}.report-dialog-actions button:disabled{opacity:.45;cursor:not-allowed}.report-dialog-secondary{color:#ffffffc7;background:#ffffff14}.report-dialog-primary{background:var(--accent-warm);color:#111}.feedback-overlay{-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);z-index:2000;background:#000c;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.feedback-overlay .feedback-card{color:#fff;background:#1a4d2e;border:.125rem solid #ffd70033;border-radius:.125rem;width:100%;max-width:31.25rem;padding:2.5rem;position:relative}.feedback-overlay .feedback-card .close-btn{color:#ffffff80;cursor:pointer;background:0 0;border:none;font-size:2rem;transition:color .2s;position:absolute;top:1rem;right:1.5rem}.feedback-overlay .feedback-card .close-btn:hover{color:#fff}.feedback-overlay .feedback-card h2{color:var(--accent-warm);text-align:center;margin:0 0 .5rem;font-size:2rem}.feedback-overlay .feedback-card p{text-align:center;color:#ffffffb3;margin-bottom:2rem;font-size:.9rem}.feedback-overlay .feedback-card form{flex-direction:column;gap:1.5rem;display:flex}.feedback-overlay .feedback-card form .input-group{flex-direction:column;gap:.5rem;display:flex}.feedback-overlay .feedback-card form .input-group label{color:var(--accent-warm);font-size:.9rem;font-weight:600}.feedback-overlay .feedback-card form .input-group select,.feedback-overlay .feedback-card form .input-group textarea{color:#fff;background:#0000004d;border:.0625rem solid #ffffff1a;border-radius:.125rem;padding:.8rem;font-family:inherit;font-size:1rem}.feedback-overlay .feedback-card form .input-group select:focus,.feedback-overlay .feedback-card form .input-group textarea:focus{border-color:var(--accent-warm);background:#0006;outline:none}.feedback-overlay .feedback-card form .input-group option{color:#fff;background:#0d2b1a}.feedback-overlay .feedback-card form .form-message{text-align:center;border-radius:.125rem;padding:.8rem;font-size:.9rem}.feedback-overlay .feedback-card form .form-message.success{color:#2ecc71;background:#2ecc7133;border:.0625rem solid #2ecc714d}.feedback-overlay .feedback-card form .form-message.error{color:#e74c3c;background:#e74c3c33;border:.0625rem solid #e74c3c4d}.feedback-overlay .feedback-card form .submit-btn{background:var(--accent-warm);color:#000;cursor:pointer;text-transform:uppercase;letter-spacing:.0625rem;border:none;border-radius:.125rem;padding:1rem;font-size:1.1rem;font-weight:800;transition:background .2s}.feedback-overlay .feedback-card form .submit-btn:hover:not(:disabled){background:var(--accent-warm-strong)}.feedback-overlay .feedback-card form .submit-btn:disabled{opacity:.6;cursor:not-allowed}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.main-menu{--menu-green:#173c2d;--menu-green-dark:#10281d;--menu-paper:#eee6d6;--menu-ink:#17231c;--menu-muted:#aeb9b1;--menu-line:#eee6d62e;--menu-accent:#c9a45d;width:100%;height:auto;min-height:100svh;color:var(--menu-paper);background:var(--menu-green-dark);font-family:var(--sans);overflow:hidden}.main-menu *,.main-menu :before,.main-menu :after{box-sizing:border-box}.main-menu button,.main-menu input,.main-menu select,.main-menu textarea{font:inherit}.main-menu button:focus-visible,.main-menu a:focus-visible,.main-menu input:focus-visible,.main-menu select:focus-visible,.main-menu textarea:focus-visible{outline:.15rem solid var(--menu-accent);outline-offset:.15rem}.menu-topbar{border-bottom:.0625rem solid var(--menu-line);background:var(--menu-green-dark);grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;height:4.5rem;padding:0 1.4rem;display:grid}.menu-brand{align-items:center;min-width:0;display:inline-flex}.menu-brand-mark{width:2.65rem;height:2.65rem;color:var(--menu-ink);background:var(--menu-accent);font-family:var(--heading);border:.0625rem solid #a98748;border-radius:.125rem;flex:0 0 2.65rem;place-items:center;font-size:.96rem;font-weight:700;display:grid;transform:rotate(-1.5deg)}.menu-nav{justify-content:center;align-items:center;gap:.15rem;display:flex}.menu-nav button,.menu-nav a{min-height:2.75rem;color:var(--menu-muted);cursor:pointer;background:0 0;border:0;border-bottom:.125rem solid #0000;align-items:center;padding:0 .75rem;font-size:.73rem;font-weight:700;text-decoration:none;display:inline-flex}.menu-nav button:hover,.menu-nav a:hover{border-bottom-color:var(--menu-accent);color:var(--menu-paper)}.menu-account{justify-content:flex-end;align-items:center;gap:.65rem;min-width:0;display:flex}.menu-account .user-avatar{border:.0625rem solid var(--menu-line);width:2.25rem;height:2.25rem;color:var(--menu-ink);background:var(--menu-paper);border-radius:50%;flex:0 0 2.25rem;place-items:center;font-weight:800;display:grid}.menu-account .menu-account-copy{max-width:10rem;line-height:1.15;display:grid}.menu-account .menu-account-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.menu-account .menu-account-copy a{color:var(--menu-muted);margin-top:.18rem;font-size:.64rem;text-decoration:none}.menu-account .logout-btn{border:.0625rem solid var(--menu-line);min-height:2.75rem;color:var(--menu-muted);cursor:pointer;background:0 0;border-radius:.125rem;padding:0 .7rem;font-size:.68rem}.menu-account .logout-btn:hover{color:var(--menu-paper);border-color:var(--menu-accent)}.menu-workspace{--menu-panel-height:min(100%, max(35rem, 82vh));grid-template-columns:clamp(14.5rem,18vw,16.5rem) minmax(34rem,1fr) clamp(18rem,21vw,20rem);align-items:start;gap:clamp(.75rem,1.25vw,1.25rem);height:calc(100svh - 4.5rem);padding:clamp(1rem,2.25vh,1.4rem) clamp(1rem,1.75vw,1.75rem);display:grid}.menu-workspace.without-sidebar{grid-template-columns:minmax(34rem,1fr) clamp(18rem,21vw,20rem)}.main-menu .menu-sidebar{height:var(--menu-panel-height);border:.0625rem solid var(--menu-line);background:#133324;border-radius:.125rem;min-width:0;padding:1.35rem 1rem;overflow-y:auto}.main-menu .menu-sidebar .profile-section{gap:.45rem;margin-bottom:1.1rem;display:grid}.main-menu .menu-sidebar .profile-section .user-avatar{width:3rem;height:3rem;color:var(--menu-ink);background:var(--menu-paper);border-radius:50%;place-items:center;font-size:1.2rem;font-weight:800;display:grid}.main-menu .menu-sidebar .profile-section .user-info h3{font-family:var(--heading);margin:0;font-size:1.05rem}.main-menu .menu-sidebar .profile-section .user-info p,.main-menu .menu-sidebar .profile-section .upgrade-copy{color:var(--menu-muted);margin:.15rem 0 0;font-size:.7rem;line-height:1.6}.main-menu .menu-sidebar .profile-section .view-profile-link{min-height:2.75rem;color:var(--menu-accent);align-items:center;font-size:.72rem;font-weight:700;text-decoration:none;display:inline-flex}.main-menu .menu-sidebar .auth-container{align-items:flex-start}.main-menu .menu-sidebar .auth-container .auth-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;padding:0}.main-menu .menu-sidebar .auth-container .auth-card h2{color:var(--menu-paper);font-family:var(--heading);text-align:left;margin:0 0 1rem;font-size:1.3rem;line-height:1.15}.main-menu .menu-sidebar .auth-container .auth-card form{gap:.8rem}.main-menu .menu-sidebar .auth-container .auth-card .input-group{gap:.3rem}.main-menu .menu-sidebar .auth-container .auth-card .input-group label{color:var(--menu-muted);font-size:.68rem;font-weight:700}.main-menu .menu-sidebar .auth-container .auth-card .input-group input{border-color:var(--menu-line);background:var(--menu-green-dark);min-height:2.75rem;color:var(--menu-paper);border-radius:.125rem;padding:.6rem .65rem;font-size:.76rem}.main-menu .menu-sidebar .auth-container .auth-card .auth-btn,.main-menu .menu-sidebar .auth-container .auth-card .guest-btn{border-radius:.125rem;min-height:2.75rem;font-size:.75rem}.main-menu .menu-sidebar .auth-container .auth-card .auth-btn{color:var(--menu-ink);background:var(--menu-accent)}.main-menu .menu-sidebar .auth-container .auth-card .guest-btn{border-color:var(--menu-line);color:var(--menu-paper)}.main-menu .menu-sidebar .auth-container .auth-card .guest-notice{border-left-color:var(--menu-accent);color:var(--menu-muted);background:0 0;margin-bottom:.8rem;font-size:.7rem;line-height:1.65}.main-menu .menu-sidebar .auth-container .auth-card .auth-toggle{color:var(--menu-muted);text-align:left;font-size:.7rem}.main-menu .menu-content{height:var(--menu-panel-height);min-width:0;padding:0;overflow-y:auto}.main-menu .menu-content .menu-join-error,.main-menu .menu-content .play-layout{width:100%}.menu-join-error{min-height:2.75rem;color:var(--menu-paper);background:#51312c;border-left:.2rem solid #bd695d;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.65rem .8rem;font-size:.75rem;display:flex}.menu-join-error button{min-width:2.75rem;min-height:2.75rem;color:var(--menu-paper);cursor:pointer;background:0 0;border:0}.play-layout{grid-template-columns:repeat(2,minmax(18rem,1fr));align-items:stretch;gap:clamp(.75rem,1vw,1rem);min-height:100%;display:grid}.play-controls,.play-card{height:100%}.play-controls{min-width:0}.play-card,.room-browser{border:.0625rem solid var(--menu-line);background:var(--menu-green);border-radius:.125rem}.play-card{padding:1.2rem}.round-selection{text-align:left;border:0;margin:0 0 1rem;padding:0}.round-selection legend{color:var(--menu-muted);margin-bottom:.45rem;font-size:.68rem;font-weight:750}.round-chips{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;display:grid}.round-chips .round-chip{border:.0625rem solid var(--menu-line);min-height:2.75rem;color:var(--menu-paper);background:var(--menu-green-dark);cursor:pointer;border-radius:.125rem;padding:.5rem;font-size:.72rem;font-weight:700}.round-chips .round-chip:hover{border-color:var(--menu-accent)}.round-chips .round-chip.active{border-color:var(--menu-accent);color:var(--menu-ink);background:var(--menu-accent)}.assistance-selection .round-chips,.game-type-selection .round-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-buttons{gap:1rem;display:grid}.menu-buttons .menu-btn{cursor:pointer;border-radius:.125rem;min-height:2.75rem}.menu-buttons .menu-btn:disabled{opacity:.48;cursor:not-allowed}.menu-buttons .menu-btn.primary{border:.0625rem solid var(--menu-accent);min-height:2.9rem;color:var(--menu-ink);background:var(--menu-accent);text-align:center;justify-content:center;align-items:center;padding:.65rem .75rem;font-size:.76rem;font-weight:800;display:flex}.menu-buttons .menu-btn.primary:hover:not(:disabled){background:#d4b36f}.menu-buttons .menu-btn.secondary{border:.0625rem solid var(--menu-line);width:100%;color:var(--menu-paper);background:0 0;font-size:.72rem;font-weight:750}.menu-buttons .menu-btn.secondary:hover:not(:disabled){border-color:var(--menu-accent)}.private-room-section{gap:.5rem;display:grid}.section-divider{color:var(--menu-muted);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.6rem;font-size:.62rem;font-weight:750;display:flex}.section-divider:after{content:"";background:var(--menu-line);flex:1;height:.0625rem}.join-room-box{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:.4rem;display:grid}.join-room-box input{border:.0625rem solid var(--menu-line);min-width:0;min-height:2.75rem;color:var(--menu-paper);background:var(--menu-green-dark);border-radius:.125rem;padding:.55rem .65rem;font-size:.72rem}.join-room-box input::placeholder{color:#7f8f84}.join-room-box .join-btn{border:.0625rem solid var(--menu-line);min-width:4.25rem;min-height:2.75rem;color:var(--menu-paper);cursor:pointer;background:#2b6047;border-radius:.125rem;padding:0 .75rem;font-size:.72rem;font-weight:800}.join-room-box .join-btn:hover:not(:disabled){border-color:var(--menu-accent)}.room-browser{grid-template-rows:auto minmax(0,1fr);gap:.8rem;min-height:100%;padding:1.2rem;display:grid}.room-browser-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.room-browser-header h2{color:var(--menu-paper);font-family:var(--heading);margin:0;font-size:1.35rem;line-height:1.15}.room-browser-header p{color:var(--menu-muted);margin:.25rem 0 0;font-size:.7rem;line-height:1.65}.room-refresh-btn,.room-join-btn{border:.0625rem solid var(--menu-line);min-height:2.75rem;color:var(--menu-paper);cursor:pointer;background:0 0;border-radius:.125rem;font-size:.7rem;font-weight:750}.room-refresh-btn:hover:not(:disabled),.room-join-btn:hover:not(:disabled){border-color:var(--menu-accent)}.room-refresh-btn{min-width:4.5rem;padding:0 .7rem}.room-list{align-content:start;gap:.5rem;min-height:0;display:grid;overflow-y:auto}.room-list-status{color:var(--menu-muted);text-align:left;margin:0;padding:1rem 0;font-size:.75rem;line-height:1.7}.room-list-error button{border:.0625rem solid var(--menu-line);min-height:2.75rem;color:var(--menu-paper);background:0 0;margin-top:.6rem}.room-list-item{background:var(--menu-green-dark);border-left:.16rem solid #0000;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.7rem;display:grid}.room-list-item:hover{border-left-color:var(--menu-accent)}.room-list-details{min-width:0}.room-list-title-row{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.35rem;display:flex}.room-list-title-row h3{color:var(--menu-paper);font-family:var(--heading);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.92rem;overflow:hidden}.room-list-title-row>span{color:var(--menu-muted);font-family:var(--mono);font-size:.58rem}.room-list-meta{flex-wrap:wrap;gap:.25rem;display:flex}.room-list-meta span{border:.0625rem solid var(--menu-line);color:var(--menu-muted);padding:.15rem .3rem;font-size:.56rem}.room-list-meta span.protected{color:var(--menu-accent);border-color:#8e743f}.room-join-btn{background:#2b6047;min-width:4rem;padding:0 .75rem}.menu-social{height:var(--menu-panel-height);align-items:stretch;min-width:0;padding:0;display:flex;overflow:hidden}.main-menu .global-chat{border:.0625rem solid var(--menu-line);background:#133324;border-radius:.125rem;grid-template-rows:auto minmax(0,1fr) auto;gap:.65rem;width:100%;height:100%;max-height:none;padding:.9rem;display:grid}.main-menu .global-chat .global-chat-header h2{color:var(--menu-paper);font-family:var(--heading);margin:0;font-size:1.1rem;line-height:1.15}.main-menu .global-chat .global-chat-messages{min-height:0;overflow-y:auto}.main-menu .global-chat .global-chat-history-button{width:100%;min-height:2.75rem;color:var(--menu-muted);background:0 0;border:0;font-size:.66rem}.main-menu .global-chat .global-chat-message{border-bottom:.0625rem solid var(--menu-line);padding:.6rem 0}.main-menu .global-chat .global-chat-message p{color:var(--menu-paper);overflow-wrap:anywhere;margin:.25rem 0 0;font-size:.7rem;line-height:1.6}.main-menu .global-chat .global-chat-meta{color:var(--menu-muted);justify-content:space-between;gap:.5rem;font-size:.58rem;display:flex}.main-menu .global-chat .global-chat-sender>span{color:var(--menu-accent);font-weight:800}.main-menu .global-chat .global-chat-report-icon-button{border:.0625rem solid var(--menu-line);width:2rem;min-height:2rem;color:var(--menu-muted);background:0 0;border-radius:50%;margin-left:.3rem}.main-menu .global-chat .global-chat-form{grid-template-columns:minmax(0,1fr) 2.75rem;gap:.4rem;display:grid}.main-menu .global-chat .global-chat-form input,.main-menu .global-chat .global-chat-form button{border:.0625rem solid var(--menu-line);border-radius:.125rem;min-height:2.75rem}.main-menu .global-chat .global-chat-form input{min-width:0;color:var(--menu-paper);background:var(--menu-green-dark);padding:.55rem .65rem;font-size:.72rem}.main-menu .global-chat .global-chat-form button{color:var(--menu-ink);background:var(--menu-accent);place-items:center;display:grid}.main-menu .global-chat .global-chat-form button svg{fill:currentColor;width:1rem}.main-menu .global-chat .global-chat-status,.main-menu .global-chat .global-chat-ban-list{color:var(--menu-muted);font-size:.64rem;line-height:1.6}.main-menu .global-chat .global-chat-moderation,.main-menu .global-chat .global-chat-ban-form{flex-wrap:wrap;gap:.3rem;margin-top:.4rem;display:flex}.main-menu .global-chat .global-chat-moderation button,.main-menu .global-chat .global-chat-moderation input,.main-menu .global-chat .global-chat-moderation select,.main-menu .global-chat .global-chat-ban-form button,.main-menu .global-chat .global-chat-ban-form input,.main-menu .global-chat .global-chat-ban-form select{border:.0625rem solid var(--menu-line);min-height:2.25rem;color:var(--menu-paper);background:var(--menu-green-dark);font-size:.6rem}.room-dialog-backdrop,.about-modal{z-index:1000;background:#06120cd1;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.room-dialog-card,.about-modal-card{border:.0625rem solid var(--menu-line);width:min(34rem,100%);max-height:calc(100dvh - 2rem);color:var(--menu-paper);background:var(--menu-green);border-radius:.125rem;padding:1.35rem;overflow-y:auto}.room-dialog-card.compact,.about-modal-card.compact{width:min(25rem,100%)}.room-dialog-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem;display:flex}.room-dialog-header h2{color:var(--menu-paper);font-family:var(--heading);letter-spacing:-.02em;margin:0;font-size:1.6rem;line-height:1.15}.room-dialog-header p{color:var(--menu-muted);margin:.3rem 0 0;font-size:.72rem;line-height:1.65}.room-dialog-close,.about-close-btn{border:.0625rem solid var(--menu-line);min-width:2.75rem;min-height:2.75rem;color:var(--menu-paper);cursor:pointer;background:0 0;border-radius:.125rem;font-size:1.15rem}.room-creation-form,.room-password-form{gap:1rem;display:grid}.room-form-field,.room-form-group{min-width:0;color:var(--menu-paper);border:0;margin:0;padding:0;font-size:.72rem;font-weight:750}.room-form-field{gap:.35rem;display:grid}.room-form-field em,.room-form-field small{color:var(--menu-muted);font-size:.64rem;font-style:normal;font-weight:500}.room-form-field input,.room-password-form input{border:.0625rem solid var(--menu-line);width:100%;min-height:2.75rem;color:var(--menu-paper);background:var(--menu-green-dark);border-radius:.125rem;padding:.6rem .7rem}.room-form-group legend{margin-bottom:.45rem}.room-choice-grid{gap:.4rem;display:grid}.room-choice-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.room-choice-grid.four-columns{grid-template-columns:repeat(4,minmax(0,1fr))}.room-choice-grid button{border:.0625rem solid var(--menu-line);min-height:2.75rem;color:var(--menu-paper);background:var(--menu-green-dark);cursor:pointer;border-radius:.125rem;font-weight:750}.room-choice-grid button.selected{border-color:var(--menu-accent);color:var(--menu-ink);background:var(--menu-accent)}.room-availability-settings{gap:.5rem;display:grid}.room-availability-settings label{border:.0625rem solid var(--menu-line);cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:.65rem;min-height:3.5rem;padding:.7rem;display:grid}.room-availability-settings label.disabled{opacity:.55;cursor:not-allowed}.room-availability-settings label input{width:1.1rem;height:1.1rem;accent-color:var(--menu-accent)}.room-availability-settings label span{gap:.15rem;display:grid}.room-availability-settings label strong{font-size:.72rem}.room-availability-settings label small{color:var(--menu-muted);font-size:.64rem;line-height:1.6}.room-dialog-actions{justify-content:flex-end;gap:.5rem;display:flex}.room-dialog-actions button{cursor:pointer;border-radius:.125rem;min-height:2.75rem;padding:0 .95rem;font-weight:800}.room-dialog-actions button.cancel{border:.0625rem solid var(--menu-line);color:var(--menu-paper);background:0 0}.room-dialog-actions button.confirm{border:.0625rem solid var(--menu-accent);color:var(--menu-ink);background:var(--menu-accent)}.about-modal-card{width:min(48rem,100%);position:relative}.about-modal-card>h2{font-family:var(--heading);letter-spacing:-.025em;margin:0;font-size:2rem;line-height:1.15}.about-modal-card .about-close-btn{position:absolute;top:1rem;right:1rem}.about-lead{max-width:38rem;color:var(--menu-muted);margin:.65rem 0 1.4rem;font-size:.8rem;line-height:1.7}.about-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.about-card{border-top:.15rem solid var(--menu-accent);padding:.85rem 0}.about-card h3{font-family:var(--heading);margin:0;font-size:1rem}.about-card p{color:var(--menu-muted);margin:.35rem 0 0;font-size:.7rem;line-height:1.7}@media (width<=78rem){.menu-topbar{grid-template-columns:1fr auto}.menu-nav{display:none}.menu-workspace{grid-template-columns:14rem minmax(18rem,1fr) 16rem}.menu-workspace.without-sidebar{grid-template-columns:minmax(18rem,1fr) 16rem}.play-layout{grid-template-columns:1fr;min-height:0}.play-controls,.play-card{height:auto}.room-browser{min-height:20rem}}@media (width<=56rem){.main-menu{height:auto;overflow:visible}.menu-topbar{z-index:20;height:4rem;padding-inline:.85rem;position:sticky;top:0}.menu-account-copy{display:none}.menu-workspace,.menu-workspace.without-sidebar{flex-direction:column;align-items:stretch;height:auto;display:flex}.menu-workspace:not(.without-sidebar) .menu-social{display:flex}.main-menu .menu-sidebar{border-right:0;border-bottom:.0625rem solid var(--menu-line);height:auto}.main-menu .menu-content{height:auto;padding:1.5rem 1rem 2rem}.play-layout{grid-template-columns:1fr;grid-auto-rows:1fr}.room-browser{min-height:20rem}.menu-social{height:auto;padding:0 1rem 1rem}.main-menu .global-chat{height:20rem;min-height:20rem;max-height:28rem}}@media (width<=36rem){.menu-account .logout-btn{display:none}.round-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.join-room-box,.room-choice-grid.four-columns{grid-template-columns:1fr 1fr}.join-room-box .join-btn{grid-column:1/-1}.about-grid{grid-template-columns:1fr}}@media (width<=56rem) and (orientation:landscape){.main-menu{height:auto;min-height:100dvh;overflow:visible}.menu-topbar{height:3.5rem}.menu-brand-mark{flex-basis:2.3rem;width:2.3rem;height:2.3rem}.menu-workspace,.menu-workspace.without-sidebar{height:auto;min-height:calc(100dvh - 3.5rem)}.menu-workspace:not(.without-sidebar){grid-template-columns:13rem minmax(0,1fr);display:grid}.menu-workspace.without-sidebar{display:block}.main-menu .menu-sidebar{border-right:.0625rem solid var(--menu-line);border-bottom:0;height:100%;padding:.8rem;overflow-y:auto}.main-menu .menu-content{height:100%;padding-top:1rem;overflow-y:auto}.play-card,.room-browser{padding:.9rem}.menu-workspace:not(.without-sidebar) .menu-social,.menu-social{grid-column:1/-1;min-height:20rem;padding:1rem;display:flex}}.home-seo-content,.seo-page{--seo-green:#173c2d;--seo-green-dark:#10281d;--seo-paper:#eee6d6;--seo-muted:#aeb9b1;--seo-line:#eee6d62e;--seo-accent:#c9a45d;color:var(--seo-paper);background:var(--seo-green-dark)}.home-seo-content{border-top:.0625rem solid var(--seo-line)}.seo-page{min-height:100svh;padding:clamp(1rem,4vw,3rem)}.seo-content-shell{width:min(68rem,100%);margin:0 auto;padding:clamp(2rem,5vw,4.5rem) clamp(1rem,3vw,2rem)}.seo-page .seo-content-shell{padding-top:0}.seo-content-heading{max-width:48rem}.seo-content-heading h1{color:var(--seo-paper);font-family:var(--heading);letter-spacing:-.03em;margin:.35rem 0 .8rem;font-size:clamp(2rem,5vw,3.7rem);line-height:1.04}.seo-content-heading>p:last-child{color:var(--seo-muted);margin:0;font-size:clamp(.92rem,2vw,1.05rem);line-height:1.75}.seo-eyebrow{color:var(--seo-accent);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:800}.seo-section-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:2rem;display:grid}.home-seo-content .seo-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seo-section-card{border:.0625rem solid var(--seo-line);background:var(--seo-green);border-radius:.125rem;padding:1.15rem}.seo-section-card h2{color:var(--seo-accent);font-family:var(--heading);margin:0 0 .55rem;font-size:1.1rem;line-height:1.2}.seo-section-card p{color:var(--seo-muted);margin:0;font-size:.83rem;line-height:1.7}.seo-section-card p+p{margin-top:.65rem}.seo-guide-links{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin-top:.75rem;display:grid}.seo-guide-links a{border:.0625rem solid var(--seo-line);min-height:5rem;color:var(--seo-paper);align-content:center;gap:.3rem;padding:.85rem;text-decoration:none;display:grid}.seo-guide-links a:hover{border-color:var(--seo-accent);background:#c9a45d0f}.seo-guide-links span{color:var(--seo-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.6rem;font-weight:750}.seo-guide-links strong{font-family:var(--heading);font-size:.9rem}.seo-page-header{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:clamp(1rem,3vw,2rem);display:grid}.seo-brand-mark{color:#17231c;background:var(--seo-accent);width:3.15rem;height:3.15rem;font-family:var(--heading);border:.0625rem solid #a98748;border-radius:.125rem;place-items:center;font-weight:800;text-decoration:none;display:grid;transform:rotate(-1.5deg)}.seo-page-navigation{flex-wrap:wrap;gap:.45rem;margin-top:1.25rem;display:flex}.seo-page-navigation a{border:.0625rem solid var(--seo-line);min-height:2.75rem;color:var(--seo-paper);align-items:center;padding:.55rem .75rem;font-size:.72rem;font-weight:750;text-decoration:none;display:inline-flex}.seo-page-navigation a:hover{border-color:var(--seo-accent)}@media (width<=52rem){.home-seo-content .seo-section-grid,.seo-section-grid,.seo-guide-links,.seo-page-header{grid-template-columns:1fr}}.other-player{z-index:10;flex-direction:column;align-items:center;gap:.75rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute}.my-turn-focus .other-player{opacity:.68;filter:saturate(.85)brightness(.88)}.my-turn-focus .other-player.active-turn{opacity:1;filter:none}.other-player.top{flex-direction:column;align-items:center;top:2.5rem;left:50%;transform:translate(-50%)}.other-player.left{flex-direction:row;align-items:center;top:50%;left:2.5rem;transform:translateY(-50%)}.other-player.right{flex-direction:row-reverse;align-items:center;top:50%;right:2.5rem;transform:translateY(-50%)}.other-player .player-profile-card{-webkit-backdrop-filter:blur(.625rem);backdrop-filter:blur(.625rem);background:#0009;border:.0625rem solid #ffffff1a;border-left:.25rem solid #0000;border-radius:2.5rem;align-items:center;gap:.75rem;padding:.625rem 1.25rem;transition:all .3s;display:flex;box-shadow:0 .625rem 1.875rem #0000004d}.other-player .player-profile-card .avatar-circle{color:#fff;text-transform:uppercase;background:0 0;border:.125rem solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1rem;font-weight:900;display:flex}.other-player .player-profile-card .player-info{flex-direction:column;align-items:flex-start;gap:.0625rem;display:flex}.other-player .player-profile-card .player-info .name{color:#fff;letter-spacing:.0313rem;font-size:.8125rem;font-weight:800}.other-player .player-profile-card .player-info .name .player-link{color:inherit;text-decoration:none;transition:all .2s}.other-player .player-profile-card .player-info .name .player-link:hover{color:var(--accent-warm);text-decoration:underline}.other-player .player-profile-card .player-info .opening-score{color:var(--accent-warm-strong);font-size:.6875rem;font-weight:900;line-height:1}.other-player .rack-visual{background-color:#28190fb3;border-radius:.25rem;align-items:center;display:flex;box-shadow:inset 0 .125rem .3125rem #0000004d,0 .25rem .625rem #0006}.other-player .rack-visual .rack-slot-visual{background-color:#0000000d;border-radius:.125rem;flex-shrink:0;width:3rem;height:4.25rem;margin:0 .0625rem}.other-player .rack-visual.side-view{flex-direction:row;gap:.25rem;width:fit-content;height:4.75rem;margin-left:.5rem;margin-right:.5rem;padding:.375rem;position:relative}.other-player .rack-visual.back-view{flex-direction:row;align-self:center;gap:.25rem;width:fit-content;height:4.75rem;margin-top:.5rem;padding:.375rem}.other-player.left .player-profile-card{border-left:none;border-right:.25rem solid #0000;margin-right:7.5rem}.other-player.left .other-player-rack-visual{flex-direction:row;margin-left:.625rem;position:absolute;top:50%;left:calc(100% - .5rem);transform:translateY(-50%)}.other-player.right .player-profile-card{border-left:.25rem solid #0000;border-right:none;margin-left:7.5rem}.other-player.right .other-player-rack-visual{flex-direction:row-reverse;margin-right:.625rem;position:absolute;top:50%;right:calc(100% - .5rem);transform:translateY(-50%)}.other-player.top .player-profile-card{border-bottom:.25rem solid #0000;border-left:none;margin-bottom:7.5rem}.other-player.top .other-player-rack-visual{flex-direction:column;margin-top:.625rem;position:absolute;top:calc(100% - .5rem);left:50%;transform:translate(-50%)}.other-player.active-turn .player-profile-card{background:#55efc426;box-shadow:0 0 0 .125rem #55efc426,0 0 1.5rem #55efc42e}.other-player.disconnected{filter:grayscale(.8)opacity(.7)}.other-player.disconnected .player-profile-card{border-color:#ff47574d}@media (width<=64rem) and (orientation:landscape){.other-player{gap:.25rem}.other-player.top{top:calc(.3rem + var(--mobile-game-safe-top,0px))}.other-player.left{left:calc(.3rem + var(--mobile-game-safe-left,0px));top:41%}.other-player.right{right:calc(.3rem + var(--mobile-game-safe-right,0px));top:41%}.other-player .player-profile-card{border-left-width:.125rem;border-radius:.45rem;gap:.28rem;padding:.2rem .42rem;box-shadow:0 .25rem .75rem #00000047}.other-player .player-profile-card .avatar-circle{border-width:.0625rem;width:1.25rem;height:1.25rem;font-size:.58rem}.other-player .player-profile-card .player-info{gap:0}.other-player .player-profile-card .player-info .name{letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;max-width:4.5rem;font-size:.54rem;overflow:hidden}.other-player .player-profile-card .player-info .opening-score{font-size:.48rem}.other-player.active-turn .player-profile-card{box-shadow:0 0 0 .0625rem #55efc433,0 0 .8rem #55efc42e}}.tile-comp{-webkit-user-select:none;user-select:none;background:#fff;border:.0625rem solid #e0e0e0;border-radius:.25rem;flex-direction:column;justify-content:center;align-items:center;width:3rem;height:4.25rem;display:flex;position:relative;overflow:hidden}.tile-comp:after{content:"";pointer-events:none;border-radius:.25rem;position:absolute;inset:0}.tile-comp .tile-inner{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:.625rem;width:100%;height:100%;padding:.25rem 0;display:flex}.tile-comp .tile-number{margin-bottom:-.25rem;font-size:1.875rem;font-weight:1000;line-height:1}.tile-comp .tile-symbol{opacity:.9;font-size:.9375rem;line-height:1}.tile-comp.is-processable:before{content:"";z-index:10;background:#ff4757;border-radius:50%;width:.5rem;height:.5rem;position:absolute;top:.25rem;left:.25rem;box-shadow:0 0 .3125rem #ff4757cc}.tile-comp.red .tile-number,.tile-comp.red .tile-symbol{color:#e63946}.tile-comp.blue .tile-number,.tile-comp.blue .tile-symbol{color:#457b9d}.tile-comp.black .tile-number,.tile-comp.black .tile-symbol{color:#1d3557}.tile-comp.yellow .tile-number,.tile-comp.yellow .tile-symbol{color:var(--yellow-tile)}.tile-comp.fake-okey .tile-symbol{color:#fff;border:.0625rem solid #fff6;border-radius:50%;margin:auto;padding:.25rem;font-size:1.5rem;line-height:1;display:inline-block}.tile-comp.wildcard{background:#fff}.tile-comp.wildcard .tile-inner{gap:0}.tile-comp.wildcard .tile-number,.tile-comp.wildcard .tile-symbol{display:none}.tile-comp .drawn-from-discard-badge{color:#fff;text-transform:uppercase;white-space:nowrap;z-index:10;background:#2196f3;border-radius:.25rem;padding:.0625rem .25rem;font-size:.5rem;font-weight:700;position:absolute;bottom:-.25rem;left:50%;transform:translate(-50%);box-shadow:0 .125rem .25rem #0000004d}.tile-comp.face-down{background-color:#fff;border:.0625rem solid #e0e0e0;box-shadow:0 .25rem #c8c8c8,0 .3125rem .9375rem #00000059}.tile-comp.face-down:after{display:none}.tile-comp.face-down .tile-inner{background:0 0;justify-content:center;align-items:center;display:flex}.tile-comp.face-down .tile-back-pattern{background:repeating-linear-gradient(45deg,#0000,#0000 .1875rem,#0000000a .1875rem .375rem);border:.0938rem solid #0000001a;border-radius:.25rem;width:72%;height:72%}.tile-comp.mini{border-radius:.0625rem;width:1.5rem;height:2.125rem;box-shadow:0 .0938rem #dcd9c6,0 .125rem .3125rem #0003}.tile-comp.mini .tile-inner{padding:.125rem 0}.tile-comp.mini .tile-number{margin-bottom:-.125rem;font-size:.9375rem}.tile-comp.mini .tile-symbol{font-size:.4375rem}.tile-comp.mini.fake-okey .tile-symbol{font-size:.875rem}@media (width<=64rem) and (orientation:landscape){.tile-comp{width:var(--mobile-game-tile-width);height:var(--mobile-game-tile-height)}.tile-comp .tile-inner{gap:.2rem;padding:.12rem 0}.tile-comp .tile-number{margin-bottom:-.08rem;font-size:clamp(1rem,2.8vw,1.2rem)}.tile-comp .tile-symbol{font-size:clamp(.48rem,1.5vw,.62rem)}.tile-comp.fake-okey .tile-symbol{padding:.12rem;font-size:.9rem}.tile-comp.mini{width:var(--mobile-game-mini-tile-width);height:var(--mobile-game-mini-tile-height);border-radius:.0313rem}.tile-comp.mini .tile-number{margin-bottom:-.04rem;font-size:.38rem}.tile-comp.mini .tile-symbol{font-size:.18rem}.tile-comp.mini.fake-okey .tile-symbol{padding:.04rem;font-size:.34rem}}.rack-container{flex-direction:column;align-items:center;gap:.5rem;width:100%;display:flex;position:relative}.my-turn-focus .rack-container{filter:none}.my-turn-focus .rack{border-color:#55efc4b3;box-shadow:0 0 0 .125rem #55efc42e,0 1rem 2.125rem #00000073}.my-turn-focus .rack:before,.my-turn-focus .rack:after{background:#2f8f73}.my-turn-focus .rack-main-body{filter:none}.my-turn-focus .rack-side-actions .side-btn{border-color:#ffffff24;box-shadow:0 .375rem .875rem #00000059}.my-turn-focus .rack-side-actions .side-btn.process-btn,.my-turn-focus .rack-side-actions .side-btn.return-btn{background:#0000008c}.my-turn-focus .rack-side-actions .side-btn.open-meld-btn,.my-turn-focus .rack-side-actions .side-btn.go-pairs-btn{box-shadow:0 0 0 .0625rem #ffffff14,0 .5rem 1.125rem #00000059}.my-turn-focus .rack-header-labels .player-name-label{color:#ffffffb3}.my-turn-focus .rack-header-labels .minimal-score-label.can-open{color:#dffef3;text-shadow:none}.rack-wrapper-central{flex-direction:column;padding-top:.625rem;display:flex;position:relative}.rack-top-metrics{z-index:3;pointer-events:none;flex-direction:row;align-items:center;gap:.5rem;display:flex;position:absolute;top:-.75rem;right:.125rem}.rack-top-metrics .rack-metric{letter-spacing:0;font-variant-numeric:tabular-nums;color:#ffffffe0;text-shadow:0 .0625rem .1875rem #000000bf;text-align:center;justify-content:center;align-items:center;min-width:1.75rem;font-size:.75rem;font-weight:900;line-height:1;display:inline-flex}.rack-top-metrics .rack-metric.main{color:#fff;align-items:baseline;gap:.25rem;display:inline-flex}.rack-top-metrics .rack-metric.main.can-open{color:#dffef3}.rack-top-metrics .rack-metric.opening{color:#dffef3;opacity:.9}.rack-top-metrics .rack-metric-main-value{font-size:.82rem;line-height:1}.rack-top-metrics .rack-metric-main-mod{opacity:.82;white-space:nowrap;font-size:.62rem;line-height:1}.rack-main-body{justify-content:center;align-items:center;gap:1.5625rem;padding:0 2.5rem;display:flex}.rack-side-actions{flex-direction:column;gap:.75rem;width:10rem;display:flex}.rack-side-actions .rack-action-control{flex-direction:column;gap:.22rem;display:flex}.rack-side-actions .rack-action-reason{color:#ffffff9e;text-align:center;font-size:.58rem;font-weight:750;line-height:1.12}.rack-side-actions .side-btn{color:#fff;text-transform:uppercase;cursor:pointer;text-align:center;background:#0006;border:.0625rem solid #ffffff1a;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;min-height:2.5rem;padding:.625rem;font-size:.6875rem;font-weight:800;line-height:1.15;transition:all .2s;display:flex;box-shadow:0 .25rem .625rem #0000004d}.rack-side-actions .side-btn:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff4d;transform:translate(.1875rem)}.rack-side-actions .side-btn:disabled{opacity:.3;cursor:not-allowed}.rack-side-actions .side-btn .btn-icon{opacity:.8;font-size:1rem}.rack-side-actions .side-btn.return-btn,.rack-side-actions .side-btn.finish-double-okey-btn,.rack-side-actions .side-btn.melds,.rack-side-actions .side-btn.doubles,.rack-side-actions .side-btn.go-pairs-btn,.rack-side-actions .side-btn.open-meld-btn,.rack-side-actions .side-btn.process-btn{color:#fff;background:#0006;border-color:#ffffff1a}.rack-side-actions .side-btn.finish-double-okey-btn{z-index:10;position:relative}.rack-side-actions .side-btn.is-hidden-trigger{visibility:hidden;pointer-events:none}.rack-side-actions.left .side-btn:hover:not(:disabled){transform:translate(-.1875rem)}.rack{background:#f5e6d3;border:.0625rem solid #9c7d5a;border-radius:.25rem;flex-direction:column;width:fit-content;padding:.625rem .9375rem;display:flex;position:relative}.rack:before,.rack:after{content:"";background:#8b6b4a;width:.375rem;height:100%;position:absolute;top:0;box-shadow:inset 0 0 .3125rem #0000004d}.rack:before{border-radius:.25rem 0 0 .25rem;left:0}.rack:after{border-radius:0 .25rem .25rem 0;right:0}.rack-side-actions .side-btn.process-btn{background:#0006;border-color:#ffffff1a}.row{background:#00000026;border:.0625rem solid #0003;gap:.125rem;width:max-content;padding:.25rem;display:flex}.rack-slot{border-radius:.1875rem;justify-content:center;align-items:center;width:3rem;height:4.25rem;display:flex;position:relative}.rack-slot.drop-placeholder:before{content:"";pointer-events:none;z-index:0;background:#55efc414;border:.0625rem dashed #55efc48c;position:absolute;inset:.25rem .125rem}.tile-drag-wrapper{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;width:100%;height:100%}.tile-drag-wrapper:active{cursor:grabbing}.tile-drag-wrapper.drag-source{opacity:.1;pointer-events:none;transition:opacity .1s}.tile-drag-wrapper.is-selected .tile-comp{box-shadow:0 0 0 .125rem #55efc4c7,0 .375rem .875rem #0000004d}.tile-drag-wrapper.will-move{z-index:1}.tile-drag-wrapper.will-move .tile-comp{box-shadow:0 0 0 .0625rem #55efc485,0 .5rem 1rem #00000047}@media (width<=64rem) and (orientation:landscape){.rack-container{gap:.2rem}.rack-main-body{width:calc(100vw - var(--mobile-game-safe-left,0px) - var(--mobile-game-safe-right,0px));width:calc(100svw - var(--mobile-game-safe-left,0px) - var(--mobile-game-safe-right,0px));justify-content:center;gap:.35rem;padding:0 .35rem}.rack-wrapper-central{flex:none;padding-top:.25rem}.rack-top-metrics{gap:.42rem;top:-.5rem;right:0}.rack-top-metrics .rack-metric{min-width:1.15rem;font-size:.55rem}.rack-top-metrics .rack-metric-main-value{font-size:.62rem}.rack-top-metrics .rack-metric-main-mod{font-size:.45rem}.rack-side-actions{width:var(--mobile-game-side-action-width);flex-shrink:0;gap:.28rem}.rack-side-actions .rack-action-control{gap:.12rem}.rack-side-actions .rack-action-reason{font-size:clamp(.34rem,1.05vw,.42rem);line-height:1.05}.rack-side-actions .side-btn{min-height:var(--mobile-game-side-action-height);white-space:normal;border-radius:.28rem;gap:.2rem;padding:.22rem .16rem;font-size:clamp(.44rem,1.45vw,.56rem);line-height:1.05}.rack{padding:.3rem .45rem}.row{gap:.06rem;padding:.1rem}.rack-slot{width:var(--mobile-game-tile-width);height:var(--mobile-game-tile-height)}}.player-double-area{background:#00000073;border:.0625rem solid #ffffff1a;border-radius:.25rem;flex-direction:column;width:fit-content;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 1.25rem #00000080}.player-double-area.empty{opacity:.3}.player-double-area .player-label{z-index:2;color:#ffffffbf;text-transform:uppercase;letter-spacing:.125rem;pointer-events:none;background:#0000000d;border:.0313rem solid #ffffff14;border-radius:.125rem;padding:.0313rem .1875rem;font-size:.5rem;font-weight:900;line-height:1;position:absolute;top:0;left:0}.player-double-area .player-label.sideways{writing-mode:vertical-rl;transform:rotate(180deg)}.player-double-area .double-row-wrapper{border-radius:.25rem;transition:background-color .2s;display:flex}.player-double-area .double-row-wrapper.valid-drop-row{background-color:#2ecc7114;box-shadow:inset 0 0 .625rem #2ecc711a}.player-double-area .double-cell{border:.0313rem solid #ffffff0d;flex-shrink:0;justify-content:center;align-items:center;width:1.625rem;height:2.25rem;display:flex;position:relative}.player-double-area .double-cell.valid-drop-spot{z-index:10;background-color:#2ecc7140;border:.0938rem solid #2ecc71cc;animation:2s ease-in-out infinite pulse-green;box-shadow:0 0 .625rem #2ecc7166}@keyframes pulse-green{0%{background-color:#2ecc7133;box-shadow:0 0 .3125rem #2ecc714d}50%{background-color:#2ecc7166;box-shadow:0 0 .9375rem #2ecc7199}to{background-color:#2ecc7133;box-shadow:0 0 .3125rem #2ecc714d}}@media (width<=64rem) and (orientation:landscape){.player-double-area{border-radius:.125rem}.player-double-area .player-label{letter-spacing:.04rem;padding:.015rem .1rem;font-size:.32rem}.player-double-area .double-row-wrapper{border-radius:.125rem}.player-double-area .double-cell{border-width:.015rem;width:.66rem;height:.94rem}.player-double-area .double-cell.valid-drop-spot{border-width:.0313rem;animation:none}}.player-meld-area{background:#00000073;border:.0625rem solid #ffffff1a;border-radius:.25rem;flex-direction:column;width:fit-content;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 1.25rem #00000080}.player-meld-area.empty{opacity:.3}.player-meld-area .player-label{z-index:2;color:#ffffffbf;text-transform:uppercase;letter-spacing:.125rem;pointer-events:none;background:#0000000d;border:.0313rem solid #ffffff14;border-radius:.125rem;padding:.0313rem .1875rem;font-size:.5rem;font-weight:900;line-height:1;position:absolute;top:0;left:0}.player-meld-area .player-label.sideways{writing-mode:vertical-rl;transform:rotate(180deg)}.player-meld-area .meld-row-wrapper{border-radius:.25rem;transition:background-color .2s;display:flex}.player-meld-area .meld-row-wrapper.valid-drop-row{background-color:#2ecc7114;box-shadow:inset 0 0 .625rem #2ecc711a}.player-meld-area .meld-cell{border:.0313rem solid #ffffff0d;flex-shrink:0;justify-content:center;align-items:center;width:1.625rem;height:2.25rem;display:flex;position:relative}.player-meld-area .meld-cell.valid-drop-spot{z-index:10;background-color:#2ecc7140;border:.0938rem solid #2ecc71cc;box-shadow:0 0 .625rem #2ecc7166}@media (width<=64rem) and (orientation:landscape){.player-meld-area{border-radius:.125rem}.player-meld-area .player-label{letter-spacing:.04rem;padding:.015rem .1rem;font-size:.32rem}.player-meld-area .meld-row-wrapper{border-radius:.125rem}.player-meld-area .meld-cell{border-width:.015rem;width:.66rem;height:.94rem}}.table-layout-container{justify-content:center;align-items:center;gap:1rem;width:100%;height:100%;padding:1.25rem;display:flex}.grid-label-top{color:#fff6;text-transform:uppercase;letter-spacing:.0625rem;padding-left:.125rem;font-size:.625rem;font-weight:800}.grid-label-top.mini{opacity:.7;font-size:.5rem}.meld-grid-strip{grid-template-rows:repeat(2,max-content);grid-template-columns:repeat(2,max-content);place-content:start;gap:.375rem;width:fit-content;display:grid}.doubles-section-container{flex-direction:column;align-items:center;gap:1.25rem;display:flex}.doubles-grid-strip{grid-template-columns:repeat(4,max-content);gap:.25rem;display:grid}.deck-container-under{-webkit-backdrop-filter:blur(.625rem);backdrop-filter:blur(.625rem);background:#0009;border:.0625rem solid #ffffff1a;border-radius:2.5rem;align-items:center;padding:.9375rem 1.875rem;display:flex;box-shadow:0 .625rem 2.5rem #00000080}.deck-container-under .deck-area-central{align-items:center;gap:1.875rem;display:flex}.deck-container-under .deck-area-central .turn-timer-display{border:.125rem solid var(--accent-warm);background:#0006;border-radius:50%;justify-content:center;align-items:center;width:3.125rem;height:3.125rem;display:flex;box-shadow:0 0 .9375rem #ffd70033}.deck-container-under .deck-area-central .turn-timer-display .timer-value{color:#fff;font-size:1.5rem;font-weight:900;font-family:var(--heading)}.deck-container-under .deck-area-central .turn-timer-display.urgent{border-color:#e63946;box-shadow:0 0 1.25rem #e6394666}.deck-container-under .deck-area-central .turn-timer-display.urgent .timer-value{color:#e63946}.my-turn-focus .deck-container-under{border-color:#ffffff1f}.my-turn-focus .deck.deck-active{box-shadow:0 0 0 .125rem #55efc438,0 0 1.125rem #55efc459,0 .25rem #c8c8c8}.my-turn-focus .okey-indicator{filter:drop-shadow(0 0 .5rem #55efc42e)}.deck{cursor:pointer;background:#fff;border:.0625rem solid #e0e0e0;border-radius:.375rem;justify-content:center;align-items:center;width:3rem;height:4.25rem;transition:all .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 .25rem #c8c8c8,0 .3125rem .9375rem #00000040}.deck:hover{transform:translateY(-.1875rem)}.deck.deck-active{border-color:#55efc4;box-shadow:0 0 .9375rem #55efc480,0 .25rem #c8c8c8}.deck .deck-count{color:#aaa;z-index:1;font-size:.8125rem;font-weight:800;position:absolute;top:.25rem;right:.375rem}.okey-indicator{width:3rem;height:4.25rem;position:relative}.okey-indicator .okey-text{display:none}@media (width<=64rem) and (orientation:landscape){.table-layout-container{justify-content:center;align-items:center;gap:.35rem;max-width:100vw;max-height:100%;padding:.15rem .25rem;overflow:hidden}.meld-grid-strip{gap:.12rem}.doubles-section-container{gap:.32rem}.doubles-grid-strip{gap:.08rem}.deck-container-under{border-radius:.55rem;padding:.22rem .35rem;box-shadow:0 .375rem 1.25rem #00000059}.deck-container-under .deck-area-central{gap:.35rem}.deck-container-under .deck-area-central .turn-timer-display{border-width:.0625rem;width:1.65rem;height:1.65rem}.deck-container-under .deck-area-central .turn-timer-display .timer-value{font-size:.72rem}.deck{width:var(--mobile-game-tile-width);height:var(--mobile-game-tile-height);border-radius:.25rem}.deck .deck-count{font-size:.48rem;top:.1rem;right:.16rem}.okey-indicator{width:var(--mobile-game-tile-width);height:var(--mobile-game-tile-height)}}.discard-pile-node{z-index:5;flex-direction:column;align-items:center;gap:.25rem;width:3.4375rem;height:5.3125rem;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:absolute}.discard-pile-node.bottom-right{bottom:12rem;right:17.5rem}.discard-pile-node.bottom-left{bottom:12rem;left:17.5rem}.discard-pile-node.top-right{top:12rem;right:17.5rem}.discard-pile-node.top-left{top:12rem;left:17.5rem}.discard-pile-node .pile-content{background:#00000040;border-radius:.375rem;justify-content:center;align-items:center;width:3rem;height:4.25rem;transition:all .2s;display:flex}.discard-pile-node.can-draw .pile-content{cursor:pointer;background:#55efc41a;border-color:#55efc4;box-shadow:0 0 .9375rem #55efc433}.discard-pile-node.can-draw:hover{transform:scale(1.1)}.discard-pile-node.accepting .pile-content{background:#ff76751a;border-style:solid;border-color:#ff7675;box-shadow:0 0 1.25rem #ff767533}.discard-pile-node .pile-count{color:#ffffff80;background:#0006;border-radius:.625rem;padding:0 .375rem;font-size:.5625rem;font-weight:900;position:absolute;bottom:-.9375rem}@media (width<=64rem) and (orientation:landscape){.discard-pile-node{z-index:6;gap:.12rem;width:2.2rem;height:3.15rem}.discard-pile-node.bottom-right{right:var(--mobile-game-discard-inline-offset);bottom:var(--mobile-game-discard-bottom-offset)}.discard-pile-node.bottom-left{left:var(--mobile-game-discard-inline-offset);bottom:var(--mobile-game-discard-bottom-offset)}.discard-pile-node.top-right{right:var(--mobile-game-discard-inline-offset);top:var(--mobile-game-discard-top-offset)}.discard-pile-node.top-left{left:var(--mobile-game-discard-inline-offset);top:var(--mobile-game-discard-top-offset)}.discard-pile-node .pile-content{width:var(--mobile-game-tile-width);height:var(--mobile-game-tile-height);border-radius:.25rem}.discard-pile-node .pile-count{padding:0 .2rem;font-size:.46rem;bottom:-.55rem}.discard-pile-node.can-draw:hover{transform:none}}.tile-draw-animation-layer{z-index:75;pointer-events:none;position:absolute;inset:0;overflow:hidden}.remote-tile-draw{left:var(--tile-draw-start-x);top:var(--tile-draw-start-y);aspect-ratio:.7;background:linear-gradient(145deg,#fffffffa,#e0e5e2fa);border:.0625rem solid #fffffff5;border-radius:.32rem;width:clamp(1.65rem,3vw,2.7rem);animation:.82s cubic-bezier(.2,.76,.24,1) forwards remote-tile-draw-flight;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 .1rem #fff3,0 .5rem 1.1rem #00000061,0 0 1rem #ffffff5c}.remote-tile-draw span{background:repeating-linear-gradient(135deg,#4e665a14 0 .18rem,#0000 .18rem .36rem);border:.0625rem solid #4e665a29;border-radius:.2rem;position:absolute;inset:12% 15%}@keyframes remote-tile-draw-flight{0%{opacity:0;transform:translate(-50%,-50%)scale(.76)rotate(-7deg)}18%{opacity:1}70%{opacity:1}to{opacity:0;transform:translate(calc(var(--tile-draw-delta-x) - 50%), calc(var(--tile-draw-delta-y) - 50%)) scale(.72) rotate(1deg)}}@media (prefers-reduced-motion:reduce){.remote-tile-draw{animation-duration:.2s}}.score-sheet-overlay{z-index:2000;background:#122b1fb8;justify-content:center;align-items:center;animation:.18s ease-out scoreSheetFadeIn;display:flex;position:fixed;inset:0}.score-sheet-overlay .score-sheet-modal{border:.42rem solid var(--game-wood,#6e4930);border-top-color:var(--game-wood-light,#9a704c);border-bottom-color:var(--game-wood-dark,#442d20);background:var(--game-ivory,#f2ead8);width:min(62.5rem,100vw - 3rem);max-height:min(85vh,48rem);box-shadow:inset 0 0 0 .0625rem #c9b994, 0 .4rem 0 var(--game-wood-dark,#442d20), 0 1.2rem 2.6rem #0c1b136b;border-radius:.55rem;flex-direction:column;animation:.22s ease-out scoreSheetOpen;display:flex;overflow:hidden}.score-sheet-overlay .final-score-modal .score-sheet-header{background:#315443;border-bottom-color:#a9894b}.score-sheet-overlay .final-score-modal .score-sheet-header h2{color:#f2e6cd}.score-sheet-overlay .final-score-modal .score-sheet-header .close-btn{color:#3f321f;background:#d7bd7e;border-color:#ad9565}.score-sheet-overlay .final-score-modal .score-sheet-header .close-btn:hover{background:#ead7a8}.score-sheet-overlay .final-score-modal .game-over-countdown{background:var(--game-wood,#6e4930);box-shadow:0 .14rem 0 var(--game-wood-dark,#442d20);color:#f2e6cd;border-color:#b08a60}.score-sheet-overlay .score-sheet-header{background:#e5dac2;border-bottom:.0625rem solid #bca879;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex;box-shadow:inset 0 -.0625rem #73553329}.score-sheet-overlay .score-sheet-header h2{color:#3b3025;font-family:var(--heading);letter-spacing:.015rem;margin:0;font-size:1.55rem;font-weight:700}.score-sheet-overlay .score-sheet-header .close-btn{color:#493d30;cursor:pointer;background:#d6c9ae;border:.0625rem solid #9b8765;border-radius:.22rem;place-items:center;width:2.25rem;height:2.25rem;padding:0;font-size:1.55rem;line-height:1;display:grid;box-shadow:0 .12rem #a69679}.score-sheet-overlay .score-sheet-header .close-btn:hover{color:#2e2720;background:#eee3ce}.score-sheet-overlay .score-sheet-content{background-color:var(--game-ivory,#f2ead8);background-image:repeating-linear-gradient(#0000 0 2.1rem,#7e69480e 2.1rem 2.16rem);flex:1;padding:1.25rem;overflow-y:auto}.score-sheet-overlay .score-sheet-content::-webkit-scrollbar{width:.42rem}.score-sheet-overlay .score-sheet-content::-webkit-scrollbar-thumb{background:#9b8765;border-radius:.12rem}.score-sheet-overlay .auto-next-round{color:#efe2c4;text-align:center;background:#315443;border:.0625rem solid #9d8556;border-radius:.25rem;margin-bottom:1rem;padding:.72rem 1rem;font-size:.9rem;font-weight:650;box-shadow:0 .14rem #20392d}.score-sheet-overlay .auto-next-round span{color:#f3d993;font-family:var(--mono);margin:0 .28rem;font-size:1.12rem;font-weight:800}.score-sheet-overlay .players-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));align-items:start;gap:.8rem;display:grid}.score-sheet-overlay .player-column{background:#efe7d5eb;border:.0625rem solid #bba982;border-radius:.28rem;overflow:hidden;box-shadow:inset 0 .0625rem #ffffff8c,0 .15rem #7158383d}.score-sheet-overlay .player-head{background:#315443;border-bottom:.0625rem solid #aa986f;justify-content:space-between;align-items:center;min-height:3rem;padding:.65rem .72rem;display:flex}.score-sheet-overlay .player-name{color:#f2e6cd;min-width:0;font-family:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:700;overflow:hidden}.score-sheet-overlay .player-name .player-link{color:inherit;text-decoration:none}.score-sheet-overlay .player-name .player-link:hover{color:#f3d993;text-decoration:underline}.score-sheet-overlay .player-total{color:#3f321f;min-width:2.5rem;font-family:var(--mono);text-align:center;background:#d7bd7e;border:.0625rem solid #a9894b;border-radius:.18rem;flex:none;margin-left:.45rem;padding:.24rem .42rem;font-size:.82rem;font-weight:800}.score-sheet-overlay .penalties-list{flex-direction:column;gap:.34rem;min-height:4.25rem;padding:.55rem;display:flex}.score-sheet-overlay .no-penalties{color:#8b7d68;text-align:center;padding:1rem .4rem;font-size:.74rem;font-style:italic}.score-sheet-overlay .penalty-item{color:#4a4034;border-bottom:.0625rem solid #8e775233;grid-template-columns:2.1rem minmax(0,1fr) 2.8rem;align-items:center;gap:.42rem;padding:.42rem;font-size:.72rem;display:grid}.score-sheet-overlay .penalty-item:last-child{border-bottom:0}.score-sheet-overlay .penalty-item .round-tag{color:#78674e;font-family:var(--mono);font-weight:700}.score-sheet-overlay .penalty-item .reason{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.score-sheet-overlay .penalty-item .points{color:#9d4035;font-family:var(--mono);text-align:right;font-weight:800}.score-sheet-overlay .penalty-item .points.bonus{color:#346b4f}@media (width<=64rem) and (orientation:landscape){.score-sheet-overlay{box-sizing:border-box;padding-right:var(--mobile-game-safe-right,0px);padding-left:var(--mobile-game-safe-left,0px)}.score-sheet-overlay .score-sheet-modal{width:min(100% - .75rem,54rem);max-height:calc(100svh - .8rem);box-shadow:inset 0 0 0 .0625rem #c9b994, 0 .2rem 0 var(--game-wood-dark,#442d20), 0 .5rem 1rem #0c1b1357;border-width:.24rem;border-radius:.3rem}.score-sheet-overlay .score-sheet-header{padding:.45rem .65rem}.score-sheet-overlay .score-sheet-header h2{font-size:.95rem}.score-sheet-overlay .score-sheet-header .close-btn{width:1.8rem;height:1.8rem;font-size:1.15rem}.score-sheet-overlay .score-sheet-content{padding:.55rem .65rem}.score-sheet-overlay .auto-next-round{margin-bottom:.5rem;padding:.38rem .55rem;font-size:.62rem}.score-sheet-overlay .auto-next-round span{font-size:.76rem}.score-sheet-overlay .players-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.38rem}.score-sheet-overlay .player-head{min-height:2rem;padding:.32rem .4rem}.score-sheet-overlay .player-name{font-size:.62rem}.score-sheet-overlay .player-total{min-width:1.65rem;margin-left:.2rem;padding:.12rem .24rem;font-size:.56rem}.score-sheet-overlay .penalties-list{gap:.15rem;min-height:2.6rem;padding:.3rem}.score-sheet-overlay .no-penalties{padding:.55rem .2rem;font-size:.52rem}.score-sheet-overlay .penalty-item{grid-template-columns:1.45rem minmax(0,1fr) 1.85rem;gap:.2rem;padding:.24rem .15rem;font-size:.48rem}}@keyframes scoreSheetFadeIn{0%{opacity:0}to{opacity:1}}@keyframes scoreSheetOpen{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}.room-chat-container{-webkit-backdrop-filter:blur(.625rem);backdrop-filter:blur(.625rem);z-index:1000;background:#000000d9;border:.0625rem solid #ffffff1a;border-radius:.75rem;flex-direction:column;width:15rem;height:18.125rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:1.25rem 1.25rem auto auto;box-shadow:0 .625rem 1.875rem #00000080}.room-chat-container .room-chat-header{border-bottom:.0625rem solid #ffffff1a;justify-content:space-between;align-items:center;padding:.625rem .9375rem;display:flex}.room-chat-container .room-chat-header h3{color:var(--accent-warm);text-transform:uppercase;letter-spacing:.0625rem;margin:0;font-size:.9rem}.room-chat-container .room-chat-header .room-chat-status{color:var(--accent-warm);margin:0;font-size:.7rem}.room-chat-container .room-chat-messages{flex-direction:column;flex:1;gap:.5rem;min-height:0;padding:.625rem;display:flex;overflow-y:auto}.room-chat-container .room-chat-messages::-webkit-scrollbar{width:.25rem}.room-chat-container .room-chat-messages::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:.125rem}.room-chat-container .room-chat-messages .no-messages{color:#666;text-align:center;margin:auto 0;font-size:.8rem}.room-chat-container .room-chat-messages .room-chat-message{word-break:break-word;font-size:.85rem;line-height:1.4}.room-chat-container .room-chat-messages .room-chat-message .room-chat-message-meta{align-items:center;gap:.25rem;margin-right:.3125rem;display:inline-flex}.room-chat-container .room-chat-messages .room-chat-message .sender{color:#4facfe;font-weight:700}.room-chat-container .room-chat-messages .room-chat-message .text{color:#eee}.room-chat-container .room-chat-messages .room-chat-message .room-chat-report-icon-button{color:#e7e1d8c7;cursor:pointer;vertical-align:middle;background:#ffffff12;border:.0625rem solid #e7e1d838;border-radius:999rem;width:.95rem;height:.95rem;padding:0;font-size:.58rem;font-weight:1000;line-height:1}.room-chat-container .room-chat-messages .room-chat-message .room-chat-report-icon-button:hover{color:#fff;background:#e7e1d824;border-color:#e7e1d880}.room-chat-container .room-chat-messages .room-chat-message.own .sender{color:var(--accent-warm)}.room-chat-container .room-chat-input{border-top:.0625rem solid #ffffff1a;gap:.3125rem;padding:.625rem;display:flex}.room-chat-container .room-chat-input input{color:#fff;background:#ffffff0d;border:.0625rem solid #ffffff1a;border-radius:.375rem;outline:none;flex:1;padding:.375rem .625rem;font-size:.85rem}.room-chat-container .room-chat-input input:focus{border-color:var(--accent-warm)}.room-chat-container .room-chat-input button{background:var(--accent-warm);color:#000;cursor:pointer;border:none;border-radius:.375rem;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;transition:all .2s;display:flex}.room-chat-container .room-chat-input button svg{fill:currentColor;width:.6875rem;height:.6875rem}.room-chat-container .room-chat-input button:hover{background:var(--accent-warm-dark)}@media (width<=64rem) and (orientation:landscape){.room-chat-container{display:none}}.gameplay-table{--game-felt:#315b47;--game-felt-dark:#254837;--game-wood:#6e4930;--game-wood-dark:#442d20;--game-wood-light:#9a704c;--game-ivory:#f2ead8;--game-ivory-dark:#d8cdb7;--game-brass:#c2a35f;--game-ink:#2d2923;isolation:isolate;background-color:var(--game-felt);box-shadow:inset 0 0 0 .55rem var(--game-wood-dark), inset 0 0 0 .72rem var(--game-wood-light), inset 0 0 3.5rem #0a1c1461;background-image:repeating-linear-gradient(45deg,#ffffff04 0 1px,#0000 1px 4px),repeating-linear-gradient(-45deg,#081c1306 0 1px,#0000 1px 5px)}.gameplay-table .lobby-waiting-overlay{color:var(--game-ink);-webkit-backdrop-filter:none;backdrop-filter:none;background:#122b1f94;border-radius:0}.gameplay-table .lobby-card{border:.42rem solid var(--game-wood);border-top-color:var(--game-wood-light);border-bottom-color:var(--game-wood-dark);background:var(--game-ivory);width:min(31rem,100% - 2.5rem);box-shadow:inset 0 0 0 .0625rem #c9b994, 0 .42rem 0 var(--game-wood-dark), 0 1.15rem 2.4rem #0d1d1561;color:var(--game-ink);border-radius:.55rem;padding:1.15rem 1.25rem 1.25rem;position:relative;overflow:hidden}.gameplay-table .lobby-card:before{content:"";pointer-events:none;border:.0625rem solid #70523133;border-radius:.18rem;position:absolute;inset:.35rem}.gameplay-table .lobby-card-header{border-bottom:.0625rem solid #c9b98f;padding:.2rem 0 .9rem;position:relative}.gameplay-table .lobby-card-header h1{color:#3b3025;letter-spacing:.01rem;text-shadow:none;margin:0 0 .24rem;font-family:Georgia,serif;font-size:1.65rem;font-weight:700}.gameplay-table .lobby-card-header p,.gameplay-table .lobby-order-help,.gameplay-table .lobby-owner-controls p{color:#766b5a}.gameplay-table .lobby-card-header .player-count-text{color:#f1dfb2;background:#315443;border:.0625rem solid #a98d53;border-radius:.25rem;padding:.38rem .62rem;font-family:Georgia,serif;font-weight:700;box-shadow:0 .12rem #20392d}.gameplay-table .lobby-order-help{margin-bottom:.65rem;position:relative}.gameplay-table .lobby-player-list{gap:.48rem;position:relative}.gameplay-table .lobby-player-list li{background:#e6dcc7;border-color:#c9b994;border-radius:.28rem;min-height:3rem;box-shadow:inset 0 .0625rem #ffffff8c,0 .12rem #755b3a47}.gameplay-table .lobby-seat-number{color:#f1e6ce;background:#315443;border:.0625rem solid #a78b55;font-family:Georgia,serif;font-weight:700}.gameplay-table .lobby-player-name{color:#383128;font-weight:750}.gameplay-table .lobby-creator-badge,.gameplay-table .lobby-bot-badge{color:#5a4524;background:#d8c394;border:.0625rem solid #b69b63;border-radius:.2rem}.gameplay-table .lobby-bot-badge{color:#365344;background:#c8d4c8;border-color:#91a897}.gameplay-table .lobby-seat-controls button,.gameplay-table .lobby-leave-button{color:#463c30;background:#d9cdb6;border-color:#a99674;border-radius:.25rem;box-shadow:0 .1rem #a99b82}.gameplay-table .lobby-seat-controls button:not(:disabled):hover,.gameplay-table .lobby-leave-button:hover{background:#e8deca}.gameplay-table .lobby-kick-button,.gameplay-table .lobby-close-button{color:#713b34;background:#d6b7aa;border-color:#a8675d;border-radius:.25rem}.gameplay-table .lobby-close-button:hover{background:#e2c5b9}.gameplay-table .lobby-owner-controls{position:relative}.gameplay-table .lobby-start-button{color:#f2e3bf;letter-spacing:.04rem;background:#315443;border:.0625rem solid #a98d53;border-radius:.3rem;font-family:Georgia,serif;font-size:.86rem;box-shadow:0 .16rem #20392d}.gameplay-table .lobby-start-button:hover{background:#3b624f}.gameplay-table:before{content:"";z-index:0;pointer-events:none;border:.0625rem solid #f2ead81f;border-radius:1.4rem;position:absolute;inset:.9rem;box-shadow:inset 0 0 0 .0625rem #1937296b}.gameplay-table .top-left-panel .room-id-display,.gameplay-table .top-left-panel .top-left-round-counter,.gameplay-table .top-left-panel .score-sheet-icon-btn{color:#e9dfca;-webkit-backdrop-filter:none;backdrop-filter:none;background:#24392e;border-color:#e0cfb147;border-radius:.3rem;box-shadow:0 .18rem #1d231d73}.gameplay-table .top-left-panel .top-left-round-counter,.gameplay-table .top-left-panel .top-left-round-counter span,.gameplay-table .score-sheet-icon-btn{color:#dcc48e}.gameplay-table .other-player{transition:opacity .18s}.gameplay-table .other-player .player-profile-card{border:.0625rem solid #8b7658;border-left:.25rem solid var(--game-wood);-webkit-backdrop-filter:none;backdrop-filter:none;background:#dfd5c0;border-radius:.32rem;gap:.55rem;min-width:7.6rem;padding:.42rem .72rem;transition:border-color .18s,transform .18s;box-shadow:0 .2rem #76583e,0 .45rem .75rem #111f173d}.gameplay-table .other-player .player-profile-card .avatar-circle{color:#f5ecda;background:#355846;border:.0625rem solid #6e5a3f;border-radius:50%;width:2rem;height:2rem;font-family:Georgia,serif;font-size:.88rem;font-weight:700}.gameplay-table .other-player .player-profile-card .player-info .name{color:#302b24;font-family:var(--sans);letter-spacing:0;font-size:.78rem;font-weight:750}.gameplay-table .other-player .player-profile-card .player-info .opening-score{color:#765522}.gameplay-table .other-player.active-turn .player-profile-card{border-color:var(--game-brass);border-left-color:var(--game-brass);transform:translateY(-.08rem)}.gameplay-table .other-player.disconnected .player-profile-card{filter:grayscale(.45);opacity:.72}.gameplay-table.my-turn-focus .other-player{opacity:.86;filter:none}.gameplay-table.my-turn-focus .other-player.active-turn{opacity:1}.gameplay-table .player-table-area{box-shadow:none;background:#163a2a2e;border-color:#e2d6bc1f;border-radius:.3rem;gap:.18rem;padding:.28rem}.gameplay-table .player-table-area.empty{opacity:.62}.gameplay-table .player-meld-area,.gameplay-table .player-double-area{box-shadow:none;background:#0f2b1f38;border-color:#e7dbc224;border-radius:.18rem}.gameplay-table .player-meld-area.empty,.gameplay-table .player-double-area.empty{opacity:.68}.gameplay-table .player-meld-area .player-label,.gameplay-table .player-double-area .player-label{color:#4f432f;font-family:var(--sans);letter-spacing:.04rem;background:#d4c39e;border:0;border-radius:.12rem;padding:.08rem .22rem;font-size:.43rem;font-weight:800;top:.1rem;left:.1rem}.gameplay-table .player-meld-area .player-label.sideways,.gameplay-table .player-double-area .player-label.sideways{writing-mode:horizontal-tb;transform:none}.gameplay-table .player-meld-area .meld-cell,.gameplay-table .player-meld-area .double-cell,.gameplay-table .player-double-area .meld-cell,.gameplay-table .player-double-area .double-cell{border-color:#e9dfc913}.gameplay-table .player-meld-area .meld-cell.valid-drop-spot,.gameplay-table .player-meld-area .double-cell.valid-drop-spot,.gameplay-table .player-double-area .meld-cell.valid-drop-spot,.gameplay-table .player-double-area .double-cell.valid-drop-spot{border-color:var(--game-brass);background:#c2a35f24;animation:none;box-shadow:inset 0 0 0 .0625rem #442d2047}.gameplay-table .player-meld-area .meld-row-wrapper.valid-drop-row,.gameplay-table .player-meld-area .double-row-wrapper.valid-drop-row,.gameplay-table .player-double-area .meld-row-wrapper.valid-drop-row,.gameplay-table .player-double-area .double-row-wrapper.valid-drop-row{box-shadow:none;background:#c2a35f12}.gameplay-table .deck-container-under{background:var(--game-wood);box-shadow:inset 0 .0625rem #ffffff1f, 0 .28rem 0 var(--game-wood-dark), 0 .65rem 1rem #101d153d;-webkit-backdrop-filter:none;backdrop-filter:none;border:.0625rem solid #b08a60;border-bottom-color:#3d291e;border-radius:.42rem;padding:.72rem 1rem}.gameplay-table .deck-container-under .deck-area-central{gap:1rem}.gameplay-table .deck-container-under .deck-area-central .turn-timer-display{border:.125rem solid var(--game-brass);background:#263d31;width:2.8rem;height:2.8rem;box-shadow:inset 0 0 0 .125rem #0f1b1461}.gameplay-table .deck-container-under .deck-area-central .turn-timer-display .timer-value{color:#f0e5cf;font-family:Georgia,serif;font-size:1.3rem;font-weight:700}.gameplay-table .deck-container-under .deck-area-central .turn-timer-display.urgent{border-color:#b94a3d;box-shadow:inset 0 0 0 .125rem #0f1b1461}.gameplay-table .deck,.gameplay-table .tile-comp{background:var(--game-ivory);border-color:#b9aa91;border-radius:.2rem;box-shadow:0 .15rem #ad9d83,0 .28rem .45rem #191c1733}.gameplay-table .deck:before{display:none}.gameplay-table .deck .deck-count{color:#6f6251;font-variant-numeric:tabular-nums}.gameplay-table .deck.deck-active{border-color:var(--game-brass);box-shadow:0 0 0 .125rem #c2a35f52,0 .15rem #ad9d83}.gameplay-table .tile-comp{color:var(--game-ink)}.gameplay-table .tile-comp .tile-inner{gap:.42rem}.gameplay-table .tile-comp .tile-number{letter-spacing:-.05rem;font-family:Arial,Helvetica,sans-serif;font-size:1.72rem;font-weight:800}.gameplay-table .tile-comp .tile-symbol{opacity:.72;font-size:.52rem}.gameplay-table .tile-comp.red .tile-number,.gameplay-table .tile-comp.red .tile-symbol{color:#b63d35}.gameplay-table .tile-comp.blue .tile-number,.gameplay-table .tile-comp.blue .tile-symbol{color:#2b618a}.gameplay-table .tile-comp.black .tile-number,.gameplay-table .tile-comp.black .tile-symbol{color:#272b2d}.gameplay-table .tile-comp.yellow .tile-number,.gameplay-table .tile-comp.yellow .tile-symbol{color:#b98922}.gameplay-table .tile-comp.is-processable:before{width:.38rem;height:.38rem;box-shadow:none;background:#a84537}.gameplay-table .tile-comp.face-down .tile-back-pattern{background:var(--game-ivory);border:0}.gameplay-table .tile-comp.mini .tile-inner{gap:.12rem}.gameplay-table .tile-comp.mini .tile-number{letter-spacing:-.02rem;font-size:.86rem}.gameplay-table .tile-comp.mini .tile-symbol{font-size:.24rem}.gameplay-table .tile-comp.mini.fake-okey .tile-symbol{font-size:.72rem}.gameplay-table .rack{background:#875d3d;border:.0625rem solid #3f2a1d;border-radius:.22rem;padding:.55rem .72rem;box-shadow:inset 0 .0625rem #ffffff1f,0 .34rem #4b3222,0 .75rem 1.1rem #0e1a124d}.gameplay-table .rack:before,.gameplay-table .rack:after{width:.28rem;box-shadow:none;background:#4f3525}.gameplay-table.my-turn-focus .rack{border-color:#d0b16f;box-shadow:inset 0 .0625rem #ffffff1f,0 .34rem #4b3222,0 0 0 .125rem #d0b16f38}.gameplay-table.my-turn-focus .rack:before,.gameplay-table.my-turn-focus .rack:after{background:#4f3525}.gameplay-table .rack .row{background:#cbbda4;border-color:#5b432f;gap:.1rem;padding:.22rem;box-shadow:inset 0 .08rem .18rem #4230213d}.gameplay-table .rack-side-actions .side-btn,.gameplay-table .rack-side-actions .side-btn.return-btn,.gameplay-table .rack-side-actions .side-btn.finish-double-okey-btn,.gameplay-table .rack-side-actions .side-btn.melds,.gameplay-table .rack-side-actions .side-btn.doubles,.gameplay-table .rack-side-actions .side-btn.go-pairs-btn,.gameplay-table .rack-side-actions .side-btn.open-meld-btn,.gameplay-table .rack-side-actions .side-btn.process-btn{color:#eee4d0;letter-spacing:.01rem;text-transform:none;background:#2b4135;border-color:#6f7d70;border-radius:.28rem;font-weight:700;box-shadow:0 .16rem #17281f}.gameplay-table .rack-side-actions .side-btn:hover:not(:disabled),.gameplay-table .rack-side-actions .side-btn.return-btn:hover:not(:disabled),.gameplay-table .rack-side-actions .side-btn.finish-double-okey-btn:hover:not(:disabled),.gameplay-table .rack-side-actions .side-btn.melds:hover:not(:disabled),.gameplay-table .rack-side-actions .side-btn.doubles:hover:not(:disabled),.gameplay-table .rack-side-actions .side-btn.go-pairs-btn:hover:not(:disabled),.gameplay-table .rack-side-actions .side-btn.open-meld-btn:hover:not(:disabled),.gameplay-table .rack-side-actions .side-btn.process-btn:hover:not(:disabled){background:#365343;border-color:#b69b64;transform:translateY(-.0625rem)}.gameplay-table .rack-side-actions .side-btn:disabled,.gameplay-table .rack-side-actions .side-btn.return-btn:disabled,.gameplay-table .rack-side-actions .side-btn.finish-double-okey-btn:disabled,.gameplay-table .rack-side-actions .side-btn.melds:disabled,.gameplay-table .rack-side-actions .side-btn.doubles:disabled,.gameplay-table .rack-side-actions .side-btn.go-pairs-btn:disabled,.gameplay-table .rack-side-actions .side-btn.open-meld-btn:disabled,.gameplay-table .rack-side-actions .side-btn.process-btn:disabled{opacity:.34}.gameplay-table .rack-side-actions .rack-action-reason{color:#eee4d0ad;font-weight:600}.gameplay-table .discard-pile-node{transition:transform .16s}.gameplay-table .discard-pile-node .pile-content{background:#183b2a52;border:.0625rem dashed #e5d6b847;border-radius:.22rem}.gameplay-table .discard-pile-node.can-draw .pile-content{border-color:var(--game-brass);box-shadow:none;background:#c2a35f14}.gameplay-table .discard-pile-node.accepting .pile-content{box-shadow:none;background:#a6463814;border-color:#ad6659}.gameplay-table .discard-pile-node .pile-count{color:#d8cdb7;background:#284234;border-radius:.18rem}.gameplay-table .room-chat-container{-webkit-backdrop-filter:none;backdrop-filter:none;background:#19271f;border-color:#73583d;border-radius:.38rem;box-shadow:0 .22rem #402c20,0 .65rem 1.2rem #0c171057}.gameplay-table .room-chat-container .room-chat-header{background:#24382d;border-bottom-color:#594633}.gameplay-table .room-chat-container .room-chat-header h3,.gameplay-table .room-chat-container .room-chat-header .room-chat-status{color:#dfc994}.gameplay-table .room-chat-container .room-chat-input input{background:#101b15;border-color:#506052;border-radius:.22rem}.gameplay-table .room-chat-container .room-chat-input button{color:#2d2923;background:#d9c9a9;border-radius:.22rem}.gameplay-table .remote-tile-draw{background:var(--game-ivory);border-color:#b9aa91;border-radius:.2rem;box-shadow:0 .15rem #ad9d83,0 .35rem .65rem #191c1747}@media (width<=64rem) and (orientation:landscape){.gameplay-table{box-shadow:inset 0 0 0 .22rem var(--game-wood-dark), inset 0 0 0 .3rem var(--game-wood-light), inset 0 0 2rem #0a1c1447}.gameplay-table:before{border-radius:.5rem;inset:.42rem}.gameplay-table .lobby-card{width:min(27rem,100% - 5.5rem);max-height:calc(100svh - 1rem);box-shadow:inset 0 0 0 .0625rem #c9b994, 0 .2rem 0 var(--game-wood-dark), 0 .55rem 1rem #0d1d154d;border-width:.24rem;padding:.62rem .78rem .7rem}.gameplay-table .lobby-card-header{margin-bottom:.55rem;padding:.05rem 0 .45rem}.gameplay-table .lobby-card-header h1{font-size:1.05rem}.gameplay-table .lobby-card-header p,.gameplay-table .lobby-order-help,.gameplay-table .lobby-owner-controls p{font-size:.58rem}.gameplay-table .lobby-order-help{margin-bottom:.35rem}.gameplay-table .lobby-player-list{gap:.24rem}.gameplay-table .lobby-player-list li{min-height:1.8rem;padding:.25rem .38rem}.gameplay-table .lobby-seat-number{flex-basis:1.2rem;width:1.2rem;height:1.2rem;font-size:.52rem}.gameplay-table .lobby-player-name{font-size:.62rem}.gameplay-table .lobby-owner-controls{margin-top:.45rem}.gameplay-table .lobby-creator-actions{grid-template-columns:1.4fr 1fr;gap:.35rem}.gameplay-table .lobby-start-button,.gameplay-table .lobby-close-button,.gameplay-table .lobby-leave-button{min-height:1.8rem;margin-top:0;font-size:.58rem}.gameplay-table .other-player .player-profile-card{border-left-width:.14rem;border-radius:.2rem;gap:.28rem;min-width:0;padding:.22rem .38rem;box-shadow:0 .1rem #76583e}.gameplay-table .other-player .player-profile-card .avatar-circle{width:1.35rem;height:1.35rem;font-size:.58rem}.gameplay-table .other-player .player-profile-card .player-info .name{font-size:.56rem}.gameplay-table .deck-container-under{box-shadow:0 .14rem 0 var(--game-wood-dark);border-radius:.25rem;padding:.22rem .35rem}.gameplay-table .deck-container-under .deck-area-central{gap:.35rem}.gameplay-table .tile-comp .tile-number{font-size:clamp(1rem,2.8vw,1.2rem)}.gameplay-table .tile-comp .tile-symbol{font-size:clamp(.28rem,.9vw,.4rem)}.gameplay-table .tile-comp.mini .tile-inner{gap:.04rem}.gameplay-table .tile-comp.mini .tile-number{letter-spacing:0;font-size:.38rem}.gameplay-table .tile-comp.mini .tile-symbol{font-size:.13rem}.gameplay-table .tile-comp.mini.fake-okey .tile-symbol{font-size:.34rem}.gameplay-table .rack{padding:.3rem .45rem;box-shadow:0 .18rem #4b3222}.gameplay-table.my-turn-focus .rack{box-shadow:0 .18rem #4b3222,0 0 0 .08rem #d0b16f38}.gameplay-table .rack .row{gap:.06rem;padding:.1rem}.gameplay-table .player-table-area{padding:.12rem}.gameplay-table .player-meld-area .player-label,.gameplay-table .player-double-area .player-label{padding:.02rem .08rem;font-size:.28rem;top:.03rem;left:.03rem}}*{box-sizing:border-box}body{font-family:var(--sans);margin:0;padding:0}.game-screen{background-color:#1a4d33;justify-content:center;align-items:center;width:100%;height:100svh;display:flex;overflow:hidden}.menu-game-screen{display:block;overflow-y:auto}.player-profile-link{color:#4facfe;font-weight:700;text-decoration:none;transition:all .2s}.player-profile-link:hover{color:var(--accent-warm);text-decoration:underline}.room-id-display span{color:var(--accent-warm);-webkit-user-select:all;user-select:all;margin-left:.3125rem;font-family:monospace;font-weight:700}.top-left-panel{z-index:60;pointer-events:auto;flex-direction:column;align-items:flex-start;gap:.5rem;display:flex;position:absolute;top:.75rem;left:.75rem}.top-left-panel .room-id-display,.top-left-panel .top-left-round-counter,.top-left-panel .score-sheet-icon-btn{letter-spacing:.04rem;background:#14201adb;border:.0625rem solid #e7e1d81f;border-radius:.55rem;padding:.35rem .65rem;font-size:.78rem;position:static;box-shadow:0 .25rem .8rem #00000052}.top-left-panel .top-left-round-counter{color:var(--accent-warm-strong);text-transform:uppercase;font-size:.78rem;font-weight:900}.top-left-panel .top-left-round-counter span{color:var(--accent-warm);font-weight:900}.score-sheet-icon-btn{width:2rem;height:2rem;color:var(--accent-warm-strong);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.score-sheet-icon-btn:hover{color:#fff;background:#23342cf5}.score-sheet-icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.score-sheet-icon-btn svg path:first-child{fill:none}.table-layout{flex-direction:column;width:100%;height:100svh;min-height:100svh;padding-top:1.5rem;padding-bottom:1.25rem;display:flex;position:relative;overflow:hidden}@media (width<=48rem){.game-screen{align-items:flex-start;overflow-y:auto}}.lobby-overlay{z-index:1000;color:#fff;border-radius:2.5rem;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lobby-overlay h1{text-shadow:0 .3125rem .9375rem #00000080;letter-spacing:-.125rem;margin-bottom:1.25rem;font-size:4rem;font-weight:900}.lobby-overlay h1+p{margin-top:.875rem}.lobby-card{background:#0c2316f0;border:.0625rem solid #ffffff26;border-radius:1rem;width:min(30rem,100% - 2rem);padding:1.25rem;box-shadow:0 1.25rem 3rem #0000006b}.lobby-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.lobby-card-header h1{letter-spacing:-.03rem;margin:0 0 .25rem;font-size:1.6rem}.lobby-card-header p{color:#ffffffa6;margin:0;font-size:.78rem}.lobby-card-header .player-count-text{color:var(--accent-warm-strong);background:#ffffff17;border-radius:999rem;flex:none;padding:.35rem .55rem;font-size:.75rem;font-weight:900}.lobby-player-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.lobby-order-help{color:#ffffff94;margin:0 0 .55rem;font-size:.68rem}.lobby-player-list li{background:#ffffff0b;border:.0625rem solid #ffffff17;border-radius:.65rem;align-items:center;gap:.55rem;min-height:2.8rem;padding:.55rem .65rem;display:flex}.lobby-seat-number{color:#ffffffad;background:#ffffff17;border-radius:50%;flex:0 0 1.65rem;place-items:center;width:1.65rem;height:1.65rem;font-size:.7rem;font-weight:900;display:grid}.lobby-player-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:800;overflow:hidden}.lobby-creator-badge,.lobby-bot-badge{color:#ffd877;text-transform:uppercase;background:#ffd25a24;border-radius:999rem;flex:none;padding:.22rem .4rem;font-size:.58rem;font-weight:900}.lobby-kick-button{color:#ffb2a8;cursor:pointer;background:#aa2d2329;border:.0625rem solid #ff736459;border-radius:.45rem;flex:none;min-height:1.8rem;padding:.28rem .5rem;font-size:.62rem;font-weight:900}.lobby-seat-controls{flex:none;gap:.2rem;display:inline-flex}.lobby-seat-controls button{color:#ffffffe0;background:#ffffff14;border:.0625rem solid #ffffff2b;border-radius:.4rem;width:1.7rem;height:1.7rem;padding:0;font-size:.9rem}.lobby-seat-controls button:disabled{cursor:default;opacity:.28}.lobby-bot-badge{color:#a8d7ff;background:#64b4ff24}.lobby-owner-controls{text-align:center;margin-top:.9rem}.lobby-owner-controls p{color:#ffffff9e;margin:0;font-size:.75rem}.lobby-leave-button{color:#ffffffe0;background:#ffffff14;border:.0625rem solid #fff3;border-radius:.6rem;width:100%;min-height:2.5rem;margin-top:.7rem;font-weight:850}.lobby-start-button{background:var(--accent-warm);color:#132219;text-transform:uppercase;cursor:pointer;border:0;border-radius:.6rem;width:100%;min-height:2.7rem;font-weight:1000}.lobby-creator-actions{gap:.55rem;display:grid}.lobby-close-button{color:#ffb2a8;cursor:pointer;background:#aa2d2333;border:.0625rem solid #ff73646b;border-radius:.6rem;width:100%;min-height:2.4rem;font-weight:850}.game-info-overlay{z-index:50;pointer-events:none;flex-direction:column;align-items:center;gap:.625rem;width:100%;display:flex;position:absolute;top:.9375rem}.round-counter{color:var(--accent-warm-strong);text-transform:uppercase;letter-spacing:.125rem;background:#000c;border:.0625rem solid #f1c40f4d;border-radius:.9375rem;padding:.3125rem 1.25rem;font-size:1.2rem;font-weight:900;box-shadow:0 .25rem .9375rem #00000080}.progressive-tag{color:#ff7675;text-shadow:0 0 .625rem #ff767580;margin-left:.3125rem;font-size:.9rem}.score-summary-container{-webkit-backdrop-filter:blur(.9375rem);backdrop-filter:blur(.9375rem);color:#fff;background:#000000d9;border:.125rem solid #ffffff1a;border-radius:1.875rem;min-width:25rem;padding:1.875rem;animation:.4s cubic-bezier(.175,.885,.32,1.275) fadeInScale;box-shadow:0 1.25rem 3.125rem #0009}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.score-summary-container h2{text-align:center;color:var(--accent-warm-strong);text-transform:uppercase;letter-spacing:.125rem;margin-top:0;margin-bottom:1.5625rem;font-size:2rem}.score-table{border-collapse:collapse;width:100%}.score-table th{text-align:left;color:#fff9;text-transform:uppercase;letter-spacing:.0625rem;border-bottom:.125rem solid #ffffff1a;padding:.75rem;font-size:.8rem}.score-table td{border-bottom:.0625rem solid #ffffff0d;padding:.9375rem .75rem;font-weight:700}.winner-row{color:#55efc4;background:#55efc41a}.winner-row td:first-child:after{content:" 👑"}.player-score-badge{color:var(--accent-warm-strong);background:#ffffff1a;border-radius:.625rem;margin-left:.625rem;padding:.125rem .625rem;font-size:.8rem;font-weight:800}.player-score-badge.penalty{color:#e63946;background:#e6394633;border:.0625rem solid #e639464d}.player-score-badge.remaining-badge{color:#fff;background:#e63946;border:.0625rem solid #fff3;box-shadow:0 0 .625rem #e6394666}.disconnected-badge{color:#fff;text-transform:uppercase;background:#e63946;border-radius:.625rem;margin-left:.625rem;padding:.125rem .625rem;font-size:.8rem;font-weight:800;animation:2s infinite pulse-red-bg}@keyframes pulse-red-bg{0%{background-color:#e63946}50%{background-color:#c0392b}to{background-color:#e63946}}.my-player-area.disconnected{filter:grayscale(.5)}.open-badge{color:#fff;text-transform:uppercase;border-radius:.625rem;margin-left:.5rem;padding:.1875rem .625rem;font-size:.75rem;font-weight:800}.open-badge.meld-badge{background:#e17055;border:.0625rem solid #fab1a0}.open-badge.double-badge{background:#6c5ce7;border:.0625rem solid #a29bfe}.center-table{flex-direction:column;align-items:center;width:95%;height:50%;display:flex;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.other-player{z-index:10;flex-direction:column;align-items:center;gap:.625rem;display:flex;position:absolute}.player-avatar{color:#fff;background:#000000b3;border:.125rem solid #ffffff1a;border-radius:1.25rem;padding:.375rem 1.25rem;font-size:.875rem;font-weight:800;box-shadow:0 .25rem .625rem #0000004d}.active-turn .player-avatar{border-color:#55efc4;box-shadow:0 0 1.25rem #55efc466}.discard-area{background:#0003;border:.125rem dashed #ffffff1a;border-radius:.5rem;justify-content:center;align-items:center;width:3.4375rem;height:4.6875rem;transition:all .2s;display:flex}.discard-area:hover.clickable{background:#55efc41a;border-color:#55efc4;transform:scale(1.05)}.other-player.top{top:3.5rem;left:50%;transform:translate(-50%)}.other-player.left{flex-direction:row;top:46%;left:1.875rem;transform:translateY(-50%)}.other-player.right{flex-direction:row-reverse;top:46%;right:1.875rem;transform:translateY(-50%)}.my-player-area{flex-direction:column;align-items:center;width:100%;display:flex;position:absolute;bottom:.5rem;left:50%;transform:translate(-50%)}.my-turn-focus .my-player-area{z-index:30}.my-discard-area{background:#0000001a;border:.125rem dashed #fff3;border-radius:.625rem;justify-content:center;align-items:center;width:4.375rem;height:6.25rem;display:flex;position:absolute;bottom:10rem;right:10%}.my-discard-area.highlight-drop{background:#ff76751a;border-color:#ff7675;box-shadow:0 0 1.875rem #ff76754d}.premium-button,.open-button{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.0625rem;background:#b58a3b;border:none;border-radius:.75rem;padding:.75rem 1.875rem;font-weight:800;transition:all .2s;box-shadow:0 .25rem .9375rem #0000004d}.premium-button:hover,.open-button:hover{transform:translateY(-.125rem);box-shadow:0 .375rem 1.25rem #0006}.meld-open-button{background:#287a52}.double-open-button{background:#b87932}.return-tile-button{background:#4e5954}.error-message-box{color:#fff;z-index:10000;-webkit-backdrop-filter:blur(.3125rem);backdrop-filter:blur(.3125rem);background:#ff7675f2;border:.0625rem solid #fff3;border-radius:.75rem;align-items:center;gap:.625rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:700;animation:5s ease-in-out forwards toast-lifecycle;display:flex;position:fixed;top:1.25rem;left:50%;transform:translate(-50%);box-shadow:0 .625rem 1.875rem #00000080}@keyframes toast-lifecycle{0%{opacity:0;transform:translate(-50%,-6.25rem)}5%{opacity:1;transform:translate(-50%)}90%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6.25rem)}}.error-message-box:before{content:"⚠️"}.drag-ghost{z-index:99999;pointer-events:none;will-change:left, top;position:fixed;transform:none}.drag-ghost.returning{transition:left .2s cubic-bezier(.2,0,.2,1),top .2s cubic-bezier(.2,0,.2,1)}.score-sheet-toggle-btn{-webkit-backdrop-filter:blur(.3125rem);backdrop-filter:blur(.3125rem);color:#fff;font-family:var(--heading);cursor:pointer;pointer-events:auto;background:#ffffff1a;border:.0625rem solid #fff3;border-radius:.75rem;margin:.3125rem 0;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:all .2s;box-shadow:0 .25rem .9375rem #0003}.score-sheet-toggle-btn:hover{background:#fff3;transform:translateY(-.125rem);box-shadow:0 .375rem 1.25rem #0000004d}.score-sheet-toggle-btn:active{transform:translateY(0)}.connection-lost-overlay{-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);z-index:11000;color:#fff;background:#000000b3;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.connection-lost-content{text-align:center;background:#141414e6;border:.0625rem solid #ffffff1a;border-radius:1.875rem;flex-direction:column;align-items:center;gap:1.25rem;padding:2.5rem;display:flex;box-shadow:0 1.25rem 3.125rem #00000080}.connection-lost-content h2{color:#ff4757;margin:0;font-size:1.8rem}.connection-lost-content p{color:#ffffffb3;margin:0}.spinner{border:.3125rem solid #ffffff1a;border-top-color:#ff4757;border-radius:50%;width:3.125rem;height:3.125rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=64rem) and (orientation:landscape){:root{--mobile-game-safe-top:env(safe-area-inset-top,0px);--mobile-game-safe-right:env(safe-area-inset-right,0px);--mobile-game-safe-bottom:env(safe-area-inset-bottom,0px);--mobile-game-safe-left:env(safe-area-inset-left,0px);--mobile-game-tile-width:clamp(1.65rem, 4.5vw, 1.95rem);--mobile-game-tile-height:clamp(2.35rem, 6.5vw, 2.75rem);--mobile-game-mini-tile-width:.56rem;--mobile-game-mini-tile-height:.78rem;--mobile-game-side-action-width:clamp(3.4rem, 10vw, 4.75rem);--mobile-game-side-action-height:clamp(1.75rem, 7.5vh, 2rem);--mobile-game-discard-inline-offset:max(.8rem, calc(50% - 13.5rem));--mobile-game-discard-bottom-offset:5.95rem;--mobile-game-discard-top-offset:3rem}.table-layout{width:100svw;height:100svh;min-height:100svh;padding-top:calc(.25rem + var(--mobile-game-safe-top));padding-right:var(--mobile-game-safe-right);padding-bottom:calc(.25rem + var(--mobile-game-safe-bottom));padding-left:var(--mobile-game-safe-left);touch-action:none;overflow:hidden;transform:none}.top-left-panel{top:calc(.3rem + var(--mobile-game-safe-top));left:calc(.3rem + var(--mobile-game-safe-left));gap:.25rem}.top-left-panel .room-id-display,.top-left-panel .top-left-round-counter,.top-left-panel .score-sheet-icon-btn{letter-spacing:.01rem;border-radius:.35rem;padding:.2rem .38rem;font-size:.58rem}.score-sheet-icon-btn{width:1.45rem;height:1.45rem}.score-sheet-icon-btn svg{width:.72rem;height:.72rem}.game-info-overlay{top:.4rem}.round-counter{letter-spacing:.06rem;padding:.2rem .75rem;font-size:.82rem}.center-table{width:calc(100% - var(--mobile-game-safe-left) - var(--mobile-game-safe-right));height:54%;top:39%}.other-player{gap:.4rem}.other-player.top{top:calc(.35rem + var(--mobile-game-safe-top))}.other-player.left{left:calc(.35rem + var(--mobile-game-safe-left))}.other-player.right{right:calc(.35rem + var(--mobile-game-safe-right))}.player-avatar{border-width:.0938rem;padding:.25rem .8rem;font-size:.7rem}.discard-area{width:2rem;height:2.8rem}.my-player-area{bottom:calc(.2rem + var(--mobile-game-safe-bottom))}.my-discard-area{right:calc(.45rem + var(--mobile-game-safe-right));bottom:calc(5.4rem + var(--mobile-game-safe-bottom));border-width:.0625rem;width:2.25rem;height:3.15rem}.score-summary-container{border-radius:.85rem;width:90vw;min-width:90vw;max-width:90vw;padding:.65rem .7rem}.score-summary-container h2{margin-bottom:.7rem;font-size:1rem}.score-table th,.score-table td{padding:.24rem .25rem;font-size:.6rem}.score-table th{letter-spacing:.03rem}.lobby-overlay h1{margin-bottom:.75rem;font-size:2rem}.lobby-overlay p{font-size:.8rem}}@media (width<=48rem) and (orientation:portrait){.table-layout:after{content:"Oynamak için telefonu yatay çevirin";z-index:3000;color:#fff;text-align:center;background:#0e1f16f5;justify-content:center;align-items:center;padding:2rem;font-size:1.1rem;font-weight:900;display:flex;position:fixed;inset:0}}@media (width<=48rem) and (orientation:landscape){.connection-lost-content,.score-summary-container{max-width:calc(100vw - 1.5rem)}}.profile-screen{color:#fff;background:#10281d;justify-content:center;align-items:center;width:100%;min-height:100svh;padding:1.25rem;display:flex;overflow-y:auto}.profile-screen.loading,.profile-screen.error{flex-direction:column;gap:.85rem}.profile-shell,.profile-state-panel{-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);background:#0d1e14d6;border:.0625rem solid #e7e1d821;border-radius:.125rem;width:min(42rem,100%)}.profile-shell{gap:1rem;padding:1.25rem;display:grid;position:relative}.profile-state-panel{text-align:center;justify-items:center;gap:.85rem;padding:1.25rem;display:grid}.profile-state-panel p{color:#ffffffd6}.profile-state-panel button{color:#fff;cursor:pointer;background:#e7e1d81a;border:.0625rem solid #e7e1d82e;border-radius:.125rem;padding:.55rem .8rem;font-weight:800}.profile-state-panel button:hover{background:#e7e1d829}.profile-back-btn{color:#ffffffe6;cursor:pointer;background:#e7e1d814;border:.0625rem solid #e7e1d826;border-radius:.125rem;width:fit-content;padding:.45rem .7rem;font-size:.8rem;font-weight:800}.profile-back-btn:hover{color:#fff;background:#e7e1d824}.profile-hero{background:#ffffff09;border:.0625rem solid #e7e1d81a;border-radius:.125rem;grid-template-columns:auto 1fr;align-items:center;gap:1rem;padding:.85rem;display:grid}.profile-avatar{background:#e7e1d817;border:.125rem solid #e7e1d83d;border-radius:50%;place-items:center;width:5rem;height:5rem;display:grid;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-avatar .avatar-placeholder{color:var(--accent-warm);font-size:2.1rem;font-weight:900}.profile-title{min-width:0}.profile-title h1{color:#fff;overflow-wrap:anywhere;margin:.15rem 0 .55rem;font-size:clamp(1.75rem,5vw,2.6rem);font-weight:900;line-height:1}.profile-eyebrow{color:var(--accent-warm-strong);letter-spacing:.08rem;text-transform:uppercase;font-size:.68rem;font-weight:900}.profile-meta-row{flex-wrap:wrap;gap:.4rem;display:flex}.profile-meta-row span{color:#ffffffd6;background:#e7e1d814;border:.0625rem solid #e7e1d81f;border-radius:.125rem;padding:.25rem .45rem;font-size:.76rem;font-weight:800}.profile-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;display:grid}.profile-stat-card{text-align:center;background:#ffffff09;border:.0625rem solid #e7e1d81a;border-radius:.125rem;gap:.18rem;min-width:0;padding:.8rem .65rem;display:grid}.profile-stat-card .stat-value{color:var(--accent-warm);font-variant-numeric:tabular-nums;font-size:clamp(1.25rem,3vw,1.75rem);font-weight:900;line-height:1}.profile-stat-card .stat-label{color:#ffffff94;text-transform:uppercase;font-size:.68rem;font-weight:800}.profile-detail-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.profile-detail-row div{background:#0000002e;border:.0625rem solid #e7e1d814;border-radius:.125rem;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;padding:.75rem .85rem;display:flex}.profile-detail-row strong{color:#fff;text-align:right;overflow-wrap:anywhere;font-size:.88rem}.detail-label{color:#ffffff94;text-transform:uppercase;font-size:.72rem;font-weight:900}.profile-screen .spinner{border:.2rem solid #e7e1d82e;border-top-color:var(--accent-warm);border-radius:50%;width:2.25rem;height:2.25rem;animation:.9s linear infinite profile-spin}@keyframes profile-spin{to{transform:rotate(360deg)}}@media (width<=42rem){.profile-screen{align-items:flex-start;padding:.75rem}.profile-shell{padding:.85rem}.profile-hero{text-align:center;grid-template-columns:1fr;justify-items:center}.profile-meta-row{justify-content:center}.profile-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-detail-row{grid-template-columns:1fr}}.legal-page{color:#fff;background:#10281d;min-height:100vh;padding:1.5rem}.legal-shell{background:#0b1911d1;border:.0625rem solid #e7e1d81f;border-radius:.125rem;width:min(56rem,100%);margin:0 auto;padding:1.5rem}.legal-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.legal-header h1{font-size:clamp(1.7rem,4vw,2.6rem);font-family:var(--heading);margin:.15rem 0 0;line-height:1.05}.legal-eyebrow{letter-spacing:.12rem;text-transform:uppercase;color:var(--accent-warm-strong);margin:0;font-size:.72rem}.legal-back-link,.legal-actions a{color:#fff;background:#e7e1d814;border:.0625rem solid #e7e1d824;border-radius:.125rem;justify-content:center;align-items:center;padding:.55rem .8rem;font-size:.85rem;font-weight:700;text-decoration:none;transition:background-color .2s,border-color .2s;display:inline-flex}.legal-back-link:hover,.legal-actions a:hover{background:#e7e1d824;border-color:#e7e1d83d}.legal-intro{color:#ffffffd6;max-width:46rem;margin:0 0 1rem;line-height:1.6}.legal-actions{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.legal-sections{gap:.8rem;display:grid}.legal-section{background:#ffffff08;border:.0625rem solid #e7e1d817;border-radius:.125rem;padding:1rem 1.05rem}.legal-section h2{color:var(--accent-warm);font-size:1rem;font-family:var(--heading);margin:0 0 .5rem}.legal-section p{color:#ffffffd1;margin:0 0 .5rem;line-height:1.55}.legal-section ul{color:#ffffffd1;margin:.25rem 0 0;padding-left:1.1rem}.legal-section ul li+li{margin-top:.25rem}@media (width<=48rem){.legal-page{padding:.75rem}.legal-shell{padding:1rem}.legal-header{flex-direction:column;align-items:stretch}.legal-back-link{width:fit-content}}
