@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.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(/assets/inter-cyrillic-wght-normal-DqGufNeO.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(/assets/inter-greek-ext-wght-normal-DlzME5K_.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(/assets/inter-greek-wght-normal-CkhJZR-_.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(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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(/assets/inter-latin-wght-normal-Dx4kXJAl.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) 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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.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}*,*:before,*:after{box-sizing:border-box}:root{--surface-0: #0d1117;--surface-1: #161b22;--surface-2: #21262d;--surface-3: #30363d;--surface-editor: #0a0d13;--text-1: #e6edf3;--text-2: #8b949e;--text-3: #7d8590;--border: #30363d;--border-muted: #21262d;--brand: #4a9eff;--brand-hover: #6cb0ff;--brand-active: #3886e6;--brand-subtle: rgba(74, 158, 255, .12);--accent-action: #238636;--accent-action-hover: #2ea043;--on-accent-action: #ffffff;--success: #4ec9b0;--warning: #f59e0b;--danger: #ff5757;--info: #4a9eff;--success-subtle: rgba(78, 201, 176, .12);--warning-subtle: rgba(245, 158, 11, .12);--danger-subtle: rgba(255, 87, 87, .12);--axis-x: #e53935;--axis-y: #43a047;--axis-z: #1e88e5;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-pill: 999px;--topbar-height: 40px;--font-sans: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-lg: 15px;--fs-xl: 18px;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--lh-tight: 1.25;--lh-normal: 1.5;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 28px rgba(0, 0, 0, .5);--transition-fast: .12s ease;--transition-base: .18s ease;--z-base: 1;--z-sticky: 100;--z-overlay: 1000;--z-modal: 1100;--z-toast: 1200;--bg-primary: var(--surface-0);--bg-secondary: var(--surface-1);--bg-tertiary: var(--surface-2);--bg-hover: var(--surface-3);--accent-blue: var(--brand);--accent-orange: #ff8c42;--accent-green: var(--success);--accent-red: var(--danger);--accent-yellow: var(--warning);--text-primary: var(--text-1);--text-secondary: var(--text-2);--text-muted: var(--text-3);--border-color: var(--border)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}:focus:not(:focus-visible){outline:none}body{margin:0;font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.5;height:100vh;overflow:hidden}#app{min-height:100vh;height:100vh;display:flex;flex-direction:column;overflow:hidden}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:10px 20px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px #0000004d;gap:20px;flex-shrink:0}.header-left{display:flex;align-items:center;gap:8px}.header-logo{height:40px;width:auto;object-fit:contain}.header-center{flex:1;display:flex;align-items:center;justify-content:center;gap:12px}.toolbar-btn{min-width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-radius:var(--radius-md);cursor:pointer;font-size:15px;line-height:1;white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);-webkit-user-select:none;user-select:none}.toolbar-btn:hover{background:var(--surface-3);color:var(--text-1)}.toolbar-btn:active{background:var(--surface-1)}.toolbar-btn.dropdown-trigger,.toolbar-btn.labeled{padding:0 12px;font-size:13px;font-weight:var(--fw-medium);color:var(--text-1)}.toolbar-separator{width:1px;height:22px;background:var(--border);margin:0 2px;flex-shrink:0}.header-right{display:flex;align-items:center;gap:8px;position:relative}.dropdown-menu{position:relative}.dropdown-content{display:none;position:absolute;top:100%;left:0;margin-top:8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 20px #0006;min-width:220px;z-index:1000;padding:6px 0}.dropdown-content.show{display:block}.dropdown-item{width:100%;padding:10px 16px;background:none;border:none;color:var(--text-primary);text-align:left;cursor:pointer;font-size:13px;display:flex;align-items:center;gap:10px;transition:all .2s}.dropdown-item svg{flex-shrink:0;color:var(--text-secondary)}.dropdown-item:hover svg{color:var(--accent-blue)}.dropdown-item:hover{background:var(--bg-hover);color:var(--accent-blue)}.dropdown-separator{height:1px;background:var(--border-color);margin:4px 8px}.notification-btn{position:relative;width:36px;height:36px;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-radius:var(--radius-md);cursor:pointer;font-size:16px;transition:background var(--transition-fast),color var(--transition-fast)}.notification-btn:hover{background:var(--surface-3);color:var(--text-1)}.notification-badge{position:absolute;top:4px;right:4px;background:var(--accent-red);color:#fff;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:600}.notification-dropdown{display:none;position:absolute;top:100%;right:0;margin-top:8px;width:360px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 24px #0006;z-index:1001;overflow:hidden}.notification-dropdown.show{display:block}.notification-header{padding:16px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:var(--bg-tertiary)}.notification-list{max-height:400px;overflow-y:auto}.notification-item{padding:12px 16px;display:flex;gap:12px;cursor:pointer;border-bottom:1px solid var(--border-color)}.notification-item:hover{background:var(--bg-hover)}.notification-footer{padding:8px;border-top:1px solid var(--border-color)}.user-info{display:flex;align-items:center;gap:10px;padding:6px 12px;background:var(--bg-tertiary);border-radius:20px;cursor:pointer;border:1px solid var(--border-color)}.user-info:hover{background:var(--bg-hover)}.user-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(45deg,var(--accent-blue),var(--accent-green));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:12px}.user-details{display:flex;flex-direction:column}.user-name{font-size:12px;font-weight:600;color:var(--text-primary)}.user-role{font-size:10px;color:var(--text-muted)}.user-dropdown{display:none;position:absolute;top:100%;right:0;margin-top:8px;width:280px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 24px #0006;z-index:1001;overflow:hidden}.user-dropdown.show{display:block}.user-dropdown-header{padding:16px;display:flex;gap:12px;align-items:center}.user-avatar-large{width:48px;height:48px;border-radius:50%;background:linear-gradient(45deg,var(--accent-blue),var(--accent-green));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:18px}.user-dropdown-divider{height:1px;background:var(--border-color)}.user-dropdown-item{width:100%;padding:12px 16px;background:none;border:none;color:var(--text-primary);text-align:left;cursor:pointer;font-size:13px;display:flex;align-items:center;gap:10px}.user-dropdown-item:hover{background:var(--bg-hover);color:var(--accent-blue)}.user-dropdown-item.danger:hover{background:#ff575726;color:var(--accent-red)}.main-container{display:flex;flex:1;min-height:0;overflow:hidden}.sidebar-icons{width:52px;background:var(--bg-tertiary);display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 0;border-right:1px solid var(--border-color);flex-shrink:0}.sidebar-icons-bottom{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid var(--border-color)}.sidebar-icon{position:relative;width:44px;min-height:36px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px 2px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);border-radius:10px;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.sidebar-icon-label{max-width:100%;font-size:8px;line-height:1.1;font-weight:600;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--brand)}.sidebar-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-icon.active{background:var(--brand-subtle);border-color:transparent;color:var(--brand)}.sidebar-icon.active:before{content:"";position:absolute;left:-4px;top:50%;transform:translateY(-50%);width:3px;height:24px;border-radius:0 var(--radius-pill) var(--radius-pill) 0;background:var(--brand)}.project-active-btn{font-size:10px;writing-mode:vertical-rl;text-orientation:mixed;padding:8px 4px;height:auto;min-height:60px}.sidebar-panel{width:100%;min-width:0;height:100%;min-height:0;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.sidebar-panel-header{height:var(--topbar-height);padding:0 16px;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);flex-shrink:0}.sidebar-panel-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.sidebar-tab-content{display:none;flex:1;min-height:0;flex-direction:column;overflow:hidden}.sidebar-tab-content.active{display:flex}.sidebar-section{border-bottom:1px solid var(--border-color);min-height:0}.sidebar-header{padding:12px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg-primary);cursor:pointer;display:flex;align-items:center;justify-content:space-between}.sidebar-header:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.sidebar-content{padding:8px 12px;overflow-y:auto}.section-item{padding:10px 12px;display:flex;align-items:center;gap:10px;cursor:pointer;border-radius:6px;margin-bottom:4px;font-size:13px}.section-item:hover{background:var(--bg-hover)}.editor-area{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-primary)}.editor-tabs{display:flex;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);padding:4px 8px 0;gap:4px;flex-shrink:0;scrollbar-width:none;-ms-overflow-style:none}.editor-tabs::-webkit-scrollbar{display:none}.editor-tab{padding:8px 14px;font-size:13px;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid transparent;border-bottom:none;border-radius:8px 8px 0 0;cursor:pointer}.editor-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.editor-tab.active{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border-color);border-bottom:1px solid var(--bg-primary);margin-bottom:-1px}.editor-view{flex:1;overflow:hidden;display:none}.editor-view.active{display:flex;flex-direction:column}.project-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:2000;align-items:center;justify-content:center}.project-modal.show{display:flex}.project-modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:24px;min-width:400px;max-width:90vw;max-height:90vh;overflow-y:auto}.project-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.project-modal-header h2{margin:0;font-size:18px;color:var(--text-primary)}.project-modal-close{width:32px;height:32px;border-radius:50%;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;font-size:18px}.project-modal-close:hover{background:var(--accent-red);color:#fff;border-color:var(--accent-red)}.project-step{display:none}.project-step.active{display:block}.project-step h3{margin:0 0 16px;font-size:14px;color:var(--text-secondary)}.selection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.selection-card{padding:16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;text-align:center;transition:all .2s}.selection-card:hover{border-color:var(--accent-blue);background:var(--bg-hover)}.selection-icon{font-size:28px;margin-bottom:8px}.selection-name{font-weight:600;color:var(--text-primary);font-size:13px}.selection-count{font-size:11px;color:var(--text-muted);margin-top:4px}.step-breadcrumb{margin-bottom:16px}.breadcrumb-btn{background:none;border:none;color:var(--accent-blue);cursor:pointer;font-size:13px}.breadcrumb-btn:hover{text-decoration:underline}.project-btn{padding:10px 16px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:13px;display:inline-flex;align-items:center;gap:8px}.project-btn-primary{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.project-btn-primary:hover{filter:brightness(1.1)}.create-project-section{margin-bottom:16px}.api-status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.api-status .dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.api-status.ok .dot{background:var(--accent-green)}.api-status.error .dot{background:var(--accent-red)}.auth-page{height:100vh;height:100dvh;overflow-y:auto;display:flex;justify-content:center;padding:var(--space-6);background:var(--surface-0);background-image:radial-gradient(1200px 600px at 50% -10%,rgba(74,158,255,.08),transparent 60%);color:var(--text-1);font-family:var(--font-sans)}.auth-card{margin:auto;width:100%;max-width:420px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-8)}.auth-brand{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6)}.auth-logo{width:40px;height:40px;border-radius:var(--radius-md);display:grid;place-items:center;font-weight:var(--fw-semibold);font-size:var(--fs-sm);letter-spacing:.5px;color:#fff;background:linear-gradient(135deg,var(--brand),#2f7ad6);flex:none}.auth-brand-name{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--text-1);line-height:var(--lh-tight)}.auth-brand-tag{font-size:var(--fs-xs);color:var(--text-2)}.auth-title{margin:0 0 var(--space-2);font-size:var(--fs-xl);font-weight:var(--fw-semibold);color:var(--text-1)}.auth-subtitle{margin:0 0 var(--space-5);font-size:var(--fs-md);color:var(--text-2);line-height:var(--lh-normal)}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-1)}.field-control{position:relative;display:flex;align-items:center}.field-input{width:100%;height:40px;padding:0 var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-1);font-size:var(--fs-md);font-family:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.field-input::placeholder{color:var(--text-3)}.field-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-subtle)}.field-input:disabled{opacity:.6;cursor:not-allowed}.field-input.has-toggle{padding-right:42px}.field-input.invalid{border-color:var(--danger)}.password-toggle{position:absolute;right:6px;height:30px;width:30px;display:grid;place-items:center;border:none;background:transparent;color:var(--text-2);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.password-toggle:hover{color:var(--text-1);background:var(--surface-3)}.field-hint{font-size:var(--fs-xs);color:var(--text-2)}.field-error{font-size:var(--fs-xs);color:var(--danger)}.btn-primary{height:40px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);background:var(--brand);color:#fff;font-size:var(--fs-md);font-weight:var(--fw-semibold);font-family:inherit;cursor:pointer;transition:background var(--transition-fast)}.btn-primary:hover:not(:disabled){background:var(--brand-hover)}.btn-primary:active:not(:disabled){background:var(--brand-active)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{height:40px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-1);font-size:var(--fs-md);font-weight:var(--fw-medium);font-family:inherit;cursor:pointer;text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast)}.btn-secondary:hover{background:var(--surface-3);border-color:var(--border)}.alert{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--fs-sm);line-height:var(--lh-normal);border:1px solid transparent}.alert-error{background:var(--danger-subtle);border-color:var(--danger);color:#ffb4b4}.alert-success{background:var(--success-subtle);border-color:var(--success);color:var(--success)}.alert-info{background:var(--brand-subtle);border-color:var(--brand);color:var(--brand-hover)}.alert-icon{flex:none;margin-top:1px}.auth-links{margin-top:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);align-items:center;font-size:var(--fs-sm);color:var(--text-2)}.auth-link{color:var(--brand);text-decoration:none;font-weight:var(--fw-medium)}.auth-link:hover{color:var(--brand-hover);text-decoration:underline}.auth-row-between{display:flex;justify-content:space-between;align-items:center}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:auth-spin .7s linear infinite}.spinner-brand{border:2px solid var(--brand-subtle);border-top-color:var(--brand)}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-center{text-align:center}.auth-muted{color:var(--text-2);font-size:var(--fs-sm)}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}
