@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap";.profanity-toggle[data-v-6c457499]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:1px solid rgba(161,141,95,.2);background:#ffffff0d;color:#fefcf066;cursor:pointer;transition:all .15s ease;flex-shrink:0}.profanity-toggle[data-v-6c457499]:hover{background:#ffffff1a;color:#fefcf0cc}.profanity-toggle.active[data-v-6c457499]{color:#fefcf0b3;border-color:#a18d5f59}#happiness-app[data-v-71bcd62d]{--app-header-height: 84px;min-height:100vh;display:flex;flex-direction:column;background:var(--color-background, #0B0F14)}.app-header[data-v-71bcd62d]{background:#0b0f14e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.6rem 2rem;border-bottom:1px solid rgba(161,141,95,.15);flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.header-brand[data-v-71bcd62d]{display:flex;align-items:center;justify-content:center;gap:.25rem}.header-logo[data-v-71bcd62d]{height:64px;width:auto;object-fit:contain;flex-shrink:0}.header-text[data-v-71bcd62d]{display:flex;flex-direction:column}.app-title[data-v-71bcd62d]{margin:0;font-size:2.75rem;font-weight:700;line-height:1;letter-spacing:.12em;background:linear-gradient(135deg,var(--happiness-pink, #E10066),var(--happiness-blue, #0097E3));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-subtitle[data-v-71bcd62d]{margin:0;font-size:.65rem;color:var(--color-text-hint, rgba(254, 252, 240, .4));letter-spacing:.15em;text-transform:uppercase;padding-left:.15rem}.app-main[data-v-71bcd62d]{flex:1;background:var(--color-background, #0B0F14)}.lobby-list[data-v-860c65b6]{display:flex;flex-direction:column;gap:.75rem}.loading-text[data-v-860c65b6],.empty-text[data-v-860c65b6]{text-align:center;padding:2rem;color:var(--color-text-secondary)}.lobby-item[data-v-860c65b6]{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--color-surface-elevated);border-radius:8px;border:1px solid var(--color-border);transition:all var(--transition-fast)}.lobby-item[data-v-860c65b6]:hover{border-color:var(--color-joy-primary)}.lobby-info[data-v-860c65b6]{flex:1}.lobby-name[data-v-860c65b6]{font-weight:600;margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.lobby-code[data-v-860c65b6]{font-family:monospace;font-size:.75rem;background:var(--color-surface);padding:.15rem .4rem;border-radius:4px;color:var(--color-text-secondary)}.password-indicator[data-v-860c65b6]{font-size:.75rem;color:var(--color-text-hint)}.lobby-details[data-v-860c65b6]{font-size:.875rem;color:var(--color-text-secondary)}.lobby-actions[data-v-860c65b6]{display:flex;align-items:center;gap:.75rem}.lobby-create-form[data-v-87f7dc67]{min-width:300px}.form-row[data-v-87f7dc67]{display:flex;gap:1rem}.form-row .form-group[data-v-87f7dc67]{flex:1}.checkbox-label[data-v-87f7dc67]{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input[data-v-87f7dc67]{width:18px;height:18px}.error-message[data-v-87f7dc67]{padding:.75rem;background:#f443361a;color:var(--color-error);border-radius:6px;font-size:.875rem;margin-bottom:1rem}.form-actions[data-v-87f7dc67]{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.lobby-join-form[data-v-b921f608]{min-width:300px}.error-message[data-v-b921f608]{padding:.75rem;background:#f443361a;color:var(--color-error);border-radius:6px;font-size:.875rem;margin-bottom:1rem}.form-actions[data-v-b921f608]{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.home-view[data-v-f5090c0e]{position:relative;min-height:calc(100vh - 80px);overflow:hidden}.lobby-bg-video[data-v-f5090c0e]{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.4;pointer-events:none}.lobby-content[data-v-f5090c0e]{position:relative;z-index:1;max-width:800px;margin:0 auto;padding:1.5rem 1rem;min-height:calc(100vh - 80px);display:flex;flex-direction:column}.home-actions[data-v-f5090c0e]{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.error-message[data-v-f5090c0e]{padding:.75rem 1rem;background:var(--color-error);color:#fff;border-radius:8px;margin-bottom:1rem;font-size:.875rem}.lobbies-section[data-v-f5090c0e]{padding:1.5rem}.lobbies-section h2[data-v-f5090c0e]{margin-bottom:1rem;color:var(--gold-highlight);font-size:1.25rem}.rejoin-banner[data-v-f5090c0e]{background:linear-gradient(135deg,var(--color-joy-primary) 0%,#6366f1 100%);padding:.75rem 1.25rem;border-radius:12px;margin-bottom:1.25rem;color:#fff;box-shadow:var(--shadow-md)}.rejoin-content[data-v-f5090c0e]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.rejoin-text[data-v-f5090c0e]{font-size:.9rem}.rejoin-code[data-v-f5090c0e]{opacity:.8;font-family:monospace;font-size:.85em}.rejoin-actions[data-v-f5090c0e]{display:flex;gap:.5rem}.lobby-footer[data-v-f5090c0e]{margin-top:auto;padding:2rem 0 1rem;text-align:center;color:var(--color-text-hint, rgba(254, 252, 240, .4));font-size:.75rem;letter-spacing:.03em}.lobby-footer p[data-v-f5090c0e]{margin:.2rem 0}.lobby-footer a[data-v-f5090c0e]{color:var(--gold-foil, #A18D5F);text-decoration:none;transition:color .25s ease}.lobby-footer a[data-v-f5090c0e]:hover{color:var(--gold-highlight, #FEFCF0);text-decoration:underline}.lobby-waiting[data-v-f3bebff1]{max-width:500px;margin:0 auto}.player-list[data-v-f3bebff1]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.player-item[data-v-f3bebff1]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--color-surface-elevated);border-radius:6px;border-left:3px solid transparent}.player-item.host[data-v-f3bebff1]{border-left-color:var(--color-joy-primary)}.player-item.ready[data-v-f3bebff1]{border-left-color:var(--color-success)}.player-item.bot[data-v-f3bebff1]{border-left-color:var(--color-echo, #8b5cf6)}.player-info[data-v-f3bebff1]{display:flex;align-items:center;gap:.5rem}.bot-icon[data-v-f3bebff1]{font-size:1rem}.player-name[data-v-f3bebff1]{font-weight:500}.you-badge[data-v-f3bebff1]{font-size:.75rem;color:var(--color-text-hint)}.archetype-badge[data-v-f3bebff1]{font-size:.65rem;padding:.1rem .4rem;border-radius:3px;background:var(--color-surface);color:var(--color-text-secondary);text-transform:capitalize}.player-status[data-v-f3bebff1]{display:flex;align-items:center;gap:.5rem}.not-ready-badge[data-v-f3bebff1]{padding:.125rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;background:var(--color-bummer-light);color:var(--color-text-secondary)}.add-bot-section[data-v-f3bebff1]{margin-bottom:1.5rem;padding:1rem;background:var(--color-surface-elevated);border-radius:8px;border:1px dashed var(--color-border)}.add-bot-title[data-v-f3bebff1]{font-size:.875rem;font-weight:600;margin:0 0 .75rem;color:var(--color-text-secondary)}.add-bot-controls[data-v-f3bebff1]{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.bot-select-group[data-v-f3bebff1]{display:flex;flex-direction:column;gap:.25rem}.bot-select-label[data-v-f3bebff1]{font-size:.7rem;color:var(--color-text-hint);text-transform:uppercase}.bot-select[data-v-f3bebff1]{padding:.375rem .5rem;border-radius:4px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font-size:.8rem;min-width:100px}.lobby-actions[data-v-f3bebff1]{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.waiting-hint[data-v-f3bebff1]{text-align:center;color:var(--color-text-secondary);font-size:.875rem}.starting-message[data-v-f3bebff1]{font-size:1.25rem;font-weight:600;color:var(--color-joy-secondary);animation:pulse 1s infinite}.lobby-settings[data-v-1f1374f7]{margin-bottom:1rem}.ui-card-header[data-v-1f1374f7]{display:flex;justify-content:space-between;align-items:center}.settings-display[data-v-1f1374f7]{display:flex;flex-direction:column;gap:.5rem}.setting-row[data-v-1f1374f7]{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--color-border)}.setting-row[data-v-1f1374f7]:last-child{border-bottom:none}.setting-label[data-v-1f1374f7]{color:var(--color-text-secondary);font-size:.875rem}.setting-value[data-v-1f1374f7]{font-weight:500}.difficulty-badge[data-v-1f1374f7]{padding:.125rem .5rem;border-radius:4px;font-size:.75rem}.difficulty-badge.easy[data-v-1f1374f7]{background:#4ecdc41a;color:var(--color-text-secondary)}.difficulty-badge.hard[data-v-1f1374f7]{background:#ff6b6b1a;color:var(--color-text-secondary)}.timer-note[data-v-1f1374f7]{font-size:.75rem;color:var(--color-text-hint)}.settings-form[data-v-1f1374f7]{display:flex;flex-direction:column;gap:1rem}.form-group[data-v-1f1374f7]{display:flex;flex-direction:column;gap:.25rem}.form-group label[data-v-1f1374f7]{font-size:.875rem;color:var(--color-text-secondary)}.form-row[data-v-1f1374f7]{display:flex;gap:1rem}.form-row .form-group[data-v-1f1374f7]{flex:1}.form-input[data-v-1f1374f7],.form-select[data-v-1f1374f7]{padding:.5rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface-elevated);color:var(--color-text-primary);font-size:1rem}.form-input[data-v-1f1374f7]:focus,.form-select[data-v-1f1374f7]:focus{outline:none;border-color:var(--color-joy-primary)}.checkbox-label[data-v-1f1374f7]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.checkbox-label input[data-v-1f1374f7]{width:1rem;height:1rem}.form-actions[data-v-1f1374f7]{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.lobby-view[data-v-afce08e6]{max-width:600px;margin:0 auto;padding:1rem;min-height:calc(100vh - 80px);display:flex;flex-direction:column}.loading-state[data-v-afce08e6],.error-state[data-v-afce08e6]{text-align:center;padding:3rem;background:var(--color-surface);border-radius:12px}.error-state p[data-v-afce08e6]{margin-bottom:1rem;color:var(--color-error)}.lobby-header[data-v-afce08e6]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding:1rem;background:var(--color-surface);border-radius:12px}.lobby-header h2[data-v-afce08e6]{margin:0 0 .25rem}.lobby-code-container[data-v-afce08e6]{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.lobby-code-label[data-v-afce08e6]{font-size:.875rem;color:var(--color-text-secondary)}.lobby-code[data-v-afce08e6]{font-family:monospace;font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,var(--color-joy-primary) 0%,#6366f1 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;padding:.25rem .5rem;border-radius:4px;cursor:pointer;letter-spacing:.15em}.copy-btn[data-v-afce08e6]{padding:.25rem .5rem;font-size:.75rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.copy-btn[data-v-afce08e6]:hover{background:var(--color-joy-primary);color:#fff;border-color:var(--color-joy-primary)}.copy-btn.copied[data-v-afce08e6]{background:var(--color-success, #4caf50);color:#fff;border-color:var(--color-success, #4caf50)}.lobby-footer[data-v-afce08e6]{margin-top:auto;padding:2rem 0 1rem;text-align:center;color:var(--color-text-hint, rgba(254, 252, 240, .4));font-size:.75rem;letter-spacing:.03em}.lobby-footer p[data-v-afce08e6]{margin:.2rem 0}.lobby-footer a[data-v-afce08e6]{color:var(--gold-foil, #A18D5F);text-decoration:none;transition:color .25s ease}.lobby-footer a[data-v-afce08e6]:hover{color:var(--gold-highlight, #FEFCF0);text-decoration:underline}.board-cell[data-v-5f118731]{background:var(--color-board-cell);border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);position:relative;overflow:visible}.board-cell.valid[data-v-5f118731]{background:var(--color-board-cell-valid);cursor:pointer}.board-cell.valid[data-v-5f118731]:hover{background:var(--color-board-cell-hover);transform:scale(1.02)}.board-cell.center[data-v-5f118731]:not(.has-card){background:var(--color-joy-light);border:2px dashed var(--color-joy-primary)}.board-cell.has-card[data-v-5f118731]{background:transparent}.board-cell.last-played[data-v-5f118731]{box-shadow:0 0 12px var(--color-joy-primary)}.game-card[data-v-7b34c3b3]{width:var(--card-width, 80px);height:var(--card-height, 110px);border-radius:var(--card-border-radius, 8px);background:var(--color-surface, #fff);box-shadow:0 2px 8px #0003;cursor:pointer;position:relative;overflow:hidden;flex-shrink:0;will-change:transform;transform-style:preserve-3d;backface-visibility:hidden;-webkit-font-smoothing:subpixel-antialiased;transition:transform .2s ease-out,box-shadow .2s ease-out}.game-card[data-v-7b34c3b3]:hover{box-shadow:0 4px 12px #0000004d}.game-card.selected[data-v-7b34c3b3]{outline:3px solid var(--color-joy-primary, #E10066);outline-offset:2px}.game-card.dragging[data-v-7b34c3b3]{opacity:.8;transform:scale(1.05) rotate(5deg);z-index:100}.game-card.bummer[data-v-7b34c3b3]:not(.has-image){background:linear-gradient(135deg,var(--color-bummer-primary, #4A4A4A) 0%,var(--color-bummer-secondary, #696969) 100%)}.game-card.mini[data-v-7b34c3b3]{width:50px;height:70px;font-size:.7em}.game-card.mini[data-v-7b34c3b3]:hover{box-shadow:0 4px 12px #0000004d}.card-bg[data-v-7b34c3b3]{position:absolute;inset:0;overflow:hidden;border-radius:inherit}.card-image[data-v-7b34c3b3]{width:100%;height:100%;object-fit:cover;image-rendering:-webkit-optimize-contrast;image-rendering:auto}.card-joy[data-v-7b34c3b3]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.5rem;font-weight:700;color:var(--color-text-primary, #212121);text-shadow:0 1px 2px rgba(255,255,255,.5);z-index:1}.bummer .card-joy[data-v-7b34c3b3]{color:#fff}.card-pip[data-v-7b34c3b3]{position:absolute;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#fff;z-index:2;border:1px solid rgba(255,255,255,.3);box-shadow:0 1px 2px #0003}.card-pip.top[data-v-7b34c3b3]{top:4px;left:50%;transform:translate(-50%)}.card-pip.right[data-v-7b34c3b3]{right:4px;top:50%;transform:translateY(-50%)}.card-pip.bottom[data-v-7b34c3b3]{bottom:4px;left:50%;transform:translate(-50%)}.card-pip.left[data-v-7b34c3b3]{left:4px;top:50%;transform:translateY(-50%)}.bummer-indicator[data-v-7b34c3b3]{position:absolute;top:4px;right:4px;width:18px;height:18px;border-radius:50%;background:var(--color-bummer-primary, #4A4A4A);color:#fff;font-size:.6rem;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:2}.mini .card-joy[data-v-7b34c3b3]{font-size:1rem}.mini .card-pip[data-v-7b34c3b3]{width:14px;height:14px;font-size:.55rem}.mini .bummer-indicator[data-v-7b34c3b3]{width:12px;height:12px;font-size:.5rem}.placed-card[data-v-52eefa10]{animation:placeCard-52eefa10 var(--transition-normal) ease-out;overflow:visible}@keyframes placeCard-52eefa10{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.board-container[data-v-ba6f5ffe]{position:relative;display:inline-block}.game-board[data-v-ba6f5ffe]{display:grid;grid-template-columns:repeat(7,var(--board-cell-width));grid-template-rows:repeat(7,var(--board-cell-height));gap:var(--board-gap);padding:1rem;background:var(--color-board-bg);border-radius:12px;box-shadow:var(--shadow-lg);overflow:visible;position:relative}.game-board[data-v-ba6f5ffe]:before{content:"";position:absolute;inset:0;border-radius:inherit;background:url(/board-marble.jpg) center / cover no-repeat;opacity:.3;z-index:0;pointer-events:none}.game-board[data-v-ba6f5ffe]>*{position:relative;z-index:1}.card-preview-panel[data-v-ba6f5ffe]{position:absolute;right:calc(100% + .5rem);top:0;width:420px;background:#0b0f14d9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:14px;border:1px solid rgba(161,141,95,.3);box-shadow:0 8px 32px #00000080;padding:.75rem;z-index:200;pointer-events:none}.preview-card-frame[data-v-ba6f5ffe]{width:400px;height:560px;border-radius:10px;overflow:hidden;background:#ffffff0d;margin:0 auto .5rem}.preview-card-image[data-v-ba6f5ffe]{width:100%;height:100%;object-fit:cover;image-rendering:auto}.preview-card-fallback[data-v-ba6f5ffe]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-joy-light, #fff8dc) 0%,#ffe4b5 100%)}.preview-card-fallback.bummer[data-v-ba6f5ffe]{background:linear-gradient(135deg,var(--color-bummer-primary, #4A4A4A) 0%,var(--color-bummer-secondary, #696969) 100%)}.preview-jp[data-v-ba6f5ffe]{font-size:4rem;font-weight:700;color:var(--color-text-primary, #212121)}.preview-card-fallback.bummer .preview-jp[data-v-ba6f5ffe]{color:#fff}.preview-name[data-v-ba6f5ffe]{font-size:1.1rem;font-weight:600;color:var(--gold-highlight, #FEFCF0);text-align:center}.preview-fade-enter-active[data-v-ba6f5ffe]{transition:opacity .15s ease,transform .15s ease}.preview-fade-leave-active[data-v-ba6f5ffe]{transition:opacity .1s ease,transform .1s ease}.preview-fade-enter-from[data-v-ba6f5ffe],.preview-fade-leave-to[data-v-ba6f5ffe]{opacity:0;transform:translate(8px)}.player-hand[data-v-5b8ef4f2]{background:#0006;border-top:1px solid rgba(161,141,95,.15);position:relative;z-index:100;flex-shrink:0;overflow:visible}.hand-strip[data-v-5b8ef4f2]{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;min-height:180px}.hand-label[data-v-5b8ef4f2]{font-size:.7rem;font-weight:600;color:#fefcf066;text-transform:uppercase;letter-spacing:.08em;writing-mode:vertical-rl;transform:rotate(180deg);flex-shrink:0}.hand-fan[data-v-5b8ef4f2]{display:flex;align-items:flex-end;justify-content:center;flex:1;gap:0;padding:.5rem 0;padding-top:0;margin-top:-20px;position:relative;min-height:180px}.hand-fan[data-v-5b8ef4f2] .game-card{width:150px;height:210px}.hand-fan-card[data-v-5b8ef4f2]{cursor:pointer;transition:all .35s cubic-bezier(.4,0,.2,1);transform-origin:bottom center;position:relative;z-index:1;margin:0 -15px;border-radius:var(--card-border-radius, 10px)}.hand-fan-card[data-v-5b8ef4f2]:nth-child(1){transform:rotate(-12deg) translateY(-6px);z-index:1}.hand-fan-card[data-v-5b8ef4f2]:nth-child(2){transform:rotate(-6deg) translateY(-3px);z-index:2}.hand-fan-card[data-v-5b8ef4f2]:nth-child(3){transform:rotate(0);z-index:3}.hand-fan-card[data-v-5b8ef4f2]:nth-child(4){transform:rotate(6deg) translateY(-3px);z-index:4}.hand-fan-card[data-v-5b8ef4f2]:nth-child(5){transform:rotate(12deg) translateY(-6px);z-index:5}.hand-fan-card[data-v-5b8ef4f2]:nth-child(6){transform:rotate(18deg) translateY(-10px);z-index:6}.hand-fan-card[data-v-5b8ef4f2]:nth-child(7){transform:rotate(-18deg) translateY(-10px);z-index:0}.hand-fan-card[data-v-5b8ef4f2]:hover:not(.disabled){transform:translateY(-40px) scale(1.15) rotate(0)!important;z-index:50!important;box-shadow:0 0 25px #e1006666,0 12px 36px #0009}.hand-fan-card.selected[data-v-5b8ef4f2]{transform:translateY(-25px) scale(1.1) rotate(0)!important;z-index:40!important;box-shadow:0 0 0 3px #e10066,0 0 20px #e1006680}.hand-fan-card.disabled[data-v-5b8ef4f2]{cursor:default;opacity:.7}.hand-hint[data-v-5b8ef4f2]{font-size:.75rem;font-weight:600;color:#fefcf080;text-align:center;text-transform:uppercase;flex-shrink:0;min-width:80px;padding:.5rem .75rem;border-radius:8px;background:#a18d5f26;border:1px solid rgba(161,141,95,.3)}.card-preview[data-v-5b8ef4f2]{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:.75rem;padding:.75rem;background:#0b0f14f2;border:1px solid rgba(161,141,95,.3);border-radius:14px;z-index:1000;display:flex;flex-direction:column;align-items:center;gap:.5rem;box-shadow:0 -8px 32px #0009;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.card-preview[data-v-5b8ef4f2] .game-card{width:200px;height:280px}.preview-word[data-v-5b8ef4f2]{color:var(--gold-highlight, #FEFCF0);font-weight:600;font-size:.9rem;text-align:center}.scores-section[data-v-28df0d74]{flex:1;display:flex;flex-direction:column;min-height:0;max-height:50%}.panel-header[data-v-28df0d74]{font-size:.8rem;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;padding:.5rem .75rem;border-bottom:1px solid rgba(255,255,255,.1)}.scores-list[data-v-28df0d74]{flex:1;overflow-y:auto;padding:.5rem}.player-card[data-v-28df0d74]{background:#ffffff0d;border-radius:8px;padding:.5rem;margin-bottom:.5rem;border:1px solid transparent}.player-card.current[data-v-28df0d74]{background:linear-gradient(135deg,#e1006626,#ff008226);border-color:#e1006680}.player-card.me[data-v-28df0d74]{border-color:#0097e3}.player-name[data-v-28df0d74]{font-weight:600;color:#fff;font-size:.9rem;margin-bottom:.25rem}.you-badge[data-v-28df0d74]{font-size:.7rem;color:#13aafd;font-weight:400}.player-stats-grid[data-v-28df0d74]{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem}.stat-item[data-v-28df0d74]{text-align:center}.stat-value[data-v-28df0d74]{display:block;font-weight:600;font-size:.9rem;color:#ffffffe6}.stat-value.jp[data-v-28df0d74]{color:var(--gold-foil, #A18D5F)}.stat-value.tokens-all-charged[data-v-28df0d74]{color:#13aafd}.stat-value.tokens-none-charged[data-v-28df0d74]{color:#fff6}.stat-label[data-v-28df0d74]{font-size:.65rem;color:#ffffff80;text-transform:uppercase}.player-piles[data-v-28df0d74]{margin-top:.25rem;display:flex;gap:.5rem;flex-wrap:wrap}.pile[data-v-28df0d74]{font-size:.65rem;padding:.1rem .3rem;border-radius:3px}.pile.shatter[data-v-28df0d74]{background:#ff6b6b33;color:#ff6b6b}.pile.euphoria[data-v-28df0d74]{background:#9370db33;color:#9370db}.chat-section[data-v-5cf37f19]{flex:1;display:flex;flex-direction:column;min-height:150px;border-top:1px solid rgba(255,255,255,.1)}.panel-header[data-v-5cf37f19]{font-size:.8rem;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;padding:.5rem .75rem;border-bottom:1px solid rgba(255,255,255,.1)}.chat-messages[data-v-5cf37f19]{flex:1;overflow-y:auto;padding:.5rem;font-size:.8rem}.chat-message[data-v-5cf37f19]{margin-bottom:.25rem}.chat-message.own .chat-name[data-v-5cf37f19]{color:#13aafd}.chat-name[data-v-5cf37f19]{color:#ffffffb3;font-weight:600}.chat-text[data-v-5cf37f19]{color:#ffffffe6;margin-left:.25rem}.chat-empty[data-v-5cf37f19]{color:#ffffff4d;text-align:center;padding:1rem}.chat-input-container[data-v-5cf37f19]{display:flex;gap:.25rem;padding:.5rem;border-top:1px solid rgba(255,255,255,.1)}.chat-input[data-v-5cf37f19]{flex:1;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:.4rem .5rem;color:#fff;font-size:.8rem}.chat-input[data-v-5cf37f19]::placeholder{color:#fff6}.chat-send[data-v-5cf37f19]{background:linear-gradient(135deg,#0097e3,#13aafd);border:none;border-radius:4px;padding:.4rem .75rem;color:#fff;font-weight:600;font-size:.8rem;cursor:pointer}.chat-send[data-v-5cf37f19]:hover{background:linear-gradient(135deg,#0087d0,#0097e3)}.header-center[data-v-281a9ff9]{display:flex;align-items:center;gap:1rem}.phase-indicator[data-v-281a9ff9]{color:#ffffffb3;font-size:.95rem}.phase-indicator.active[data-v-281a9ff9]{color:#ff0082;font-weight:600}.timer[data-v-281a9ff9]{font-family:Courier New,monospace;font-size:1.25rem;font-weight:700;color:#fff;background:#ffffff1a;padding:.25rem .75rem;border-radius:4px}.timer.warning[data-v-281a9ff9]{color:#c9b06b;animation:pulse-281a9ff9 1s infinite}.timer.critical[data-v-281a9ff9]{color:#ff4757;background:#ff475733;animation:pulse-281a9ff9 .5s infinite}.timer.waiting-state[data-v-281a9ff9]{color:#ffffff80;font-style:italic;font-size:1rem}@keyframes pulse-281a9ff9{0%,to{opacity:1}50%{opacity:.6}}.action-btn[data-v-382ab2b4]{padding:.5rem 1.25rem;border:none;border-radius:20px;font-weight:600;font-size:.85rem;cursor:pointer;transition:transform .2s,box-shadow .2s}.action-btn[data-v-382ab2b4]:hover:not(:disabled){transform:translateY(-2px)}.action-btn[data-v-382ab2b4]:disabled{opacity:.5;cursor:not-allowed}.action-btn.echo[data-v-382ab2b4]{background:linear-gradient(135deg,#0097e3,#13aafd);color:#fff}.action-btn[data-v-7c7cf1a2]{padding:.5rem 1.25rem;border:none;border-radius:20px;font-weight:600;font-size:.85rem;cursor:pointer;transition:transform .2s,box-shadow .2s}.action-btn[data-v-7c7cf1a2]:hover{transform:translateY(-2px)}.action-btn.story[data-v-7c7cf1a2]{background:linear-gradient(135deg,#e10066,#ff0082);color:#fff}.action-btn.end-turn[data-v-7c7cf1a2]{background:linear-gradient(135deg,#a18d5f,#c9b06b);color:#fefcf0}.shatter-modal[data-v-23fa26d0]{max-width:400px;text-align:center}.shatter-info[data-v-23fa26d0]{margin-bottom:1.5rem;color:var(--color-text-secondary);line-height:1.6}.shatter-gain[data-v-23fa26d0]{color:#13aafd;font-size:1.25rem}.shatter-loss[data-v-23fa26d0]{color:var(--color-error);font-size:1.25rem}.target-list[data-v-23fa26d0]{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.target-button[data-v-23fa26d0]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--color-surface-elevated);border:2px solid var(--color-border);border-radius:8px;cursor:pointer;transition:all var(--transition-fast)}.target-button[data-v-23fa26d0]:hover{border-color:var(--color-error);background:#f443360d;transform:translateY(-2px)}.target-name[data-v-23fa26d0]{font-weight:600;font-size:1rem}.target-score[data-v-23fa26d0]{font-size:.875rem;color:var(--color-text-secondary)}.shatter-hint[data-v-23fa26d0]{margin:0;font-size:.875rem;color:var(--color-text-hint);font-style:italic}.bummer-modal[data-v-f66aeccd]{max-width:450px;text-align:center}.bummer-info[data-v-f66aeccd]{margin-bottom:1.5rem;color:var(--color-text-secondary);line-height:1.6}.bummer-info strong[data-v-f66aeccd]{font-weight:600}.vote-buttons[data-v-f66aeccd]{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.vote-button[data-v-f66aeccd]{display:flex;flex-direction:column;align-items:center;padding:1.25rem 1rem;border:2px solid var(--color-border);border-radius:12px;cursor:pointer;transition:all var(--transition-fast);background:var(--color-surface)}.vote-button[data-v-f66aeccd]:hover{transform:translateY(-4px)}.joy-vote[data-v-f66aeccd]:hover{border-color:var(--color-joy-primary);background:var(--color-joy-light)}.bummer-vote[data-v-f66aeccd]:hover{border-color:var(--color-bummer-primary);background:var(--color-bummer-light)}.vote-emoji[data-v-f66aeccd]{font-size:2rem;margin-bottom:.5rem}.joy-vote .vote-emoji[data-v-f66aeccd]{color:var(--color-joy-secondary)}.bummer-vote .vote-emoji[data-v-f66aeccd]{color:var(--color-bummer-primary)}.vote-label[data-v-f66aeccd]{font-weight:600;margin-bottom:.25rem}.vote-hint[data-v-f66aeccd]{font-size:.75rem;color:var(--color-text-hint)}.voting-hint[data-v-f66aeccd]{margin:0;font-size:.875rem;color:var(--color-text-hint);font-style:italic}.game-view[data-v-19d1f215]{position:fixed;inset:0;top:var(--app-header-height, 84px);background:var(--primary-dark-bg, #0B0F14);display:flex;flex-direction:column;overflow:hidden}.game-bg-video[data-v-19d1f215]{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:1;pointer-events:none}.game-view[data-v-19d1f215]:after{content:"";position:absolute;inset:0;background:#000;opacity:.9;z-index:0;pointer-events:none}.loading-state[data-v-19d1f215],.error-state[data-v-19d1f215]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;gap:1rem;position:relative;z-index:1}.spinner[data-v-19d1f215]{width:40px;height:40px;border:3px solid rgba(255,255,255,.3);border-top-color:#e10066;border-radius:50%;animation:spin-19d1f215 1s linear infinite}@keyframes spin-19d1f215{to{transform:rotate(360deg)}}.game-layout[data-v-19d1f215]{flex:1;display:flex;flex-direction:column;min-height:0;overflow:visible;position:relative;z-index:1}.header-bar[data-v-19d1f215]{display:flex;align-items:center;justify-content:space-between;padding:.4rem 1rem;background:#0b0f14d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(161,141,95,.1);flex-shrink:0;z-index:20}.header-left[data-v-19d1f215],.header-right[data-v-19d1f215]{flex:1;min-width:0}.header-left[data-v-19d1f215]{display:flex;align-items:center;gap:.5rem}.header-right[data-v-19d1f215]{display:flex;justify-content:flex-end;align-items:center;gap:.5rem}.deck-count[data-v-19d1f215]{color:#ffffffb3;font-size:.85rem}.difficulty-badge[data-v-19d1f215]{font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:10px;text-transform:uppercase;letter-spacing:.03em}.difficulty-easy[data-v-19d1f215]{background:#0097e333;color:#13aafd;border:1px solid rgba(0,151,227,.4)}.difficulty-hard[data-v-19d1f215]{background:#ff6b6b33;color:#ff6b6b;border:1px solid rgba(255,107,107,.4)}.lobby-code[data-v-19d1f215]{font-size:.75rem;font-weight:600;padding:.15rem .5rem;border-radius:10px;background:#ffffff1a;color:#fffc;border:1px solid rgba(255,255,255,.2);cursor:pointer;letter-spacing:.05em;-webkit-user-select:all;user-select:all}.lobby-code[data-v-19d1f215]:hover{background:#fff3;color:#fff}.btn-exit[data-v-19d1f215]{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#ffffffb3;padding:.4rem 1rem;border-radius:4px;cursor:pointer;transition:all .2s}.btn-exit[data-v-19d1f215]:hover{background:#ff47574d;border-color:#ff4757;color:#fff}.main-content[data-v-19d1f215]{flex:1;display:grid;grid-template-columns:1fr 240px;min-height:0;overflow:visible}.center-panel[data-v-19d1f215]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem;min-height:0;overflow:visible}.board-area[data-v-19d1f215]{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;overflow:visible}.left-panel[data-v-19d1f215]{position:absolute;right:calc(100% + .75rem);top:0;display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:.75rem;background:#0b0f14d9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:14px;border:1px solid rgba(161,141,95,.3);box-shadow:0 8px 32px #00000080;width:220px;z-index:50}.left-panel .actions-bar[data-v-19d1f215]{flex-direction:column;width:100%}.left-panel-fade-enter-active[data-v-19d1f215]{transition:opacity .2s ease,transform .2s ease}.left-panel-fade-leave-active[data-v-19d1f215]{transition:opacity .15s ease,transform .15s ease}.left-panel-fade-enter-from[data-v-19d1f215],.left-panel-fade-leave-to[data-v-19d1f215]{opacity:0;transform:translate(-12px)}.board-container[data-v-19d1f215]{display:flex;align-items:center;justify-content:center;min-height:0;overflow:visible}.board-container[data-v-19d1f215] .game-card{width:65px;height:91px}.featured-card-container[data-v-19d1f215]{display:flex;flex-direction:column;align-items:center;gap:.5rem}.featured-card[data-v-19d1f215] .game-card{width:120px;height:168px}.featured-word[data-v-19d1f215]{color:var(--happiness-pink, #E10066);font-weight:600;font-size:1rem;text-align:center}.actions-bar[data-v-19d1f215]{display:flex;gap:.75rem;justify-content:center;align-items:center;padding:.5rem;min-height:44px}.no-actions[data-v-19d1f215]{color:#ffffff80;font-size:.85rem}.right-panel[data-v-19d1f215]{background:#0b0f1499;border-left:1px solid rgba(161,141,95,.1);display:flex;flex-direction:column;overflow:hidden}.game-ended-overlay[data-v-19d1f215]{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;overflow-y:auto;padding:2rem 0}.game-ended-modal[data-v-19d1f215]{background:#151c27f2;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);padding:2rem;border-radius:16px;text-align:center;max-width:520px;width:90%;border:1px solid rgba(225,0,102,.4);max-height:90vh;overflow-y:auto}.game-ended-modal h2[data-v-19d1f215]{margin-bottom:1.5rem;color:var(--happiness-pink, #E10066);font-size:1.75rem}.final-scores[data-v-19d1f215]{margin-bottom:1.5rem}.final-score-item[data-v-19d1f215]{margin-bottom:.75rem;background:#ffffff0d;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.final-score-item.winner[data-v-19d1f215]{border-color:var(--happiness-pink, #E10066)}.score-header[data-v-19d1f215]{display:flex;align-items:center;padding:.6rem 1rem;gap:.5rem;color:#fff}.final-score-item.winner .score-header[data-v-19d1f215]{background:linear-gradient(135deg,#e10066,#ff0082);color:#fefcf0}.score-header .rank[data-v-19d1f215]{font-weight:700;width:30px;flex-shrink:0}.score-header .name[data-v-19d1f215]{flex:1;text-align:left;font-weight:600}.score-header .score[data-v-19d1f215]{font-weight:700;font-size:1.05rem}.winner-label[data-v-19d1f215]{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.score-breakdown[data-v-19d1f215]{padding:.4rem 1rem .6rem;text-align:left}.breakdown-row[data-v-19d1f215]{display:flex;justify-content:space-between;align-items:center;padding:.15rem 0;font-size:.78rem}.breakdown-label[data-v-19d1f215]{color:#fff9}.breakdown-value[data-v-19d1f215]{color:#fffc;font-weight:600}.breakdown-value.positive[data-v-19d1f215]{color:#13aafd}.breakdown-value.negative[data-v-19d1f215]{color:#ff6b6b}.piles-row[data-v-19d1f215]{margin-top:.15rem;padding-top:.25rem;border-top:1px solid rgba(255,255,255,.06)}.piles-row .breakdown-label[data-v-19d1f215]{font-size:.72rem;color:#ffffff73}.tiebreaker-text[data-v-19d1f215]{font-size:.72rem;color:var(--gold-foil, #A18D5F);font-style:italic;padding:.2rem 0 0;text-align:center}.game-toast[data-v-19d1f215]{position:fixed;top:120px;left:50%;transform:translate(-50%);z-index:1500;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:1rem;text-align:center;pointer-events:none;box-shadow:0 4px 20px #00000080}.toast-euphoria[data-v-19d1f215]{background:linear-gradient(135deg,#9370dbe6,#ba55d3e6);color:#fff;border:1px solid #9370DB}.toast-reconnection[data-v-19d1f215]{background:linear-gradient(135deg,#0097e3e6,#13aafde6);color:#fff;border:1px solid #0097E3}.toast-shatter[data-v-19d1f215]{background:linear-gradient(135deg,#ff6b6be6,#ff4757e6);color:#fff;border:1px solid #FF6B6B}.toast-info[data-v-19d1f215]{background:linear-gradient(135deg,#a18d5fe6,#c9b06be6);color:#fefcf0;border:1px solid #A18D5F}.toast-enter-active[data-v-19d1f215]{transition:all .3s ease-out}.toast-leave-active[data-v-19d1f215]{transition:all .3s ease-in}.toast-enter-from[data-v-19d1f215],.toast-leave-to[data-v-19d1f215]{opacity:0;transform:translate(-50%) translateY(-20px)}.btn[data-v-19d1f215]{padding:.75rem 2rem;border:none;border-radius:20px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary[data-v-19d1f215]{background:linear-gradient(135deg,#e10066,#ff0082);color:#fefcf0}.btn-primary[data-v-19d1f215]:hover{transform:translateY(-2px);box-shadow:0 4px 15px #e1006680}.btn-lg[data-v-19d1f215]{padding:1rem 2.5rem;font-size:1.1rem}:root{--happiness-pink: #E10066;--happiness-blue: #0097E3;--peak-pink: #FF0082;--peak-blue: #13AAFD;--gold-foil: #A18D5F;--gold-highlight: #FEFCF0;--primary-dark-bg: #0B0F14;--surface-dark-bg: #151C27;--color-joy-primary: #E10066;--color-joy-secondary: #FF0082;--color-joy-light: rgba(225, 0, 102, .15);--color-bummer-primary: #0097E3;--color-bummer-secondary: #13AAFD;--color-bummer-light: rgba(0, 151, 227, .15);--color-pip-top: #FF6B6B;--color-pip-right: #4ECDC4;--color-pip-bottom: #45B7D1;--color-pip-left: #96CEB4;--color-background: #0B0F14;--color-surface: #151C27;--color-surface-elevated: #1C2536;--color-border: rgba(161, 141, 95, .12);--color-border-light: rgba(254, 252, 240, .08);--color-text-primary: #FEFCF0;--color-text-secondary: rgba(254, 252, 240, .65);--color-text-hint: rgba(254, 252, 240, .4);--color-board-bg: rgba(21, 28, 39, .85);--color-board-cell: rgba(254, 252, 240, .04);--color-board-cell-valid: rgba(225, 0, 102, .15);--color-board-cell-hover: rgba(225, 0, 102, .25);--color-echo: #9370DB;--color-echo-glow: rgba(147, 112, 219, .5);--color-success: #10B981;--color-warning: #F59E0B;--color-error: #EF4444;--color-info: #3B82F6;--card-width: 100px;--card-height: 140px;--card-border-radius: 10px;--board-cell-width: 70px;--board-cell-height: 98px;--board-gap: 3px;--transition-fast: .25s cubic-bezier(.4, 0, .2, 1);--transition-normal: .45s cubic-bezier(.4, 0, .2, 1);--transition-slow: .7s cubic-bezier(.4, 0, .2, 1);--transition-luxurious: .9s cubic-bezier(.16, 1, .3, 1);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-card: 0 4px 12px rgba(0, 0, 0, .4), 0 1px 3px rgba(0, 0, 0, .3);--shadow-card-hover: 0 8px 24px rgba(0, 0, 0, .5), 0 2px 6px rgba(0, 0, 0, .3);--glow-happiness: 0 0 25px rgba(225, 0, 102, .4);--glow-bummer: 0 0 25px rgba(0, 151, 227, .4);--glow-gold: 0 0 20px rgba(161, 141, 95, .3)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:Inter,system-ui,-apple-system,sans-serif;font-weight:400;background-color:#0b0f14;background-image:radial-gradient(ellipse at 20% 50%,rgba(225,0,102,.06) 0%,transparent 50%),radial-gradient(ellipse at 80% 50%,rgba(0,151,227,.06) 0%,transparent 50%),radial-gradient(ellipse at 50% 0%,rgba(161,141,95,.04) 0%,transparent 40%);color:var(--color-text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:Poppins,sans-serif;font-weight:600;line-height:1.2;color:var(--gold-highlight)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1rem}.glass-panel{background:#151c27a6;backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border:1px solid rgba(161,141,95,.12);border-top:1px solid rgba(254,252,240,.08);box-shadow:0 8px 32px #0006,inset 0 1px #fefcf00a;border-radius:16px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-family:Poppins,sans-serif;font-size:.9rem;font-weight:600;letter-spacing:.03em;border:none;border-radius:12px;cursor:pointer;transition:all var(--transition-normal);text-decoration:none;text-transform:uppercase;position:relative;overflow:hidden}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn-primary{background:linear-gradient(135deg,#e10066,#ff0082);color:#fefcf0;border:1px solid rgba(254,252,240,.15);box-shadow:0 0 20px #e100664d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#ff0082,#ff1a93);transform:translateY(-2px);box-shadow:0 0 30px #e1006680,0 4px 16px #0000004d}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 0 15px #e100664d}.btn-secondary{background:linear-gradient(135deg,#0097e3,#13aafd);color:#fefcf0;border:1px solid rgba(254,252,240,.15);box-shadow:0 0 20px #0097e34d}.btn-secondary:hover:not(:disabled){background:linear-gradient(135deg,#13aafd,#3bbbff);transform:translateY(-2px);box-shadow:0 0 30px #0097e380,0 4px 16px #0000004d}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-danger{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fefcf0;border:1px solid rgba(254,252,240,.1);box-shadow:0 0 15px #ef44444d}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 25px #ef444480}.btn-success{background:linear-gradient(135deg,#059669,#10b981);color:#fefcf0;border:1px solid rgba(254,252,240,.1)}.btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 25px #10b98166}.btn-echo{background:linear-gradient(135deg,#7c3aed,#9370db);color:#fefcf0;border:1px solid rgba(254,252,240,.1)}.btn-echo:hover:not(:disabled){box-shadow:0 0 25px var(--color-echo-glow);transform:translateY(-2px)}.btn-sm{padding:.4rem .875rem;font-size:.8rem;border-radius:8px}.btn-lg{padding:.7rem 1.5rem;font-size:.85rem;border-radius:12px}.form-group{margin-bottom:1.25rem}.form-label{display:block;margin-bottom:.5rem;font-family:Poppins,sans-serif;font-weight:500;color:var(--color-text-secondary);font-size:.875rem;letter-spacing:.02em}.form-input{width:100%;padding:.75rem 1rem;font-family:Inter,sans-serif;font-size:1rem;border:1px solid var(--color-border);border-radius:10px;background:#151c27a6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--happiness-pink);box-shadow:0 0 0 3px #e1006626,0 0 20px #e100661a}.form-input::placeholder{color:var(--color-text-hint)}.ui-card{background:#151c27a6;backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border-radius:16px;padding:1.5rem;border:1px solid rgba(161,141,95,.12);border-top:1px solid rgba(254,252,240,.08);box-shadow:0 8px 32px #0006,inset 0 1px #fefcf00a}.ui-card-header{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.ui-card-title{font-family:Poppins,sans-serif;font-size:1.125rem;font-weight:600;color:var(--gold-highlight)}.grid{display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-col{flex-direction:column}.gap-sm{gap:.5rem}.gap-md{gap:1rem}.gap-lg{gap:1.5rem}.game-card{width:var(--card-width);height:var(--card-height);border-radius:var(--card-border-radius);background:var(--color-surface);border:1px solid rgba(161,141,95,.15);box-shadow:var(--shadow-card);cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden;flex-shrink:0}.game-card:hover{transform:translateY(-8px) scale(1.03);box-shadow:var(--shadow-card-hover),var(--glow-happiness);border-color:#a18d5f4d}.game-card.selected{outline:3px solid var(--happiness-pink);outline-offset:3px;box-shadow:var(--glow-happiness)}.game-card.dragging{opacity:.85;transform:scale(1.08) rotate(3deg);z-index:100;box-shadow:0 12px 40px #0009}.game-card.bummer{background:linear-gradient(135deg,#0a2540,#0e3a5e);border-color:#0097e333}.game-card.bummer:hover{box-shadow:var(--shadow-card-hover),var(--glow-bummer)}.game-card-joy{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:Poppins,sans-serif;font-size:1.75rem;font-weight:700;color:var(--gold-highlight);text-shadow:0 2px 8px rgba(0,0,0,.5)}.game-card-pip{position:absolute;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;border:1px solid rgba(254,252,240,.2);box-shadow:0 2px 4px #0000004d}.game-card-pip.top{top:6px;left:50%;transform:translate(-50%);background:var(--color-pip-top)}.game-card-pip.right{right:6px;top:50%;transform:translateY(-50%);background:var(--color-pip-right)}.game-card-pip.bottom{bottom:6px;left:50%;transform:translate(-50%);background:var(--color-pip-bottom)}.game-card-pip.left{left:6px;top:50%;transform:translateY(-50%);background:var(--color-pip-left)}.game-board{display:grid;grid-template-columns:repeat(7,var(--board-cell-width));grid-template-rows:repeat(7,var(--board-cell-height));gap:var(--board-gap);padding:1.25rem;background:#151c27bf;backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border:1px solid rgba(161,141,95,.1);border-top:1px solid rgba(254,252,240,.06);border-radius:16px;box-shadow:0 12px 48px #00000080,inset 0 1px #fefcf008}.board-cell{background:var(--color-board-cell);border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);border:1px solid rgba(161,141,95,.05)}.board-cell.valid{background:var(--color-board-cell-valid);border-color:#e1006633;cursor:pointer;animation:validPulse 2s ease-in-out infinite}.board-cell.valid:hover{background:var(--color-board-cell-hover);box-shadow:0 0 15px #e100664d;transform:scale(1.02)}.board-cell.center{background:#e1006614;border:1px dashed rgba(225,0,102,.3)}@keyframes validPulse{0%,to{border-color:#e1006633}50%{border-color:#e1006673}}.score-display{display:flex;align-items:center;gap:.75rem;padding:.625rem 1.25rem;background:#151c27a6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-sm)}.score-value{font-family:Poppins,sans-serif;font-size:1.25rem;font-weight:700;color:var(--happiness-pink);text-shadow:0 0 12px rgba(225,0,102,.3)}.echo-token{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#9370db);display:flex;align-items:center;justify-content:center;color:#fff;font-family:Poppins,sans-serif;font-size:.8rem;font-weight:700;box-shadow:0 0 12px var(--color-echo-glow);border:1px solid rgba(254,252,240,.15)}.turn-timer{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#151c27a6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:10px;font-family:Poppins,sans-serif;font-weight:600;color:var(--color-text-primary)}.turn-timer.warning{background:#f59e0b33;border-color:#f59e0b66;color:#f59e0b;animation:timerPulse 1s infinite}.turn-timer.critical{background:#ef444433;border-color:#ef444466;color:#ef4444;animation:timerPulse .5s infinite}@keyframes timerPulse{0%,to{opacity:1;box-shadow:none}50%{opacity:.7;box-shadow:0 0 15px #ef44444d}}.player-panel{padding:1rem;background:#151c27a6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-sm)}.player-panel.current-turn{border-color:#e1006666;box-shadow:0 0 20px #e1006633}.player-name{font-family:Poppins,sans-serif;font-weight:600;margin-bottom:.5rem;color:var(--gold-highlight)}.player-stats{display:flex;gap:1rem;font-size:.875rem;color:var(--color-text-secondary)}.chat-panel{display:flex;flex-direction:column;height:300px;background:#151c27a6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:.75rem}.chat-message{margin-bottom:.5rem;font-size:.875rem}.chat-message-name{font-family:Poppins,sans-serif;font-weight:600;color:var(--gold-highlight)}.chat-message-time{font-size:.75rem;color:var(--color-text-hint);margin-left:.5rem}.chat-message-text{color:var(--color-text-secondary)}.chat-input-container{display:flex;padding:.5rem;border-top:1px solid var(--color-border);gap:.5rem}.chat-input{flex:1}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#151c27e6;backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border:1px solid rgba(161,141,95,.2);border-top:1px solid rgba(254,252,240,.1);border-radius:20px;padding:2rem;max-width:90%;max-height:90%;overflow-y:auto;box-shadow:0 24px 64px #0009,inset 0 1px #fefcf00d}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.modal-title{font-family:Poppins,sans-serif;font-size:1.25rem;font-weight:600;color:var(--gold-highlight)}.modal-close{background:none;border:none;font-size:1.75rem;cursor:pointer;color:var(--color-text-hint);line-height:1;transition:color var(--transition-fast)}.modal-close:hover{color:var(--happiness-pink)}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.lobby-list{display:grid;gap:.75rem}.lobby-item{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;background:#151c27a6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;border:1px solid var(--color-border);transition:all var(--transition-normal)}.lobby-item:hover{border-color:#e100664d;box-shadow:0 0 20px #e100661a;transform:translateY(-2px)}.lobby-info{flex:1}.lobby-name{font-family:Poppins,sans-serif;font-weight:600;margin-bottom:.25rem;color:var(--gold-highlight)}.lobby-details{font-size:.875rem;color:var(--color-text-secondary)}.lobby-status{padding:.3rem .65rem;border-radius:6px;font-family:Poppins,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.lobby-status.waiting{background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.3)}.lobby-status.in_progress{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.3)}.waiting-room{max-width:600px;margin:0 auto}.player-list{display:grid;gap:.5rem;margin-bottom:1rem}.player-item{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;background:#151c2780;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-primary)}.player-item.host{border-left:3px solid var(--happiness-pink)}.player-item.ready{border-left:3px solid #10B981}.ready-badge{padding:.2rem .6rem;border-radius:6px;font-family:Poppins,sans-serif;font-size:.75rem;font-weight:600;background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.3)}.host-badge{padding:.2rem .6rem;border-radius:6px;font-family:Poppins,sans-serif;font-size:.75rem;font-weight:600;background:#e1006626;color:var(--happiness-pink);border:1px solid rgba(225,0,102,.3)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fade-in{animation:fadeIn var(--transition-normal)}.animate-slide-up{animation:slideUp var(--transition-normal)}.animate-bounce{animation:bounce .6s cubic-bezier(.34,1.56,.64,1)}@keyframes cardPlay{0%{transform:scale(1) translateY(0) rotateY(0);opacity:1}25%{transform:scale(.8) translateY(-80px) rotateY(90deg);opacity:.8}50%{transform:scale(.6) translateY(-120px) rotateY(180deg);opacity:.6}75%{transform:scale(.8) translateY(-40px) rotateY(270deg);opacity:.8}to{transform:scale(1) translateY(0) rotateY(360deg);opacity:1}}@keyframes goldShimmer{0%{box-shadow:var(--shadow-card);border-color:#a18d5f26}20%{box-shadow:0 0 30px #a18d5f99,0 0 60px #a18d5f4d,0 0 90px #a18d5f1a;border-color:#a18d5fcc}to{box-shadow:var(--shadow-card);border-color:#a18d5f26}}@keyframes settleHere{0%{transform:scale(1.1)}40%{transform:scale(.95)}70%{transform:scale(1.02)}to{transform:scale(1)}}.card-playing{animation:cardPlay .8s cubic-bezier(.34,1.56,.64,1);perspective:1000px}.card-landing{animation:goldShimmer 1.2s ease-out,settleHere .6s cubic-bezier(.34,1.56,.64,1)}.hand-fan-card{transition:all var(--transition-normal);transform-origin:bottom center}.hand-fan-card:hover{transform:translateY(-40px) scale(1.22) rotate(0)!important;z-index:50;box-shadow:var(--glow-happiness),0 16px 48px #0009}.hand-fan-card:nth-child(1){transform:rotate(-16deg) translateY(-4px)}.hand-fan-card:nth-child(2){transform:rotate(-8deg) translateY(-2px)}.hand-fan-card:nth-child(3){transform:rotate(0)}.hand-fan-card:nth-child(4){transform:rotate(8deg) translateY(-2px)}.hand-fan-card:nth-child(5){transform:rotate(16deg) translateY(-4px)}.hand-fan-card:nth-child(6){transform:rotate(22deg) translateY(-6px)}.hand-fan-card:nth-child(7){transform:rotate(-22deg) translateY(-6px)}.board-card-inspect{transition:all var(--transition-slow)}.board-card-inspect:hover{transform:scale(1.75);z-index:100;box-shadow:0 16px 48px #000000b3,0 0 30px #a18d5f4d}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#0b0f1480}::-webkit-scrollbar-thumb{background:#a18d5f4d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a18d5f80}::selection{background:#e100664d;color:#fefcf0}@media(max-width:1024px){:root{--card-width: 140px;--card-height: 196px;--card-border-radius: 10px;--board-cell-width: 120px;--board-cell-height: 168px;--board-gap: 3px}.game-board{padding:.75rem}}@media(max-width:768px){:root{--card-width: 100px;--card-height: 140px;--card-border-radius: 8px;--board-cell-width: 80px;--board-cell-height: 112px;--board-gap: 2px}html{font-size:14px}.game-board{padding:.5rem;border-radius:12px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.game-card-pip,.card-pip{width:18px;height:18px;font-size:.6rem}.game-card-joy,.card-joy{font-size:1.25rem}.chat-panel{height:200px}.hand-fan-card:hover{transform:translateY(-24px) scale(1.15) rotate(0)!important}}@media(max-width:480px){:root{--card-width: 70px;--card-height: 98px;--card-border-radius: 6px;--board-cell-width: 58px;--board-cell-height: 81px;--board-gap: 2px}html{font-size:13px}.game-board{padding:.35rem;border-radius:8px}.game-card-pip,.card-pip{width:14px;height:14px;font-size:.5rem}.game-card-joy,.card-joy{font-size:1rem}.btn{padding:.5rem 1rem;font-size:.8rem;border-radius:8px}.btn-sm{padding:.3rem .6rem;font-size:.7rem}.echo-token{width:20px;height:20px;font-size:.65rem}}@media(max-width:360px){:root{--card-width: 55px;--card-height: 77px;--card-border-radius: 5px;--board-cell-width: 45px;--board-cell-height: 63px;--board-gap: 1px}html{font-size:12px}.game-board{padding:.25rem}.game-card-pip,.card-pip{width:12px;height:12px;font-size:.45rem}.game-card-joy,.card-joy{font-size:.85rem}}
