.app-btn[data-v-7d414b1c]{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-0_5);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),opacity var(--transition-fast);white-space:nowrap;flex-shrink:0;border:1px solid transparent;font-family:var(--font-family)}.app-btn[data-v-7d414b1c]:disabled{opacity:.4;cursor:not-allowed}.app-btn.block[data-v-7d414b1c]{width:100%;justify-content:flex-start;text-align:left}.app-btn.joined[data-v-7d414b1c]{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.size-xs[data-v-7d414b1c]{font:var(--font-overline);padding:var(--spacing-0_25) var(--spacing-0_75)}.size-sm[data-v-7d414b1c]{font:var(--font-body-xs-regular);padding:var(--spacing-0_5) var(--spacing-1_25)}.size-md[data-v-7d414b1c]{font:var(--font-title-sm);padding:var(--spacing-1_25) var(--spacing-2_5)}.size-lg[data-v-7d414b1c]{font:var(--font-title-md);padding:var(--spacing-1_5) var(--spacing-4)}.icon-only.size-xs[data-v-7d414b1c]{width:22px;height:22px;padding:0}.icon-only.size-sm[data-v-7d414b1c]{width:28px;height:28px;padding:0}.icon-only.size-md[data-v-7d414b1c]{width:34px;height:34px;padding:0}.icon-only.size-lg[data-v-7d414b1c]{width:42px;height:42px;padding:0}.variant-primary[data-v-7d414b1c]{background:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent)}.variant-primary[data-v-7d414b1c]:not(:disabled):hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.variant-outline[data-v-7d414b1c]{background:transparent;color:var(--color-accent);border-color:var(--color-accent)}.variant-outline[data-v-7d414b1c]:not(:disabled):hover{background:color-mix(in srgb,var(--color-accent) 12%,transparent)}.variant-secondary[data-v-7d414b1c]{background:var(--color-bg-card);color:var(--color-text);border-color:var(--color-border)}.variant-secondary[data-v-7d414b1c]:not(:disabled):hover{border-color:var(--color-accent)}.variant-ghost[data-v-7d414b1c]{background:transparent;color:var(--color-text-muted);border-color:transparent}.variant-ghost[data-v-7d414b1c]:not(:disabled):hover{color:var(--color-text)}.variant-danger[data-v-7d414b1c]{background:transparent;color:var(--color-danger);border-color:var(--color-danger)}.variant-danger[data-v-7d414b1c]:not(:disabled):hover{background:color-mix(in srgb,var(--color-danger) 10%,transparent)}.variant-success[data-v-7d414b1c]{background:var(--color-success);color:var(--color-bg);border-color:var(--color-success)}.variant-success[data-v-7d414b1c]:not(:disabled):hover{opacity:.85}.btn-icon[data-v-7d414b1c]{line-height:1}.app-header[data-v-be0fb14b]{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-1_5);flex-wrap:wrap;padding:var(--spacing-1_5) var(--spacing-3);background:var(--color-bg-panel);border-bottom:1px solid var(--color-border);flex-shrink:0}.logo[data-v-be0fb14b]{font:var(--font-h3);color:var(--color-accent);cursor:pointer}.hamburger[data-v-be0fb14b]{display:none;background:none;border:none;color:var(--color-text);font-size:22px;line-height:1;cursor:pointer;padding:var(--spacing-0_5)}.header-menu[data-v-be0fb14b]{display:flex;flex:1;align-items:center;gap:var(--spacing-1_5)}.app-nav[data-v-be0fb14b]{display:flex;gap:var(--spacing-2_5);flex:1;padding-left:var(--spacing-3)}.app-nav a[data-v-be0fb14b]{font:var(--font-body-sm-regular);color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-fast)}.app-nav a[data-v-be0fb14b]:hover,.app-nav a.router-link-active[data-v-be0fb14b],.app-nav-right a[data-v-be0fb14b]:hover,.app-nav-right a.router-link-active[data-v-be0fb14b]{color:var(--color-accent)}.app-nav-right[data-v-be0fb14b]{display:flex;align-items:center;gap:var(--spacing-1_5);padding-right:var(--spacing-2);margin-right:var(--spacing-0_5);position:relative}.app-nav-right[data-v-be0fb14b]:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:2px;height:1.6em;background:var(--color-accent);border-radius:1px;opacity:.7}.app-nav-right a[data-v-be0fb14b]{font:var(--font-overline);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-fast)}.header-right[data-v-be0fb14b]{display:flex;align-items:center;gap:var(--spacing-1_5)}.user-info[data-v-be0fb14b]{display:inline-flex;align-items:center;gap:var(--spacing-0_75);font:var(--font-body-sm-regular);color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-fast)}.user-info[data-v-be0fb14b]:hover,.user-info.router-link-active[data-v-be0fb14b]{color:var(--color-accent)}.user-avatar[data-v-be0fb14b]{width:24px;height:24px;border-radius:50%;object-fit:cover;border:1px solid var(--color-border);flex-shrink:0}.user-avatar-fallback[data-v-be0fb14b]{display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--color-accent) 14%,var(--color-bg-card));color:var(--color-accent);font:var(--font-overline);font-size:11px}@media(max-width:900px){.app-header[data-v-be0fb14b]{padding:var(--spacing-1) var(--spacing-1_5)}.logo[data-v-be0fb14b]{font:var(--font-title-md)}.hamburger[data-v-be0fb14b]{display:block}.header-menu[data-v-be0fb14b]{display:none}.header-menu.open[data-v-be0fb14b]{display:flex;flex-direction:column;align-items:stretch;flex-basis:100%;gap:var(--spacing-2_5);padding:var(--spacing-1_5) 0 var(--spacing-1)}.app-nav[data-v-be0fb14b]{flex-direction:column;align-items:flex-start;gap:var(--spacing-2);padding-left:0}.app-nav-right[data-v-be0fb14b]{flex-direction:column;align-items:flex-start;gap:var(--spacing-2);padding-right:0;margin-right:0}.app-nav-right[data-v-be0fb14b]:after{display:none}.header-right[data-v-be0fb14b]{flex-direction:column;align-items:flex-start;gap:var(--spacing-2)}}.toaster[data-v-c9d1f5e5]{position:fixed;top:16px;right:16px;z-index:10000;display:flex;flex-direction:column;gap:8px;max-width:360px;pointer-events:none}.toast[data-v-c9d1f5e5]{display:flex;align-items:flex-start;gap:var(--spacing-1);padding:10px 12px;background:var(--color-bg-panel);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);border-radius:6px;box-shadow:var(--box-shadow-md);color:var(--color-text);font:var(--font-body-sm-regular);pointer-events:auto}.toast.kind-success[data-v-c9d1f5e5]{border-left-color:#4eaa55}.toast.kind-error[data-v-c9d1f5e5]{border-left-color:#d94c4c}.toast.kind-info[data-v-c9d1f5e5]{border-left-color:var(--color-accent)}.toast-msg[data-v-c9d1f5e5]{flex:1;line-height:1.4;overflow-wrap:anywhere}.toast-x[data-v-c9d1f5e5]{background:transparent;border:0;color:var(--color-text-muted);font-size:18px;line-height:1;cursor:pointer;padding:0 2px}.toast-x[data-v-c9d1f5e5]:hover{color:var(--color-text)}.toast-enter-active[data-v-c9d1f5e5],.toast-leave-active[data-v-c9d1f5e5]{transition:transform .2s,opacity .2s}.toast-enter-from[data-v-c9d1f5e5],.toast-leave-to[data-v-c9d1f5e5]{transform:translate(12px);opacity:0}@media(prefers-reduced-motion:reduce){.toast-enter-active[data-v-c9d1f5e5],.toast-leave-active[data-v-c9d1f5e5]{transition:opacity .2s}.toast-enter-from[data-v-c9d1f5e5],.toast-leave-to[data-v-c9d1f5e5]{transform:none}}.app-layout[data-v-59ab159a]{display:flex;flex-direction:column;height:100%;overflow:hidden}.app-view[data-v-59ab159a]{flex:1;min-height:0;overflow:hidden}:root{--blue-50: #EBF9FF;--blue-100: #DCF4FE;--blue-200: #B1E6FD;--blue-300: #6ACFFA;--blue-400: #0AAEF3;--blue-500: #0489D6;--blue-600: #0078D4;--blue-700: #0062AD;--blue-800: #004E8A;--blue-900: #004478;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--green-50: #f0fdf4;--green-100: #dcfce7;--green-200: #bbf7d0;--green-300: #86efac;--green-400: #4ade80;--green-500: #22c55e;--green-600: #16a34a;--green-700: #15803d;--green-800: #166534;--green-900: #14532d;--red-50: #fef2f2;--red-100: #fee2e2;--red-200: #fecaca;--red-300: #fca5a5;--red-400: #f87171;--red-500: #ef4444;--red-600: #dc2626;--red-700: #b91c1c;--red-800: #991b1b;--red-900: #7f1d1d;--teal-50: #f0fdfa;--teal-100: #ccfbf1;--teal-200: #99f6e4;--teal-300: #5eead4;--teal-400: #2dd4bf;--teal-500: #14b8a6;--teal-600: #0d9488;--teal-700: #0f766e;--teal-800: #115e59;--teal-900: #134e4a;--yellow-50: #fefce8;--yellow-100: #fef9c3;--yellow-200: #fef08a;--yellow-300: #fde047;--yellow-400: #facc15;--yellow-500: #eab308;--yellow-600: #ca8a04;--yellow-700: #a16207;--yellow-800: #854d0e;--yellow-900: #713f12;--color-bg: #0d0d0d;--color-bg-card: #1a1a2e;--color-bg-panel: #16213e;--color-bg-overlay: rgba(0, 0, 0, .75);--color-bg-zone: rgba(255, 255, 255, .04);--color-bg-zone-hover: rgba(255, 255, 255, .09);--color-bg-zone-drop: rgba(106, 207, 250, .18);--color-border: #2a2a4a;--color-border-focus: var(--blue-300);--color-text: var(--gray-200);--color-text-muted: var(--gray-400);--color-text-dim: var(--gray-600);--color-accent: var(--blue-300);--color-accent-hover: var(--blue-200);--color-danger: var(--red-400);--color-success: var(--green-400);--color-warning: var(--yellow-300);--color-memory-neutral: var(--gray-600);--color-memory-yours: var(--blue-300);--color-memory-opponent: var(--red-400);--color-memory-tick: var(--gray-500);--color-memory-center: var(--gray-200);--color-memory-marker: var(--yellow-300);--card-ratio: 88 / 63;--card-width: 80px;--card-height: calc(var(--card-width) * var(--card-ratio));--card-radius: 6px;--card-shadow: var(--box-shadow-sm);--zone-padding: var(--spacing-1);--zone-gap: var(--spacing-1);--zone-radius: var(--radius-md);--panel-width: 320px;--panel-transition: var(--transition-default) ease;--memory-bar-height: 28px;--memory-bar-radius: var(--radius-full);--font-family: "Work Sans", "Segoe UI", system-ui, sans-serif;--font-family-mono: Consolas, monospace;--font-size-xs: 14px;--font-size-sm: 16px;--font-size-md: 18px;--font-size-lg: 20px;--font-size-xl: 24px;--font-size-2xl: 28px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-xs: 133%;--line-height-sm: 142%;--line-height-md: 150%;--line-height-lg: 155%;--line-height-xl: 166%;--font-h1: normal var(--font-weight-bold) var(--font-size-2xl) / var(--line-height-xs) var(--font-family);--font-h2: normal var(--font-weight-bold) var(--font-size-xl) / var(--line-height-xs) var(--font-family);--font-h3: normal var(--font-weight-semibold) var(--font-size-lg) / var(--line-height-xs) var(--font-family);--font-h4: normal var(--font-weight-semibold) var(--font-size-md) / var(--line-height-lg) var(--font-family);--font-title-lg: normal var(--font-weight-semibold) var(--font-size-lg) / var(--line-height-xl) var(--font-family);--font-title-md: normal var(--font-weight-semibold) var(--font-size-md) / var(--line-height-md) var(--font-family);--font-title-sm: normal var(--font-weight-semibold) var(--font-size-sm) / var(--line-height-sm) var(--font-family);--font-body-xl-regular: normal var(--font-weight-regular) var(--font-size-xl) / var(--line-height-xl) var(--font-family);--font-body-xl-medium: normal var(--font-weight-medium) var(--font-size-xl) / var(--line-height-xl) var(--font-family);--font-body-lg-regular: normal var(--font-weight-regular) var(--font-size-lg) / var(--line-height-lg) var(--font-family);--font-body-lg-medium: normal var(--font-weight-medium) var(--font-size-lg) / var(--line-height-lg) var(--font-family);--font-body-md-regular: normal var(--font-weight-regular) var(--font-size-md) / var(--line-height-md) var(--font-family);--font-body-md-medium: normal var(--font-weight-medium) var(--font-size-md) / var(--line-height-md) var(--font-family);--font-body-sm-regular: normal var(--font-weight-regular) var(--font-size-sm) / var(--line-height-sm) var(--font-family);--font-body-sm-medium: normal var(--font-weight-medium) var(--font-size-sm) / var(--line-height-sm) var(--font-family);--font-body-xs-regular: normal var(--font-weight-regular) var(--font-size-xs) / var(--line-height-xl) var(--font-family);--font-body-xs-medium: normal var(--font-weight-medium) var(--font-size-xs) / var(--line-height-xl) var(--font-family);--font-overline: normal var(--font-weight-semibold) var(--font-size-xs) / var(--line-height-xs) var(--font-family);--spacing-0_25: 2px;--spacing-0_5: 4px;--spacing-0_75: 6px;--spacing-1: 8px;--spacing-1_25: 10px;--spacing-1_5: 12px;--spacing-2: 16px;--spacing-2_5: 20px;--spacing-3: 24px;--spacing-4: 32px;--spacing-4_5: 36px;--spacing-5: 40px;--spacing-6: 48px;--spacing-7: 56px;--spacing-8: 64px;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow: rgba(0, 0, 0, .4);--box-shadow-xs: 0px 0px 2px 0px var(--shadow), 0px 2px 4px 0px var(--shadow);--box-shadow-sm: 0px 0px 2px 0px var(--shadow), 0px 2px 4px 0px var(--shadow), 0px 4px 8px 0px var(--shadow);--box-shadow-md: 0px 0px 2px 0px var(--shadow), 0px 2px 4px 0px var(--shadow), 0px 4px 8px 0px var(--shadow), 0px 8px 16px 0px var(--shadow);--transition-fast: .15s;--transition-default: .25s;--z-board: 1;--z-chat: 5;--z-panel: 10;--z-overlay: 20;--z-toast: 30}:root{--color-card-red: #d94c4c;--color-card-blue: #3da0e0;--color-card-yellow: #f1c733;--color-card-green: #4eaa55;--color-card-black: #2a2a2a;--color-card-white: #ececec;--color-card-purple: #9b5cd6;--color-tag-phase: #7a5cc8;--color-tag-trigger: #2a4d8c;--color-tag-security: #d18a2a;--color-tag-restriction: #c84a8a;--color-tag-zone: #9e4bc9;--color-tag-memory: #4eaa55;--color-tag-keyword: #d94c4c;--color-tag-security-loc: #cf4186}:root{--color-svee-class-neutral: #9aa0a6;--color-svee-class-forestcraft: #4caf50;--color-svee-class-swordcraft: #e6b422;--color-svee-class-runecraft: #5c6bc0;--color-svee-class-dragoncraft: #e0853a;--color-svee-class-abysscraft: #8e44ad;--color-svee-class-havencraft: #d9c66b;--color-svee-ability-fanfare: #d67c2a;--color-svee-ability-lastwords: #9678c4;--color-svee-ability-evolve: #3ca068;--color-svee-ability-outline: #1c1f1a;--color-svee-type-amulet: #7a5cc8;--color-svee-type-spell: #d18a2a;--color-svee-type-leader: #4eaa55}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;width:100%;overflow:hidden}body{font-family:var(--font-family);font-size:var(--font-size-md);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input{font-family:inherit;color:inherit}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border:2px solid transparent;background-clip:padding-box;border-radius:5px}
