@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-ext-wght-normal-IYF56FF6.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-wght-normal-JEOLYBOO.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-ext-wght-normal-EOVOK2B5.woff2") format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-wght-normal-IRE366VL.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-vietnamese-wght-normal-CE5GGD3W.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-ext-wght-normal-HA22NDSG.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-wght-normal-NRMW37G5.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-cyrillic-ext-wght-normal-2GMQGZDT.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-cyrillic-wght-normal-F76KYTZG.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-greek-wght-normal-NNUWM3E7.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-vietnamese-wght-normal-HA5TFICD.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-latin-ext-wght-normal-6XGHMEDV.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url("./media/manrope-latin-wght-normal-73PUZEUA.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--so-background: #09090f;--so-background-secondary: #101019;--so-surface: #171722;--so-surface-elevated: #20202d;--so-surface-hover: #29293a;--so-primary: #a78bfa;--so-primary-hover: #b9a3ff;--so-primary-active: #8b5cf6;--so-primary-muted: #6d4bc3;--so-primary-glow: #a78bfa;--so-accent: #67e8f9;--so-accent-hover: #a5f3fc;--so-accent-muted: #164e63;--so-text-primary: #f4f4f8;--so-text-secondary: #a1a1b5;--so-text-muted: #69697d;--so-text-inverse: #09090f;--so-black: #000000;--so-border: #292938;--so-border-subtle: #20202c;--so-border-focus: #a78bfa;--so-success: #34d399;--so-warning: #fbbf24;--so-error: #fb7185;--so-info: #67e8f9;--so-primary-soft: rgb(167 139 250 / .12);--so-primary-softer: rgb(167 139 250 / .06);--so-accent-soft: rgb(103 232 249 / .12);--so-error-soft: rgb(251 113 133 / .12);--so-success-soft: rgb(52 211 153 / .12);--so-warning-soft: rgb(251 191 36 / .12);--so-scrim: rgb(9 9 15 / .72);--so-glass: rgb(16 16 25 / .78);--so-white-04: rgb(244 244 248 / .04);--so-white-08: rgb(244 244 248 / .08);--so-gradient-primary: linear-gradient(135deg, #8b5cf6 0%, #a78bfa 50%, #67e8f9 100%);--so-gradient-surface: linear-gradient(180deg, #171722 0%, #101019 100%);--so-gradient-ambient: radial-gradient(circle, rgb(167 139 250 / .16) 0%, rgb(9 9 15 / 0) 70%);--so-gradient-fade: linear-gradient(180deg, rgb(9 9 15 / 0) 0%, #09090f 100%)}:root[data-theme=oled]{--so-background: #000000;--so-background-secondary: #06060a;--so-surface: #0f0f16;--so-surface-elevated: #17171f;--so-surface-hover: #20202b;--so-glass: rgb(6 6 10 / .82);--so-scrim: rgb(0 0 0 / .78);--so-gradient-surface: linear-gradient(180deg, #0f0f16 0%, #06060a 100%);--so-gradient-fade: linear-gradient(180deg, rgb(0 0 0 / 0) 0%, #000000 100%)}:root{--so-radius-xs: 4px;--so-radius-sm: 6px;--so-radius-md: 10px;--so-radius-lg: 14px;--so-radius-xl: 20px;--so-radius-pill: 999px;--so-shadow-sm: 0 1px 2px rgb(0 0 0 / .4);--so-shadow-md: 0 8px 24px rgb(0 0 0 / .45);--so-shadow-lg: 0 24px 64px rgb(0 0 0 / .55);--so-shadow-artwork: 0 18px 48px rgb(0 0 0 / .5);--so-glow-primary: 0 0 0 1px rgb(167 139 250 / .25), 0 8px 32px rgb(167 139 250 / .18);--so-focus-ring: 0 0 0 2px var(--so-background), 0 0 0 4px var(--so-border-focus);--so-ease: cubic-bezier(.2, 0, 0, 1);--so-ease-out: cubic-bezier(.16, 1, .3, 1);--so-duration-fast: .12s;--so-duration: .2s;--so-duration-slow: .36s;--so-sidebar-width: 248px;--so-sidebar-collapsed: 76px;--so-player-height: 88px;--so-mobile-nav-height: 64px;--so-mobile-player-height: 64px;--so-content-max: 1480px;--so-z-sticky: 10;--so-z-sidebar: 20;--so-z-player: 30;--so-z-overlay: 40;--so-z-dialog: 50;--so-z-toast: 60}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root[data-motion=reduced] *,:root[data-motion=reduced] *:before,:root[data-motion=reduced] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}:root{--so-font-sans: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--so-font-display: "Manrope Variable", Manrope, "Inter Variable", system-ui, sans-serif;--so-text-2xs: .6875rem;--so-text-xs: .75rem;--so-text-sm: .8125rem;--so-text-base: .9375rem;--so-text-md: 1rem;--so-text-lg: 1.125rem;--so-text-xl: 1.375rem;--so-text-2xl: 1.75rem;--so-text-3xl: 2.25rem;--so-text-4xl: clamp(2.25rem, 1.4rem + 3vw, 3.75rem);--so-weight-body: 400;--so-weight-label: 500;--so-weight-heading: 600;--so-weight-bold: 700;--so-leading-tight: 1.15;--so-leading-snug: 1.3;--so-leading-body: 1.55;--so-tracking-brand: .32em}.so-display{font-family:var(--so-font-display);font-weight:var(--so-weight-bold);font-size:var(--so-text-4xl);line-height:var(--so-leading-tight);letter-spacing:-.02em}.so-h1{font-family:var(--so-font-display);font-weight:var(--so-weight-bold);font-size:var(--so-text-3xl);line-height:var(--so-leading-tight);letter-spacing:-.015em}.so-h2{font-family:var(--so-font-display);font-weight:var(--so-weight-bold);font-size:var(--so-text-xl);line-height:var(--so-leading-snug);letter-spacing:-.01em}.so-h3{font-family:var(--so-font-display);font-weight:var(--so-weight-heading);font-size:var(--so-text-lg);line-height:var(--so-leading-snug)}.so-label{font-size:var(--so-text-sm);font-weight:var(--so-weight-label);color:var(--so-text-secondary)}.so-meta{font-size:var(--so-text-sm);font-weight:var(--so-weight-body);color:var(--so-text-muted)}.so-eyebrow{font-size:var(--so-text-2xs);font-weight:var(--so-weight-heading);letter-spacing:.14em;text-transform:uppercase;color:var(--so-text-secondary)}.so-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-tabular{font-variant-numeric:tabular-nums}:root{--so-space-0: 0;--so-space-1: 4px;--so-space-2: 8px;--so-space-3: 12px;--so-space-4: 16px;--so-space-5: 20px;--so-space-6: 24px;--so-space-8: 32px;--so-space-10: 40px;--so-space-12: 48px;--so-space-16: 64px;--so-space-20: 80px;--so-gutter: clamp(16px, 2.6vw, 40px);--so-section-gap: clamp(32px, 4vw, 48px)}.so-btn{--btn-bg: var(--so-surface-elevated);--btn-fg: var(--so-text-primary);--btn-bg-hover: var(--so-surface-hover);display:inline-flex;align-items:center;justify-content:center;gap:var(--so-space-2);height:40px;padding:0 var(--so-space-5);border:1px solid transparent;border-radius:var(--so-radius-pill);background:var(--btn-bg);color:var(--btn-fg);font:inherit;font-size:var(--so-text-base);font-weight:var(--so-weight-heading);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--so-duration) var(--so-ease),transform var(--so-duration-fast) var(--so-ease),border-color var(--so-duration) var(--so-ease),color var(--so-duration) var(--so-ease)}.so-btn:hover:not(:disabled){background:var(--btn-bg-hover)}.so-btn:active:not(:disabled){transform:scale(.98)}.so-btn:disabled{opacity:.45;cursor:not-allowed}.so-btn--primary{--btn-bg: var(--so-primary);--btn-fg: var(--so-text-inverse);--btn-bg-hover: var(--so-primary-hover)}.so-btn--primary:active:not(:disabled){background:var(--so-primary-active)}.so-btn--ghost{--btn-bg: transparent;--btn-bg-hover: var(--so-white-08);--btn-fg: var(--so-text-secondary)}.so-btn--ghost:hover:not(:disabled){color:var(--so-text-primary)}.so-btn--outline{--btn-bg: transparent;--btn-bg-hover: var(--so-white-04);border-color:var(--so-border)}.so-btn--outline:hover:not(:disabled){border-color:var(--so-text-muted)}.so-btn--danger{--btn-bg: var(--so-error-soft);--btn-fg: var(--so-error);--btn-bg-hover: rgb(251 113 133 / .2)}.so-btn--lg{height:48px;padding:0 var(--so-space-6);font-size:var(--so-text-md)}.so-btn--sm{height:32px;padding:0 var(--so-space-4);font-size:var(--so-text-sm)}.so-btn--block{width:100%}.so-play-btn{display:inline-grid;place-items:center;width:56px;height:56px;border:0;border-radius:50%;background:var(--so-primary);color:var(--so-text-inverse);cursor:pointer;box-shadow:var(--so-shadow-md);transition:transform var(--so-duration) var(--so-ease-out),background-color var(--so-duration) var(--so-ease)}.so-play-btn:hover:not(:disabled){background:var(--so-primary-hover);transform:scale(1.05)}.so-play-btn:active:not(:disabled){background:var(--so-primary-active);transform:scale(.97)}.so-play-btn:disabled{opacity:.45;cursor:not-allowed}.so-play-btn--sm{width:40px;height:40px}.so-icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--so-text-secondary);cursor:pointer;transition:color var(--so-duration) var(--so-ease),background-color var(--so-duration) var(--so-ease),transform var(--so-duration-fast) var(--so-ease)}.so-icon-btn:hover:not(:disabled){color:var(--so-text-primary);background:var(--so-white-08)}.so-icon-btn:active:not(:disabled){transform:scale(.94)}.so-icon-btn:disabled{opacity:.35;cursor:not-allowed}.so-icon-btn--active{color:var(--so-primary)}.so-icon-btn--active:hover:not(:disabled){color:var(--so-primary-hover)}.so-icon-btn--sm{width:30px;height:30px}.so-icon-btn--lg{width:44px;height:44px}.so-field{display:flex;flex-direction:column;gap:var(--so-space-2)}.so-field+.so-field{margin-top:var(--so-space-4)}.so-field__label{font-size:var(--so-text-sm);font-weight:var(--so-weight-label);color:var(--so-text-secondary)}.so-field__hint{font-size:var(--so-text-xs);color:var(--so-text-muted)}.so-field__error{font-size:var(--so-text-xs);color:var(--so-error)}.so-input{width:100%;height:46px;padding:0 var(--so-space-4);border:1px solid var(--so-border);border-radius:var(--so-radius-md);background:var(--so-background-secondary);color:var(--so-text-primary);font:inherit;font-size:var(--so-text-base);transition:border-color var(--so-duration) var(--so-ease),background-color var(--so-duration) var(--so-ease),box-shadow var(--so-duration) var(--so-ease)}.so-input::placeholder{color:var(--so-text-muted)}.so-input:hover{border-color:var(--so-surface-hover)}.so-input:focus{outline:none;border-color:var(--so-border-focus);box-shadow:0 0 0 3px var(--so-primary-soft)}.so-input.ng-invalid.ng-touched{border-color:var(--so-error)}textarea.so-input{height:auto;min-height:96px;padding:var(--so-space-3) var(--so-space-4);resize:vertical}.so-checkbox{display:flex;align-items:flex-start;gap:var(--so-space-3);font-size:var(--so-text-sm);color:var(--so-text-secondary);cursor:pointer}.so-checkbox input{flex:none;width:18px;height:18px;margin:1px 0 0;accent-color:var(--so-primary)}.so-checkbox a{color:var(--so-primary)}.so-switch{position:relative;flex:none;width:42px;height:24px;appearance:none;margin:0;border-radius:var(--so-radius-pill);background:var(--so-surface-hover);cursor:pointer;transition:background-color var(--so-duration) var(--so-ease)}.so-switch:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--so-text-primary);transition:transform var(--so-duration) var(--so-ease-out)}.so-switch:checked{background:var(--so-primary)}.so-switch:checked:after{transform:translate(18px);background:var(--so-text-inverse)}.so-alert{display:flex;gap:var(--so-space-3);align-items:flex-start;padding:var(--so-space-3) var(--so-space-4);border-radius:var(--so-radius-md);font-size:var(--so-text-sm);line-height:var(--so-leading-body);background:var(--so-white-04);color:var(--so-text-secondary)}.so-alert--error{background:var(--so-error-soft);color:var(--so-error)}.so-alert--success{background:var(--so-success-soft);color:var(--so-success)}.so-alert--warning{background:var(--so-warning-soft);color:var(--so-warning)}.so-alert--info{background:var(--so-accent-soft);color:var(--so-accent)}.so-chip{display:inline-flex;align-items:center;height:34px;padding:0 var(--so-space-4);border:1px solid var(--so-border);border-radius:var(--so-radius-pill);background:transparent;color:var(--so-text-secondary);font:inherit;font-size:var(--so-text-sm);font-weight:var(--so-weight-label);white-space:nowrap;cursor:pointer;transition:all var(--so-duration) var(--so-ease)}.so-chip:hover{color:var(--so-text-primary);border-color:var(--so-text-muted)}.so-chip--active,.so-chip[aria-pressed=true],.so-chip[aria-selected=true]{background:var(--so-text-primary);border-color:var(--so-text-primary);color:var(--so-text-inverse)}.so-chips{display:flex;gap:var(--so-space-2);overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.so-chips::-webkit-scrollbar{display:none}.so-page{width:100%;max-width:var(--so-content-max);margin:0 auto;padding:var(--so-space-6) var(--so-gutter) var(--so-space-16)}.so-section+.so-section{margin-top:var(--so-section-gap)}.so-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--so-space-4);margin-bottom:var(--so-space-4)}.so-section__sub{margin-top:var(--so-space-1);font-size:var(--so-text-sm);color:var(--so-text-muted)}.so-link{color:var(--so-text-secondary);font-size:var(--so-text-sm);font-weight:var(--so-weight-heading);text-decoration:none}.so-link:hover{color:var(--so-text-primary);text-decoration:underline}.so-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(168px,1fr);gap:var(--so-space-5);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(var(--so-gutter) * -1);padding:4px var(--so-gutter) var(--so-space-2)}.so-rail>*{scroll-snap-align:start}.so-rail::-webkit-scrollbar{display:none}@media(min-width:1024px){.so-rail{grid-auto-columns:calc((100% - 5 * var(--so-space-5)) / 6)}}@media(max-width:768px){.so-rail{grid-auto-columns:148px;gap:var(--so-space-4)}}.so-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:var(--so-space-6) var(--so-space-5)}@media(max-width:520px){.so-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--so-space-4)}}.so-skeleton{position:relative;overflow:hidden;border-radius:var(--so-radius-sm);background:var(--so-surface)}.so-skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--so-white-04),transparent);animation:so-shimmer 1.4s infinite}@keyframes so-shimmer{to{transform:translate(100%)}}.so-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.so-gradient-text{background:var(--so-gradient-primary);-webkit-background-clip:text;background-clip:text;color:transparent}.so-divider{height:1px;border:0;background:var(--so-border-subtle);margin:var(--so-space-6) 0}.so-auth-title{font-family:var(--so-font-display);font-size:var(--so-text-2xl);font-weight:700;letter-spacing:-.01em;line-height:var(--so-leading-tight)}.so-auth-lead{margin-top:var(--so-space-2);margin-bottom:var(--so-space-8);color:var(--so-text-secondary)}.so-auth-form{display:flex;flex-direction:column}.so-auth-form .so-alert{margin-bottom:var(--so-space-5)}.so-auth-form .so-btn--block{margin-top:var(--so-space-6)}.so-auth-row{display:flex;align-items:center;justify-content:space-between;margin-top:var(--so-space-4);font-size:var(--so-text-sm)}.so-auth-alt{margin-top:var(--so-space-8);color:var(--so-text-secondary);font-size:var(--so-text-sm);text-align:center}.so-auth-alt a{color:var(--so-text-primary);font-weight:600}.so-auth-status{display:flex;flex-direction:column;align-items:center;text-align:center}.so-auth-status .so-auth-lead{margin-bottom:var(--so-space-6)}.so-auth-badge{display:grid;place-items:center;width:72px;height:72px;margin-bottom:var(--so-space-6);border-radius:50%;background:var(--so-primary-soft);color:var(--so-primary);box-shadow:var(--so-glow-primary)}.so-auth-badge--success{background:var(--so-success-soft);color:var(--so-success);box-shadow:none}.so-auth-badge--error{background:var(--so-error-soft);color:var(--so-error);box-shadow:none}.so-password-wrap{position:relative}.so-password-wrap .so-input{padding-right:48px}.so-password-wrap .so-icon-btn{position:absolute;top:5px;right:5px}*,*:before,*:after{box-sizing:border-box}html{color-scheme:dark;-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--so-surface-hover) transparent}html,body{height:100%;margin:0}body{background:var(--so-background);color:var(--so-text-primary);font-family:var(--so-font-sans);font-size:var(--so-text-base);font-weight:var(--so-weight-body);line-height:var(--so-leading-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none}h1,h2,h3,h4,p,figure{margin:0}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}ul,ol{margin:0;padding:0;list-style:none}::selection{background:var(--so-primary-muted);color:var(--so-text-primary)}:focus-visible{outline:none;box-shadow:var(--so-focus-ring);border-radius:var(--so-radius-sm)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--so-surface-hover);border:3px solid transparent;border-radius:999px;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}
