@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;700;900&family=JetBrains+Mono:wght@700&display=swap";:root{font-family:Nunito,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:700;--bg-color: #f4ece4;--bg-card: #ffffff;--bg-card-accent: #e8d0a0;--border-color: #6a4f40;--primary-color: #e56b55;--primary-hover: #f17a66;--secondary-color: #5b8fb9;--text-main: #6a4f40;--text-muted: #8d7568;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--border-width: 3px;--radius-lg: 16px;--radius-full: 9999px;--shadow-solid: none;--shadow-solid-sm: none;color-scheme:light;color:var(--text-main);background-color:var(--bg-color);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea{-webkit-user-select:auto;user-select:auto}html,body{margin:0;padding:0;width:100%;min-height:100%;background-color:var(--bg-color);color:var(--text-main);overscroll-behavior:none;-webkit-text-size-adjust:100%;touch-action:manipulation}a{font-weight:800;color:var(--primary-color);text-decoration:none;transition:color .2s}a:hover{color:var(--primary-hover)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:900;color:var(--text-main)}button{border-radius:var(--radius-full);border:var(--border-width) solid var(--border-color);padding:.8em 1.5em;font-size:1rem;font-weight:800;font-family:inherit;background-color:var(--bg-card);color:var(--text-main);cursor:pointer;transition:transform .1s ease,box-shadow .1s ease;min-height:48px;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-solid-sm)}button:hover{background-color:#fcfcfc}button:active{transform:none;box-shadow:none}button:focus-visible{outline:none;border-color:var(--primary-color)}.cartoon-panel{background:var(--bg-card);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-solid)}#app{width:100%;min-height:100%;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}.app-container{width:100%;height:100%;max-height:100dvh;display:flex;flex-direction:column;overflow:hidden}.initializing{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1.5rem;color:var(--text-main);font-weight:700}.loader{border:var(--border-width) solid var(--bg-card-accent);border-top:var(--border-width) solid var(--primary-color);border-radius:50%;width:48px;height:48px;animation:spin 1s infinite linear}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toast-container{position:fixed;top:60px;left:50%;transform:translate(-50%);z-index:99999;display:flex;flex-direction:column;gap:16px;pointer-events:none;width:auto;max-width:90vw}.toast{padding:14px 24px;border-radius:var(--radius-lg);background:var(--bg-color);color:var(--text-main);box-shadow:var(--shadow-solid-sm);font-weight:800;font-size:1rem;text-align:center;pointer-events:auto;border:var(--border-width) solid var(--border-color);white-space:nowrap;position:relative}.toast.success,.toast.error,.toast.warning,.toast.info{border-color:var(--border-color)}.toast-enter-active,.toast-leave-active{transition:all .4s cubic-bezier(.34,1.56,.64,1)}.toast-enter-from{opacity:0;transform:translateY(-30px) scale(.8) rotate(-2deg)}.toast-leave-to{opacity:0;transform:translateY(-20px) scale(.9) rotate(2deg)}.welcome-overlay{position:fixed;inset:0;background:var(--bg-color);display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:10000}.welcome-card{width:100%;max-width:400px;background:#fff;padding:2.5rem 2rem;border-radius:var(--radius-lg);border:var(--border-width) solid var(--border-color);text-align:center}.welcome-title{font-size:2rem;font-weight:900;color:var(--primary-color);margin-bottom:.5rem;letter-spacing:-.5px}.welcome-desc{font-size:1rem;color:var(--text-muted);font-weight:600;margin-bottom:2rem}.welcome-card .input-group{display:flex;flex-direction:column;gap:1rem}.welcome-card input{width:100%;height:42px;padding:0 12px;border-radius:8px;border:var(--border-width) solid var(--border-color);font-size:1rem;font-weight:700;color:var(--text-main);outline:none;transition:all .2s}.welcome-card input:focus{border-color:var(--primary-color)}.welcome-card button{width:100%;height:42px;background:var(--primary-color);color:#fff;border:var(--border-width) solid var(--border-color);border-radius:8px;font-size:1.1rem;font-weight:900;cursor:pointer;transition:transform .1s;box-shadow:none}.welcome-card button:active{transform:scale(.98)}.top-bar[data-v-41a39daa]{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;background:#fff;border:var(--border-width) solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:1rem;height:60px;box-shadow:none}.logo-section[data-v-41a39daa]{display:flex;align-items:center}.logo-text[data-v-41a39daa]{font-family:Comic Sans MS,Chalkboard SE,ZCOOL KuaiLe,sans-serif;font-weight:800;font-size:1.8rem;color:var(--border-color);letter-spacing:-.5px}.user-section[data-v-41a39daa]{position:relative}.profile-trigger[data-v-41a39daa]{height:44px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .1s}.profile-trigger[data-v-41a39daa]:active{transform:translateY(2px)}.username-top[data-v-41a39daa]{font-weight:900;font-size:1rem;color:var(--border-color)}.avatar-mini-container[data-v-41a39daa]{width:32px;height:32px;background:var(--bg-card-accent);border-radius:8px;display:flex;align-items:center;justify-content:center;border:2px solid var(--border-color)}.avatar-mini-inner[data-v-41a39daa]{font-weight:900;font-size:1.1rem;color:var(--border-color)}.dropdown-overlay[data-v-41a39daa]{position:fixed;inset:0;z-index:1000;display:flex;justify-content:center;align-items:center;background:#0000004d}.dropdown-menu[data-v-41a39daa]{width:280px;background:#fff;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;border:var(--border-width) solid var(--border-color);border-radius:var(--radius-lg);box-shadow:none}.info-header[data-v-41a39daa]{font-size:1.2rem;font-weight:900;margin-bottom:.5rem;text-align:center;color:var(--primary-color)}.info-row[data-v-41a39daa]{display:flex;justify-content:space-between;font-size:.9rem;border-bottom:2px solid #f0f0f0;padding:8px 0}.label[data-v-41a39daa]{color:var(--text-muted)}.value[data-v-41a39daa]{font-weight:900}.menu-action-btn[data-v-41a39daa]{width:100%;margin-top:.5rem;padding:8px}.btn-close[data-v-41a39daa]{background:#eee;border-color:#ccc}.nickname-edit input[data-v-41a39daa]{width:100%;border:var(--border-width) solid var(--border-color);border-radius:12px;padding:10px;font-family:inherit;font-weight:900;font-size:1.1rem;color:var(--text-main);outline:none;margin-bottom:1rem}.edit-actions[data-v-41a39daa]{display:flex;gap:1rem}.save-btn[data-v-41a39daa]{flex:1;background:var(--primary-color);color:#fff}.cancel-btn[data-v-41a39daa]{flex:1}.chat-box[data-v-1abb6ac3]{display:flex;flex-direction:column;height:100%;min-height:300px;background:#fff;overflow:hidden;border-width:var(--border-width)}.chat-tabs[data-v-1abb6ac3]{display:flex;background:#f8f1e9;border-bottom:var(--border-width) solid var(--border-color)}.tab-btn[data-v-1abb6ac3]{flex:1;border:none;border-right:var(--border-width) solid var(--border-color);border-radius:0;padding:8px 4px;font-size:.9rem;font-weight:900;background:transparent;box-shadow:none;min-height:auto;color:var(--text-muted)}.tab-btn[data-v-1abb6ac3]:last-child{border-right:none}.tab-btn.active[data-v-1abb6ac3]{background:var(--bg-card-accent);color:var(--text-main)}.messages-container[data-v-1abb6ac3]{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:4px}.message-row[data-v-1abb6ac3]{font-size:.9rem;line-height:1.4;word-break:break-all}.system[data-v-1abb6ac3]{color:var(--text-muted);font-style:italic}.msg-time[data-v-1abb6ac3]{color:var(--text-muted);margin-right:6px;font-family:monospace}.msg-user[data-v-1abb6ac3]{font-weight:900;color:var(--primary-color);margin-right:4px}.msg-content[data-v-1abb6ac3]{color:var(--text-main)}.empty-chat[data-v-1abb6ac3]{text-align:center;color:var(--text-muted);font-size:.8rem;margin-top:2rem}.input-area[data-v-1abb6ac3]{display:flex;padding:8px;gap:8px;background:#f8f1e9;border-top:var(--border-width) solid var(--border-color)}input[data-v-1abb6ac3]{flex:1;border:var(--border-width) solid var(--border-color);border-radius:8px;padding:6px 12px;font-family:inherit;font-weight:700;font-size:.9rem;color:var(--text-main);outline:none}input[data-v-1abb6ac3]:focus{border-color:var(--primary-color)}.send-btn[data-v-1abb6ac3]{padding:0;width:36px;height:36px;min-height:36px;background:var(--primary-color);color:#fff;border-radius:8px}.send-btn[data-v-1abb6ac3]:active{transform:scale(.95)}.home-view[data-v-626d913e]{box-sizing:border-box;width:100%;height:100vh;height:100dvh;max-width:600px;margin:0 auto;padding:.75rem;display:flex;flex-direction:column;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 1rem);overflow:hidden}.chat-section-home[data-v-626d913e]{flex:1;min-height:0;margin-bottom:.75rem}.actions-section-home[data-v-626d913e]{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.75rem;width:100%}.btn-action[data-v-626d913e]{flex:1;height:48px;padding:0;border-radius:var(--radius-lg);border:var(--border-width) solid var(--border-color);box-shadow:none;transition:all .1s ease;display:flex;align-items:center;justify-content:center;cursor:pointer}.btn-create[data-v-626d913e]{background:var(--primary-color);color:#fff}.btn-list[data-v-626d913e]{background:#fff;color:var(--border-color)}.btn-action[data-v-626d913e]:active{transform:scale(.98);box-shadow:none}.btn-create .btn-text[data-v-626d913e]{color:#fff}.btn-text[data-v-626d913e]{font-size:1.2rem;font-weight:900;letter-spacing:1px}.modal-overlay[data-v-626d913e]{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.modal-wrapper[data-v-626d913e]{display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%;max-width:400px}.modal-content[data-v-626d913e]{background:var(--bg-color);width:100%;border-radius:var(--radius-lg);border:var(--border-width) solid var(--border-color);box-shadow:none;display:flex;flex-direction:column;min-height:300px;max-height:60dvh;overflow:hidden}.room-list[data-v-626d913e]{padding:0;overflow-y:auto;display:flex;flex-direction:column;flex:1}.empty-state[data-v-626d913e]{text-align:center;color:var(--text-muted);font-weight:700;padding:2rem}.room-row[data-v-626d913e]{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;cursor:pointer;border-bottom:2px solid var(--border-color);transition:all .1s}.room-row[data-v-626d913e]:last-child{border-bottom:none}.room-row[data-v-626d913e]:active{background:#0000000d}.room-id[data-v-626d913e]{font-size:1rem;color:var(--text-muted)}.room-name[data-v-626d913e]{font-weight:900;color:var(--text-main);font-size:1.1rem;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-players[data-v-626d913e]{font-weight:900;color:var(--primary-color);font-size:1.1rem}.modal-close-wrapper[data-v-626d913e]{margin-top:.5rem}.btn-modal-close[data-v-626d913e]{background:var(--primary-color);color:#fff;width:160px;height:48px;font-size:1.2rem;letter-spacing:2px}.gomoku-wrapper[data-v-2b439dfb]{display:flex;flex-direction:column;height:100%;gap:.5rem;position:relative}.board-container[data-v-2b439dfb]{flex:1;min-height:0;display:flex;align-items:center;justify-content:center}.board[data-v-2b439dfb]{position:relative;width:min(calc(100vw - 2rem),calc(100% + -0rem));max-width:400px;aspect-ratio:1 / 1;background:#d4a56a;border-radius:8px;border:var(--border-width) solid var(--border-color);box-shadow:none}.grid-svg[data-v-2b439dfb]{position:absolute;top:3.33%;left:3.33%;width:93.33%;height:93.33%;pointer-events:none}.cells-grid[data-v-2b439dfb]{position:absolute;inset:0;display:flex;flex-direction:column}.board-row[data-v-2b439dfb]{display:flex;flex:1}.board-cell[data-v-2b439dfb]{flex:1;position:relative;display:flex;align-items:center;justify-content:center}.board-cell.cell-clickable[data-v-2b439dfb]{cursor:pointer}.board-cell.hint-black[data-v-2b439dfb]:hover:after{content:"";position:absolute;width:55%;height:55%;border-radius:50%;background:#00000040;pointer-events:none}.board-cell.hint-white[data-v-2b439dfb]:hover:after{content:"";position:absolute;width:55%;height:55%;border-radius:50%;background:#ffffff80;border:1px solid rgba(0,0,0,.1);pointer-events:none}.stone[data-v-2b439dfb]{width:80%;height:80%;border-radius:50%;box-shadow:none;z-index:2;display:flex;align-items:center;justify-content:center}.last-move-corners[data-v-2b439dfb]{position:absolute;width:90%;height:90%;pointer-events:none;z-index:1;display:flex;align-items:center;justify-content:center}.last-move-corners span[data-v-2b439dfb]{position:absolute;width:8px;height:8px;border-color:#ff5252;border-style:solid}.last-move-corners span[data-v-2b439dfb]:nth-child(1){top:0;left:0;border-width:3px 0 0 3px}.last-move-corners span[data-v-2b439dfb]:nth-child(2){top:0;right:0;border-width:3px 3px 0 0}.last-move-corners span[data-v-2b439dfb]:nth-child(3){bottom:0;left:0;border-width:0 0 3px 3px}.last-move-corners span[data-v-2b439dfb]:nth-child(4){bottom:0;right:0;border-width:0 3px 3px 0}.stone-black[data-v-2b439dfb]{background:radial-gradient(circle at 35% 35%,#666,#111)}.stone-white[data-v-2b439dfb]{background:radial-gradient(circle at 35% 35%,#fff,#ddd);border:1px solid #ccc}.spectator-badge[data-v-2b439dfb]{text-align:center;font-size:.9rem;color:var(--text-muted);font-weight:700}.result-overlay[data-v-2b439dfb]{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;padding:2rem;animation:fadeIn-2b439dfb .3s ease}@keyframes fadeIn-2b439dfb{0%{opacity:0}to{opacity:1}}.result-card[data-v-2b439dfb]{background:var(--bg-color);border-radius:var(--radius-lg);border:var(--border-width) solid var(--border-color);box-shadow:none;padding:2.5rem 2rem;display:flex;flex-direction:column;align-items:center;gap:1rem;min-width:260px;animation:slideUp-2b439dfb .35s cubic-bezier(.34,1.56,.64,1)}@keyframes slideUp-2b439dfb{0%{transform:translateY(40px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.result-trophy[data-v-2b439dfb]{font-size:4rem;line-height:1}.result-title[data-v-2b439dfb]{font-size:1.8rem;font-weight:900;color:var(--border-color);letter-spacing:2px}.result-winner[data-v-2b439dfb]{display:flex;align-items:center;gap:.5rem;font-size:1.3rem;font-weight:900;color:var(--primary-color)}.result-stone[data-v-2b439dfb]{font-size:1.5rem}.result-draw[data-v-2b439dfb]{font-size:1rem;color:var(--text-muted);font-weight:700}.btn-result-return[data-v-2b439dfb]{margin-top:.5rem;background:var(--primary-color);color:#fff;border:var(--border-width) solid var(--border-color);border-radius:var(--radius-lg);box-shadow:none;width:200px;height:60px;font-size:1.2rem;font-weight:900;cursor:pointer;letter-spacing:2px;transition:all .1s}.btn-result-return[data-v-2b439dfb]:active{transform:none;box-shadow:none}.billiards-board[data-v-c4f03ae5]{display:flex;flex-direction:column;align-items:center;flex:1;width:100%;position:relative;min-height:0}.canvas-wrapper[data-v-c4f03ae5]{background:#111;padding:8px;border-radius:12px;box-shadow:none;max-width:100%;flex:1;min-height:0;box-sizing:border-box;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden}canvas[data-v-c4f03ae5]{background-color:transparent;border-radius:8px;cursor:crosshair;max-width:100%;max-height:100%;height:auto;aspect-ratio:560/1060;box-sizing:border-box;touch-action:none}@media(min-width:768px){.canvas-wrapper[data-v-c4f03ae5]{padding:24px;width:auto}canvas[data-v-c4f03ae5]{border-width:16px}}.game-info-mini[data-v-c4f03ae5]{display:flex;flex-direction:column;gap:4px;align-items:center;margin-bottom:8px}.badge[data-v-c4f03ae5]{padding:4px 8px;border-radius:4px;font-size:.8rem;font-weight:700;color:#fff}.solid-group[data-v-c4f03ae5]{background:#e67e22}.stripe-group[data-v-c4f03ae5]{background:#3498db;border:2px solid white}.open-group[data-v-c4f03ae5]{background:#7f8c8d}.safety-toggle[data-v-c4f03ae5]{display:flex;align-items:center;gap:4px;color:#fff;font-size:.8rem;cursor:pointer;pointer-events:auto}.pocket-labels[data-v-c4f03ae5]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.pocket-label[data-v-c4f03ae5]{position:absolute;background:#000000b3;color:#fff;padding:4px 8px;border-radius:20px;font-size:.7rem;cursor:pointer;pointer-events:auto;border:1px solid rgba(255,255,255,.3);transition:all .2s}.pocket-label.selected[data-v-c4f03ae5]{background:#27ae60;border-color:#fff;transform:scale(1.1)}.pocket-label[data-v-c4f03ae5]:nth-child(1){top:20px;left:20px}.pocket-label[data-v-c4f03ae5]:nth-child(2){top:20px;right:20px}.pocket-label[data-v-c4f03ae5]:nth-child(3){top:50%;left:20px;transform:translateY(-50%)}.pocket-label[data-v-c4f03ae5]:nth-child(4){top:50%;right:20px;transform:translateY(-50%)}.pocket-label[data-v-c4f03ae5]:nth-child(5){bottom:20px;left:20px}.pocket-label[data-v-c4f03ae5]:nth-child(6){bottom:20px;right:20px}.controls-overlay[data-v-c4f03ae5]{position:fixed;display:flex;flex-direction:column;gap:12px;align-items:center;background:#00000073;padding:10px 4px 14px;border-radius:20px;border:1px solid rgba(255,255,255,.1);z-index:50;backdrop-filter:blur(4px);width:44px}.drag-handle[data-v-c4f03ae5]{width:100%;height:24px;display:flex;align-items:center;justify-content:center;cursor:grab;pointer-events:auto}.handle-bar[data-v-c4f03ae5]{width:20px;height:4px;background:#ffffff4d;border-radius:2px}.controls-overlay[data-v-c4f03ae5] *{pointer-events:auto}.power-bar-vertical[data-v-c4f03ae5]{height:120px;display:flex;align-items:center;justify-content:center}.vertical-slider[data-v-c4f03ae5]{-webkit-appearance:slider-vertical;writing-mode:bt-lr;width:8px;height:100%;margin:0;cursor:grab;pointer-events:auto}.vertical-slider[data-v-c4f03ae5]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:#fff;border-radius:50%;cursor:pointer;box-shadow:none}.shoot-btn-circle[data-v-c4f03ae5]{font-size:1.4rem;padding:0;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;box-shadow:none;pointer-events:auto}.confirm-btn[data-v-c4f03ae5]{padding:10px 4px;border-radius:12px;font-weight:800;font-size:.85rem;box-shadow:none;pointer-events:auto;writing-mode:vertical-rl;text-orientation:upright;letter-spacing:2px;display:flex;align-items:center;justify-content:center}.waiting-turn-overlay[data-v-c4f03ae5]{position:fixed;right:12px;bottom:80px;background:#0009;color:#fff;padding:10px 14px;border-radius:12px;z-index:50;font-weight:700;pointer-events:none;font-size:.9rem}.jiejin-wrapper[data-v-f8b39ec1]{display:flex;flex-direction:column;height:100%;gap:.5rem;padding:.25rem;background:transparent;user-select:none;font-family:Outfit,sans-serif;color:#1a1a1a}.board-container[data-v-f8b39ec1]{flex:1;display:flex;align-items:center;justify-content:center}.jiejin-board[data-v-f8b39ec1]{position:relative;width:min(85vw,420px);aspect-ratio:1 / 1;background:#1e293b;border-radius:12px;box-shadow:none;border:var(--border-width) solid #0f172a;box-sizing:border-box;margin:0 auto}.board-cell[data-v-f8b39ec1]{position:absolute;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:default;transition:all .2s ease;z-index:1}.highlight-move[data-v-f8b39ec1]{cursor:pointer;z-index:2}.highlight-p1[data-v-f8b39ec1]{background:#3b82f633;border-color:#3b82f680;box-shadow:inset 0 0 10px #3b82f633}.highlight-p1[data-v-f8b39ec1]:hover{background:#3b82f659;border-color:#3b82f6cc;box-shadow:0 0 15px #3b82f64d,inset 0 0 10px #3b82f633}.highlight-p2[data-v-f8b39ec1]{background:#ef444433;border-color:#ef444480;box-shadow:inset 0 0 10px #ef444433}.highlight-p2[data-v-f8b39ec1]:hover{background:#ef444459;border-color:#ef4444cc;box-shadow:0 0 15px #ef44444d,inset 0 0 10px #ef444433}.pawn[data-v-f8b39ec1]{width:75%;height:75%;border-radius:50%;border:2px solid rgba(255,255,255,.8);box-sizing:border-box;aspect-ratio:1 / 1;z-index:2}.i-dot[data-v-f8b39ec1]{position:absolute;width:6px;height:6px;background:#ffffff26;border-radius:50%;transform:translate(-50%,-50%);z-index:5}.wall[data-v-f8b39ec1]{position:absolute;pointer-events:none;z-index:10;border-radius:6px;background:#fbbf24;border:1px solid #92400e;box-sizing:border-box}.pawn.p1[data-v-f8b39ec1]{background:#3b82f6;box-shadow:none}.pawn.p2[data-v-f8b39ec1]{background:#ef4444;box-shadow:none}.active-turn-pawn[data-v-f8b39ec1]{animation:pawnPulse-f8b39ec1 2s infinite alternate ease-in-out}@keyframes pawnPulse-f8b39ec1{0%{transform:scale(1);box-shadow:0 0 10px #ffffff80}to{transform:scale(1.1);box-shadow:0 0 25px #fffc}}.wall[data-v-f8b39ec1]{position:absolute;pointer-events:none;z-index:10;border-radius:6px;background:#fbbf24;border:var(--border-width) solid #92400e;box-shadow:none}.ghost-wall[data-v-f8b39ec1]{opacity:.7;z-index:100;border-style:dashed}.ghost-wall.valid[data-v-f8b39ec1]{background:#4ade80;border-color:#166534;box-shadow:none}.ghost-wall.invalid[data-v-f8b39ec1]{background:#f87171;border-color:#991b1b;animation:shake-f8b39ec1 .2s cubic-bezier(.36,.07,.19,.97) both}.dragging-active-wall[data-v-f8b39ec1]{position:fixed;pointer-events:none;z-index:99999;opacity:.8;border-radius:6px;background:#fbbf24;border:2px solid #92400e;transform:translate(-50%,-50%);transition:opacity .1s,transform .1s}.dragging-active-wall.is-snapped[data-v-f8b39ec1]{opacity:0;transform:translate(-50%,-50%) scale(.5)}.dragging-active-wall.h-wall[data-v-f8b39ec1]{width:60px;height:12px}.dragging-active-wall.v-wall[data-v-f8b39ec1]{width:12px;height:60px}@keyframes shake-f8b39ec1{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.controls-section[data-v-f8b39ec1]{display:flex;flex-direction:column;align-items:center;margin-top:1rem}.count-badge[data-v-f8b39ec1]{font-family:JetBrains Mono,monospace;font-size:1.2rem;font-weight:800;color:#1a1a1a;min-width:1.5rem;text-align:center}.wall-tools[data-v-f8b39ec1]{display:flex;align-items:center;background:#fff;padding:.75rem 2rem;border-radius:60px;box-shadow:none;border:2px solid #e2e8f0}.pill-box[data-v-f8b39ec1]{padding:.75rem 2.5rem;gap:1rem}.tool-divider[data-v-f8b39ec1]{width:2px;height:32px;background:#e2e8f0;margin:0 .5rem}.tool-case[data-v-f8b39ec1]{display:flex;align-items:center;justify-content:center;cursor:grab;transition:transform .2s;padding:.5rem}.tool-case[data-v-f8b39ec1]:hover{transform:scale(1.1)}.tool-case[data-v-f8b39ec1]:active{cursor:grabbing;transform:scale(.9)}.tool-preview[data-v-f8b39ec1]{background:#fbbf24;border:2px solid #92400e;border-radius:4px;box-shadow:none}.h-tool[data-v-f8b39ec1]{width:44px;height:12px}.v-tool[data-v-f8b39ec1]{width:12px;height:44px}.main-count[data-v-f8b39ec1]{margin-left:.5rem}.result-overlay[data-v-f8b39ec1]{position:fixed;inset:0;background:#0f172acc;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:10000}.result-card[data-v-f8b39ec1]{background:#fff;padding:4rem;border-radius:40px;text-align:center;box-shadow:none}.crown[data-v-f8b39ec1]{font-size:6rem;margin-bottom:1rem}.winner-label[data-v-f8b39ec1]{font-size:1.2rem;font-weight:900;letter-spacing:8px;color:#64748b;margin-bottom:.5rem}.winner-name[data-v-f8b39ec1]{font-size:3rem;font-weight:900;color:#0f172a;margin-bottom:2.5rem}.btn-return[data-v-f8b39ec1]{padding:1rem 3rem;background:#0f172a;color:#fff;border:none;border-radius:40px;font-weight:900;font-size:1.2rem;cursor:pointer;transition:all .2s}.btn-return[data-v-f8b39ec1]:hover{background:#334155;transform:scale(1.05)}.room-view[data-v-875a7a89]{display:flex;flex-direction:column;height:100vh;height:100dvh;padding:1rem;padding-top:var(--e76dd512);padding-bottom:1rem;position:relative;gap:.75rem;max-width:600px;margin:0 auto;width:100%}.room-header[data-v-875a7a89]{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#fff;border-radius:var(--radius-lg);border:var(--border-width) solid var(--border-color);box-shadow:none}.room-title[data-v-875a7a89]{display:flex;align-items:center;gap:.75rem}.room-title.clickable[data-v-875a7a89]{cursor:pointer;padding:2px 8px;margin:-2px -8px;border-radius:var(--radius-sm);transition:background .2s}.room-title.clickable[data-v-875a7a89]:hover{background:#0000000d}.room-info-badges[data-v-875a7a89]{display:flex;align-items:center;gap:.5rem}.room-id-badge[data-v-875a7a89]{background:#0000000d;padding:2px 8px;border-radius:4px;font-family:monospace;font-size:.9rem;font-weight:500;color:#666}.share-btn[data-v-875a7a89]{display:flex;align-items:center;gap:4px;background:#fff;border:var(--border-width) solid var(--border-color);padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:900;color:var(--border-color);cursor:pointer;transition:all .2s;box-shadow:none}.share-btn[data-v-875a7a89]:hover{background:#f8f8f8}.share-btn[data-v-875a7a89]:active{background:#eee}.share-btn svg[data-v-875a7a89]{color:#666}.room-emoji[data-v-875a7a89]{font-size:1.5rem}.room-name-text[data-v-875a7a89]{font-weight:900;font-size:1.1rem;color:var(--text-main);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-id-badge[data-v-875a7a89]{font-size:.8rem;font-weight:700;opacity:.6}.chat-section-room[data-v-875a7a89]{flex:1;min-height:200px}.floating-chat-container[data-v-875a7a89]{position:fixed;bottom:80px;left:50%;transform:translate(-50%);width:90%;max-width:500px;height:50dvh;z-index:2001}.chat-overlay[data-v-875a7a89]{position:fixed;inset:0;background:#00000080;z-index:2000}.members-section[data-v-875a7a89]{display:flex;flex-direction:column;padding:0 .5rem}.member-boxes[data-v-875a7a89]{display:flex;gap:1.25rem;width:100%;overflow-x:auto;padding-top:5px;padding-bottom:.5rem;padding-left:10px;padding-right:10px}.member-box[data-v-875a7a89]{display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;position:relative}.member-box:active .player-avatar[data-v-875a7a89]{transform:none;box-shadow:none}.player-avatar[data-v-875a7a89]{position:relative;width:60px;height:60px;border-radius:var(--radius-lg);background:#fff;border:var(--border-width) solid var(--border-color);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.8rem;color:var(--border-color);box-shadow:none}.player-avatar.mini[data-v-875a7a89]{width:36px;height:36px;font-size:1rem;border-width:2px}.status-indicator[data-v-875a7a89]{position:absolute;bottom:-4px;right:-4px;width:16px;height:16px;border-radius:50%;background:#f44336;border:var(--border-width) solid var(--border-color)}.status-indicator.ready[data-v-875a7a89]{background:#4caf50}.status-indicator.offline[data-v-875a7a89]{background:#9e9e9e}.stone-indicator[data-v-875a7a89]{position:absolute;bottom:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:var(--border-width) solid var(--border-color);z-index:10;box-shadow:0 2px 4px #0000004d}.stone-indicator.black[data-v-875a7a89]{background:radial-gradient(circle at 35% 35%,#666,#111)}.stone-indicator.white[data-v-875a7a89]{background:radial-gradient(circle at 35% 35%,#fff,#ddd)}.stone-indicator.jiejin-p1[data-v-875a7a89]{background:radial-gradient(circle at 35% 35%,#60a5fa,#2563eb)}.stone-indicator.jiejin-p2[data-v-875a7a89]{background:radial-gradient(circle at 35% 35%,#f87171,#dc2626)}.you-badge[data-v-875a7a89]{position:absolute;top:-8px;left:50%;transform:translate(-50%);background:var(--primary-color);color:#fff;font-size:.55rem;font-weight:900;padding:1px 5px;border-radius:4px;border:var(--border-width) solid var(--border-color);line-height:1.4;z-index:3;letter-spacing:.5px;white-space:nowrap}.turn-active .player-avatar[data-v-875a7a89]{border-color:#f1c40f;box-shadow:0 0 0 3px #f1c40f66;background:#fffdf5;transform:none;animation:turnPulse-875a7a89 1.5s infinite alternate ease-in-out}@keyframes turnPulse-875a7a89{0%{box-shadow:0 0 0 2px var(--primary-color)}to{box-shadow:0 0 0 6px var(--primary-color)}}.member-name[data-v-875a7a89]{font-size:.85rem;font-weight:800;color:var(--border-color)}.member-box.offline .player-avatar[data-v-875a7a89]{background:#e0e0e0;opacity:.8}.chat-section[data-v-875a7a89]{flex:1;min-height:0;background:#fff;border-radius:var(--radius-lg);border:var(--border-width) solid var(--border-color);box-shadow:none;overflow:hidden;display:flex;flex-direction:column}.messages[data-v-875a7a89]{flex:1;padding:.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:.15rem;background:#fff}.message[data-v-875a7a89]{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem;max-width:100%;line-height:1.25;font-size:.85rem}.msg-time[data-v-875a7a89]{color:var(--text-muted)}.msg-user[data-v-875a7a89]{font-weight:800;color:var(--primary-color)}.msg-content[data-v-875a7a89]{color:var(--text-main);font-weight:700;word-break:break-all}.message.system .msg-time[data-v-875a7a89],.message.system .msg-content[data-v-875a7a89]{color:var(--text-muted)}.input-section[data-v-875a7a89]{display:flex;gap:.5rem;background:#fff;padding:.25rem .4rem;border-radius:var(--radius-lg);border:var(--border-width) solid var(--border-color);box-shadow:none}.input-section input[data-v-875a7a89]{flex:1;background:transparent;border:none;padding:0 1rem;font-size:1rem;color:var(--text-main);font-weight:700}.input-section input[data-v-875a7a89]:focus{outline:none}.chat-overlay[data-v-875a7a89]{position:absolute;top:0;left:0;width:100%;height:100%;background:transparent;z-index:999}.input-section.floating-input[data-v-875a7a89]{position:absolute;bottom:calc(100px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);width:calc(100% - 2rem);max-width:500px;z-index:1000;animation:slideUp-875a7a89 .15s ease-out;border:var(--border-width) solid var(--border-color);padding:.5rem}@keyframes slideUp-875a7a89{0%{transform:translate(-50%,20px);opacity:0}to{transform:translate(-50%);opacity:1}}.chat-bubble[data-v-875a7a89]{position:absolute;top:-40px;left:50%;transform:translate(-50%);background:#fff;color:var(--text-main);padding:.4rem .8rem;border-radius:12px;border:var(--border-width) solid var(--border-color);font-size:.85rem;font-weight:800;word-break:break-all;white-space:pre-wrap;max-width:180px;z-index:100}.chat-bubble.global[data-v-875a7a89]{position:fixed;z-index:9999;transform:translate(-50%);pointer-events:none;box-shadow:none;animation:bubblePop-875a7a89 .2s ease-out}.chat-bubble[data-v-875a7a89]:after{content:"";position:absolute;top:-11px;left:50%;transform:translate(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid var(--border-color)}@keyframes bubblePop-875a7a89{0%{transform:translate(-50%) scale(.5);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}.input-section input[data-v-875a7a89]::placeholder{color:var(--text-muted)}.bottom-actions[data-v-875a7a89]{display:flex;gap:.75rem;justify-content:center;margin-top:.5rem;margin-bottom:env(safe-area-inset-bottom,1.5rem);position:relative;z-index:1100}.action-btn[data-v-875a7a89]{flex:1;height:48px;border-radius:var(--radius-lg);border:var(--border-width) solid var(--border-color);box-shadow:none;font-size:1.2rem;font-weight:900;padding:0;display:flex;align-items:center;justify-content:center;transition:all .1s ease;cursor:pointer}.action-btn.btn-primary[data-v-875a7a89]{background:var(--primary-color);color:#fff}.action-btn.btn-secondary[data-v-875a7a89]{background:var(--bg-card-accent);color:var(--border-color)}.action-btn.btn-danger[data-v-875a7a89]{background:#ff5252;color:#fff}.action-btn[data-v-875a7a89]:active{transform:none;box-shadow:none}.member-box.clickable:hover .player-avatar[data-v-875a7a89]{transform:scale(1.05)}.player-menu-overlay[data-v-875a7a89]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:2000}.player-menu[data-v-875a7a89]{background:var(--bg-color);border-radius:var(--radius-lg);border:var(--border-width) solid var(--border-color);box-shadow:none;padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;min-width:200px}.player-menu-name[data-v-875a7a89]{font-size:1.2rem;font-weight:900;color:var(--text-main);text-align:center;padding-bottom:.5rem;border-bottom:2px solid var(--border-color);margin-bottom:.25rem}.menu-btn[data-v-875a7a89]{width:100%;height:52px;border-radius:var(--radius-lg);border:var(--border-width) solid var(--border-color);font-size:1rem;font-weight:900;cursor:pointer;transition:all .1s}.menu-btn[data-v-875a7a89]:active{transform:none;box-shadow:none}.btn-kick[data-v-875a7a89]{background:#e56b55;color:#fff;box-shadow:none}.btn-transfer[data-v-875a7a89]{background:#5b8fb9;color:#fff;box-shadow:none}.btn-cancel[data-v-875a7a89]{background:#fff;color:var(--border-color);box-shadow:none}.loading[data-v-875a7a89]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:1.5rem;color:var(--text-main);font-weight:700}.loader-ring[data-v-875a7a89]{width:48px;height:48px;border:var(--border-width) solid var(--bg-card-accent);border-radius:50%;border-top-color:var(--primary-color);animation:spin-875a7a89 1s infinite linear}@keyframes spin-875a7a89{to{transform:rotate(360deg)}}.billiards-top-avatars[data-v-875a7a89]{display:flex;justify-content:space-between;width:100%;padding:0 10px;margin-bottom:4px;z-index:20}.billiards-mini-avatar-container[data-v-875a7a89]{display:flex;align-items:center;gap:6px;background:var(--bg-card-accent);border:var(--border-width) solid var(--border-color);padding:2px 8px 2px 2px;border-radius:30px;color:var(--text-main);font-weight:700}.billiards-mini-avatar-container.right-aligned[data-v-875a7a89]{flex-direction:row-reverse}.billiards-player-name[data-v-875a7a89]{font-size:.9rem;padding:0 8px;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
