@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";.app-bg[data-v-26200f53]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.bg-svg[data-v-26200f53]{width:100%;height:100%;display:block}.blob[data-v-26200f53]{filter:blur(40px)}.page-shell{height:100vh;display:grid;grid-template-rows:var(--nav-h) 1fr;grid-template-areas:"nav" "main";position:relative;overflow:hidden}.site-nav{grid-area:nav;position:relative;z-index:100;background:#6366f1eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.18);box-shadow:0 2px 20px #6366f140}.nav-inner{height:var(--nav-h);max-width:1100px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:12px}.nav-logo{display:flex;align-items:center;gap:10px;background:none;border:none;cursor:pointer;padding:6px 10px;border-radius:var(--r-sm);transition:background .15s;flex-shrink:0}.nav-logo:hover{background:#ffffff1f}.nav-logo-text{font-size:20px;font-weight:800;color:#fff;letter-spacing:-.5px}.nav-links{display:flex;align-items:center;gap:4px;flex:1}.nav-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--r-sm);border:none;background:#ffffff1a;color:#ffffffd9;font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s}.nav-link:hover{background:#fff3;color:#fff}.nav-link-primary{background:#fff3;color:#fff;font-weight:600}.nav-link-primary:hover{background:#ffffff4d}.nav-clock{font-size:14px;font-weight:600;color:#ffffffe6;min-width:48px;text-align:right;flex-shrink:0}.nav-join-panel{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r);box-shadow:var(--shadow-lg);padding:12px 16px;display:flex;align-items:center;gap:8px;z-index:200;min-width:360px}.nav-join-input{flex:1;padding:8px 12px;border:1.5px solid var(--c-border);border-radius:var(--r-sm);font-family:inherit;font-size:14px;color:var(--c-text);background:var(--c-surface);outline:none;transition:border-color .15s,box-shadow .15s}.nav-join-input:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px #6366f126}.nav-join-error{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--c-danger-bg);border:1px solid #fca5a5;border-radius:var(--r-sm);padding:6px 12px;font-size:13px;color:var(--c-danger);text-align:center}.join-slide-enter-active,.join-slide-leave-active{transition:all .18s ease}.join-slide-enter-from,.join-slide-leave-to{opacity:0;transform:translate(-50%) translateY(-6px)}.site-main{grid-area:main;position:relative;overflow:hidden;z-index:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--r-sm);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .15s ease;-webkit-user-select:none;user-select:none;white-space:nowrap;min-width:64px;line-height:1.4}.btn-success{background:var(--c-success);color:#fff}.input{width:100%;padding:9px 12px;border:1.5px solid var(--c-border);border-radius:var(--r-sm);font-family:inherit;font-size:14px;color:var(--c-text);background:var(--c-surface);transition:border-color .15s,box-shadow .15s;outline:none}.input:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px #6366f126}.card{background:var(--c-surface);border-radius:var(--r);box-shadow:var(--shadow-card);border:1px solid var(--c-border)}.win-btn,.xp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--r-sm);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;border:1.5px solid var(--c-border);background:var(--c-surface);color:var(--c-text);transition:all .15s;-webkit-user-select:none;user-select:none;white-space:nowrap;min-width:64px}.win-btn:hover:not(:disabled),.xp-btn:hover:not(:disabled){background:var(--c-primary-light);border-color:var(--c-primary-mid);color:var(--c-primary)}.win-btn:disabled,.xp-btn:disabled{opacity:.45;cursor:not-allowed}.win-btn-lg,.xp-btn-lg{font-size:15px;padding:10px 20px;width:100%;font-weight:600}.win-btn-danger,.xp-btn-danger{background:var(--c-danger-bg);color:var(--c-danger);border-color:#fca5a5}.win-btn-danger:hover:not(:disabled),.xp-btn-danger:hover:not(:disabled){background:var(--c-danger);color:#fff}.win-input,.xp-input{width:100%;padding:9px 12px;border:1.5px solid var(--c-border);border-radius:var(--r-sm);font-family:inherit;font-size:14px;color:var(--c-text);background:var(--c-surface);outline:none;transition:border-color .15s,box-shadow .15s}.win-input:focus,.xp-input:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px #6366f126}.win-input[readonly],.xp-input[readonly]{background:var(--c-surface-2);color:var(--c-text-muted)}.win-window,.xp-window{background:var(--c-surface);border-radius:var(--r);box-shadow:var(--shadow);border:1px solid var(--c-border);overflow:hidden;animation:fadeScaleIn .2s ease both}.win-titlebar,.xp-titlebar{padding:14px 18px;border-bottom:1px solid var(--c-border);display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--c-surface)}.win-titlebar-left,.xp-titlebar-left{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--c-text);overflow:hidden;flex:1}.win-title-icon,.xp-title-icon{flex-shrink:0;color:var(--c-primary)}.win-title-text,.xp-title-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.win-title-btns,.xp-title-btns{display:flex;gap:4px;flex-shrink:0}.win-ctrl,.xp-ctrl{width:28px;height:28px;border-radius:var(--r-full);border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--c-text-muted);font-size:14px;transition:background .12s;padding:0}.win-ctrl:hover,.xp-ctrl:hover{background:var(--c-surface-2)}.win-ctrl-close:hover,.xp-ctrl-close:hover{background:var(--c-danger-bg);color:var(--c-danger)}.win-body,.xp-body{padding:20px;background:var(--c-surface)}.win-progress,.xp-progress-bar{height:6px;background:var(--c-primary-light);border-radius:var(--r-full);overflow:hidden}.win-progress-fill,.xp-progress-fill{height:100%;background:linear-gradient(90deg,var(--c-primary),var(--c-violet));border-radius:var(--r-full);transition:width .35s}@media (max-width: 640px){.nav-links{gap:2px}.nav-link{padding:5px 8px;font-size:13px}.nav-logo-text{font-size:17px}.page-center{padding:8px}}@media (max-width: 400px){.nav-link span:not(.nav-logo-text){display:none}}.home-wrap[data-v-0c89b2d1]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;z-index:5}.home-card[data-v-0c89b2d1]{width:520px;max-width:100%;background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);border:1px solid var(--c-border);overflow:hidden;animation:fadeScaleIn .3s ease both}.home-hero[data-v-0c89b2d1]{background:linear-gradient(135deg,var(--c-primary),var(--c-violet));padding:28px 28px 24px;display:flex;align-items:center;gap:18px}.hero-icon[data-v-0c89b2d1]{width:68px;height:68px;background:#ffffff26;border-radius:var(--r);display:flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-title[data-v-0c89b2d1]{font-size:32px;font-weight:800;color:#fff;letter-spacing:-1px}.hero-sub[data-v-0c89b2d1]{font-size:14px;color:#fffc;margin-top:4px;line-height:1.4}.boot-panel[data-v-0c89b2d1]{padding:16px 24px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--c-border);background:var(--c-surface-2)}.boot-row[data-v-0c89b2d1]{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--c-text-muted)}.boot-indicator[data-v-0c89b2d1]{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.bi-ok[data-v-0c89b2d1]{color:var(--c-success)}.bi-spin[data-v-0c89b2d1]{color:var(--c-primary);animation:spin .7s linear infinite;display:flex;align-items:center}.boot-text[data-v-0c89b2d1]{flex:1}.home-actions[data-v-0c89b2d1]{padding:16px 20px;display:flex;flex-direction:column;gap:10px}.action-card[data-v-0c89b2d1]{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--r);border:1.5px solid var(--c-border);background:var(--c-surface);cursor:pointer;text-align:left;transition:all .15s;width:100%}.action-card[data-v-0c89b2d1]:hover{border-color:var(--c-primary-mid);background:var(--c-primary-light);transform:translateY(-1px);box-shadow:0 4px 16px #6366f11f}.action-card[data-v-0c89b2d1]:active{transform:translateY(0)}.action-icon-wrap[data-v-0c89b2d1]{width:48px;height:48px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.action-icon-primary[data-v-0c89b2d1]{background:linear-gradient(135deg,var(--c-primary),var(--c-violet))}.action-icon-secondary[data-v-0c89b2d1]{background:linear-gradient(135deg,#0ea5e9,#6366f1)}.action-content[data-v-0c89b2d1]{flex:1;display:flex;flex-direction:column;gap:2px}.action-title[data-v-0c89b2d1]{font-size:15px;font-weight:600;color:var(--c-text)}.action-desc[data-v-0c89b2d1]{font-size:12px;color:var(--c-text-muted)}.action-arrow[data-v-0c89b2d1]{color:var(--c-text-light);flex-shrink:0;transition:transform .15s}.action-card:hover .action-arrow[data-v-0c89b2d1]{transform:translate(3px);color:var(--c-primary)}.join-panel[data-v-0c89b2d1]{margin:0 20px 16px;padding:14px 16px;background:var(--c-primary-light);border:1px solid var(--c-primary-mid);border-radius:var(--r);display:flex;flex-direction:column;gap:10px}.join-label[data-v-0c89b2d1]{font-size:13px;font-weight:600;color:var(--c-primary)}.join-row[data-v-0c89b2d1]{display:flex;gap:8px;align-items:center}.join-input[data-v-0c89b2d1]{flex:1;font-size:15px;padding:9px 12px}.home-footer[data-v-0c89b2d1]{padding:10px 24px;display:flex;justify-content:space-between;font-size:11px;color:var(--c-text-light);border-top:1px solid var(--c-border);background:var(--c-surface-2)}.slide-enter-active[data-v-0c89b2d1],.slide-leave-active[data-v-0c89b2d1]{transition:all .2s ease}.slide-enter-from[data-v-0c89b2d1],.slide-leave-to[data-v-0c89b2d1]{opacity:0;transform:translateY(-8px)}@media (max-width: 560px){.home-wrap[data-v-0c89b2d1]{padding:8px}.home-hero[data-v-0c89b2d1]{padding:20px;gap:12px}.hero-title[data-v-0c89b2d1]{font-size:26px}.hero-icon[data-v-0c89b2d1]{width:52px;height:52px}}.create-wrap[data-v-fc6fe3f9]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;z-index:5}.create-card[data-v-fc6fe3f9]{width:520px;max-width:100%;background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);border:1px solid var(--c-border);animation:fadeScaleIn .25s ease both;overflow:hidden}.create-header[data-v-fc6fe3f9]{padding:14px 20px;border-bottom:1px solid var(--c-border);display:flex;align-items:center;gap:12px;background:var(--c-surface-2)}.back-btn[data-v-fc6fe3f9]{width:34px;height:34px;border-radius:var(--r-sm);border:1.5px solid var(--c-border);background:var(--c-surface);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--c-text-muted);transition:all .12s;flex-shrink:0}.back-btn[data-v-fc6fe3f9]:hover{background:var(--c-primary-light);border-color:var(--c-primary-mid);color:var(--c-primary)}.header-title[data-v-fc6fe3f9]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:var(--c-text)}.create-body[data-v-fc6fe3f9]{padding:22px 24px 20px;display:flex;flex-direction:column;gap:20px}.field[data-v-fc6fe3f9]{display:flex;flex-direction:column;gap:8px}.field-label[data-v-fc6fe3f9]{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.04em}.counter-row[data-v-fc6fe3f9]{display:flex;align-items:center;gap:12px}.counter-btn[data-v-fc6fe3f9]{width:36px;height:36px;border-radius:var(--r-sm);border:1.5px solid var(--c-border);background:var(--c-surface);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--c-text-muted);transition:all .12s;flex-shrink:0}.counter-btn[data-v-fc6fe3f9]:hover{background:var(--c-primary-light);border-color:var(--c-primary-mid);color:var(--c-primary)}.counter-display[data-v-fc6fe3f9]{flex:1;display:flex;align-items:center;gap:10px}.counter-value[data-v-fc6fe3f9]{font-size:28px;font-weight:800;color:var(--c-primary);min-width:38px;text-align:center}.counter-track[data-v-fc6fe3f9]{flex:1;height:6px;background:var(--c-primary-light);border-radius:var(--r-full);overflow:hidden}.counter-fill[data-v-fc6fe3f9]{height:100%;background:linear-gradient(90deg,var(--c-primary),var(--c-violet));border-radius:var(--r-full);transition:width .15s}.counter-hint[data-v-fc6fe3f9]{font-size:12px;color:var(--c-text-light);white-space:nowrap}.stars-row[data-v-fc6fe3f9]{display:flex;align-items:center;gap:4px}.star-btn[data-v-fc6fe3f9]{background:none;border:none;cursor:pointer;padding:2px;border-radius:6px;transition:transform .1s}.star-btn[data-v-fc6fe3f9]:hover{transform:scale(1.2)}.stars-label[data-v-fc6fe3f9]{font-size:14px;color:var(--c-text-muted);margin-left:6px}.summary-box[data-v-fc6fe3f9]{background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--r);padding:14px 16px}.summary-title[data-v-fc6fe3f9]{font-size:11px;font-weight:600;color:var(--c-text-light);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}.summary-grid[data-v-fc6fe3f9]{display:flex;flex-direction:column;gap:6px}.summary-item[data-v-fc6fe3f9]{display:flex;justify-content:space-between;align-items:center}.si-key[data-v-fc6fe3f9]{font-size:13px;color:var(--c-text-muted)}.si-val[data-v-fc6fe3f9]{font-size:13px;font-weight:600;color:var(--c-primary)}.create-actions[data-v-fc6fe3f9]{display:flex;gap:10px}.create-go-btn[data-v-fc6fe3f9]{flex:1;font-size:15px;font-weight:600;padding:12px 20px}@media (max-width: 560px){.create-wrap[data-v-fc6fe3f9]{padding:8px}.create-body[data-v-fc6fe3f9]{padding:16px}.create-actions[data-v-fc6fe3f9]{flex-direction:column}}.dlg-overlay[data-v-95d033aa]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dlg-box[data-v-95d033aa]{background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);border:1px solid var(--c-border);padding:28px 28px 24px;width:340px;max-width:calc(100vw - 32px);display:flex;flex-direction:column;align-items:center;gap:16px;animation:fadeScaleIn .18s ease both;text-align:center}.dlg-icon-wrap[data-v-95d033aa]{width:56px;height:56px;background:var(--c-warning-bg);border-radius:var(--r-full);display:flex;align-items:center;justify-content:center}.dlg-msg[data-v-95d033aa]{font-size:15px;color:var(--c-text);line-height:1.5}.dlg-btns[data-v-95d033aa]{display:flex;gap:10px;width:100%}.dlg-btns .btn[data-v-95d033aa]{flex:1}.lobby-wrap[data-v-f6c17de2]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:16px;z-index:5}.lobby-card[data-v-f6c17de2]{width:820px;max-width:100%;background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);border:1px solid var(--c-border);animation:fadeScaleIn .25s ease both;overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 32px - var(--nav-h))}.lobby-header[data-v-f6c17de2]{padding:14px 20px;border-bottom:1px solid var(--c-border);display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--c-surface-2);flex-shrink:0}.lobby-title[data-v-f6c17de2]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:var(--c-text)}.lobby-badge[data-v-f6c17de2]{display:inline-flex;align-items:center;gap:4px;background:var(--c-warning-bg);color:var(--c-warning);border:1px solid #fed7aa;border-radius:var(--r-full);padding:2px 8px;font-size:11px;font-weight:600}.close-btn[data-v-f6c17de2]{width:30px;height:30px;border-radius:var(--r-full);border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--c-text-muted);transition:all .12s}.close-btn[data-v-f6c17de2]:hover{background:var(--c-danger-bg);color:var(--c-danger)}.lobby-body[data-v-f6c17de2]{flex:1;overflow:hidden;padding:16px 20px;display:flex;flex-direction:column;gap:14px}.lobby-columns[data-v-f6c17de2]{flex:1;display:flex;gap:14px;min-height:0;overflow:hidden}.lobby-col[data-v-f6c17de2]{display:flex;flex-direction:column;gap:10px;min-height:0}.lobby-col-main[data-v-f6c17de2]{flex:1;overflow:hidden}.lobby-col-side[data-v-f6c17de2]{width:240px;flex-shrink:0;overflow:hidden}.col-head[data-v-f6c17de2]{display:flex;align-items:center;justify-content:space-between}.col-title[data-v-f6c17de2]{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.04em}.player-count-badge[data-v-f6c17de2]{background:var(--c-primary-light);color:var(--c-primary);border-radius:var(--r-full);padding:2px 8px;font-size:12px;font-weight:700}.players-track[data-v-f6c17de2]{height:4px;background:var(--c-primary-light);border-radius:var(--r-full);overflow:hidden}.players-fill[data-v-f6c17de2]{height:100%;background:linear-gradient(90deg,var(--c-primary),var(--c-violet));border-radius:var(--r-full);transition:width .3s}.player-list[data-v-f6c17de2]{flex:1;min-height:0;overflow-y:auto;background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--r)}.player-row[data-v-f6c17de2]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--c-border);font-size:14px;transition:background .1s}.player-row[data-v-f6c17de2]:last-child{border-bottom:none}.player-row[data-v-f6c17de2]:hover,.row-me[data-v-f6c17de2]{background:var(--c-primary-light)}.player-avatar[data-v-f6c17de2]{width:26px;height:26px;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}.player-num[data-v-f6c17de2]{font-size:12px;color:var(--c-text-light);min-width:18px}.player-nick[data-v-f6c17de2]{flex:1;font-weight:500;color:var(--c-text)}.player-empty[data-v-f6c17de2]{padding:12px;text-align:center;color:var(--c-text-muted);font-size:13px;font-style:italic}.tag[data-v-f6c17de2]{display:inline-flex;align-items:center;gap:3px;border-radius:var(--r-full);padding:1px 7px;font-size:11px;font-weight:600}.tag-host[data-v-f6c17de2]{background:var(--c-warning-bg);color:var(--c-warning);border:1px solid #fed7aa}.tag-me[data-v-f6c17de2]{background:var(--c-primary-light);color:var(--c-primary);border:1px solid var(--c-primary-mid)}.kick-btn[data-v-f6c17de2]{width:24px;height:24px;border-radius:var(--r-full);border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--c-text-light);transition:all .12s}.kick-btn[data-v-f6c17de2]:hover{background:var(--c-danger-bg);color:var(--c-danger)}.invite-section[data-v-f6c17de2]{display:flex;flex-direction:column;gap:8px}.invite-code-box[data-v-f6c17de2]{background:var(--c-primary-light);border:1px solid var(--c-primary-mid);border-radius:var(--r);padding:12px 16px;text-align:center}.invite-code[data-v-f6c17de2]{font-size:20px;font-weight:800;color:var(--c-primary);letter-spacing:.12em;font-family:Inter,monospace}.invite-btn[data-v-f6c17de2]{width:100%;font-size:13px}.log-section[data-v-f6c17de2]{flex:1;display:flex;flex-direction:column;gap:8px;min-height:0}.log-box[data-v-f6c17de2]{flex:1;min-height:80px;max-height:120px;background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--r);padding:8px 12px;overflow-y:auto;display:flex;flex-direction:column;gap:3px}.log-line[data-v-f6c17de2]{display:flex;gap:8px;font-size:12px;line-height:1.5}.log-ts[data-v-f6c17de2]{color:var(--c-text-light);flex-shrink:0;font-size:11px}.log-msg[data-v-f6c17de2]{flex:1}.lc-ok[data-v-f6c17de2]{color:var(--c-success)}.lc-err[data-v-f6c17de2]{color:var(--c-danger)}.lc-dim[data-v-f6c17de2]{color:var(--c-text-muted)}.lc-info[data-v-f6c17de2]{color:var(--c-text-2)}.log-empty[data-v-f6c17de2]{color:var(--c-text-light);font-size:12px;font-style:italic;text-align:center;padding:8px 0}.lobby-actions[data-v-f6c17de2]{display:flex;gap:10px;align-items:center;padding-top:4px;flex-shrink:0}.host-action[data-v-f6c17de2]{flex:1;display:flex;align-items:center;gap:12px}.start-btn[data-v-f6c17de2]{flex:1;font-size:15px;font-weight:600;padding:12px 20px}.start-hint[data-v-f6c17de2]{font-size:12px;color:var(--c-text-muted)}.waiting-msg[data-v-f6c17de2]{flex:1;display:flex;align-items:center;gap:10px;font-size:14px;color:var(--c-text-muted);padding:8px 0}.waiting-spinner[data-v-f6c17de2]{flex-shrink:0}.leave-btn[data-v-f6c17de2]{color:var(--c-text-muted)}@keyframes spin-f6c17de2{to{transform:rotate(360deg)}}@media (max-width: 760px){.lobby-wrap[data-v-f6c17de2]{padding:8px}.lobby-columns[data-v-f6c17de2]{flex-direction:column;overflow-y:auto}.lobby-col-side[data-v-f6c17de2]{width:100%}.lobby-card[data-v-f6c17de2]{max-height:calc(100vh - 16px - var(--nav-h))}}@keyframes spin-cff3a47d{to{transform:rotate(360deg)}}@keyframes eqBounce-cff3a47d{0%{height:4px}to{height:28px}}.game-wrap[data-v-cff3a47d]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:8px 12px;z-index:5}.game-card[data-v-cff3a47d]{width:100%;max-width:700px;height:100%;background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);border:1px solid var(--c-border);display:flex;flex-direction:column;overflow:hidden;animation:fadeScaleIn .25s ease both}.game-header[data-v-cff3a47d]{padding:12px 16px;border-bottom:1px solid var(--c-border);display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--c-surface-2);flex-shrink:0}.game-header-left[data-v-cff3a47d]{display:flex;align-items:center;gap:8px;flex:1;overflow:hidden}.game-title-icon[data-v-cff3a47d]{width:30px;height:30px;border-radius:var(--r-sm);background:var(--c-primary-light);display:flex;align-items:center;justify-content:center;flex-shrink:0}.game-title[data-v-cff3a47d]{font-size:14px;font-weight:600;color:var(--c-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.host-chip[data-v-cff3a47d]{display:inline-flex;align-items:center;gap:4px;background:var(--c-warning-bg);color:var(--c-warning);border:1px solid #fed7aa;border-radius:var(--r-full);padding:2px 8px;font-size:11px;font-weight:600;flex-shrink:0}.error-chip[data-v-cff3a47d]{font-size:11px;color:var(--c-danger);background:var(--c-danger-bg);border-radius:var(--r-full);padding:2px 8px;flex-shrink:0}.close-btn[data-v-cff3a47d]{width:28px;height:28px;border-radius:var(--r-full);border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--c-text-muted);transition:all .12s}.close-btn[data-v-cff3a47d]:hover{background:var(--c-danger-bg);color:var(--c-danger)}.phase-bar[data-v-cff3a47d]{display:flex;background:var(--c-surface);border-bottom:1px solid var(--c-border);padding:0 12px;gap:0;flex-shrink:0}.phase-step[data-v-cff3a47d]{display:flex;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:500;color:var(--c-text-light);border-bottom:2px solid transparent;transition:all .15s;-webkit-user-select:none;user-select:none}.step-active[data-v-cff3a47d]{color:var(--c-primary);border-bottom-color:var(--c-primary)}.step-done[data-v-cff3a47d]{color:var(--c-success)}.step-bubble[data-v-cff3a47d]{width:18px;height:18px;border-radius:var(--r-full);background:var(--c-surface-2);border:1.5px solid var(--c-border);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;transition:all .15s}.step-active .step-bubble[data-v-cff3a47d]{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.step-done .step-bubble[data-v-cff3a47d]{background:var(--c-success);border-color:var(--c-success);color:#fff}.game-body[data-v-cff3a47d]{flex:1;min-height:0;overflow-y:auto;background:var(--c-surface)}.phase-content[data-v-cff3a47d]{padding:14px 16px;display:flex;flex-direction:column;gap:12px}.game-statusbar[data-v-cff3a47d]{display:flex;flex-wrap:wrap;gap:6px;background:var(--c-surface-2);border-top:1px solid var(--c-border);padding:8px 12px;flex-shrink:0}.sb-chip[data-v-cff3a47d]{display:inline-flex;align-items:center;gap:5px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-full);padding:3px 10px;font-size:12px;transition:all .1s}.sb-me[data-v-cff3a47d]{background:var(--c-primary-light);border-color:var(--c-primary-mid)}.sb-nick[data-v-cff3a47d]{font-weight:500;color:var(--c-text)}.sb-score[data-v-cff3a47d]{font-weight:700;color:var(--c-warning);margin-left:2px}.info-banner[data-v-cff3a47d]{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--r);font-size:15px;font-weight:500}.info-loading[data-v-cff3a47d],.info-blue[data-v-cff3a47d]{background:var(--c-primary-light);color:var(--c-primary);border:1px solid var(--c-primary-mid)}.loading-spin[data-v-cff3a47d]{animation:spin-cff3a47d .7s linear infinite;display:flex}.section-label[data-v-cff3a47d]{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.situation-panel[data-v-cff3a47d]{background:linear-gradient(135deg,var(--c-primary-light),#faf5ff);border:1px solid var(--c-primary-mid);border-radius:var(--r);padding:14px 16px}.situation-sm[data-v-cff3a47d]{padding:10px 14px}.sit-label[data-v-cff3a47d]{font-size:11px;font-weight:600;color:var(--c-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.sit-text[data-v-cff3a47d]{font-size:16px;font-weight:600;color:var(--c-text);line-height:1.4}.hand-grid[data-v-cff3a47d]{display:flex;flex-wrap:wrap;gap:8px}.sound-card[data-v-cff3a47d]{background:var(--c-surface);border:1.5px solid var(--c-border);border-radius:var(--r);padding:12px 14px;min-width:140px;flex:1;max-width:220px;display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:all .15s}.sound-card[data-v-cff3a47d]:hover:not(.sound-preview){border-color:var(--c-primary-mid);background:var(--c-primary-light);box-shadow:0 2px 8px #6366f11f;transform:translateY(-1px)}.sound-card[data-v-cff3a47d]:active:not(.sound-preview){transform:translateY(0)}.card-selected[data-v-cff3a47d]{border-color:var(--c-primary);background:var(--c-primary-light);box-shadow:0 0 0 3px #6366f126}.sound-preview[data-v-cff3a47d]{cursor:default;opacity:.85;border-style:dashed}.card-name[data-v-cff3a47d]{font-size:14px;font-weight:600;color:var(--c-text)}.card-foot[data-v-cff3a47d]{display:flex;align-items:center;gap:8px}.chosen-tag[data-v-cff3a47d]{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--c-success)}.preview-btn[data-v-cff3a47d]{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:var(--r-full);border:1px solid var(--c-border);background:var(--c-surface);font-size:12px;font-weight:500;cursor:pointer;color:var(--c-text-muted);transition:all .12s}.preview-btn[data-v-cff3a47d]:hover{background:var(--c-primary-light);border-color:var(--c-primary-mid);color:var(--c-primary)}.preview-btn.playing[data-v-cff3a47d]{background:var(--c-primary-light);border-color:var(--c-primary);color:var(--c-primary)}.confirm-row[data-v-cff3a47d]{display:flex;margin-top:4px}.confirm-btn[data-v-cff3a47d]{font-size:15px;font-weight:600;padding:11px 24px}.ok-banner[data-v-cff3a47d]{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--c-success-bg);border:1px solid #a7f3d0;border-radius:var(--r)}.ok-icon[data-v-cff3a47d]{width:40px;height:40px;background:#d1fae5;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ok-title[data-v-cff3a47d]{font-size:15px;font-weight:600;color:var(--c-success)}.ok-sub[data-v-cff3a47d]{font-size:13px;color:#059669;margin-top:2px}.progress-row[data-v-cff3a47d]{display:flex;align-items:center;gap:12px}.progress-label[data-v-cff3a47d]{font-size:13px;color:var(--c-text-muted);white-space:nowrap;flex-shrink:0}.mini-progress[data-v-cff3a47d]{flex:1;height:6px;background:var(--c-primary-light);border-radius:var(--r-full);overflow:hidden}.mini-fill[data-v-cff3a47d]{height:100%;background:linear-gradient(90deg,var(--c-primary),var(--c-violet));border-radius:var(--r-full);transition:width .3s}.now-playing[data-v-cff3a47d]{background:var(--c-surface);border:1.5px solid var(--c-border);border-radius:var(--r);padding:16px 18px;display:flex;flex-direction:column;gap:6px;transition:all .2s}.np-live[data-v-cff3a47d]{border-color:var(--c-primary);box-shadow:0 0 0 3px #6366f11f}.np-header[data-v-cff3a47d]{display:flex;align-items:center;gap:8px}.np-status-dot[data-v-cff3a47d]{width:8px;height:8px;border-radius:var(--r-full);flex-shrink:0}.dot-live[data-v-cff3a47d]{background:var(--c-primary);animation:pulse-cff3a47d 1s ease-in-out infinite}.dot-done[data-v-cff3a47d]{background:var(--c-success)}@keyframes pulse-cff3a47d{0%,to{opacity:1}50%{opacity:.4}}.np-status-text[data-v-cff3a47d]{font-size:11px;font-weight:600;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.05em}.np-player[data-v-cff3a47d]{font-size:22px;font-weight:800;color:var(--c-primary)}.np-sound[data-v-cff3a47d]{font-size:15px;color:var(--c-text-2)}.equalizer[data-v-cff3a47d]{display:flex;align-items:flex-end;gap:3px;height:28px;margin-top:8px}.eq-bar[data-v-cff3a47d]{width:5px;background:linear-gradient(to top,var(--c-primary),var(--c-violet));border-radius:3px 3px 0 0;animation:eqBounce-cff3a47d .45s ease-in-out infinite alternate}.host-controls[data-v-cff3a47d]{display:flex;gap:8px}.flex-1[data-v-cff3a47d]{flex:1}.streamer-hint[data-v-cff3a47d]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--c-text-light);padding:4px 0}.start-area[data-v-cff3a47d]{display:flex;justify-content:center;padding:16px 0}.start-pb-btn[data-v-cff3a47d]{font-size:15px;font-weight:600;padding:12px 32px}.mini-grid[data-v-cff3a47d]{display:flex;flex-wrap:wrap;gap:6px}.mini-card[data-v-cff3a47d]{background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--r-sm);padding:8px 10px;min-width:120px;flex:1;max-width:180px;display:flex;flex-direction:column;gap:3px;opacity:.5;transition:all .2s}.mc-active[data-v-cff3a47d]{opacity:1;border-color:var(--c-primary);background:var(--c-primary-light);box-shadow:0 0 0 2px #6366f11f}.mc-done[data-v-cff3a47d]{opacity:.8}.mc-indicator[data-v-cff3a47d]{display:flex;align-items:center;height:14px}.mc-dot-live[data-v-cff3a47d]{width:8px;height:8px;border-radius:var(--r-full);background:var(--c-primary);animation:pulse-cff3a47d 1s ease-in-out infinite}.mc-num[data-v-cff3a47d]{font-size:10px;color:var(--c-text-light);font-weight:700}.mc-nick[data-v-cff3a47d]{font-size:13px;font-weight:600;color:var(--c-text)}.mc-snd[data-v-cff3a47d]{font-size:11px;color:var(--c-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vote-list[data-v-cff3a47d]{display:flex;flex-direction:column;gap:6px}.vote-row[data-v-cff3a47d]{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--c-surface);border:1.5px solid var(--c-border);border-radius:var(--r);cursor:pointer;transition:all .12s}.vote-row[data-v-cff3a47d]:not(.vote-mine):hover{border-color:var(--c-primary-mid);background:var(--c-primary-light)}.vote-selected[data-v-cff3a47d]{border-color:var(--c-primary);background:var(--c-primary-light);box-shadow:0 0 0 3px #6366f11f}.vote-mine[data-v-cff3a47d]{opacity:.5;cursor:default}.vote-num[data-v-cff3a47d]{font-size:13px;font-weight:700;color:var(--c-text-light);min-width:22px}.vote-name[data-v-cff3a47d]{flex:1;font-size:15px;font-weight:600;color:var(--c-text)}.vote-mine-tag[data-v-cff3a47d]{font-size:11px;color:var(--c-text-muted);font-style:italic}.vote-pick-btn[data-v-cff3a47d]{padding:5px 14px;border-radius:var(--r-full);border:1.5px solid var(--c-border);background:var(--c-surface);font-size:12px;font-weight:600;cursor:pointer;color:var(--c-text-muted);transition:all .12s;white-space:nowrap}.vote-pick-btn[data-v-cff3a47d]:hover,.pick-active[data-v-cff3a47d]{border-color:var(--c-primary);color:var(--c-primary);background:var(--c-primary-light)}.results-header[data-v-cff3a47d]{display:flex;align-items:center;gap:12px}.results-title[data-v-cff3a47d]{font-size:22px;font-weight:800;color:var(--c-text)}.winner-card[data-v-cff3a47d]{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a;border-radius:var(--r);padding:16px 20px;display:flex;flex-direction:column;gap:4px}.winner-final[data-v-cff3a47d]{padding:20px 24px}.winner-label[data-v-cff3a47d]{font-size:11px;font-weight:600;color:var(--c-warning);text-transform:uppercase;letter-spacing:.05em}.winner-name[data-v-cff3a47d]{font-size:26px;font-weight:800;color:#92400e}.winner-sound[data-v-cff3a47d]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--c-warning);margin-top:2px}.no-winner[data-v-cff3a47d]{font-size:14px;color:var(--c-text-muted);padding:10px 0}.scores-list[data-v-cff3a47d]{display:flex;flex-direction:column;gap:4px}.score-row[data-v-cff3a47d]{display:flex;align-items:center;gap:10px;padding:9px 14px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-sm);font-size:14px}.sr-winner[data-v-cff3a47d]{background:#fffbeb;border-color:#fde68a}.sr-pos[data-v-cff3a47d]{font-weight:700;color:var(--c-text-light);min-width:20px}.sr-nick[data-v-cff3a47d]{flex:1;font-weight:600;color:var(--c-text)}.sr-stars[data-v-cff3a47d]{display:flex;gap:1px}.gameover-header[data-v-cff3a47d]{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 0}.trophy-wrap[data-v-cff3a47d]{width:80px;height:80px;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:2px solid #fde68a;border-radius:var(--r-full);display:flex;align-items:center;justify-content:center}.gameover-title[data-v-cff3a47d]{font-size:26px;font-weight:800;color:var(--c-text)}.round-actions[data-v-cff3a47d]{display:flex;align-items:center;gap:12px;margin-top:4px}.action-btn[data-v-cff3a47d]{font-size:15px;font-weight:600;padding:12px 28px}.wait-hint[data-v-cff3a47d]{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--c-text-muted)}.overlay[data-v-cff3a47d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dlg-box[data-v-cff3a47d]{background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);border:1px solid var(--c-border);padding:28px;width:340px;max-width:calc(100vw - 32px);display:flex;flex-direction:column;align-items:center;gap:16px;animation:fadeScaleIn .18s ease both;text-align:center}.dlg-icon-wrap[data-v-cff3a47d]{width:52px;height:52px;background:var(--c-warning-bg);border-radius:var(--r-full);display:flex;align-items:center;justify-content:center}.dlg-msg[data-v-cff3a47d]{font-size:15px;color:var(--c-text);line-height:1.5}.dlg-btns[data-v-cff3a47d]{display:flex;gap:10px;width:100%}.dlg-btns .btn[data-v-cff3a47d]{flex:1}@media (max-width: 640px){.game-wrap[data-v-cff3a47d]{padding:4px}.phase-step[data-v-cff3a47d]{padding:6px 8px;font-size:11px}.phase-bar[data-v-cff3a47d]{flex-wrap:wrap}.sit-text[data-v-cff3a47d]{font-size:14px}.hand-grid[data-v-cff3a47d]{gap:6px}.sound-card[data-v-cff3a47d]{min-width:120px}.np-player[data-v-cff3a47d]{font-size:18px}.mini-card[data-v-cff3a47d]{min-width:100px}}.admin-wrap[data-v-6f63ab6b]{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px 40px}.admin-card[data-v-6f63ab6b]{background:var(--c-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);border:1px solid var(--c-border);animation:fadeScaleIn .25s ease both;overflow:hidden}.login-card[data-v-6f63ab6b]{width:380px;max-width:100%}.panel-card[data-v-6f63ab6b]{width:min(820px,100%)}.card-header[data-v-6f63ab6b]{padding:18px 22px;background:linear-gradient(135deg,var(--c-primary),var(--c-violet));display:flex;align-items:center;gap:14px}.card-header-icon[data-v-6f63ab6b]{width:44px;height:44px;background:#fff3;border-radius:var(--r);display:flex;align-items:center;justify-content:center;flex-shrink:0}.header-flex[data-v-6f63ab6b]{flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px}.card-title[data-v-6f63ab6b]{font-size:16px;font-weight:700;color:#fff}.card-sub[data-v-6f63ab6b]{font-size:12px;color:#ffffffbf;margin-top:2px}.logout-btn[data-v-6f63ab6b]{color:#ffffffd9;border-color:#ffffff4d;background:#ffffff1a}.logout-btn[data-v-6f63ab6b]:hover{background:#fff3;color:#fff;border-color:#ffffff80}.tab-bar[data-v-6f63ab6b]{display:flex;gap:2px;padding:10px 16px 0;border-bottom:2px solid var(--c-border);background:var(--c-surface-2)}.tab-btn[data-v-6f63ab6b]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;background:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;color:var(--c-text-muted);border-radius:var(--r-sm) var(--r-sm) 0 0;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}.tab-btn[data-v-6f63ab6b]:hover{color:var(--c-primary);background:var(--c-primary-light)}.tab-active[data-v-6f63ab6b]{color:var(--c-primary)!important;border-bottom-color:var(--c-primary)!important;background:var(--c-surface)!important;font-weight:600}.tab-count[data-v-6f63ab6b]{background:var(--c-primary-light);color:var(--c-primary);border-radius:var(--r-full);padding:1px 6px;font-size:11px;font-weight:700}.tab-active .tab-count[data-v-6f63ab6b]{background:var(--c-primary);color:#fff}.card-body[data-v-6f63ab6b]{padding:20px 22px}.login-body[data-v-6f63ab6b]{display:flex;flex-direction:column;gap:14px}.field[data-v-6f63ab6b]{display:flex;flex-direction:column;gap:6px}.field-label[data-v-6f63ab6b]{font-size:12px;font-weight:600;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.04em}.tab-content[data-v-6f63ab6b]{display:flex;flex-direction:column;gap:12px}.upload-row[data-v-6f63ab6b]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.upload-name[data-v-6f63ab6b]{flex:1;min-width:160px}.file-pick[data-v-6f63ab6b]{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1.5px dashed var(--c-border);border-radius:var(--r-sm);font-size:13px;color:var(--c-text-muted);cursor:pointer;transition:all .15s;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.file-pick[data-v-6f63ab6b]:hover{border-color:var(--c-primary);color:var(--c-primary);background:var(--c-primary-light)}.file-picked[data-v-6f63ab6b]{border-style:solid;border-color:var(--c-primary-mid);color:var(--c-primary);background:var(--c-primary-light)}.list-box[data-v-6f63ab6b]{border:1px solid var(--c-border);border-radius:var(--r);overflow:hidden;max-height:420px;overflow-y:auto}.list-empty[data-v-6f63ab6b]{padding:24px;text-align:center;color:var(--c-text-muted);font-size:13px;font-style:italic}.list-row[data-v-6f63ab6b]{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--c-border);font-size:13px;transition:background .1s}.list-row[data-v-6f63ab6b]:last-child{border-bottom:none}.list-row[data-v-6f63ab6b]:hover{background:var(--c-primary-light)}.list-id[data-v-6f63ab6b]{font-size:11px;color:var(--c-text-light);min-width:28px;flex-shrink:0}.list-name[data-v-6f63ab6b]{flex:1;font-weight:500;color:var(--c-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-meta[data-v-6f63ab6b]{font-size:11px;color:var(--c-text-light);max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.audio-badge[data-v-6f63ab6b]{display:inline-flex;align-items:center;gap:3px;background:var(--c-success-bg);color:var(--c-success);border-radius:var(--r-full);padding:2px 7px;font-size:11px;font-weight:600;flex-shrink:0}.del-btn[data-v-6f63ab6b]{width:28px;height:28px;border-radius:var(--r-full);border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--c-text-light);transition:all .12s;flex-shrink:0}.del-btn[data-v-6f63ab6b]:hover{background:var(--c-danger-bg);color:var(--c-danger)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--c-primary: #6366f1;--c-primary-hover: #4f46e5;--c-primary-light: #eef2ff;--c-primary-mid: #c7d2fe;--c-violet: #7c3aed;--c-pink: #ec4899;--c-bg: #f5f3ff;--c-surface: #ffffff;--c-surface-2: #f8f7ff;--c-border: #e5e7eb;--c-border-focus: #a5b4fc;--c-text: #1e1b4b;--c-text-2: #374151;--c-text-muted: #6b7280;--c-text-light: #9ca3af;--c-success: #059669;--c-success-bg: #ecfdf5;--c-warning: #d97706;--c-warning-bg: #fffbeb;--c-danger: #dc2626;--c-danger-bg: #fef2f2;--nav-h: 60px;--r: 14px;--r-sm: 8px;--r-lg: 20px;--r-full: 9999px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow: 0 4px 16px rgba(99,102,241,.1), 0 2px 6px rgba(0,0,0,.04);--shadow-lg: 0 8px 32px rgba(99,102,241,.15), 0 4px 12px rgba(0,0,0,.06);--shadow-card: 0 2px 8px rgba(99,102,241,.08), 0 1px 3px rgba(0,0,0,.06)}html,body{height:100%;overflow:hidden}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--c-bg);color:var(--c-text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--r-sm);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .15s ease;-webkit-user-select:none;user-select:none;white-space:nowrap;min-width:64px;line-height:1.4;outline:none}.btn:focus-visible{box-shadow:0 0 0 3px #6366f159}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--c-primary);color:#fff;box-shadow:0 2px 8px #6366f14d}.btn-primary:hover:not(:disabled){background:var(--c-primary-hover);box-shadow:0 4px 12px #6366f166;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--c-surface);color:var(--c-primary);border:1.5px solid var(--c-primary-mid)}.btn-secondary:hover:not(:disabled){background:var(--c-primary-light);border-color:var(--c-primary)}.btn-ghost{background:transparent;color:var(--c-text-muted);border:1.5px solid var(--c-border)}.btn-ghost:hover:not(:disabled){background:var(--c-surface);color:var(--c-text);border-color:#d1d5db}.btn-danger{background:var(--c-danger);color:#fff;box-shadow:0 2px 8px #dc262640}.btn-danger:hover:not(:disabled){background:#b91c1c;box-shadow:0 4px 12px #dc262659;transform:translateY(-1px)}.btn-success{background:var(--c-success);color:#fff;box-shadow:0 2px 8px #05966940}.btn-success:hover:not(:disabled){background:#047857;transform:translateY(-1px)}.btn-sm{padding:5px 12px;font-size:13px;min-width:48px}.btn-lg{padding:12px 24px;font-size:16px;font-weight:600;border-radius:var(--r)}.btn-full{width:100%}.xp-btn{@extend .btn;}.win-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--r-sm);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;border:1.5px solid var(--c-border);background:var(--c-surface);color:var(--c-text);transition:all .15s;-webkit-user-select:none;user-select:none;white-space:nowrap;min-width:64px}.win-btn:hover:not(:disabled){background:var(--c-primary-light);border-color:var(--c-primary-mid);color:var(--c-primary)}.win-btn:active:not(:disabled){background:var(--c-primary-light)}.win-btn:disabled{opacity:.45;cursor:not-allowed}.win-btn-lg{font-size:15px;padding:10px 20px}.win-btn-full{width:100%}.win-btn-danger{background:var(--c-danger-bg);color:var(--c-danger);border-color:#fca5a5}.win-btn-danger:hover:not(:disabled){background:var(--c-danger);color:#fff}.xp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:var(--r-sm);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;border:1.5px solid var(--c-border);background:var(--c-surface);color:var(--c-text);transition:all .15s}.xp-btn:hover:not(:disabled){background:var(--c-primary-light);border-color:var(--c-primary-mid);color:var(--c-primary)}.xp-btn:disabled{opacity:.45;cursor:not-allowed}.xp-btn-danger{background:var(--c-danger-bg);color:var(--c-danger);border-color:#fca5a5}.xp-btn-danger:hover:not(:disabled){background:var(--c-danger);color:#fff}.xp-btn-lg{font-size:15px;padding:10px 20px;width:100%;font-weight:600}.input,.win-input,.xp-input{width:100%;padding:9px 12px;border:1.5px solid var(--c-border);border-radius:var(--r-sm);font-family:inherit;font-size:14px;color:var(--c-text);background:var(--c-surface);transition:border-color .15s,box-shadow .15s;outline:none}.input:focus,.win-input:focus,.xp-input:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px #6366f126}.input[readonly],.win-input[readonly],.xp-input[readonly]{background:var(--c-surface-2);color:var(--c-text-muted)}.card{background:var(--c-surface);border-radius:var(--r);box-shadow:var(--shadow-card);border:1px solid var(--c-border);overflow:hidden}.card-body{padding:20px}.card-header{padding:14px 20px;border-bottom:1px solid var(--c-border);display:flex;align-items:center;justify-content:space-between;gap:10px}.card-title{font-size:15px;font-weight:600;color:var(--c-text);display:flex;align-items:center;gap:8px}.win-window{background:var(--c-surface);border-radius:var(--r);box-shadow:var(--shadow);border:1px solid var(--c-border);overflow:hidden;animation:fadeScaleIn .2s ease both}.win-titlebar{padding:12px 16px;border-bottom:1px solid var(--c-border);display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--c-surface)}.win-titlebar-left{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--c-text);overflow:hidden;flex:1}.win-title-icon{flex-shrink:0;color:var(--c-primary)}.win-title-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.win-title-btns{display:flex;gap:6px;flex-shrink:0}.win-ctrl{width:28px;height:28px;border-radius:var(--r-full);border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--c-text-muted);font-size:14px;transition:background .12s,color .12s;padding:0}.win-ctrl:hover{background:var(--c-surface-2);color:var(--c-text)}.win-ctrl-close:hover{background:var(--c-danger-bg);color:var(--c-danger)}.win-body{padding:20px;background:var(--c-surface)}.xp-window{background:var(--c-surface);border-radius:var(--r);box-shadow:var(--shadow);border:1px solid var(--c-border);overflow:hidden;animation:fadeScaleIn .2s ease both}.xp-titlebar{padding:12px 16px;border-bottom:1px solid var(--c-border);display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--c-surface)}.xp-titlebar-left{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--c-text);overflow:hidden;flex:1}.xp-title-icon{flex-shrink:0;color:var(--c-primary)}.xp-title-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xp-title-btns{display:flex;gap:6px;flex-shrink:0}.xp-ctrl{width:28px;height:28px;border-radius:var(--r-full);border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--c-text-muted);font-size:14px;transition:background .12s;padding:0}.xp-ctrl:hover{background:var(--c-surface-2)}.xp-ctrl-close:hover{background:var(--c-danger-bg);color:var(--c-danger)}.xp-body{padding:20px;background:var(--c-surface)}.win-sep,.xp-sep{border:none;border-top:1px solid var(--c-border);margin:10px 0}.win-progress,.xp-progress{height:6px;background:var(--c-primary-light);border-radius:var(--r-full);overflow:hidden}.win-progress-fill,.xp-progress-fill{height:100%;background:linear-gradient(90deg,var(--c-primary),var(--c-violet));border-radius:var(--r-full);transition:width .35s ease}.win-list-row,.xp-list-row{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--c-border);font-size:14px;transition:background .1s}.win-list-row:hover,.xp-list-row:hover{background:var(--c-primary-light)}.win-list-row:last-child,.xp-list-row:last-child{border-bottom:none}.win-status-panel{background:var(--c-surface-2);border-radius:var(--r-sm);padding:6px 12px;font-size:12px;color:var(--c-text-muted);border:1px solid var(--c-border)}.win-spinner,.xp-spinner{display:flex;align-items:center;gap:8px}.win-spinner-btn,.xp-spinner-btn{width:32px;height:32px;border-radius:var(--r-sm);border:1.5px solid var(--c-border);background:var(--c-surface);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--c-text-muted);transition:all .12s;flex-shrink:0}.win-spinner-btn:hover,.xp-spinner-btn:hover{background:var(--c-primary-light);border-color:var(--c-primary-mid);color:var(--c-primary)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--r-full);font-size:11px;font-weight:600;letter-spacing:.02em}.badge-primary{background:var(--c-primary-light);color:var(--c-primary)}.badge-success{background:var(--c-success-bg);color:var(--c-success)}.badge-warning{background:var(--c-warning-bg);color:var(--c-warning)}.badge-danger{background:var(--c-danger-bg);color:var(--c-danger)}.badge-muted{background:var(--c-surface-2);color:var(--c-text-muted);border:1px solid var(--c-border)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--c-primary-mid);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--c-primary)}.error-msg{color:var(--c-danger);font-size:13px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.w-full{width:100%}.text-center{text-align:center}.page-center{min-height:100%;display:flex;align-items:center;justify-content:center;padding:20px}@keyframes fadeScaleIn{0%{opacity:0;transform:scale(.97) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-enter-active{animation:fadeScaleIn .2s ease both}.fade-leave-active{opacity:0;transition:opacity .15s}@media (max-width: 600px){.page-center{padding:8px}}
