@charset "UTF-8";html{height:100%;--mat-sys-background: light-dark(#faf9fd, #121316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f2f0f4, #2f3033);--mat-sys-inverse-primary: light-dark(#abc7ff, #005cbb);--mat-sys-inverse-surface: light-dark(#2f3033, #e3e2e6);--mat-sys-on-background: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #002f65);--mat-sys-on-primary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-primary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-primary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-on-secondary: light-dark(#ffffff, #283041);--mat-sys-on-secondary-container: light-dark(#3e4759, #dae2f9);--mat-sys-on-secondary-fixed: light-dark(#131c2b, #131c2b);--mat-sys-on-secondary-fixed-variant: light-dark(#3e4759, #3e4759);--mat-sys-on-surface: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-surface-variant: light-dark(#44474e, #e0e2ec);--mat-sys-on-tertiary: light-dark(#ffffff, #003737);--mat-sys-on-tertiary-container: light-dark(#004f4f, #00fbfb);--mat-sys-on-tertiary-fixed: light-dark(#002020, #002020);--mat-sys-on-tertiary-fixed-variant: light-dark(#004f4f, #004f4f);--mat-sys-outline: light-dark(#74777f, #8e9099);--mat-sys-outline-variant: light-dark(#c4c6d0, #44474e);--mat-sys-primary: light-dark(#005cbb, #abc7ff);--mat-sys-primary-container: light-dark(#d7e3ff, #00458f);--mat-sys-primary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-primary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#565e71, #bec6dc);--mat-sys-secondary-container: light-dark(#dae2f9, #3e4759);--mat-sys-secondary-fixed: light-dark(#dae2f9, #dae2f9);--mat-sys-secondary-fixed-dim: light-dark(#bec6dc, #bec6dc);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf9fd, #121316);--mat-sys-surface-bright: light-dark(#faf9fd, #38393c);--mat-sys-surface-container: light-dark(#efedf0, #1f2022);--mat-sys-surface-container-high: light-dark(#e9e7eb, #292a2c);--mat-sys-surface-container-highest: light-dark(#e3e2e6, #343537);--mat-sys-surface-container-low: light-dark(#f4f3f6, #1a1b1f);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0d0e11);--mat-sys-surface-dim: light-dark(#dbd9dd, #121316);--mat-sys-surface-tint: light-dark(#005cbb, #abc7ff);--mat-sys-surface-variant: light-dark(#e0e2ec, #44474e);--mat-sys-tertiary: light-dark(#006a6a, #00dddd);--mat-sys-tertiary-container: light-dark(#00fbfb, #004f4f);--mat-sys-tertiary-fixed: light-dark(#00fbfb, #00fbfb);--mat-sys-tertiary-fixed-dim: light-dark(#00dddd, #00dddd);--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}:root{color-scheme:light;--brand-indigo: #2C3DF5;--brand-teal: #05D2C8;--brand-gradient: linear-gradient(90deg, #2C3DF5 0%, #05D2C8 100%);--brand-soft: light-dark(rgba(44, 61, 245, .08), rgba(120, 140, 255, .18));--brand: var(--brand-indigo);--link: light-dark(#2C3DF5, #93a8ff);--brand-ink: #121a36;--ink: light-dark(#121a36, #e6e8f2);--ink-soft: light-dark(#5b6178, #a6adce);--ink-faint: light-dark(#9aa0c5, #737aa0);--surface: light-dark(#f4f7fb, #0f1424);--surface-card: light-dark(#ffffff, #191f33);--fill: light-dark(#f7f8fc, #232b45);--border: light-dark(rgba(18, 26, 54, .08), rgba(255, 255, 255, .09));--border-strong: light-dark(rgba(18, 26, 54, .14), rgba(255, 255, 255, .16));--radius-lg: 18px;--radius-md: 12px;--radius-sm: 10px;--shadow-sm: 0 1px 3px rgba(18, 26, 54, .06), 0 1px 2px rgba(18, 26, 54, .04);--shadow-md: 0 4px 20px rgba(18, 26, 54, .08);--shadow-hover: 0 10px 32px rgba(44, 61, 245, .14);--game-your-turn: #ec4899;--game-your-turn-halo: rgba(236, 72, 153, .22);--game-their-turn: #ffce3d;--game-won: #22a866;--game-lost: #e5484d;--game-draw: #8b5cf6}.card{background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.brand-btn{background-image:var(--brand-gradient);--mdc-filled-button-container-color: transparent;--mdc-filled-button-label-text-color: #fff;color:#fff}.mat-mdc-menu-panel{--mat-menu-container-color: var(--surface-card);border-radius:14px}.mat-mdc-menu-item:hover:not(:disabled){background:var(--brand-soft)}.lightbox-panel .mat-mdc-dialog-surface{background:transparent;box-shadow:none;overflow:visible;padding:0}.lightbox-backdrop{background:#000000d9}.search-panel .mat-mdc-dialog-surface{background:transparent;box-shadow:none;overflow:visible;padding:0}.search-backdrop{background:#090c1c73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.lang-picker-panel .mat-mdc-dialog-surface{padding:0;overflow:hidden;border-radius:16px}@media(min-width:960px){body.sidebar-open .mat-mdc-dialog-panel:not(.lightbox-panel){margin-left:240px}}body{background-color:var(--surface);color:var(--mat-sys-on-surface);font:var(--mat-sys-body-medium);margin:0;height:100%}*{box-sizing:border-box}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}.status-ic{font-size:12px!important;width:12px!important;height:12px!important;line-height:12px!important}.status-ic[data-presence=active]{color:#22c55e}.status-ic[data-presence=away]{color:#f59e0b}.status-ic[data-presence=busy]{color:#ef4444}.status-ic[data-presence=offline]{color:#9aa0b5}.status-menu .mat-mdc-menu-content{padding:6px!important;min-width:244px}.status-menu .sp-head{padding:6px 12px 8px;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft, #99a)}.status-menu .sp-opt{min-height:0!important;height:auto!important;padding:9px 12px!important;border-radius:11px;margin:1px 0;overflow:visible;transition:background .15s ease}.status-menu .sp-opt .mat-mdc-menu-item-text{width:100%}.status-menu .sp-opt:hover{background:var(--fill, #f2f4f8)}.status-menu .sp-opt.sel{background:var(--brand-soft, rgba(44, 61, 245, .09))}.status-menu .sp-opt.sel .sp-label{color:var(--brand-indigo, #2C3DF5)}.status-menu .sp-row{display:flex;align-items:center;gap:12px;width:100%}.status-menu .sp-dot{position:relative;width:12px;height:12px;border-radius:50%;flex-shrink:0}.status-menu .sp-dot.active{background:#22c55e;box-shadow:0 0 8px #22c55ea6}.status-menu .sp-dot.away{background:#f59e0b;box-shadow:0 0 8px #f59e0b8c}.status-menu .sp-dot.busy{background:#ef4444;box-shadow:0 0 8px #ef44448c}.status-menu .sp-dot.active:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #22c55e;animation:sp-pulse 1.9s ease-out infinite}.status-menu .sp-ghost{width:18px;height:18px;color:#7c86b0;flex-shrink:0}.status-menu .sp-text{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0;line-height:1.25;text-align:left}.status-menu .sp-label{font-weight:600;color:var(--ink)}.status-menu .sp-desc{font-size:.75rem;color:var(--ink-soft, #889)}.status-menu .sp-check{margin-left:auto;flex-shrink:0;color:var(--brand-indigo, #2C3DF5);font-size:20px;width:20px;height:20px}@keyframes sp-pulse{0%{transform:scale(.9);opacity:.7}to{transform:scale(2.2);opacity:0}}.icon-auto .mdc-list-item__primary-text{display:flex;align-items:center;gap:12px}.icon-auto .opt-ic{font-size:20px;width:20px;height:20px;color:var(--ink-soft, #778);flex-shrink:0}.icon-auto .opt-name{font-family:Roboto Mono,ui-monospace,monospace;font-size:.86rem}.reactor-tip.mdc-tooltip .mdc-tooltip__surface{max-width:240px;text-align:center;line-height:1.35}.cdk-drag-preview{border-radius:11px;box-shadow:0 18px 40px #00000052;opacity:.96}.cdk-drag-animating,.cdk-drop-list-dragging .cdk-drag:not(.cdk-drag-placeholder){transition:transform .2s cubic-bezier(0,0,.2,1)}
