.toast-container[data-v-0669e4f5]{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column;gap:.65rem;max-width:380px;pointer-events:none}.toast[data-v-0669e4f5]{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.05rem;border-radius:var(--r);border:1px solid var(--line);border-left:4px solid var(--toast-accent, var(--coral));background:linear-gradient(#241a2ed1,#1d1525d1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-family:var(--font-body);font-size:.9rem;font-weight:500;color:var(--text);cursor:pointer;pointer-events:all;box-shadow:var(--shadow-2);transition:transform .18s var(--ease-spring),border-color .2s,box-shadow .2s}.toast[data-v-0669e4f5]:hover{transform:translate(-4px);border-color:var(--line-strong)}.toast--success[data-v-0669e4f5]{--toast-accent: var(--green)}.toast--error[data-v-0669e4f5]{--toast-accent: var(--red)}.toast--warning[data-v-0669e4f5]{--toast-accent: var(--gold)}.toast--info[data-v-0669e4f5]{--toast-accent: var(--blue)}.toast__icon[data-v-0669e4f5]{font-size:1rem;line-height:1;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--r-sm);background:color-mix(in srgb,var(--toast-accent) 16%,transparent)}.toast__msg[data-v-0669e4f5]{flex:1;line-height:1.4}.toast__close[data-v-0669e4f5]{background:transparent;border:none;color:var(--muted);opacity:.7;cursor:pointer;font-size:.8rem;padding:0;flex-shrink:0;transition:opacity .2s,color .2s}.toast__close[data-v-0669e4f5]:hover{opacity:1;color:var(--text)}.toast__close[data-v-0669e4f5]:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.toast-enter-active[data-v-0669e4f5]{transition:opacity .32s var(--ease-out),transform .32s var(--ease-spring)}.toast-leave-active[data-v-0669e4f5]{transition:opacity .25s ease-in,transform .25s ease-in}.toast-enter-from[data-v-0669e4f5],.toast-leave-to[data-v-0669e4f5]{opacity:0;transform:translate(60px) scale(.96)}.toast-move[data-v-0669e4f5]{transition:transform .32s var(--ease-spring)}.active-room-bar[data-v-38083418]{position:sticky;top:0;z-index:90;background:linear-gradient(90deg,#ff5c7a29,#ff2e931a);border-bottom:1px solid var(--line-strong);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.active-room-bar__inner[data-v-38083418]{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:.85rem;padding:.55rem 1.25rem;flex-wrap:wrap}.active-room-bar__dot[data-v-38083418]{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--coral);box-shadow:0 0 8px #ff5c7acc;animation:pulse-dot-38083418 1.6s ease-in-out infinite}@keyframes pulse-dot-38083418{50%{opacity:.35}}.active-room-bar__text[data-v-38083418]{font-family:var(--font-display);font-size:.88rem;color:var(--text);flex:1 1 auto}.active-room-bar__text strong[data-v-38083418]{color:var(--coral-soft)}.active-room-bar__actions[data-v-38083418]{display:flex;gap:.5rem;flex-shrink:0}.fade-enter-active[data-v-38083418],.fade-leave-active[data-v-38083418]{transition:opacity .2s,transform .2s}.fade-enter-from[data-v-38083418],.fade-leave-to[data-v-38083418]{opacity:0;transform:translateY(-6px)}:root{--bg: #17111d;--bg-2: #1d1525;--surface: #241a2e;--surface-2: #2e2239;--surface-3: #3a2c48;--line: rgba(255, 214, 233, .1);--line-strong: rgba(255, 214, 233, .2);--coral: #ff5c7a;--coral-soft: #ff869b;--magenta: #ff2e93;--gold: #ffc24b;--amber: #ff9d42;--primary: #ff5c7a;--primary-h: #ff7d92;--primary-ink: #5a1026;--gold-ink: #a85f12;--grad-party: linear-gradient(135deg, #ff6b6f 0%, #ff2e93 100%);--grad-hero: linear-gradient(100deg, #ffc24b 0%, #ff6b7e 46%, #ff2e93 100%);--grad-gold: linear-gradient(135deg, #ffd166 0%, #ff9d42 100%);--text: #f7eef4;--muted: #b3a3bd;--muted-2: #8c7d97;--green: #43e08b;--red: #ff5c6c;--blue: #6ea8ff;--r-sm: .6rem;--r: 1rem;--r-lg: 1.4rem;--r-xl: 2rem;--r-pill: 999px;--radius: 1rem;--shadow-1: 0 2px 10px rgba(0,0,0,.28);--shadow-2: 0 14px 34px -10px rgba(0,0,0,.55);--glow-coral: 0 10px 30px -6px rgba(255,46,147,.45);--glow-gold: 0 10px 30px -6px rgba(255,157,66,.42);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.22, 1, .36, 1);--font-display: "Baloo 2", "Inter", system-ui, sans-serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--color-bg: var(--bg);--color-surface: var(--surface);--color-border: var(--line);--color-primary: var(--primary);--color-primary-h: var(--primary-h);--color-text: var(--text);--color-muted: var(--muted);--color-gold: var(--gold);--color-green: var(--green);--color-red: var(--red)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body);min-height:100vh;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;background:radial-gradient(42% 36% at 10% 6%,rgba(255,92,122,.16),transparent 70%),radial-gradient(40% 34% at 90% 10%,rgba(255,194,75,.12),transparent 70%),radial-gradient(48% 42% at 78% 96%,rgba(255,46,147,.14),transparent 72%)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.045) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 75%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 75%)}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em;line-height:1.12}::selection{background:#ff2e9359;color:#fff}*{scrollbar-width:thin;scrollbar-color:var(--surface-3) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:999px;border:2px solid transparent;background-clip:padding-box}#app-root{min-height:100vh;display:flex;flex-direction:column}.btn{--btn-press: 5px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-display);font-weight:600;font-size:.95rem;line-height:1;padding:.8rem 1.5rem;border:none;border-radius:var(--r-pill);color:#fff;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform .12s var(--ease-spring),box-shadow .18s var(--ease-out),background .2s,filter .2s,border-color .2s;-webkit-user-select:none;user-select:none}.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none;filter:saturate(.55)}.btn--primary{background:var(--grad-party);box-shadow:0 var(--btn-press) 0 var(--primary-ink),var(--glow-coral)}.btn--primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 calc(var(--btn-press) + 2px) 0 var(--primary-ink),0 18px 38px -6px #ff2e938c}.btn--primary:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--primary-ink),var(--glow-coral)}.btn--gold{background:var(--grad-gold);color:#3a2400;box-shadow:0 var(--btn-press) 0 var(--gold-ink),var(--glow-gold)}.btn--gold:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 calc(var(--btn-press) + 2px) 0 var(--gold-ink),0 18px 38px -6px #ff9d428c}.btn--gold:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--gold-ink),var(--glow-gold)}.btn--ghost{background:#ffffff0a;color:var(--text);border:1.5px solid var(--line-strong)}.btn--ghost:hover:not(:disabled){border-color:var(--primary);color:#fff;background:#ff5c7a1a;transform:translateY(-1px)}.btn--danger{background:#ff5c6c29;color:var(--red);border:1.5px solid rgba(255,92,108,.42)}.btn--danger:hover:not(:disabled){background:#ff5c6c42;transform:translateY(-1px)}.btn--danger-ghost{background:transparent;color:var(--red);border:1.5px solid rgba(255,92,108,.32);font-size:.85rem;padding:.55rem 1.1rem}.btn--danger-ghost:hover:not(:disabled){background:#ff5c6c1f}.btn--lg{padding:1rem 2.1rem;font-size:1.05rem;--btn-press: 6px}.btn--sm{padding:.5rem 1.05rem;font-size:.85rem;--btn-press: 4px}.btn--full{width:100%}.nav{position:sticky;top:0;z-index:100;padding:.7rem 1.25rem;background:linear-gradient(to bottom,#1d1525eb,#17111dd1);border-bottom:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.nav__inner{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.nav__logo{display:inline-flex;align-items:center;gap:.55rem}.nav__logo-mark{font-size:1.35rem;line-height:1;filter:drop-shadow(0 2px 6px rgba(255,46,147,.5))}.nav__logo-text{font-family:var(--font-display);font-weight:700;font-size:1.25rem;background:var(--grad-hero);-webkit-background-clip:text;background-clip:text;color:transparent}.nav__links{display:flex;align-items:center;gap:.4rem}.nav__link{font-family:var(--font-display);font-weight:500;font-size:.92rem;color:var(--muted);padding:.45rem .8rem;border-radius:var(--r-pill);transition:color .2s,background .2s}.nav__link:hover{color:var(--text);background:#ffffff0d}.nav__link.router-link-active{color:#fff;background:#ff5c7a24}.nav__sub-link{display:flex;align-items:center;padding:0 .25rem}.nav__badge{padding:.28rem .7rem;border-radius:var(--r-pill);font-size:.74rem;font-weight:700;white-space:nowrap;font-family:var(--font-display)}.nav__badge--premium{background:linear-gradient(135deg,#ffd16638,#ff9d4224);color:var(--gold);border:1px solid rgba(255,194,75,.42)}.nav__badge--free{background:#ffffff0d;color:var(--muted);border:1px solid var(--line)}.nav__play{margin-left:.3rem}.nav__logout{background:transparent;border:1.5px solid var(--line);color:var(--muted);padding:.42rem .95rem;border-radius:var(--r-pill);cursor:pointer;font-size:.85rem;font-family:var(--font-display);font-weight:500;transition:color .2s,border-color .2s,background .2s}.nav__logout:hover{color:var(--red);border-color:#ff5c6c80;background:#ff5c6c14}@media (max-width: 640px){.nav__links{gap:.15rem}.nav__link{padding:.4rem .55rem;font-size:.85rem}.nav__logo-text{display:none}}.page-enter-active{transition:opacity .28s var(--ease-out),transform .28s var(--ease-spring)}.page-leave-active{transition:opacity .18s ease,transform .18s ease}.page-enter-from{opacity:0;transform:translateY(12px) scale(.995)}.page-leave-to{opacity:0;transform:translateY(-8px)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.08s!important}}
