.board-wrapper[data-v-89f500fb]{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:12px}canvas[data-v-89f500fb]{cursor:pointer;border-radius:4px;display:block}.controls-section[data-v-775be6bf]{flex-direction:column;align-items:center;gap:10px;display:flex}.mode-toggle[data-v-775be6bf],.theme-toggle[data-v-775be6bf]{background:var(--surface);border:1px solid var(--border);border-radius:25px;gap:0;display:flex;overflow:hidden}.mode-btn[data-v-775be6bf],.theme-btn[data-v-775be6bf]{color:var(--text-dim);cursor:pointer;transition:var(--transition);letter-spacing:1px;white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:8px 20px;font-family:inherit;font-size:.85rem;display:flex}.mode-btn.active[data-v-775be6bf],.theme-btn.active[data-v-775be6bf]{background:var(--primary);color:#fff;font-weight:600}.mode-btn[data-v-775be6bf]:hover:not(.active),.theme-btn[data-v-775be6bf]:hover:not(.active){color:var(--text);background:var(--hover)}.action-buttons[data-v-775be6bf]{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn[data-v-775be6bf]{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:var(--transition);letter-spacing:1px;border-radius:25px;align-items:center;gap:6px;padding:10px 22px;font-family:inherit;font-size:.9rem;display:flex}.btn[data-v-775be6bf]:hover:not(:disabled){background:var(--hover);border-color:var(--border-hover);transform:translateY(-1px)}.btn[data-v-775be6bf]:active{transform:translateY(0)}.btn[data-v-775be6bf]:disabled{opacity:.5;cursor:not-allowed}.btn.danger[data-v-775be6bf]{border-color:var(--danger-border);color:var(--danger)}.btn.danger[data-v-775be6bf]:hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger)}.status-section[data-v-cd3de748]{flex-direction:column;align-items:center;gap:12px;display:flex}.turn-indicator[data-v-cd3de748]{align-items:center;gap:10px;height:36px;font-size:1rem;font-weight:500;display:flex}.turn-label[data-v-cd3de748]{color:var(--text-dim)}.turn-stone[data-v-cd3de748]{width:24px;height:24px;transition:var(--transition);box-shadow:var(--shadow-sm);border-radius:50%;display:inline-block}.turn-stone.black[data-v-cd3de748]{background:radial-gradient(circle at 35% 35%,#555,#1a1a1a 60%)}.turn-stone.white[data-v-cd3de748]{background:radial-gradient(circle at 35% 35%,#fff,#f5f5f0 50%,#ccc 90%);border:1px solid #bbb}.turn-text[data-v-cd3de748]{min-width:80px;color:var(--text)}.win-overlay[data-v-171aa1d1]{z-index:100;opacity:0;pointer-events:none;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .35s;display:flex;position:fixed;top:0;left:0}.win-overlay.show[data-v-171aa1d1]{opacity:1;pointer-events:auto}.win-dialog[data-v-171aa1d1]{background:var(--surface);text-align:center;box-shadow:var(--shadow-lg);border:1px solid var(--border);border-radius:16px;padding:32px 40px;transition:transform .35s;transform:scale(.9)}.win-overlay.show .win-dialog[data-v-171aa1d1]{transform:scale(1)}.win-icon[data-v-171aa1d1]{color:var(--accent);margin-bottom:12px}.win-title[data-v-171aa1d1]{color:var(--text);margin-bottom:16px;font-size:1.5rem;font-weight:700}.btn.play-again[data-v-171aa1d1]{background:var(--primary);border-color:var(--primary);color:#fff;cursor:pointer;transition:var(--transition);border:none;border-radius:25px;align-items:center;gap:8px;margin-top:16px;padding:12px 32px;font-family:inherit;font-size:1rem;font-weight:600;display:inline-flex}.btn.play-again[data-v-171aa1d1]:hover{background:var(--primary-hover)}.online-lobby[data-v-10f4f11b]{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);flex-direction:column;align-items:center;gap:16px;width:100%;min-width:320px;max-width:400px;padding:20px;display:flex}.lobby-actions[data-v-10f4f11b]{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.action-group[data-v-10f4f11b]{justify-content:center;width:100%;display:flex}.divider[data-v-10f4f11b]{width:100%;color:var(--text-dim);align-items:center;gap:12px;font-size:.85rem;display:flex}.divider[data-v-10f4f11b]:before,.divider[data-v-10f4f11b]:after{content:"";background:var(--border);flex:1;height:1px}.input-group[data-v-10f4f11b]{gap:8px;width:100%;display:flex}.btn.icon-btn[data-v-10f4f11b]{flex-shrink:0;padding:10px}.input[data-v-10f4f11b]{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:25px;outline:none;flex:1;padding:10px 14px;font-family:inherit;font-size:.9rem;transition:border-color .2s}.input[data-v-10f4f11b]:focus{border-color:var(--primary)}.input[data-v-10f4f11b]::placeholder{color:var(--text-dim)}.btn[data-v-10f4f11b]{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:var(--transition);white-space:nowrap;border-radius:25px;align-items:center;gap:6px;padding:10px 20px;font-family:inherit;font-size:.9rem;display:flex}.btn[data-v-10f4f11b]:hover:not(:disabled){background:var(--hover);border-color:var(--border-hover)}.btn[data-v-10f4f11b]:disabled{opacity:.5;cursor:not-allowed}.btn.primary[data-v-10f4f11b]{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary[data-v-10f4f11b]:hover{background:var(--primary-hover)}.btn.danger[data-v-10f4f11b]{border-color:var(--danger-border);color:var(--danger)}.btn.danger[data-v-10f4f11b]:hover{background:var(--danger-bg);border-color:var(--danger)}.btn.small[data-v-10f4f11b]{padding:6px 14px;font-size:.8rem}.room-id-row[data-v-10f4f11b]{justify-content:center;align-items:center;gap:10px;display:flex}.room-code[data-v-10f4f11b]{color:var(--primary);letter-spacing:1.5px;background:var(--bg);border:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;border-radius:8px;max-width:220px;padding:6px 12px;font-family:Courier New,monospace;font-size:1.15rem;font-weight:700;transition:all .35s cubic-bezier(.4,0,.2,1);overflow:hidden}.room-code.flash[data-v-10f4f11b]{background:var(--primary);color:#fff;border-color:var(--primary);transform:scale(1.02);box-shadow:0 0 0 3px #8a7a6a33}.copy-btn[data-v-10f4f11b]{border:1px solid var(--border);background:var(--surface);color:var(--text-dim);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:.8rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.copy-btn[data-v-10f4f11b]:hover:not(.copied){border-color:var(--primary);color:var(--primary);background:var(--hover)}.copy-btn.copied[data-v-10f4f11b]{color:#16a34a;background:#16a34a0f;border-color:#16a34a}.icon-copy[data-v-10f4f11b]{transition:all .3s cubic-bezier(.4,0,.2,1)}.copy-btn:hover:not(.copied) .icon-copy[data-v-10f4f11b]{transform:scale(1.15)}.icon-check[data-v-10f4f11b]{animation:.35s cubic-bezier(.34,1.56,.64,1) forwards checkIn-10f4f11b}@keyframes checkIn-10f4f11b{0%{opacity:0;transform:scale(0)rotate(-45deg)}to{opacity:1;transform:scale(1)rotate(0)}}.copy-label[data-v-10f4f11b]{white-space:nowrap;display:none}.copy-label.show[data-v-10f4f11b]{animation:.3s cubic-bezier(.34,1.56,.64,1) forwards labelIn-10f4f11b;display:inline}@keyframes labelIn-10f4f11b{0%{opacity:0;max-width:0}to{opacity:1;max-width:60px}}.loading[data-v-10f4f11b]{color:var(--text-dim);align-items:center;gap:10px;font-size:.9rem;display:flex}.spin[data-v-10f4f11b]{animation:1s linear infinite spin-10f4f11b}@keyframes spin-10f4f11b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.waiting[data-v-10f4f11b]{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.room-info[data-v-10f4f11b]{text-align:center}.room-label[data-v-10f4f11b]{color:var(--text-dim);margin-bottom:8px;font-size:.8rem}.share-hint[data-v-10f4f11b]{color:var(--text-dim);margin-top:8px;font-size:.8rem}.waiting-indicator[data-v-10f4f11b]{color:var(--text-dim);align-items:center;gap:8px;font-size:.9rem;display:flex}.playing[data-v-10f4f11b]{flex-direction:column;align-items:center;gap:12px;display:flex}.status-badge[data-v-10f4f11b]{color:#16a34a;background:#22c55e1a;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:.85rem;font-weight:500;display:flex}.player-info[data-v-10f4f11b]{color:var(--text);align-items:center;gap:8px;font-size:.95rem;display:flex}.player-stone[data-v-10f4f11b]{border-radius:50%;width:20px;height:20px;display:inline-block;box-shadow:0 1px 3px #0003}.player-stone.black[data-v-10f4f11b]{background:radial-gradient(circle at 35% 35%,#555,#1a1a1a 60%)}.player-stone.white[data-v-10f4f11b]{background:radial-gradient(circle at 35% 35%,#fff,#f5f5f0 50%,#ccc 90%);border:1px solid #bbb}.error-toast[data-v-10f4f11b]{color:#dc2626;cursor:pointer;z-index:200;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:8px;padding:10px 16px;font-size:.85rem;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000001a}.toast-enter-active[data-v-10f4f11b]{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.toast-leave-active[data-v-10f4f11b]{transition:all .2s}.toast-enter-from[data-v-10f4f11b]{opacity:0;transform:translate(-50%)translateY(20px)scale(.9)}.toast-leave-to[data-v-10f4f11b]{opacity:0;transform:translate(-50%)translateY(10px)scale(.95)}:root,[data-theme=nature]{--bg:#f5f0e8;--surface:#faf7f2;--primary:#8b6914;--primary-hover:#7a5c10;--accent:#d4a574;--text:#3a3020;--text-dim:#8b7355;--border:#d4c4a8;--border-hover:#b8a080;--hover:#8b691414;--shadow-sm:0 2px 4px #8b69141a;--shadow-md:0 4px 12px #8b691426;--shadow-lg:0 8px 24px #8b691433;--danger:#c44;--danger-border:#cc44444d;--danger-bg:#cc444414;--radius:10px;--transition:.2s ease}body[data-theme=nature]{background:var(--bg);background-image:radial-gradient(circle at 20% 80%,#d4a57426 0%,#0000 50%),radial-gradient(circle at 80% 20%,#8b69141a 0%,#0000 50%)}body[data-theme=nature] .title{color:var(--primary);font-family:STKaiti,KaiTi,楷体,serif}[data-theme=modern]{--bg:#fafaf8;--surface:#fff;--primary:#8a7a6a;--primary-hover:#786858;--accent:#a89880;--text:#2a2824;--text-dim:#908880;--border:#e0dcd8;--border-hover:#c8c0b8;--hover:#8a7a6a14;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--danger:#d44040;--danger-border:#d440404d;--danger-bg:#d440400f;--radius:8px;--transition:.15s ease}body[data-theme=modern]{background:var(--bg)}body[data-theme=modern] .title{color:var(--text);letter-spacing:6px;font-family:Segoe UI,SF Pro Display,-apple-system,sans-serif;font-weight:300}body[data-theme=modern] .board-wrapper{border-radius:12px;box-shadow:0 2px 8px #0000000f}body[data-theme=modern] .mode-toggle,body[data-theme=modern] .theme-toggle{border-radius:6px}[data-theme=classic]{--bg:#f5f0e0;--surface:#faf5e8;--primary:#8b0000;--primary-hover:#6b0000;--accent:#c41200;--text:#1a1a2e;--text-dim:#5a4a3a;--border:#c8b898;--border-hover:#a89878;--hover:#8b00000f;--shadow-sm:0 2px 4px #1a1a2e1a;--shadow-md:0 4px 12px #1a1a2e26;--shadow-lg:0 8px 24px #1a1a2e33;--danger:#8b0000;--danger-border:#8b00004d;--danger-bg:#8b00000f;--radius:4px;--transition:.2s ease}body[data-theme=classic]{background:var(--bg);background-image:repeating-linear-gradient(0deg,#0000,#0000 20px,#8b000005 20px 21px),repeating-linear-gradient(90deg,#0000,#0000 20px,#8b000005 20px 21px)}body[data-theme=classic] .title{color:var(--primary);letter-spacing:8px;text-shadow:1px 1px 2px #8b000033;font-family:STKaiti,KaiTi,楷体,"FangSong",仿宋,serif;font-weight:900}body[data-theme=classic] .board-wrapper{border:2px solid var(--border);box-shadow:inset 0 0 20px #8b00000d}body[data-theme=classic] .mode-btn,body[data-theme=classic] .theme-btn,body[data-theme=classic] .turn-label,body[data-theme=classic] .turn-text{font-family:STKaiti,KaiTi,楷体,serif}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;min-height:100vh;font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;transition:background .3s;display:flex;overflow-y:auto}.app{width:100%}.container{flex-direction:column;align-items:center;gap:16px;max-width:700px;margin:0 auto;padding:20px;display:flex}.header{text-align:center}.title{letter-spacing:4px;color:var(--primary);margin-bottom:6px;font-size:2rem;font-weight:700;transition:color .3s}.subtitle{color:var(--text-dim);letter-spacing:2px;font-size:.85rem}.online-status{background:var(--surface);border:1px solid var(--border);border-radius:25px;justify-content:center;align-items:center;gap:16px;padding:8px 16px;display:flex}.online-info{color:var(--text);align-items:center;gap:8px;font-size:.9rem;display:flex}.player-badge{border-radius:12px;padding:2px 10px;font-size:.8rem;font-weight:600}.player-badge.black{color:#fff;background:#1a1a1a}.player-badge.white{color:#1a1a1a;background:#f5f5f0;border:1px solid #ccc}.btn.small{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:var(--transition);border-radius:25px;align-items:center;gap:4px;padding:6px 14px;font-family:inherit;font-size:.8rem;display:flex}.btn.small:hover{background:var(--hover)}@media (width<=640px){.container{gap:10px;padding:12px}.title{letter-spacing:2px;font-size:1.5rem}}@media (width<=380px){.title{font-size:1.3rem}}
