:root{--font-family: "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;--container-max-width: 1560px;--container-padding: 1.25rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--z-header: 100;--z-modal: 200;--z-toast: 300;--bg: #07090f;--bg-elevated: #0d1017;--surface: #12151f;--surface-hover: #181c29;--surface-active: #202636;--border: rgba(255, 255, 255, .06);--border-strong: rgba(255, 255, 255, .12);--inset-highlight: inset 0 1px 0 rgba(255, 255, 255, .05);--glow-ambient-1: rgba(255, 170, 0, .07);--glow-ambient-2: rgba(124, 108, 255, .07);--glow-ambient-3: rgba(56, 130, 246, .05);--text: #f2f4f8;--text-secondary: #9ba3b0;--text-muted: #5d6572;--accent: #ffc531;--accent-strong: #ff9f1a;--accent-gradient: linear-gradient(135deg, #ffd32a 0%, #ff8a00 100%);--accent-contrast: #14100a;--accent-soft: rgba(255, 197, 49, .12);--accent-2: #a78bfa;--accent-2-soft: rgba(167, 139, 250, .14);--success: #3ddc84;--success-soft: rgba(61, 220, 132, .12);--danger: #ff5c5c;--danger-soft: rgba(255, 92, 92, .12);--info: #4da3ff;--info-soft: rgba(77, 163, 255, .12);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 6px rgba(0, 0, 0, .28), 0 10px 28px rgba(0, 0, 0, .32);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .32), 0 20px 56px rgba(0, 0, 0, .44);--glow-accent: 0 0 28px rgba(255, 170, 0, .38);--glow-accent-strong: 0 0 42px rgba(255, 170, 0, .5);--inset-highlight-strong: inset 0 1px 0 rgba(255, 255, 255, .25);--shine: rgba(255, 255, 255, .22);--logo-tile: #f6f7fb;--logo-tile-steam: #1b2838}body.light{--bg: #eef0f5;--bg-elevated: #ffffff;--surface: #ffffff;--surface-hover: #f1f2f7;--surface-active: #e6e8f0;--border: rgba(15, 20, 30, .08);--border-strong: rgba(15, 20, 30, .16);--inset-highlight: inset 0 1px 0 rgba(255, 255, 255, .7);--glow-ambient-1: rgba(255, 170, 0, .12);--glow-ambient-2: rgba(124, 108, 255, .1);--glow-ambient-3: rgba(56, 130, 246, .08);--text: #171b22;--text-secondary: #5b6472;--text-muted: #9aa2af;--accent: #f5a300;--accent-strong: #e88a00;--accent-contrast: #ffffff;--accent-soft: rgba(245, 163, 0, .14);--accent-2: #7c6aee;--accent-2-soft: rgba(124, 106, 238, .14);--shadow-sm: 0 1px 2px rgba(15, 20, 30, .06);--shadow-md: 0 2px 6px rgba(15, 20, 30, .06), 0 10px 28px rgba(15, 20, 30, .08);--shadow-lg: 0 4px 12px rgba(15, 20, 30, .08), 0 20px 56px rgba(15, 20, 30, .12);--glow-accent: 0 0 24px rgba(245, 163, 0, .25);--glow-accent-strong: 0 0 34px rgba(245, 163, 0, .38);--logo-tile: #ffffff;--logo-tile-steam: #1b2838}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6,p,ul,ol,figure,blockquote{margin:0;padding:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}input,textarea,select{font:inherit;color:inherit}img{display:block;max-width:100%}@keyframes anim-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes anim-fade-in{0%{opacity:0}to{opacity:1}}@keyframes anim-scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.anim-fade-up{animation:anim-fade-up .45s cubic-bezier(.22,1,.36,1) both}.anim-fade-in{animation:anim-fade-in .4s ease both}.anim-scale-in{animation:anim-scale-in .35s cubic-bezier(.22,1,.36,1) both}.stagger>*{animation:anim-fade-up .4s cubic-bezier(.22,1,.36,1) both}.stagger>*:nth-child(1){animation-delay:0s}.stagger>*:nth-child(2){animation-delay:.04s}.stagger>*:nth-child(3){animation-delay:.08s}.stagger>*:nth-child(4){animation-delay:.12s}.stagger>*:nth-child(5){animation-delay:.16s}.stagger>*:nth-child(6){animation-delay:.2s}.stagger>*:nth-child(7){animation-delay:.24s}.stagger>*:nth-child(8){animation-delay:.28s}.stagger>*:nth-child(9){animation-delay:.32s}.stagger>*:nth-child(10){animation-delay:.36s}.stagger>*:nth-child(n+11){animation-delay:.4s}@media(prefers-reduced-motion:reduce){.anim-fade-up,.anim-fade-in,.anim-scale-in,.stagger>*{animation:none}}body{background-color:var(--bg);color:var(--text);transition:background-color .25s ease,color .25s ease}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(640px 420px at 12% -6%,var(--glow-ambient-1),transparent 70%),radial-gradient(760px 520px at 88% -4%,var(--glow-ambient-2),transparent 70%),radial-gradient(900px 640px at 50% 108%,var(--glow-ambient-3),transparent 72%)}::selection{background:var(--accent-soft);color:var(--text)}.container{width:100%;max-width:var(--container-max-width);margin:0 auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}.flex-center{display:flex;align-items:center;justify-content:center}.hidden{display:none!important}.skeleton{position:relative;overflow:hidden;background:color-mix(in srgb,var(--text) 6%,transparent);border-radius:var(--radius-sm)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(100deg,transparent 20%,color-mix(in srgb,var(--text) 9%,transparent) 50%,transparent 80%);animation:skeleton-wave 1.8s cubic-bezier(.4,0,.2,1) infinite}@keyframes skeleton-wave{to{transform:translate(100%)}}html{scrollbar-color:var(--surface-active) transparent;scrollbar-width:thin}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface-active);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--inset-highlight)}.page-head{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1.75rem}.page-head__title{font-size:1.55rem;font-weight:800;letter-spacing:-.01em}.page-head__subtitle{font-size:.9rem;color:var(--text-secondary)}.state-block{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 1.5rem;text-align:center}.state-block__icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;color:var(--text-muted);background:var(--surface);border:1px solid var(--border)}.state-block__title{font-size:1.15rem;font-weight:700}.state-block__hint{font-size:.88rem;color:var(--text-secondary);max-width:380px}.admin{display:flex;min-height:100dvh}.admin__sidebar{position:fixed;inset:0 auto 0 0;width:264px;display:flex;flex-direction:column;gap:1.25rem;padding:1.25rem 1rem;background:color-mix(in srgb,var(--bg-elevated) 72%,transparent);backdrop-filter:blur(18px);border-right:1px solid var(--border);z-index:var(--z-header);transition:transform .3s cubic-bezier(.4,0,.2,1)}.admin__brand{display:flex;align-items:center;gap:.625rem;padding:.25rem .5rem}.admin__brand-logo{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--accent-gradient);color:var(--accent-contrast);box-shadow:var(--glow-accent);flex-shrink:0}.admin__brand-name{font-size:1.05rem;font-weight:800;letter-spacing:.06em}.admin__brand-name span{background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.admin__brand-badge{margin-left:auto;padding:.2rem .5rem;border-radius:6px;font-size:.62rem;font-weight:800;letter-spacing:.12em;color:var(--accent-2);background:var(--accent-2-soft);border:1px solid color-mix(in srgb,var(--accent-2) 30%,transparent)}.admin__nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.admin__nav-link{display:flex;align-items:center;gap:.75rem;padding:.7rem .8rem;border-radius:var(--radius-md);color:var(--text-secondary);font-size:.92rem;font-weight:600;text-decoration:none;transition:background-color .18s ease,color .18s ease;position:relative}.admin__nav-link:hover{background:var(--surface-hover);color:var(--text)}.admin__nav-link--active{background:var(--accent-soft);color:var(--accent)}.admin__nav-link--active:before{content:"";position:absolute;left:-1rem;top:50%;transform:translateY(-50%);width:3px;height:60%;border-radius:2px;background:var(--accent-gradient);box-shadow:var(--glow-accent)}.admin__side-footer{display:flex;flex-direction:column;gap:.75rem}.admin__controls{display:flex;gap:.5rem}.admin__control-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:color .18s ease,border-color .18s ease,background-color .18s ease,transform .12s ease}.admin__control-btn:hover{color:var(--text);border-color:var(--border-strong);background:var(--surface-hover)}.admin__control-btn:active{transform:scale(.94)}.admin__control-btn--danger:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent);background:var(--danger-soft)}.admin__lang-menu{display:flex;flex-direction:column;min-width:150px;padding:.35rem}.admin__lang-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .7rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-size:.88rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background-color .15s ease,color .15s ease}.admin__lang-item:hover{background:var(--surface-hover);color:var(--text)}.admin__lang-item--active{color:var(--accent)}.admin__me{display:flex;align-items:center;gap:.7rem;padding:.7rem;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--inset-highlight)}.admin__me-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--border-strong);flex-shrink:0}.admin__me-info{min-width:0}.admin__me-name{font-size:.9rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin__me-perms{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.3rem}.admin__overlay{display:none}.admin__main{flex:1;min-width:0;margin-left:264px;display:flex;flex-direction:column}.admin__topbar{display:none}.admin__content{flex:1;width:100%;max-width:1240px;margin:0 auto;padding:2rem 1.75rem 3rem;animation:admin-page-in .35s cubic-bezier(.22,1,.36,1)}.admin__burger{display:none}.perm-badge{padding:.16rem .45rem;border-radius:6px;font-size:.64rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.perm-badge--super{color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.perm-badge--admin{color:var(--accent-2);background:var(--accent-2-soft);border:1px solid color-mix(in srgb,var(--accent-2) 30%,transparent)}.perm-badge--support{color:var(--info);background:var(--info-soft);border:1px solid color-mix(in srgb,var(--info) 30%,transparent)}.perm-badge--stats{color:var(--success);background:var(--success-soft);border:1px solid color-mix(in srgb,var(--success) 30%,transparent)}@keyframes admin-page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1100px){.admin__sidebar{width:78px;padding:1.25rem .6rem;align-items:center}.admin__brand{flex-direction:column;gap:.4rem;padding:0}.admin__brand-name,.admin__brand-badge{display:none}.admin__nav{align-items:center;width:100%}.admin__nav-link{justify-content:center;width:46px;height:46px;padding:0}.admin__nav-link span{display:none}.admin__nav-link--active:before{left:-.6rem}.admin__side-footer,.admin__controls{align-items:center;flex-direction:column}.admin__me{padding:.4rem;background:transparent;border:none;box-shadow:none}.admin__me-info{display:none}.admin__main{margin-left:78px}}@media(max-width:720px){.admin__sidebar{width:264px;align-items:stretch;padding:1.25rem 1rem;transform:translate(-100%)}.admin__brand{flex-direction:row;padding:.25rem .5rem}.admin__brand-name,.admin__brand-badge{display:block}.admin__nav{align-items:stretch}.admin__nav-link{justify-content:flex-start;width:auto;height:auto;padding:.7rem .8rem}.admin__nav-link span{display:block}.admin__nav-link--active:before{left:-1rem}.admin__side-footer,.admin__controls{flex-direction:row;align-items:center}.admin__me{padding:.7rem;background:var(--surface);border:1px solid var(--border);box-shadow:var(--inset-highlight)}.admin__me-info{display:block}.admin--menu-open .admin__sidebar{transform:translate(0)}.admin--menu-open .admin__overlay{display:block;position:fixed;inset:0;z-index:calc(var(--z-header) - 1);background:#04060a99;backdrop-filter:blur(4px);animation:admin-fade-in .25s ease}.admin__main{margin-left:0}.admin__topbar{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-elevated) 72%,transparent);backdrop-filter:blur(18px);position:sticky;top:0;z-index:calc(var(--z-header) - 2)}.admin__topbar-title{font-size:.98rem;font-weight:700}.admin__burger{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.admin__content{padding:1.25rem 1rem 2.5rem}}@keyframes admin-fade-in{0%{opacity:0}to{opacity:1}}.ui-dropdown{position:relative}.ui-dropdown__trigger{display:flex;align-items:center;cursor:pointer}.ui-dropdown__panel{position:absolute;top:calc(100% + .5rem);z-index:var(--z-header);min-width:160px;padding:.375rem;background:color-mix(in srgb,var(--bg-elevated) 90%,transparent);backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg),var(--inset-highlight);animation:ui-dropdown-in .15s ease}@keyframes ui-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.ui-toasts{position:fixed;bottom:1.25rem;right:1.25rem;z-index:var(--z-toast);display:flex;flex-direction:column;gap:.5rem;max-width:min(360px,100vw - 2.5rem)}.ui-toasts__toast{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;background:color-mix(in srgb,var(--bg-elevated) 86%,transparent);backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg),var(--inset-highlight);font-size:.875rem;animation:ui-toast-in .25s ease}.ui-toasts__icon{display:flex;padding:.25rem;border-radius:50%}.ui-toasts__toast--success .ui-toasts__icon{background:var(--success-soft);color:var(--success)}.ui-toasts__toast--error .ui-toasts__icon{background:var(--danger-soft);color:var(--danger)}.ui-toasts__toast--info .ui-toasts__icon{background:var(--info-soft);color:var(--info)}.ui-toasts__message{flex:1}.ui-toasts__close{display:flex;color:var(--text-muted)}.ui-toasts__close:hover{color:var(--text)}@keyframes ui-toast-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:700;border-radius:var(--radius-md);transition:transform .12s ease,box-shadow .25s ease,background .2s ease,opacity .2s ease,filter .2s ease;user-select:none;white-space:nowrap}.ui-button:active:not(:disabled){transform:scale(.96)}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-button--primary{position:relative;overflow:hidden;background:var(--accent-gradient);color:var(--accent-contrast);box-shadow:var(--glow-accent),var(--inset-highlight-strong)}.ui-button--primary:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 42%,var(--shine) 50%,transparent 58%);transform:translate(-130%);transition:transform .55s ease;pointer-events:none}.ui-button--primary:hover:not(:disabled){filter:brightness(1.06);box-shadow:var(--glow-accent-strong),var(--inset-highlight-strong)}.ui-button--primary:hover:not(:disabled):after{transform:translate(130%)}.ui-button--secondary{background:var(--surface-hover);color:var(--text);border:1px solid var(--border)}.ui-button--secondary:hover:not(:disabled){background:var(--surface-active)}.ui-button--ghost{background:transparent;color:var(--text-secondary)}.ui-button--ghost:hover:not(:disabled){color:var(--text);background:var(--surface-hover)}.ui-button--danger{background:var(--danger-soft);color:var(--danger)}.ui-button--danger:hover:not(:disabled){background:#ff5c5c33}.ui-button--sm{height:2rem;padding:0 .75rem;font-size:.8125rem}.ui-button--md{height:2.625rem;padding:0 1.25rem;font-size:.9375rem}.ui-button--lg{height:3.25rem;padding:0 2rem;font-size:1.0625rem;border-radius:var(--radius-lg)}.ui-button--full{width:100%}.ui-button__spinner{width:1em;height:1em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:ui-button-spin .7s linear infinite}@keyframes ui-button-spin{to{transform:rotate(360deg)}}
