.page-loader__inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.page-loader__message{font-size:var(--font-size-sm);color:var(--color-text-2)}:root{--color-primary: #6c47ff;--color-primary-hover: #5a38d9;--color-primary-light: rgba(108, 71, 255, .12);--color-accent: #ff6b6b;--color-accent-hover: #e55555;--color-bg: #0f0f1a;--color-bg-2: #16162a;--color-bg-3: #1e1e36;--color-surface: #22223a;--color-surface-2: #2a2a44;--color-border: rgba(255, 255, 255, .08);--color-border-2: rgba(255, 255, 255, .14);--color-text: #f0f0f8;--color-text-2: #a0a0c0;--color-text-3: #6060a0;--color-text-inverted: #0f0f1a;--color-success: #28b872;--color-success-bg: rgba(40, 184, 114, .14);--color-warning: #d99425;--color-warning-bg: rgba(217, 148, 37, .14);--color-error: #f04040;--color-error-bg: rgba(240, 64, 64, .12);--color-info: #3a9ee0;--color-info-bg: rgba(58, 158, 224, .14);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;--font-mono: "SF Mono", "Fira Code", "Courier New", monospace;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 15px;--font-size-lg: 17px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-base: 1.5;--line-height-loose: 1.75;--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow-md: 0 4px 12px rgba(0,0,0,.4);--shadow-lg: 0 8px 24px rgba(0,0,0,.5);--shadow-xl: 0 16px 48px rgba(0,0,0,.6);--shadow-primary: 0 4px 16px rgba(108, 71, 255, .35);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease;--sidebar-width: 240px;--sidebar-collapsed-width: 64px;--topbar-height: 60px;--max-content-width: 1200px;--guest-max-width: 500px;--guest-card-radius: 16px;--guest-item-radius: 12px}:root.light-mode{--color-bg: #f4f4f8;--color-bg-2: #eaeaf0;--color-bg-3: #ffffff;--color-surface: #ffffff;--color-surface-2: #f0f0f5;--color-border: rgba(0, 0, 0, .08);--color-border-2: rgba(0, 0, 0, .14);--color-text: #1a1a2e;--color-text-2: #555580;--color-text-3: #9090b0;--color-text-inverted: #f0f0f8;--color-success-bg: rgba(40, 184, 114, .1);--color-warning-bg: rgba(217, 148, 37, .1);--color-error-bg: rgba(240, 64, 64, .08);--color-info-bg: rgba(58, 158, 224, .1);--color-primary-light: rgba(108, 71, 255, .08);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .14);--shadow-primary: 0 4px 16px rgba(108, 71, 255, .2)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--font-size-md);line-height:var(--line-height-base);color:var(--color-text);background:var(--color-bg);min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}#root{min-height:100dvh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-md)}h6{font-size:var(--font-size-sm)}p{line-height:var(--line-height-loose)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}img,video{max-width:100%;height:auto;display:block}button{cursor:pointer;font-family:var(--font-family);border:none;background:none}input,textarea,select{font-family:var(--font-family);font-size:var(--font-size-md)}ul,ol{list-style:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-surface-2);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-3)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.page-loader{display:flex;align-items:center;justify-content:center;min-height:100dvh;background:var(--color-bg)}.spinner{width:36px;height:36px;border:3px solid var(--color-surface-2);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn var(--transition-base) both}.animate-slide-in{animation:slideIn var(--transition-base) both}.animate-scale-in{animation:scaleIn var(--transition-fast) both}
