*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}input,textarea{user-select:text;-webkit-user-select:text}#app{font-family:Segoe UI,system-ui,-apple-system,sans-serif;height:100%;background:#1a5c2a;color:#fff;-webkit-touch-callout:none}.lobby[data-v-a554246f]{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;height:100vh;height:100dvh;padding:15px 15px 40px;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;background:var(--bg-color, #1a5c2a);-webkit-overflow-scrolling:touch}@media(max-height:500px){.lobby[data-v-a554246f]{padding:10px 10px 30px}}@media(max-height:400px){.lobby[data-v-a554246f]{padding:8px 8px 20px}}.avatar-section[data-v-a554246f]{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:15px}.avatar-preview[data-v-a554246f]{width:60px;height:60px;border-radius:50%;overflow:hidden;border:3px solid rgba(255,255,255,.3);background:#ffffff1a}@media(max-height:500px){.avatar-section[data-v-a554246f]{flex-direction:row;gap:10px;margin-bottom:10px}.avatar-preview[data-v-a554246f]{width:48px;height:48px}}.avatar-img[data-v-a554246f]{width:100%;height:100%;object-fit:cover}.btn-small[data-v-a554246f]{padding:8px 16px;font-size:.85rem;width:auto}.btn-avatar[data-v-a554246f]{background:#fff3;color:#fff}.btn-avatar[data-v-a554246f]:hover{background:#ffffff4d}.title[data-v-a554246f]{font-size:2.5rem;font-weight:800;margin-bottom:15px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.card[data-v-a554246f]{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:20px;width:100%;max-width:400px}@media(max-height:500px){.title[data-v-a554246f]{font-size:1.8rem;margin-bottom:10px}.card[data-v-a554246f]{padding:15px;max-width:500px}}.section[data-v-a554246f]{margin-bottom:10px}.section h2[data-v-a554246f]{font-size:1rem;margin-bottom:8px;font-weight:600}.field[data-v-a554246f]{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.field span[data-v-a554246f]{font-size:.8rem;opacity:.8}@media(max-height:500px){.section[data-v-a554246f]{margin-bottom:8px}.section h2[data-v-a554246f]{font-size:.9rem;margin-bottom:6px}.field[data-v-a554246f]{margin-bottom:8px}.field span[data-v-a554246f]{font-size:.75rem}}input[data-v-a554246f],.select-input[data-v-a554246f]{padding:10px 12px;border:2px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff1a;color:#fff;font-size:.95rem;outline:none;transition:border-color .2s}.select-input[data-v-a554246f]{width:100%;cursor:pointer}.select-input option[data-v-a554246f]{background:var(--bg-color, #1a5c2a);color:#fff}@media(max-height:500px){input[data-v-a554246f],.select-input[data-v-a554246f]{padding:8px 10px;font-size:.9rem}}input[data-v-a554246f]:focus,.select-input[data-v-a554246f]:focus{border-color:#ffffff80}input[data-v-a554246f]::placeholder{color:#fff6}.code-input[data-v-a554246f]{text-transform:uppercase;letter-spacing:4px;font-size:1.3rem;text-align:center;font-weight:700}.btn[data-v-a554246f]{width:100%;padding:12px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s}@media(max-height:500px){.btn[data-v-a554246f]{padding:10px;font-size:.85rem}}.btn[data-v-a554246f]:active{transform:scale(.98)}.btn[data-v-a554246f]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-a554246f]{background:#e74c3c;color:#fff}.btn-secondary[data-v-a554246f]{background:#3498db;color:#fff}.divider[data-v-a554246f]{text-align:center;margin:15px 0;position:relative}@media(max-height:500px){.divider[data-v-a554246f]{margin:10px 0}}.divider[data-v-a554246f]:before{content:"";position:absolute;top:50%;left:0;right:0;border-top:1px solid rgba(255,255,255,.2)}.divider span[data-v-a554246f]{background:var(--bg-color, #1a5c2a);padding:0 14px;position:relative;font-size:.9rem;opacity:.8}.error[data-v-a554246f]{color:#ff6b6b;margin-top:14px;text-align:center;font-size:.9rem}.waiting-room[data-v-579e2398]{display:flex;flex-direction:column;align-items:center;padding:20px 15px 40px;height:100vh;height:100dvh;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;background:var(--bg-color, #1a5c2a);-webkit-overflow-scrolling:touch}h1[data-v-579e2398]{font-size:1.8rem;margin-bottom:16px}@media(max-height:500px){.waiting-room[data-v-579e2398]{padding:10px 15px}h1[data-v-579e2398]{font-size:1.4rem;margin-bottom:10px}}.room-code[data-v-579e2398]{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}.room-code .label[data-v-579e2398]{font-size:.8rem;opacity:.7;margin-bottom:4px}.room-code .code[data-v-579e2398]{font-size:2rem;font-weight:800;letter-spacing:6px;cursor:pointer;padding:8px 16px;background:#ffffff1a;border-radius:12px;transition:background .2s}@media(max-height:500px){.room-code[data-v-579e2398]{margin-bottom:12px}.room-code .code[data-v-579e2398]{font-size:1.6rem;padding:6px 12px;letter-spacing:4px}}.room-code .code[data-v-579e2398]:hover{background:#fff3}.copied[data-v-579e2398]{font-size:.85rem;color:#2ecc71;margin-top:6px}.players-card[data-v-579e2398]{background:#ffffff1a;border-radius:12px;padding:16px;width:100%;max-width:400px;margin-bottom:16px}.players-card h2[data-v-579e2398]{font-size:1rem;margin-bottom:12px}@media(max-height:500px){.players-card[data-v-579e2398]{padding:12px;margin-bottom:10px}.players-card h2[data-v-579e2398]{font-size:.9rem;margin-bottom:8px}}.player-list[data-v-579e2398]{list-style:none}.player-item[data-v-579e2398]{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1)}.player-item[data-v-579e2398]:last-child{border-bottom:none}.player-avatar[data-v-579e2398]{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#fff3}.player-avatar .avatar-img[data-v-579e2398]{width:100%;height:100%;object-fit:cover}.player-avatar .avatar-placeholder[data-v-579e2398]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;color:#fff}.player-name[data-v-579e2398]{font-weight:600;flex:1}.your-avatar-section[data-v-579e2398]{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:16px}.your-avatar-section .avatar-preview[data-v-579e2398]{width:56px;height:56px;border-radius:50%;overflow:hidden;border:3px solid rgba(255,255,255,.3);background:#ffffff1a}@media(max-height:500px){.your-avatar-section[data-v-579e2398]{flex-direction:row;gap:10px;margin-bottom:10px}.your-avatar-section .avatar-preview[data-v-579e2398]{width:40px;height:40px}}.your-avatar-section .avatar-img[data-v-579e2398]{width:100%;height:100%;object-fit:cover}.btn-small[data-v-579e2398]{padding:8px 16px;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;background:#fff3;color:#fff;transition:background .2s}.btn-small[data-v-579e2398]:hover{background:#ffffff4d}.you-badge[data-v-579e2398]{font-size:.75rem;background:#3498db;padding:2px 8px;border-radius:4px}.host-badge[data-v-579e2398]{font-size:.75rem;background:#e67e22;padding:2px 8px;border-radius:4px}.btn-start[data-v-579e2398]{padding:14px 36px;border:none;border-radius:10px;font-size:1.1rem;font-weight:700;background:#e74c3c;color:#fff;cursor:pointer;transition:opacity .2s,transform .1s}@media(max-height:500px){.btn-start[data-v-579e2398]{padding:10px 30px;font-size:.95rem}}.btn-start[data-v-579e2398]:active{transform:scale(.98)}.btn-start[data-v-579e2398]:disabled{opacity:.5;cursor:not-allowed}.waiting-text[data-v-579e2398]{opacity:.7;font-size:1.1rem}.error[data-v-579e2398]{color:#ff6b6b;margin-top:14px}.tile[data-v-bce4bf0f]{--tile-scale: 1;--tile-base-width: clamp(20px, min(5.5vw, 8vh), 52px);--tile-base-height: clamp(28px, min(7.7vw, 11.2vh), 72px);--tile-base-font: clamp(.55rem, min(1.5vw, 2.2vh), 1.6rem);--tile-width: calc(var(--tile-base-width) * var(--tile-scale));--tile-height: calc(var(--tile-base-height) * var(--tile-scale));--tile-font: calc(var(--tile-base-font) * var(--tile-scale));width:var(--tile-width);height:var(--tile-height);background:#f5f0e8;border-radius:clamp(3px,.8vw,6px);display:flex;align-items:center;justify-content:center;font-size:var(--tile-font);font-weight:800;box-shadow:0 2px 4px #0000004d,inset 0 1px #ffffff80;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;touch-action:none;flex-shrink:0;position:relative;transition:transform .15s,box-shadow .15s,opacity .15s,width .2s ease,height .2s ease,font-size .2s ease}.tile[data-v-bce4bf0f]:active{cursor:grabbing}.tile--dragging[data-v-bce4bf0f]{opacity:.3;transform:scale(.95)}.tile--hidden[data-v-bce4bf0f]{opacity:0;pointer-events:none}.tile--selected[data-v-bce4bf0f]{transform:translateY(-8px) scale(1.05);box-shadow:0 8px 16px rgba(var(--accent-rgb, 93, 173, 226),.5),0 0 0 3px var(--accent-color, #5dade2);animation:tile-selected-pulse-bce4bf0f .8s ease infinite;z-index:10}@keyframes tile-selected-pulse-bce4bf0f{0%,to{box-shadow:0 8px 16px rgba(var(--accent-rgb, 93, 173, 226),.5),0 0 0 3px var(--accent-color, #5dade2)}50%{box-shadow:0 10px 20px rgba(var(--accent-rgb, 93, 173, 226),.7),0 0 0 4px var(--bg-dark, #3498db)}}.tile--returnable.tile--on-board[data-v-bce4bf0f]{box-shadow:0 2px 4px #0000004d,inset 0 1px #ffffff80,0 0 0 2px rgba(var(--accent-rgb, 93, 173, 226),.4)}.tile--black .tile-number[data-v-bce4bf0f]{color:#1a1a2e}.tile--red .tile-number[data-v-bce4bf0f]{color:red}.tile--blue .tile-number[data-v-bce4bf0f]{color:#2980b9}.tile--orange .tile-number[data-v-bce4bf0f]{color:#ff8c00}.tile--joker[data-v-bce4bf0f]{background:linear-gradient(135deg,#fff4e6,#ffe4c9,#fff8dc)}.tile-joker[data-v-bce4bf0f],.tile-number[data-v-bce4bf0f]{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;pointer-events:none}.tile-joker[data-v-bce4bf0f]{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.joker-face[data-v-bce4bf0f]{width:80%;height:80%;filter:drop-shadow(1px 1px 1px rgba(0,0,0,.2))}.tile-number[data-v-bce4bf0f]{text-shadow:0 1px 0 rgba(255,255,255,.3)}@media(max-width:400px){.tile[data-v-bce4bf0f]{--tile-base-width: clamp(16px, 5vw, 24px);--tile-base-height: clamp(22px, 7vw, 34px);--tile-base-font: clamp(.45rem, 1.3vw, .7rem);border-radius:clamp(2px,.6vw,4px)}}@media(max-height:450px){.tile[data-v-bce4bf0f]{--tile-base-width: clamp(16px, 5vw, 28px);--tile-base-height: clamp(22px, 7vw, 40px);--tile-base-font: clamp(.45rem, 1.5vw, .8rem);border-radius:clamp(2px,.6vw,4px)}}@media(min-width:700px)and (max-width:850px){.tile[data-v-bce4bf0f]{--tile-base-width: clamp(22px, 4.5vw, 36px);--tile-base-height: clamp(30px, 6.3vw, 50px);--tile-base-font: clamp(.6rem, 1.2vw, 1rem)}}@media(min-width:850px)and (max-width:1100px){.tile[data-v-bce4bf0f]{--tile-base-width: clamp(28px, 4vw, 42px);--tile-base-height: clamp(39px, 5.6vw, 58px);--tile-base-font: clamp(.8rem, 1.3vw, 1.2rem)}}@media(min-width:1100px){.tile[data-v-bce4bf0f]{--tile-base-width: clamp(40px, 3.5vw, 52px);--tile-base-height: clamp(56px, 4.9vw, 72px);--tile-base-font: clamp(1.1rem, 1.3vw, 1.5rem)}}.tile-set[data-v-36b6927d]{--tile-scale: 1;--set-base-min-height: clamp(32px, min(8vw, 12vh), 76px);--set-base-padding: clamp(1px, min(.4vw, .6vh), 5px);--set-base-gap: clamp(1px, min(.2vw, .3vh), 3px);--snap-base-height: clamp(28px, min(7.5vw, 11vh), 70px);--set-min-height: calc(var(--set-base-min-height) * var(--tile-scale));--set-padding: calc(var(--set-base-padding) * var(--tile-scale));--set-gap: calc(var(--set-base-gap) * var(--tile-scale));--snap-height: calc(var(--snap-base-height) * var(--tile-scale));display:inline-flex;background:#ffffff14;border-radius:clamp(4px,1vw,8px);padding:var(--set-padding);border:2px solid transparent;transition:border-color .2s,transform .2s,box-shadow .2s,min-height .2s ease,padding .2s ease;min-height:var(--set-min-height);position:relative}.tile-set--valid[data-v-36b6927d]{border-color:rgba(var(--accent-rgb, 93, 173, 226),.5)}.tile-set--invalid[data-v-36b6927d]{border-color:#e74c3c66}.tile-set--grabbed[data-v-36b6927d]{transform:scale(1.05) translateY(-4px);box-shadow:0 12px 28px rgba(var(--accent-rgb, 93, 173, 226),.6);border-color:var(--accent-color, #5dade2);border-width:3px;animation:grabbed-pulse-36b6927d .4s ease}@keyframes grabbed-pulse-36b6927d{0%{transform:scale(1) translateY(0);box-shadow:0 4px 8px rgba(var(--accent-rgb, 93, 173, 226),.3)}50%{transform:scale(1.08) translateY(-6px);box-shadow:0 16px 32px rgba(var(--accent-rgb, 93, 173, 226),.7)}to{transform:scale(1.05) translateY(-4px);box-shadow:0 12px 28px rgba(var(--accent-rgb, 93, 173, 226),.6)}}.tile-set--snap-left[data-v-36b6927d]{border-left-color:var(--accent-color, #5dade2);border-left-width:4px}.tile-set--snap-right[data-v-36b6927d]{border-right-color:var(--accent-color, #5dade2);border-right-width:4px}.tile-set-inner[data-v-36b6927d]{display:flex;gap:var(--set-gap);min-width:calc(clamp(20px,min(5vw,7.5vh),50px) * var(--tile-scale));min-height:calc(clamp(28px,min(7.5vw,11vh),70px) * var(--tile-scale));align-items:center;position:relative;transition:min-width .2s ease,min-height .2s ease,gap .2s ease}.tile-set-list-move[data-v-36b6927d],.tile-set-list-enter-active[data-v-36b6927d],.tile-set-list-leave-active[data-v-36b6927d]{transition:all .3s ease}.tile-set-list-enter-from[data-v-36b6927d]{opacity:0;transform:scale(.5) translate(-10px)}.tile-set-list-leave-to[data-v-36b6927d]{opacity:0;transform:scale(.5)}.snap-indicator[data-v-36b6927d]{width:clamp(2px,.4vw,4px);height:var(--snap-height);background:linear-gradient(180deg,var(--accent-color, #5dade2) 0%,var(--bg-dark, #3498db) 100%);border-radius:2px;animation:snap-pulse-36b6927d .5s ease infinite}.snap-indicator--left[data-v-36b6927d]{margin-right:clamp(2px,.4vw,4px)}.snap-indicator--right[data-v-36b6927d]{margin-left:clamp(2px,.4vw,4px)}.snap-indicator--insert[data-v-36b6927d]{margin:0 clamp(1px,.2vw,2px)}@keyframes snap-pulse-36b6927d{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.6;transform:scaleY(.9)}}.tile-set--rack[data-v-36b6927d]{border-color:transparent}.tile-set--rack-single[data-v-36b6927d]{background:transparent;border:none;padding:0}.tile-set--rack.tile-set--valid[data-v-36b6927d]{border-color:rgba(var(--accent-rgb, 93, 173, 226),.5);background:rgba(var(--accent-rgb, 93, 173, 226),.15)}@media(min-width:700px)and (max-width:850px){.tile-set[data-v-36b6927d]{--set-base-min-height: clamp(30px, 6vh, 50px);--set-base-padding: clamp(1px, .3vw, 3px);--set-base-gap: clamp(1px, .2vw, 2px);--snap-base-height: clamp(26px, 5.5vh, 46px);border-radius:clamp(3px,.6vw,5px)}.tile-set-inner[data-v-36b6927d]{min-width:calc(clamp(18px,4vw,36px) * var(--tile-scale));min-height:calc(clamp(26px,5.5vh,46px) * var(--tile-scale))}}@media(min-width:850px)and (max-width:1100px){.tile-set[data-v-36b6927d]{--set-base-min-height: clamp(36px, 7vh, 60px);--set-base-padding: clamp(2px, .4vw, 4px);--snap-base-height: clamp(32px, 6.5vh, 56px)}.tile-set-inner[data-v-36b6927d]{min-width:calc(clamp(22px,4.5vw,42px) * var(--tile-scale));min-height:calc(clamp(32px,6.5vh,56px) * var(--tile-scale))}}@media(max-width:400px){.tile-set[data-v-36b6927d]{--set-base-min-height: clamp(24px, 8vh, 36px);--set-base-padding: clamp(1px, .2vw, 2px);--set-base-gap: 1px;--snap-base-height: clamp(22px, 7vh, 34px);border-radius:3px;border-width:1px}.tile-set-inner[data-v-36b6927d]{min-width:calc(clamp(16px,4vw,24px) * var(--tile-scale));min-height:calc(clamp(22px,7vh,34px) * var(--tile-scale))}}@media(max-height:450px){.tile-set[data-v-36b6927d]{--set-base-min-height: clamp(24px, 10vh, 40px);--set-base-padding: clamp(1px, .2vw, 2px);--set-base-gap: 1px;--snap-base-height: clamp(22px, 9vh, 38px);border-radius:3px}.tile-set-inner[data-v-36b6927d]{min-width:calc(clamp(16px,4vw,28px) * var(--tile-scale));min-height:calc(clamp(22px,9vh,38px) * var(--tile-scale))}}.game-board[data-v-6aa85730]{--board-gap: clamp(4px, 1vw, 10px);--board-padding: clamp(6px, 1.5vw, 12px);flex:1;position:relative;min-height:0;height:100%;overflow:hidden;background:var(--bg-color, #1a5c2a)}.board-inner[data-v-6aa85730]{position:relative;height:100%;width:100%;padding:var(--board-padding);box-sizing:border-box}.board-sets-layer[data-v-6aa85730]{position:relative;width:100%;height:100%;min-height:0}.set-list-move[data-v-6aa85730],.set-list-enter-active[data-v-6aa85730],.set-list-leave-active[data-v-6aa85730]{transition:all .3s ease}.set-list-enter-from[data-v-6aa85730]{opacity:0;transform:scale(.8) translateY(-20px)}.set-list-leave-to[data-v-6aa85730]{opacity:0;transform:scale(.8)}.board-hint[data-v-6aa85730]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:clamp(.8rem,2.5vw,1rem);opacity:.3;pointer-events:none;z-index:0}.board-drop-preview[data-v-6aa85730]{position:absolute;pointer-events:none;z-index:10;transform:translate(-50%,-50%)}.board-drop-preview-box[data-v-6aa85730]{width:clamp(50px,12vw,80px);height:clamp(44px,10vw,70px);border:3px dashed rgba(var(--accent-rgb, 93, 173, 226),.7);border-radius:clamp(5px,1vw,8px);background:rgba(var(--accent-rgb, 93, 173, 226),.1);animation:drop-preview-pulse-6aa85730 .8s ease infinite}@keyframes drop-preview-pulse-6aa85730{0%,to{transform:scale(1);border-color:rgba(var(--accent-rgb, 93, 173, 226),.7)}50%{transform:scale(1.05);border-color:rgba(var(--accent-rgb, 93, 173, 226),1)}}.player-rack[data-v-0d723cce]{--rack-row-height-front: clamp(36px, min(9vw, 13vh), 82px);--rack-row-height-back: clamp(36px, min(9vw, 13vh), 82px);--rack-padding: clamp(3px, min(.8vw, 1.2vh), 10px);--rack-gap: clamp(1px, .4vw, 4px);--ledge-height: clamp(3px, min(.8vw, 1.2vh), 8px);flex-shrink:0;position:relative;padding:0;display:flex;flex-direction:column}.rack-holder[data-v-0d723cce]{display:flex;flex-direction:column;gap:0;padding:clamp(8px,2vw,14px) var(--rack-padding) var(--rack-padding);background:linear-gradient(180deg,var(--rack-dark, #5d4e37) 0%,var(--rack-color, #6b5a42) 40%,var(--rack-light, #7a6950) 100%);border-radius:12px 0 0;box-shadow:0 -4px 12px #0000004d,inset 0 2px 4px #ffffff1a;position:relative;flex:1;min-height:calc(var(--rack-row-height-front) + var(--rack-row-height-back) + var(--ledge-height) * 2 + clamp(8px,2vw,14px) + var(--rack-padding) * 2)}.rack-row[data-v-0d723cce]{display:flex;flex-direction:column;position:relative;overflow:visible}.rack-row--back[data-v-0d723cce]{margin-bottom:clamp(2px,.5vw,4px);padding-top:clamp(4px,1vw,8px)}.rack-row--back .rack-row-inner[data-v-0d723cce]{min-height:var(--rack-row-height-back)}.rack-row--front[data-v-0d723cce]{margin-bottom:0}.rack-row--front .rack-row-inner[data-v-0d723cce]{min-height:var(--rack-row-height-front)}.rack-row-inner[data-v-0d723cce]{position:relative;display:flex;flex-wrap:nowrap;gap:var(--rack-gap);align-items:flex-end;justify-content:flex-start;padding:clamp(6px,1.5vw,12px) clamp(4px,1vw,8px) clamp(2px,.5vw,4px);overflow-x:auto;overflow-y:visible;scrollbar-width:none;min-width:100%}.rack-row-inner[data-v-0d723cce]::-webkit-scrollbar{display:none}.rack-ledge[data-v-0d723cce]{height:var(--ledge-height);background:linear-gradient(180deg,var(--rack-darker, #4a3f2a) 0%,var(--rack-dark, #5d4e37) 30%,var(--rack-color, #6b5a42) 70%,var(--rack-light, #7a6950) 100%);border-radius:0 0 3px 3px;box-shadow:0 2px 3px #0000004d,inset 0 1px #ffffff1a;margin:0 -2px}.rack-hint[data-v-0d723cce]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:clamp(.7rem,2vw,.9rem);opacity:.4;pointer-events:none;z-index:0;color:#fff;text-align:center}.rack-drop-indicator[data-v-0d723cce]{position:absolute;inset:0;border:3px dashed rgba(var(--accent-rgb, 93, 173, 226),.5);border-radius:12px 12px 0 0;pointer-events:none;opacity:0;transition:opacity .2s}.rack-drop-indicator--active[data-v-0d723cce]{opacity:1;animation:pulse-border-0d723cce 1s ease infinite}@keyframes pulse-border-0d723cce{0%,to{border-color:rgba(var(--accent-rgb, 93, 173, 226),.5)}50%{border-color:rgba(var(--accent-rgb, 93, 173, 226),.9)}}.rack-drop-preview[data-v-0d723cce]{position:absolute;pointer-events:none;z-index:10;transform:translate(-50%,-50%)}.rack-drop-preview-box[data-v-0d723cce]{width:clamp(32px,8vw,60px);height:clamp(36px,9vw,58px);border:2px dashed rgba(var(--accent-rgb, 93, 173, 226),.7);border-radius:5px;background:rgba(var(--accent-rgb, 93, 173, 226),.15);animation:drop-preview-pulse-0d723cce .8s ease infinite}@keyframes drop-preview-pulse-0d723cce{0%,to{transform:scale(1);border-color:#5dade2b3}50%{transform:scale(1.05);border-color:#5dade2}}.rack-row-inner[data-v-0d723cce] .tile-set{background:transparent;border-radius:clamp(3px,.6vw,5px);padding:clamp(1px,.3vw,3px);flex-shrink:0}.rack-row-inner[data-v-0d723cce] .tile-set--valid{border-color:#5dade299;background:#5dade226}.rack-row-inner[data-v-0d723cce] .tile-set--rack-single{background:transparent;border:none;padding:0}@media(max-width:400px){.player-rack[data-v-0d723cce]{--rack-row-height-front: clamp(30px, 10vh, 42px);--rack-row-height-back: clamp(30px, 10vh, 42px);--rack-padding: clamp(1px, .4vw, 3px);--ledge-height: clamp(2px, .5vw, 4px)}.rack-holder[data-v-0d723cce]{padding:clamp(4px,1vw,6px) var(--rack-padding) var(--rack-padding);border-radius:8px 0 0}.rack-row-inner[data-v-0d723cce]{padding:clamp(2px,.5vw,4px) clamp(2px,.5vw,4px) clamp(1px,.2vw,2px)}.rack-row--back[data-v-0d723cce]{padding-top:clamp(2px,.5vw,4px)}.rack-hint[data-v-0d723cce]{font-size:.6rem}}@media(max-height:450px){.player-rack[data-v-0d723cce]{--rack-row-height-front: clamp(28px, 12vh, 40px);--rack-row-height-back: clamp(28px, 12vh, 40px);--rack-padding: clamp(1px, .3vw, 3px);--ledge-height: clamp(1px, .4vw, 3px)}.rack-holder[data-v-0d723cce]{padding:clamp(2px,.8vw,4px) var(--rack-padding) var(--rack-padding);border-radius:6px 0 0}.rack-row-inner[data-v-0d723cce]{padding:clamp(1px,.4vw,3px) clamp(1px,.3vw,3px) clamp(1px,.2vw,2px)}.rack-row--back[data-v-0d723cce]{padding-top:clamp(1px,.4vw,3px);margin-bottom:clamp(1px,.3vw,2px)}.rack-hint[data-v-0d723cce]{font-size:.55rem}}@media(min-width:700px)and (max-width:850px){.player-rack[data-v-0d723cce]{--rack-row-height-front: clamp(34px, 7vh, 52px);--rack-row-height-back: clamp(34px, 7vh, 52px);--rack-padding: clamp(2px, .6vw, 6px);--ledge-height: clamp(2px, .5vw, 5px)}.rack-holder[data-v-0d723cce]{padding:clamp(4px,1vw,8px) var(--rack-padding) var(--rack-padding)}.rack-row-inner[data-v-0d723cce]{padding:clamp(3px,.8vw,6px) clamp(2px,.5vw,4px) clamp(1px,.3vw,2px)}.rack-row--back[data-v-0d723cce]{padding-top:clamp(2px,.5vw,4px)}}@media(min-width:850px)and (max-width:1100px){.player-rack[data-v-0d723cce]{--rack-row-height-front: clamp(42px, 8vh, 64px);--rack-row-height-back: clamp(42px, 8vh, 64px);--rack-padding: clamp(3px, .8vw, 8px);--ledge-height: clamp(3px, .7vw, 6px)}}.player-card[data-v-52aa2982]{display:flex;flex-direction:row;align-items:center;gap:clamp(4px,1vw,10px);padding:clamp(4px,1vh,6px) clamp(8px,2vw,14px) clamp(4px,1vh,6px) clamp(6px,1.5vw,8px);background:#ffffff14;border-radius:clamp(12px,3vw,20px);border:clamp(1px,.3vw,2px) solid transparent;transition:all .3s ease;position:relative;min-width:clamp(70px,18vw,110px);flex-shrink:0}.player-card--active[data-v-52aa2982]{background:rgba(var(--accent-rgb),.2);border-color:var(--accent-color, #5dade2);box-shadow:0 0 12px rgba(var(--accent-rgb),.3)}.player-card--self[data-v-52aa2982]{background:#ffffff1f}.player-card--self.player-card--active[data-v-52aa2982]{background:rgba(var(--accent-rgb),.25)}.player-card--clickable[data-v-52aa2982]{cursor:pointer}.player-card--clickable[data-v-52aa2982]:hover{transform:scale(1.02)}.player-card--clickable[data-v-52aa2982]:active{transform:scale(.98)}.avatar-container[data-v-52aa2982]{position:relative;width:clamp(24px,6vw,36px);height:clamp(24px,6vw,36px);flex-shrink:0}.timer-ring[data-v-52aa2982]{position:absolute;top:-3px;left:-3px;width:calc(clamp(24px,6vw,36px) + 6px);height:calc(clamp(24px,6vw,36px) + 6px)}.timer-bg[data-v-52aa2982]{stroke:#ffffff26}.timer-progress[data-v-52aa2982]{stroke:var(--accent-color, #5dade2);stroke-linecap:round;transition:stroke-dashoffset 1s linear,stroke .3s}.timer-progress--urgent[data-v-52aa2982]{stroke:#e74c3c;animation:pulse-stroke-52aa2982 1s infinite}@keyframes pulse-stroke-52aa2982{0%,to{stroke-opacity:1}50%{stroke-opacity:.5}}.avatar-wrapper[data-v-52aa2982]{width:clamp(24px,6vw,36px);height:clamp(24px,6vw,36px);border-radius:50%;overflow:hidden;background:#fff3;border:clamp(1px,.3vw,2px) solid transparent;transition:border-color .3s}.player-card--active .avatar-wrapper[data-v-52aa2982]{border-color:var(--accent-color, #5dade2)}.avatar-img[data-v-52aa2982]{width:100%;height:100%;object-fit:cover}.avatar-placeholder[data-v-52aa2982]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:clamp(.65rem,2vw,1rem);color:#fff}.turn-indicator-dot[data-v-52aa2982]{position:absolute;bottom:-2px;right:-2px;width:clamp(8px,2vw,12px);height:clamp(8px,2vw,12px);background:var(--accent-color, #5dade2);border-radius:50%;border:clamp(1px,.3vw,2px) solid var(--bg-color, #1a5c2a);animation:pulse-dot-52aa2982 1.5s ease-in-out infinite}@keyframes pulse-dot-52aa2982{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.player-card--disconnected[data-v-52aa2982]{opacity:.6}.avatar-wrapper--disconnected[data-v-52aa2982]{filter:grayscale(100%)}.connection-indicator[data-v-52aa2982]{position:absolute;bottom:-2px;right:-2px;width:clamp(6px,1.5vw,9px);height:clamp(6px,1.5vw,9px);border-radius:50%;border:clamp(1px,.2vw,2px) solid var(--bg-color, #1a5c2a)}.connection-indicator--online[data-v-52aa2982]{background:#2ecc71}.connection-indicator--offline[data-v-52aa2982]{background:#e74c3c;animation:pulse-offline-52aa2982 1.5s ease-in-out infinite}@keyframes pulse-offline-52aa2982{0%,to{opacity:1}50%{opacity:.5}}.player-info[data-v-52aa2982]{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-width:0}.player-name[data-v-52aa2982]{font-weight:600;font-size:clamp(.55rem,1.8vw,.75rem);color:#fffffff2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:clamp(50px,15vw,100px);line-height:1.2}.tile-count[data-v-52aa2982]{font-size:clamp(.45rem,1.4vw,.6rem);font-weight:500;color:#fff9;white-space:nowrap}@media(max-width:600px){.player-card[data-v-52aa2982]{padding:4px 8px 4px 5px;gap:5px;min-width:80px}.avatar-container[data-v-52aa2982]{width:26px;height:26px}.timer-ring[data-v-52aa2982]{width:32px;height:32px;top:-3px;left:-3px}.avatar-wrapper[data-v-52aa2982]{width:26px;height:26px}.turn-indicator-dot[data-v-52aa2982]{width:9px;height:9px}.player-name[data-v-52aa2982]{font-size:.6rem;max-width:60px}.tile-count[data-v-52aa2982]{font-size:.5rem}}@media(max-width:400px){.player-card[data-v-52aa2982]{padding:3px 6px 3px 4px;gap:3px;min-width:60px;border-radius:10px}.avatar-container[data-v-52aa2982]{width:22px;height:22px}.timer-ring[data-v-52aa2982]{width:28px;height:28px}.avatar-wrapper[data-v-52aa2982]{width:22px;height:22px}.turn-indicator-dot[data-v-52aa2982]{width:7px;height:7px}.player-name[data-v-52aa2982]{font-size:.5rem;max-width:40px}.tile-count[data-v-52aa2982]{font-size:.4rem}.avatar-placeholder[data-v-52aa2982]{font-size:.55rem}}@media(max-height:450px){.player-card[data-v-52aa2982]{padding:3px 6px 3px 4px;gap:4px;min-width:65px;border-radius:12px}.avatar-container[data-v-52aa2982]{width:24px;height:24px}.timer-ring[data-v-52aa2982]{width:30px;height:30px}.avatar-wrapper[data-v-52aa2982]{width:24px;height:24px}.player-name[data-v-52aa2982]{font-size:.55rem;max-width:50px}.tile-count[data-v-52aa2982]{font-size:.45rem}}.draw-pile-wrapper[data-v-d12ab5f1]{position:relative}.draw-pile[data-v-d12ab5f1]{display:flex;flex-direction:column;align-items:center;gap:clamp(2px,.5vw,4px);padding:clamp(4px,1vw,8px) clamp(6px,1.5vw,12px);background:#ffffff1f;border:2px solid rgba(255,255,255,.2);border-radius:clamp(6px,1.5vw,10px);color:#fff;cursor:pointer;transition:background .2s,transform .15s}.draw-pile[data-v-d12ab5f1]:hover:not(:disabled){background:#ffffff38;transform:scale(1.03)}.draw-pile[data-v-d12ab5f1]:active:not(:disabled){transform:scale(.97)}.draw-pile[data-v-d12ab5f1]:disabled{opacity:.4;cursor:not-allowed}.pile-stack[data-v-d12ab5f1]{position:relative;width:clamp(24px,min(6vw,9vh),44px);height:clamp(32px,min(8vw,12vh),58px)}.pile-card[data-v-d12ab5f1]{position:absolute;width:clamp(24px,min(6vw,9vh),44px);height:clamp(32px,min(8vw,12vh),58px);border-radius:clamp(2px,.6vw,5px);background:linear-gradient(135deg,#2c3e50,#34495e,#2c3e50);border:1.5px solid rgba(255,255,255,.15);box-shadow:0 2px 4px #0000004d}.pile-card--3[data-v-d12ab5f1]{top:4px;left:4px}.pile-card--2[data-v-d12ab5f1]{top:2px;left:2px}.pile-card--1[data-v-d12ab5f1]{top:0;left:0;background:linear-gradient(135deg,#34495e,#4a6a8a,#34495e);border:1.5px solid rgba(255,255,255,.25)}.pile-count[data-v-d12ab5f1]{font-size:clamp(.6rem,min(1.5vw,2.2vh),1rem);font-weight:700}.pile-label[data-v-d12ab5f1]{font-size:clamp(.45rem,min(1.2vw,1.8vh),.7rem);opacity:.7;text-transform:uppercase;letter-spacing:.5px}.flying-card[data-v-d12ab5f1]{width:clamp(24px,min(6vw,9vh),44px);height:clamp(32px,min(8vw,12vh),58px);pointer-events:none;perspective:1000px;transform-origin:center center;will-change:transform,left,top,box-shadow;border-radius:clamp(4px,.8vw,6px)}.flying-card-inner[data-v-d12ab5f1]{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .3s ease}.flying-card-inner--flipped[data-v-d12ab5f1]{transform:rotateY(180deg)}.flying-card-back[data-v-d12ab5f1],.flying-card-front[data-v-d12ab5f1]{position:absolute;width:100%;height:100%;border-radius:5px;backface-visibility:hidden;display:flex;align-items:center;justify-content:center}.flying-card-back[data-v-d12ab5f1]{background:linear-gradient(135deg,#34495e,#4a6a8a,#34495e);border:1.5px solid rgba(255,255,255,.25);box-shadow:0 8px 24px #0006}.flying-card-front[data-v-d12ab5f1]{background:#f5f0e8;border:1.5px solid rgba(0,0,0,.1);box-shadow:0 8px 24px #0006;transform:rotateY(180deg);font-size:1.3rem;font-weight:800}.flying-card-front--joker[data-v-d12ab5f1]{background:linear-gradient(135deg,#fff4e6,#ffe4c9,#fff8dc)}.drawn--black[data-v-d12ab5f1]{color:#1a1a2e}.drawn--red[data-v-d12ab5f1]{color:red}.drawn--blue[data-v-d12ab5f1]{color:#2980b9}.drawn--orange[data-v-d12ab5f1]{color:#ff8c00}.drawn-joker[data-v-d12ab5f1]{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.drawn-joker .joker-face[data-v-d12ab5f1]{width:80%;height:80%;filter:drop-shadow(1px 1px 1px rgba(0,0,0,.2))}@media(min-width:700px)and (max-width:850px){.draw-pile[data-v-d12ab5f1]{gap:clamp(1px,.3vw,2px);padding:clamp(3px,.7vw,6px) clamp(4px,1vw,8px);border-radius:clamp(4px,1vw,8px)}.pile-stack[data-v-d12ab5f1],.pile-card[data-v-d12ab5f1]{width:clamp(22px,5vw,32px);height:clamp(30px,6.5vw,42px)}.pile-card--3[data-v-d12ab5f1]{top:3px;left:3px}.pile-card--2[data-v-d12ab5f1]{top:1.5px;left:1.5px}.pile-count[data-v-d12ab5f1]{font-size:clamp(.5rem,1.2vw,.8rem)}.pile-label[data-v-d12ab5f1]{font-size:clamp(.4rem,1vw,.6rem)}}@media(min-width:850px)and (max-width:1100px){.pile-stack[data-v-d12ab5f1],.pile-card[data-v-d12ab5f1]{width:clamp(28px,5.5vw,40px);height:clamp(36px,7vw,52px)}}@media(max-width:400px){.draw-pile[data-v-d12ab5f1]{gap:1px;padding:2px 4px;border-radius:4px;border-width:1px}.pile-stack[data-v-d12ab5f1]{width:18px;height:24px}.pile-card[data-v-d12ab5f1]{width:18px;height:24px;border-radius:2px}.pile-card--3[data-v-d12ab5f1]{top:2px;left:2px}.pile-card--2[data-v-d12ab5f1]{top:1px;left:1px}.pile-count[data-v-d12ab5f1]{font-size:.5rem}.pile-label[data-v-d12ab5f1]{font-size:.35rem}}@media(max-height:450px){.draw-pile[data-v-d12ab5f1]{gap:1px;padding:2px 4px;border-radius:5px}.pile-stack[data-v-d12ab5f1]{width:20px;height:28px}.pile-card[data-v-d12ab5f1]{width:20px;height:28px;border-radius:2px}.pile-count[data-v-d12ab5f1]{font-size:.5rem}.pile-label[data-v-d12ab5f1]{font-size:.4rem}}.modal-overlay[data-v-979de655]{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-979de655]{background:#1a5c2a;border:2px solid rgba(255,255,255,.2);border-radius:16px;padding:30px;text-align:center;min-width:300px;max-width:90vw}h2[data-v-979de655]{font-size:1.8rem;margin-bottom:8px}.winner[data-v-979de655]{font-size:1.3rem;color:#f1c40f;font-weight:700;margin-bottom:20px}.scores[data-v-979de655]{width:100%;border-collapse:collapse;margin-bottom:24px}.scores th[data-v-979de655],.scores td[data-v-979de655]{padding:8px 12px;text-align:center;border-bottom:1px solid rgba(255,255,255,.1)}.scores th[data-v-979de655]{font-size:.85rem;opacity:.7;font-weight:600}.score-winner[data-v-979de655]{background:#f1c40f26}.positive[data-v-979de655]{color:#2ecc71;font-weight:700}.negative[data-v-979de655]{color:#e74c3c;font-weight:700}.btn-back[data-v-979de655]{padding:12px 30px;border:none;border-radius:8px;background:#3498db;color:#fff;font-size:1rem;font-weight:600;cursor:pointer}.btn-back[data-v-979de655]:active{transform:scale(.98)}.game-exited-overlay[data-v-c06ce1ac]{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100000;animation:fadeIn-c06ce1ac .3s ease}@keyframes fadeIn-c06ce1ac{0%{opacity:0}to{opacity:1}}.game-exited-modal[data-v-c06ce1ac]{background:linear-gradient(135deg,#2d2d2d,#1a1a1a);border-radius:16px;padding:32px 40px;text-align:center;box-shadow:0 20px 60px #00000080;border:1px solid rgba(255,255,255,.1);max-width:400px;width:90%;animation:slideUp-c06ce1ac .3s ease}@keyframes slideUp-c06ce1ac{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-icon[data-v-c06ce1ac]{font-size:48px;margin-bottom:16px;animation:bounce-c06ce1ac .5s ease}@keyframes bounce-c06ce1ac{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.modal-title[data-v-c06ce1ac]{color:#fff;font-size:24px;margin:0 0 16px;font-weight:600}.modal-message[data-v-c06ce1ac]{color:#ccc;font-size:16px;line-height:1.5;margin:0 0 24px}.btn-back-to-lobby[data-v-c06ce1ac]{background:linear-gradient(135deg,#5dade2,#3498db);color:#fff;border:none;padding:12px 32px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-back-to-lobby[data-v-c06ce1ac]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #5dade266}.btn-back-to-lobby[data-v-c06ce1ac]:active{transform:translateY(0)}@media(max-height:500px){.game-exited-modal[data-v-c06ce1ac]{padding:20px 28px}.modal-icon[data-v-c06ce1ac]{font-size:36px;margin-bottom:12px}.modal-title[data-v-c06ce1ac]{font-size:20px;margin-bottom:12px}.modal-message[data-v-c06ce1ac]{font-size:14px;margin-bottom:16px}.btn-back-to-lobby[data-v-c06ce1ac]{padding:10px 24px;font-size:14px}}.settings-panel[data-v-1b6eeb76]{position:relative}.settings-toggle[data-v-1b6eeb76]{width:clamp(28px,6vw,36px);height:clamp(28px,6vw,36px);border-radius:50%;border:none;background:#ffffff26;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;flex-shrink:0}.settings-toggle[data-v-1b6eeb76]:hover{background:#ffffff40}.settings-panel--open .settings-toggle[data-v-1b6eeb76]{transform:rotate(60deg)}.settings-icon[data-v-1b6eeb76]{font-size:clamp(1rem,2.5vw,1.3rem)}.settings-dropdown[data-v-1b6eeb76]{position:fixed;top:clamp(45px,8vh,60px);right:10px;background:#1e1e1efa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:clamp(8px,2vw,12px);padding:clamp(10px,2.5vw,16px);min-width:clamp(180px,50vw,240px);max-width:calc(100vw - 20px);max-height:calc(100vh - clamp(55px,10vh,80px));overflow-y:auto;box-shadow:0 8px 32px #00000080,0 0 0 1px #ffffff1a;z-index:99999}.settings-title[data-v-1b6eeb76]{font-size:1rem;font-weight:600;margin-bottom:16px;color:#fff}.settings-section[data-v-1b6eeb76]{margin-bottom:16px}.settings-section[data-v-1b6eeb76]:last-child{margin-bottom:0}.settings-label[data-v-1b6eeb76]{display:block;font-size:.85rem;color:#ffffffb3;margin-bottom:8px}.avatar-row[data-v-1b6eeb76]{display:flex;align-items:center;gap:12px}.avatar-preview[data-v-1b6eeb76]{width:48px;height:48px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,255,255,.3);background:#ffffff1a}.avatar-img[data-v-1b6eeb76]{width:100%;height:100%;object-fit:cover}.btn[data-v-1b6eeb76]{padding:8px 14px;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;background:#ffffff26;color:#fff;transition:background .2s}.btn[data-v-1b6eeb76]:hover{background:#ffffff40}.btn-small[data-v-1b6eeb76]{padding:6px 12px;font-size:.8rem}.color-grid[data-v-1b6eeb76]{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.color-swatch[data-v-1b6eeb76]{width:36px;height:36px;border-radius:8px;border:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,transform .1s}.color-swatch[data-v-1b6eeb76]:hover{transform:scale(1.1)}.color-swatch--selected[data-v-1b6eeb76]{border-color:#fff}.check-mark[data-v-1b6eeb76]{color:#fff;font-size:1rem;text-shadow:0 1px 2px rgba(0,0,0,.5)}@media(max-width:400px){.settings-dropdown[data-v-1b6eeb76]{padding:10px;min-width:160px}.settings-title[data-v-1b6eeb76]{font-size:.9rem;margin-bottom:12px}.settings-section[data-v-1b6eeb76]{margin-bottom:12px}.settings-label[data-v-1b6eeb76]{font-size:.75rem;margin-bottom:6px}.avatar-preview[data-v-1b6eeb76]{width:36px;height:36px}.btn-small[data-v-1b6eeb76]{padding:4px 8px;font-size:.7rem}.color-grid[data-v-1b6eeb76]{grid-template-columns:repeat(5,1fr);gap:4px}.color-swatch[data-v-1b6eeb76]{width:28px;height:28px;border-radius:6px}.check-mark[data-v-1b6eeb76]{font-size:.8rem}}@media(max-height:450px){.settings-dropdown[data-v-1b6eeb76]{top:40px;padding:8px;max-height:calc(100vh - 50px)}.settings-title[data-v-1b6eeb76]{font-size:.85rem;margin-bottom:8px}.settings-section[data-v-1b6eeb76]{margin-bottom:8px}.avatar-preview[data-v-1b6eeb76]{width:32px;height:32px}.color-swatch[data-v-1b6eeb76]{width:26px;height:26px}}.celebration-canvas{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;max-width:100vw!important;max-height:100vh!important;z-index:2147483647!important;pointer-events:none!important;overflow:hidden!important;margin:0!important;padding:0!important;border:none!important;box-sizing:border-box!important}html:has(.celebration-canvas),body:has(.celebration-canvas){overflow:hidden!important}[data-v-06eb985e]:root{--accent-color: #5dade2;--accent-color-light: rgba(93, 173, 226, .5);--accent-color-lighter: rgba(93, 173, 226, .15);--accent-color-dark: #3498db}.game-view[data-v-06eb985e]{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;background:var(--bg-color, #1a5c2a)}.players-bar[data-v-06eb985e]{display:flex;gap:clamp(4px,1vw,8px);padding:clamp(4px,1vh,8px) clamp(6px,1.5vw,10px);overflow-x:auto;flex-shrink:0;align-items:center;background:var(--bg-darker, rgba(0, 0, 0, .2));max-height:clamp(48px,8vh,70px)}.players-list[data-v-06eb985e]{display:flex;gap:clamp(4px,1vw,8px);overflow-x:auto;flex-shrink:1;min-width:0;scrollbar-width:none;-ms-overflow-style:none}.players-list[data-v-06eb985e]::-webkit-scrollbar{display:none}.players-bar-right[data-v-06eb985e]{margin-left:auto;display:flex;align-items:center;gap:clamp(4px,1vw,8px);flex-shrink:0}.btn-sort[data-v-06eb985e]{padding:clamp(2px,.5vh,4px) clamp(6px,1.5vw,10px);background:#ffffff26;border:1px solid rgba(255,255,255,.2);border-radius:clamp(4px,1vw,6px);color:#fff;font-size:clamp(.6rem,1.5vw,.75rem);font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn-sort[data-v-06eb985e]:hover{background:rgba(var(--accent-rgb, 93, 173, 226),.3);border-color:rgba(var(--accent-rgb, 93, 173, 226),.5)}.btn-sort[data-v-06eb985e]:active{transform:scale(.95)}.game-area[data-v-06eb985e]{flex:1;overflow:hidden;position:relative;min-height:0;display:flex;flex-direction:column;background:var(--bg-color, #1a5c2a)}.action-bar[data-v-06eb985e]{display:flex;align-items:center;justify-content:center;gap:8px;padding:4px 8px;flex-shrink:0;background:#0000001a}.player-area[data-v-06eb985e]{display:flex;flex-shrink:0;gap:0;align-items:stretch;margin-top:auto}.player-area[data-v-06eb985e]>:first-child{flex:1;min-width:0}.side-actions[data-v-06eb985e]{display:flex;flex-direction:column;gap:clamp(2px,.8vh,8px);padding:clamp(4px,1vh,14px) clamp(4px,1vw,12px);background:linear-gradient(180deg,var(--rack-darker, #4a3f2a) 0%,var(--rack-dark, #5d4e37) 40%,var(--rack-color, #6b5a42) 100%);justify-content:flex-end;align-items:center;border-radius:0 clamp(6px,1.5vw,12px) 0 0;box-shadow:-4px 0 12px #0003,inset 2px 0 4px #ffffff0d;max-width:clamp(60px,15vw,90px)}.btn-side[data-v-06eb985e]{width:100%;min-width:clamp(44px,10vw,70px);padding:clamp(4px,1vh,10px) clamp(6px,1.5vw,14px);font-size:clamp(.55rem,min(1.5vw,2vh),.8rem);white-space:nowrap}.btn[data-v-06eb985e]{padding:8px 12px;border:none;border-radius:6px;font-weight:600;font-size:.8rem;cursor:pointer;transition:opacity .2s,transform .1s}@media(min-width:480px){.opponents-bar[data-v-06eb985e]{gap:8px;padding:8px 12px}.opponents-bar-right[data-v-06eb985e]{gap:10px}.btn-sort[data-v-06eb985e]{padding:6px 12px;font-size:.8rem}.turn-indicator[data-v-06eb985e]{padding:6px 14px;font-size:.9rem}.btn[data-v-06eb985e]{padding:10px 16px;font-size:.85rem}}@media(min-width:768px){.btn[data-v-06eb985e]{padding:10px 18px;font-size:.9rem;border-radius:8px}}.btn[data-v-06eb985e]:disabled{opacity:.4;cursor:not-allowed}.btn[data-v-06eb985e]:active:not(:disabled){transform:scale(.98)}.btn-undo[data-v-06eb985e]{background:#ffffff26;color:#fff}.btn-end-turn[data-v-06eb985e]{background:#e74c3c;color:#fff}.btn-exit[data-v-06eb985e]{background:#ffffff1a;color:#ffffffb3;border:1px solid rgba(255,255,255,.2);margin-top:auto}.btn-exit[data-v-06eb985e]:hover{background:#e74c3c4d;color:#fff;border-color:#e74c3c80}.toast[data-v-06eb985e]{position:fixed;top:80px;left:50%;transform:translate(-50%);padding:10px 20px;border-radius:8px;font-weight:600;font-size:.9rem;z-index:50;animation:fadeInOut-06eb985e 3s ease}.toast--error[data-v-06eb985e]{background:#e74c3ce6;color:#fff}.toast--warning[data-v-06eb985e]{background:#f39c12e6;color:#fff}@keyframes fadeInOut-06eb985e{0%{opacity:0;transform:translate(-50%) translateY(-10px)}15%{opacity:1;transform:translate(-50%) translateY(0)}85%{opacity:1}to{opacity:0}}.drag-ghost[data-v-06eb985e]{--ghost-width: clamp(20px, min(5.5vw, 8vh), 52px);--ghost-height: clamp(28px, min(7.7vw, 11.2vh), 72px);--ghost-font: clamp(.55rem, min(1.5vw, 2.2vh), 1.6rem);position:fixed;z-index:1000;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;transition:none}.drag-ghost-tiles[data-v-06eb985e]{position:relative;display:flex;filter:drop-shadow(0 12px 32px rgba(0,0,0,.4))}.drag-ghost-tile[data-v-06eb985e]{width:var(--ghost-width);height:var(--ghost-height);background:#f5f0e8;border-radius:clamp(3px,.8vw,6px);display:flex;align-items:center;justify-content:center;font-size:var(--ghost-font);font-weight:800;box-shadow:0 2px 8px #0000004d;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;pointer-events:none;position:absolute;top:0;left:0;transform-origin:center bottom}.drag-ghost-tiles:has(.drag-ghost-tile:only-child) .drag-ghost-tile[data-v-06eb985e]{transform:scale(1.15) rotate(2deg)!important}.drag-ghost-tile.tile--joker[data-v-06eb985e]{background:linear-gradient(135deg,#f093fb,#f5576c,gold)}.drag-ghost-tile .tile-joker[data-v-06eb985e]{color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.drag-ghost-tile.tile--black .tile-number[data-v-06eb985e]{color:#1a1a2e}.drag-ghost-tile.tile--red .tile-number[data-v-06eb985e]{color:#e74c3c}.drag-ghost-tile.tile--blue .tile-number[data-v-06eb985e]{color:#2980b9}.drag-ghost-tile.tile--orange .tile-number[data-v-06eb985e]{color:#e67e22}.drag-ghost-count[data-v-06eb985e]{position:absolute;top:clamp(-4px,-1vw,-8px);right:clamp(-4px,-1vw,-8px);width:clamp(14px,min(3.5vw,5vh),24px);height:clamp(14px,min(3.5vw,5vh),24px);background:var(--accent-color, #5dade2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:clamp(.45rem,min(1.2vw,1.8vh),.75rem);font-weight:700;box-shadow:0 2px 6px #0000004d}@media(min-width:700px)and (max-width:850px){.side-actions[data-v-06eb985e]{gap:clamp(2px,.6vw,4px);padding:clamp(4px,1vw,8px) clamp(4px,1vw,8px);border-radius:0 8px 0 0}.btn-side[data-v-06eb985e]{min-width:clamp(40px,8vw,56px);padding:clamp(4px,1vw,8px) clamp(6px,1.5vw,10px);font-size:clamp(.5rem,1.2vw,.65rem)}.drag-ghost[data-v-06eb985e]{--ghost-width: clamp(22px, 4.5vw, 36px);--ghost-height: clamp(30px, 6.3vw, 50px);--ghost-font: clamp(.6rem, 1.2vw, 1rem)}}@media(min-width:850px)and (max-width:1100px){.side-actions[data-v-06eb985e]{gap:clamp(3px,.8vw,6px);padding:clamp(6px,1.5vw,10px) clamp(5px,1.2vw,10px)}.btn-side[data-v-06eb985e]{min-width:clamp(48px,10vw,64px);padding:clamp(5px,1.2vw,9px) clamp(7px,1.8vw,12px);font-size:clamp(.55rem,1.4vw,.75rem)}.drag-ghost[data-v-06eb985e]{--ghost-width: clamp(28px, 4vw, 42px);--ghost-height: clamp(39px, 5.6vw, 58px);--ghost-font: clamp(.8rem, 1.3vw, 1.2rem)}}@media(max-width:400px){.players-bar[data-v-06eb985e]{padding:3px 4px;gap:3px;max-height:44px}.players-list[data-v-06eb985e]{gap:3px}.btn-sort[data-v-06eb985e]{padding:2px 6px;font-size:.55rem}.side-actions[data-v-06eb985e]{gap:2px;padding:3px;max-width:52px}.btn-side[data-v-06eb985e]{min-width:40px;padding:3px 4px;font-size:.5rem}}@media(max-height:450px){.players-bar[data-v-06eb985e]{padding:2px 6px;max-height:38px}.side-actions[data-v-06eb985e]{gap:1px;padding:2px 4px}.btn-side[data-v-06eb985e]{padding:2px 4px;font-size:.5rem}.toast[data-v-06eb985e]{top:40px;padding:6px 12px;font-size:.75rem}}.tile-ghost{opacity:.3}.tile-chosen{box-shadow:0 0 12px #f1c40f99;transform:scale(1.1);z-index:100}:root{font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden}
