:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--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:system-ui, Segoe UI, Roboto, sans-serif;--heading:system-ui, Segoe UI, Roboto, sans-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:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--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}}#root{width:100%;min-height:100vh;margin:0;padding:0}body{background:var(--table-bg);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:linear-gradient(135deg, var(--accent-warm) 0%, var(--accent-warm-dark) 100%);color:#000;cursor:pointer;border:none;border-radius:.5rem;margin-top:.5rem;padding:1rem;font-size:1.1rem;font-weight:600;transition:transform .2s,box-shadow .2s}.auth-container .auth-card form .auth-btn:hover:not(:disabled){transform:translateY(-.125rem);box-shadow:0 .3125rem .9375rem #ffd7004d}.auth-container .auth-card form .auth-btn:disabled{opacity:.6;cursor:not-allowed}.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}.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:radial-gradient(circle,#1a4d2e 0%,#0d2b1a 100%);border:.125rem solid #ffd70033;border-radius:1.25rem;width:100%;max-width:31.25rem;padding:2.5rem;position:relative;box-shadow:0 1.25rem 3.125rem #00000080}.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:.625rem;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:.5rem;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:linear-gradient(135deg, var(--accent-warm) 0%, var(--accent-warm-dark) 100%);color:#000;cursor:pointer;text-transform:uppercase;letter-spacing:.0625rem;border:none;border-radius:.625rem;padding:1rem;font-size:1.1rem;font-weight:800;transition:all .2s}.feedback-overlay .feedback-card form .submit-btn:hover:not(:disabled){transform:translateY(-.125rem);box-shadow:0 .3125rem .9375rem #ffd70066}.feedback-overlay .feedback-card form .submit-btn:disabled{opacity:.6;cursor:not-allowed}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.main-menu{color:#fff;background:radial-gradient(circle,#1a4d2e 0%,#0d2b1a 100%);align-items:stretch;width:100vw;height:100vh;display:flex}.main-menu .menu-rail{opacity:.95;flex:0 0 8.5rem;padding:0}.main-menu .menu-sidebar{-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);z-index:10;background:#00000061;border-right:.0625rem solid #ffffff1a;flex-direction:column;flex:0 0 15rem;justify-content:center;padding:1rem .75rem;display:flex;box-shadow:.5rem 0 1.5rem #00000047}.main-menu .menu-sidebar .profile-section{text-align:center;flex-direction:column;align-items:center;gap:.75rem;margin-top:-1rem;margin-bottom:2rem;display:flex}.main-menu .menu-sidebar .profile-section .user-avatar{background:linear-gradient(135deg, var(--accent-warm) 0%, var(--accent-warm-dark) 100%);color:#000;border-radius:50%;justify-content:center;align-items:center;width:4rem;height:4rem;font-size:1.9rem;font-weight:700;display:flex;box-shadow:0 0 1rem #ffd70038}.main-menu .menu-sidebar .profile-section .user-info h3{margin-bottom:.3rem;font-size:1rem}.main-menu .menu-sidebar .profile-section .user-info p{color:#fff9;font-size:.72rem}.main-menu .menu-sidebar .profile-section .user-info .view-profile-link{color:var(--accent-warm);border-bottom:.0625rem solid #0000;margin-top:.35rem;font-size:.72rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.main-menu .menu-sidebar .profile-section .user-info .view-profile-link:hover{border-bottom-color:var(--accent-warm)}.main-menu .menu-sidebar .profile-section .logout-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:.0625rem solid #fff3;border-radius:.5rem;margin-top:.25rem;padding:.55rem 1rem;transition:all .2s}.main-menu .menu-sidebar .profile-section .logout-btn:hover{color:#e74c3c;background:#e74c3c33;border-color:#e74c3c}.main-menu .menu-sidebar .auth-container{box-shadow:none;background:0 0;width:100%;padding:0}.main-menu .menu-sidebar .auth-container .auth-card{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;padding:0}.main-menu .menu-sidebar .auth-container .auth-card h2{margin-bottom:.75rem;font-size:1.2rem}.main-menu .menu-content{flex-direction:column;flex:auto;justify-content:center;align-items:center;min-width:0;max-width:none;padding:1rem .75rem;display:flex}.main-menu .menu-content .game-title{text-transform:uppercase;letter-spacing:.125rem;color:var(--accent-warm);text-shadow:0 .125rem #00000073,0 .5rem 1.25rem #00000059;-webkit-text-stroke:.0313rem #0003;margin-bottom:1.25rem;font-size:2.9rem;font-weight:1000;line-height:.95}.main-menu .menu-content .round-selection{text-align:center;margin-bottom:.75rem}.main-menu .menu-content .round-selection .round-chips{justify-content:center;gap:.4rem;display:flex}.main-menu .menu-content .round-selection .round-chips .round-chip{color:#fff;cursor:pointer;background:#ffffff0d;border:.0625rem solid #ffffff1a;border-radius:999rem;padding:.4rem .8rem;font-size:.76rem;font-weight:700;transition:all .2s}.main-menu .menu-content .round-selection .round-chips .round-chip:hover{background:#ffffff1a;border-color:#ffffff4d}.main-menu .menu-content .round-selection .round-chips .round-chip.active{background:var(--accent-warm);color:#000;border-color:var(--accent-warm);box-shadow:0 0 .9375rem #ffd7004d}.main-menu .menu-content .menu-buttons{flex-direction:column;gap:.75rem;width:100%;max-width:22rem;display:flex}.main-menu .menu-content .menu-buttons .button-group{background:0 0;border:none;flex-direction:column;gap:.5rem;padding:0;display:flex}.main-menu .menu-content .menu-buttons .join-room-box{gap:.35rem;margin-top:.25rem;display:flex}.main-menu .menu-content .menu-buttons .join-room-box input{color:#fff;background:#0000004d;border:.0625rem solid #fff3;border-radius:.5rem;outline:none;flex:1;padding:.55rem .65rem;font-size:.82rem}.main-menu .menu-content .menu-buttons .join-room-box input:focus{border-color:#4facfe}.main-menu .menu-content .menu-buttons .join-room-box .join-btn{color:#fff;cursor:pointer;background:#4facfe;border:none;border-radius:.5rem;padding:0 .9rem;font-weight:700;transition:all .2s}.main-menu .menu-content .menu-buttons .join-room-box .join-btn:disabled{cursor:not-allowed;background:#444}.main-menu .menu-content .menu-buttons .join-room-box .join-btn:hover:not(:disabled){background:#00f2fe}.main-menu .menu-content .menu-buttons .menu-btn{cursor:pointer;text-transform:uppercase;letter-spacing:.05rem;border:none;border-radius:.5rem;padding:.75rem 1rem;font-size:.88rem;font-weight:700;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.main-menu .menu-content .menu-buttons .menu-btn.primary{background:linear-gradient(135deg, var(--accent-warm) 0%, var(--accent-warm-dark) 100%);color:#000;box-shadow:0 .375rem 1rem #ffd70038}.main-menu .menu-content .menu-buttons .menu-btn.primary:hover:not(:disabled){transform:translateY(-.125rem);box-shadow:0 .5rem 1.375rem #ffd70047}.main-menu .menu-content .menu-buttons .menu-btn.primary:active:not(:disabled){transform:translateY(0)}.main-menu .menu-content .menu-buttons .menu-btn.secondary{color:#ffffffb3;background:#ffffff0d;border:.0625rem solid #ffffff1a}.main-menu .menu-content .menu-buttons .menu-btn.secondary:hover:not(:disabled){color:#fff;background:#ffffff26;border-color:#ffffff4d;transform:scale(1.02)}.main-menu .menu-content .menu-buttons .menu-btn.feedback-btn:hover:not(:disabled){color:#d7bde2;background:#9b59b633;border-color:#9b59b680}.main-menu .menu-content .menu-buttons .menu-btn:disabled{opacity:.4;cursor:not-allowed;filter:grayscale()}.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}.other-player .my-turn-focus .other-player{opacity:.68;filter:saturate(.85)brightness(.88)}.other-player .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}.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}.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}.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}}.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-family:Inter,sans-serif;font-size:1.5rem;font-weight:900}.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}.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 .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}.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}.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}.score-sheet-overlay{-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);z-index:2000;background:#000000d9;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.3s fadeIn;display:flex;position:fixed;top:0;left:0}.score-sheet-overlay .score-sheet-modal{background:linear-gradient(135deg,#14201afa 0%,#24352cfa 100%);border:.0625rem solid #e7e1d81f;border-radius:1.5rem;flex-direction:column;width:90%;max-width:62.5rem;max-height:85vh;animation:.4s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow:hidden;box-shadow:0 1.5625rem 3.125rem -.75rem #00000085}.score-sheet-overlay .score-sheet-modal .score-sheet-header{border-bottom:.0625rem solid #ffffff0d;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.score-sheet-overlay .score-sheet-modal .score-sheet-header h2{color:#fff;background:linear-gradient(to right, #fff, var(--accent-warm-strong));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:800}.score-sheet-overlay .score-sheet-modal .score-sheet-header .close-btn{color:#ffffffbf;cursor:pointer;background:#e7e1d814;border:.0625rem solid #e7e1d81a;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:2rem;transition:all .2s;display:flex}.score-sheet-overlay .score-sheet-modal .score-sheet-header .close-btn:hover{color:#fff;background:#e7e1d824}.score-sheet-overlay .score-sheet-modal .score-sheet-content{flex:1;padding:2rem;overflow-y:auto}.score-sheet-overlay .score-sheet-modal .score-sheet-content .auto-next-round{color:var(--accent-warm);text-align:center;background:#e7e1d814;border:.0625rem solid #e7e1d824;border-radius:.75rem;margin-bottom:1.5rem;padding:1rem;font-size:1.1rem;font-weight:600;box-shadow:0 .25rem .9375rem #0000002e}.score-sheet-overlay .score-sheet-modal .score-sheet-content .auto-next-round span{color:#fff;text-shadow:0 0 .625rem #e7e1d859;margin:0 .5rem;font-family:monospace;font-size:1.6rem}.score-sheet-overlay .score-sheet-modal .score-sheet-content::-webkit-scrollbar{width:.375rem}.score-sheet-overlay .score-sheet-modal .score-sheet-content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:.625rem}.score-sheet-overlay .score-sheet-modal .score-sheet-content .players-grid{grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr));align-items:start;gap:1.25rem;display:grid}.score-sheet-overlay .score-sheet-modal .score-sheet-content .players-grid .player-column{background:#ffffff06;border:.0625rem solid #e7e1d814;border-radius:1rem;overflow:hidden}.score-sheet-overlay .score-sheet-modal .score-sheet-content .players-grid .player-column .player-head{background:#e7e1d80f;border-bottom:.0625rem solid #e7e1d81a;justify-content:space-between;align-items:center;padding:1rem;display:flex}.score-sheet-overlay .score-sheet-modal .score-sheet-content .players-grid .player-column .player-head .player-name{color:var(--accent-warm);font-size:1rem;font-weight:700}.score-sheet-overlay .score-sheet-modal .score-sheet-content .players-grid .player-column .player-head .player-name .player-link{color:inherit;text-decoration:none;transition:color .2s}.score-sheet-overlay .score-sheet-modal .score-sheet-content .players-grid .player-column .player-head .player-name .player-link:hover{color:#fff;text-decoration:underline}.score-sheet-overlay .score-sheet-modal .score-sheet-content .players-grid .player-column .player-head .player-total{color:#fff;background:#e7e1d81f;border-radius:1.25rem;padding:.25rem .625rem;font-size:.875rem;font-weight:800;box-shadow:0 .25rem .625rem #0003}.score-sheet-overlay .score-sheet-modal .score-sheet-content .players-grid .player-column .penalties-list{flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.score-sheet-overlay .score-sheet-modal .score-sheet-content .players-grid .player-column .penalties-list .no-penalties{text-align:center;color:#ffffff59;padding:1.25rem;font-size:.8125rem;font-style:italic}.score-sheet-overlay .score-sheet-modal .score-sheet-content .players-grid .player-column .penalties-list .penalty-item{background:#e7e1d80a;border-radius:.5rem;grid-template-columns:2.1875rem 1fr 2.8125rem;align-items:center;gap:.5rem;padding:.5rem;font-size:.75rem;display:grid}.score-sheet-overlay .score-sheet-modal .score-sheet-content .players-grid .player-column .penalties-list .penalty-item .round-tag{color:#ffffff73;font-weight:700}.score-sheet-overlay .score-sheet-modal .score-sheet-content .players-grid .player-column .penalties-list .penalty-item .reason{color:#ffffffd1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.score-sheet-overlay .score-sheet-modal .score-sheet-content .players-grid .player-column .penalties-list .penalty-item .points{text-align:right;color:#ff453a;font-weight:700}.score-sheet-overlay .score-sheet-modal .score-sheet-content .players-grid .player-column .penalties-list .penalty-item .points.bonus{color:#32d74b}@keyframes slideUp{0%{opacity:0;transform:translateY(1.875rem)}to{opacity:1;transform:translateY(0)}}.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}.chat-container .chat-header{border-bottom:.0625rem solid #ffffff1a;justify-content:space-between;align-items:center;padding:.625rem .9375rem;display:flex}.chat-container .chat-header h3{color:var(--accent-warm);text-transform:uppercase;letter-spacing:.0625rem;margin:0;font-size:.9rem}.chat-container .chat-messages{flex-direction:column;flex:1;gap:.5rem;min-height:0;padding:.625rem;display:flex;overflow-y:auto}.chat-container .chat-messages::-webkit-scrollbar{width:.25rem}.chat-container .chat-messages::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:.125rem}.chat-container .chat-messages .no-messages{color:#666;text-align:center;margin:auto 0;font-size:.8rem}.chat-container .chat-messages .chat-message{word-break:break-word;font-size:.85rem;line-height:1.4}.chat-container .chat-messages .chat-message .sender{color:#4facfe;margin-right:.3125rem;font-weight:700}.chat-container .chat-messages .chat-message .text{color:#eee}.chat-container .chat-messages .chat-message.own .sender{color:var(--accent-warm)}.chat-container .chat-input{border-top:.0625rem solid #ffffff1a;gap:.3125rem;padding:.625rem;display:flex}.chat-container .chat-input input{color:#fff;background:#ffffff0d;border:.0625rem solid #ffffff1a;border-radius:.375rem;outline:none;flex:1;padding:.375rem .625rem;font-size:.85rem}.chat-container .chat-input input:focus{border-color:var(--accent-warm)}.chat-container .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}.chat-container .chat-input button svg{fill:currentColor;width:.6875rem;height:.6875rem}.chat-container .chat-input button:hover{background:var(--accent-warm-dark)}*{box-sizing:border-box}body{margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.game-screen{background-color:#1a4d33;justify-content:center;align-items:center;width:100%;height:100vh;display:flex;overflow:hidden}.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:100vh;min-height:100vh;padding-top:1.5rem;padding-bottom:1.25rem;display:flex;position:relative}.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}.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{background:linear-gradient(135deg, var(--accent-warm-strong) 0%, #e67e22 100%);color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.0625rem;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:linear-gradient(135deg,#27ae60 0%,#16a085 100%)}.double-open-button{background:linear-gradient(135deg,#e67e22 0%,#d35400 100%)}.return-tile-button{background:linear-gradient(135deg,#636e72 0%,#2d3436 100%)}.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;cursor:pointer;pointer-events:auto;background:#ffffff1a;border:.0625rem solid #fff3;border-radius:.75rem;margin:.3125rem 0;padding:.5rem 1rem;font-family:Outfit,sans-serif;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)}}.profile-screen{color:#fff;background:radial-gradient(circle,#1e3c72 0%,#1a1a2e 100%);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}.profile-screen.loading,.profile-screen.error{flex-direction:column;gap:1rem}.profile-screen .profile-card{-webkit-backdrop-filter:blur(.625rem);backdrop-filter:blur(.625rem);background:#ffffff0d;border:.0625rem solid #ffffff1a;border-radius:1.5rem;width:90%;max-width:37.5rem;padding:3rem;position:relative;box-shadow:0 1.25rem 3.125rem #0000004d}.profile-screen .profile-card .back-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:.5rem;padding:.5rem 1rem;transition:all .2s;position:absolute;top:1.25rem;left:1.25rem}.profile-screen .profile-card .back-btn:hover{background:#fff3}.profile-screen .profile-card .profile-header{align-items:center;gap:2rem;margin-top:1rem;margin-bottom:3rem;display:flex}.profile-screen .profile-card .profile-header .profile-avatar{background:#4facfe;border:.25rem solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:6.25rem;height:6.25rem;display:flex;overflow:hidden}.profile-screen .profile-card .profile-header .profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-screen .profile-card .profile-header .profile-avatar .avatar-placeholder{font-size:3rem;font-weight:700}.profile-screen .profile-card .profile-header .profile-title h1{background:linear-gradient(90deg,#fff,#4facfe);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:2.5rem}.profile-screen .profile-card .profile-header .profile-title .level-badge{background:var(--accent-warm);color:#000;border-radius:1.25rem;margin-top:.5rem;padding:.2rem .8rem;font-size:.9rem;font-weight:700;display:inline-block}.profile-screen .profile-card .stats-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:3rem;display:grid}.profile-screen .profile-card .stats-grid .stat-item{background:#ffffff08;border:.0625rem solid #ffffff0d;border-radius:1rem;flex-direction:column;align-items:center;padding:1.5rem;display:flex}.profile-screen .profile-card .stats-grid .stat-item .stat-label{color:#aaa;text-transform:uppercase;letter-spacing:.0625rem;margin-bottom:.5rem;font-size:.9rem}.profile-screen .profile-card .stats-grid .stat-item .stat-value{color:#4facfe;font-size:1.8rem;font-weight:700}.profile-screen .profile-card .profile-footer{text-align:center;color:#666;border-top:.0625rem solid #ffffff0d;padding-top:1.5rem;font-size:.9rem}
