@import"https://fonts.googleapis.com/css2?family=Sora:wght@100..800&family=Space+Grotesk:wght@300..700&display=swap";:root{--color-surface-lowest: #0E0E0E;--color-surface: #131313;--color-surface-high: #2A2A2A;--color-surface-highest: #353534;--color-surface-bright: #3A3939;--color-surface-variant: #353534;--color-primary: #75FF9E;--color-primary-container: #00E676;--color-primary-fixed: #62FF96;--color-secondary: #FFF3D2;--color-secondary-container: #FDD400;--color-tertiary: #FFDDDC;--color-tertiary-container: #FFB6B6;--color-error: #FFB4AB;--color-on-surface: #E5E2E1;--color-on-surface-variant: #BACBB9;--color-outline-variant: rgba(59, 74, 61, .2);--font-display: "Space Grotesk", sans-serif;--font-body: "Sora", sans-serif;--text-display-lg: 3.5rem;--text-headline-md: 1.75rem;--text-title-sm: 1rem;--text-pg-sm: .785rem;--text-label-sm: .6875rem;--space-1: .5rem;--space-2: 1rem;--space-3: 1.75rem;--space-4: 2.25rem;--space-6: 3rem;--radius-button: 4px;--radius-card: 8px;--glass-bg: rgba(53, 53, 52, .4);--glass-blur: blur(12px);--glass-shadow: 0 24px 48px rgba(0, 0, 0, .5);--gradient-accent: linear-gradient(135deg, rgba(117,255,158,.1), rgba(0,230,118,.1));--spring-ease: linear(0, .049 1.2%, .211 2.6%, 1.235 8.6%, 1.384 10.2%, 1.441 11.8%, 1.427 13%, 1.363 14.4%, .898 20.6%, .805 23.8%, .839 26.4%, 1.045 32.6%, 1.085 35.6%, .962 47.6%, 1.017 59.6%, 1);--bounce-ease: linear(0, .412 18.2%, .997 33.4%, .776 39.8%, .706 45.2%, .767 50.2%, .998 57.8%, .87 65.2%, .999 74.6%, .95 80.2%, 1 88.2%, 1)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background-color:#0e0e0e;background-color:var(--color-surface-lowest);color:#e5e2e1;color:var(--color-on-surface);font-family:Sora,sans-serif;font-family:var(--font-body);-webkit-font-smoothing:antialiased}.app-loading{min-height:100vh;background-color:var(--color-surface-lowest)}.app-shell{display:flex;height:100vh;overflow:hidden;background-color:var(--color-surface-lowest)}.app-shell__main{flex:1;overflow:hidden;position:relative;min-width:0}.auth-root{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-surface-lowest);background-image:var(--gradient-accent);font-family:var(--font-body)}.auth-card{width:100%;max-width:420px;padding:var(--space-4);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-card);box-shadow:var(--glass-shadow);outline:1px solid var(--color-outline-variant)}.auth-headline{font-family:var(--font-display);font-size:var(--text-headline-md);color:var(--color-on-surface);margin:0 0 var(--space-1) 0;letter-spacing:-.02em}.auth-subline{font-size:var(--text-label-sm);color:var(--color-on-surface-variant);margin:0 0 var(--space-3) 0;text-transform:uppercase;letter-spacing:.08em}.auth-form{display:flex;flex-direction:column;gap:var(--space-3)}.auth-field{display:flex;flex-direction:column;gap:.25rem}.auth-label{font-size:var(--text-label-sm);color:var(--color-on-surface-variant);text-transform:uppercase;letter-spacing:.08em}.auth-input{background:transparent;border:none;border-bottom:1px solid var(--color-surface-bright);color:var(--color-on-surface);font-family:var(--font-body);font-size:var(--text-title-sm);padding:var(--space-1) 0;outline:none;transition:border-color .2s ease}.auth-input:focus{border-bottom-color:var(--color-primary)}.auth-input::-moz-placeholder{color:var(--color-surface-bright)}.auth-input::placeholder{color:var(--color-surface-bright)}.auth-error{font-size:var(--text-label-sm);color:var(--color-error);margin:calc(var(--space-1) * -1) 0 0 0}.auth-btn-primary{width:100%;margin-top:var(--space-1)}.auth-divider{display:flex;align-items:center;gap:var(--space-2);color:var(--color-on-surface-variant);font-size:var(--text-label-sm)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--color-surface-bright)}button.auth-btn-ghost{color:var(--color-primary-fixed);width:100%;-webkit-text-decoration:underline;text-decoration:underline;text-underline-offset:3px;text-decoration-color:transparent;transition:text-decoration-color .2s ease,opacity .15s ease}button.auth-btn-ghost:hover:not(:disabled){color:var(--color-primary-fixed);text-decoration-color:var(--color-primary-fixed)}.auth-demo-label{font-size:var(--text-label-sm);color:var(--color-on-surface-variant);text-align:center;margin-top:var(--space-1)}.nx-btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;border:none;border-radius:var(--radius-button);padding:.5rem 1rem;font-family:var(--font-body);font-size:var(--text-label-sm);font-weight:600;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:opacity .15s ease,background-color .15s ease,color .15s ease;white-space:nowrap}.nx-btn:disabled{opacity:.4;cursor:not-allowed}.nx-btn--primary{background-color:var(--color-primary);color:var(--color-surface-lowest)}.nx-btn--primary:hover:not(:disabled){opacity:.85}.nx-btn--secondary{background-color:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary)}.nx-btn--secondary:hover:not(:disabled){background-color:#75ff9e14}.nx-btn--text,.nx-btn--text-underline{background-color:transparent;color:var(--color-on-surface-variant);padding-left:.25rem;padding-right:.25rem}.nx-btn--text:hover:not(:disabled),.nx-btn--text-underline:hover:not(:disabled){color:var(--color-on-surface)}.nx-btn--icon{background-color:transparent;color:var(--color-on-surface-variant);padding:.375rem;border-radius:50%;text-transform:none;letter-spacing:0}.nx-btn--icon:hover:not(:disabled){background-color:var(--color-surface-high);color:var(--color-on-surface)}.with-underline{position:relative}.with-underline:after{content:"";position:absolute;width:100%;transform:scaleX(0);height:2px;bottom:0;left:0;background-color:var(--color-on-surface);transition:transform .2s ease-out;transform-origin:bottom right}.with-underline:hover:after{transform:scaleX(1);transform-origin:bottom left}.text-animation-wrap{overflow-y:hidden;position:relative;transform:translateY(-4px)}.text-animation-wrap>.lowercase{display:flex}.text-animation-wrap>.lowercase>span{transform:translateY(2px)}.text-animation-wrap>.lowercase>span:nth-of-type(1){transition:transform .2s ease .02s}.text-animation-wrap>.lowercase>span:nth-of-type(2){transition:transform .2s ease .04s}.text-animation-wrap>.lowercase>span:nth-of-type(3){transition:transform .2s ease .06s}.text-animation-wrap>.lowercase>span:nth-of-type(4){transition:transform .2s ease .08s}.text-animation-wrap>.lowercase>span:nth-of-type(5){transition:transform .2s ease .1s}.text-animation-wrap>.lowercase>span:nth-of-type(6){transition:transform .2s ease .12s}.text-animation-wrap>.lowercase>span:nth-of-type(7){transition:transform .2s ease .14s}.text-animation-wrap>.lowercase>span:nth-of-type(8){transition:transform .2s ease .16s}.text-animation-wrap>.lowercase>span:nth-of-type(9){transition:transform .2s ease .18s}.text-animation-wrap>.lowercase>span:nth-of-type(10){transition:transform .2s ease .2s}.text-animation-wrap>.lowercase>span:nth-of-type(11){transition:transform .2s ease .22s}.text-animation-wrap>.lowercase>span:nth-of-type(12){transition:transform .2s ease .24s}.text-animation-wrap>.lowercase>span:nth-of-type(13){transition:transform .2s ease .26s}.text-animation-wrap>.lowercase>span:nth-of-type(14){transition:transform .2s ease .28s}.text-animation-wrap>.lowercase>span:nth-of-type(15){transition:transform .2s ease .3s}.text-animation-wrap>.lowercase>span:nth-of-type(16){transition:transform .2s ease .32s}.text-animation-wrap>.lowercase>span:nth-of-type(17){transition:transform .2s ease .34s}.text-animation-wrap>.lowercase>span:nth-of-type(18){transition:transform .2s ease .36s}.text-animation-wrap>.lowercase>span:nth-of-type(19){transition:transform .2s ease .38s}.text-animation-wrap>.lowercase>span:nth-of-type(20){transition:transform .2s ease .4s}.text-animation-wrap>.lowercase>span:nth-of-type(21){transition:transform .2s ease .42s}.text-animation-wrap>.lowercase>span:nth-of-type(22){transition:transform .2s ease .44s}.text-animation-wrap>.lowercase>span:nth-of-type(23){transition:transform .2s ease .46s}.text-animation-wrap>.lowercase>span:nth-of-type(24){transition:transform .2s ease .48s}.text-animation-wrap>.lowercase>span:nth-of-type(25){transition:transform .2s ease .5s}.text-animation-wrap>.uppercase{position:absolute;display:flex;top:0;right:0;bottom:0;left:0}.text-animation-wrap>.uppercase>span{transform:translateY(40px)}.text-animation-wrap>.uppercase>span:nth-of-type(1){transition:transform .2s ease .02s}.text-animation-wrap>.uppercase>span:nth-of-type(2){transition:transform .2s ease .04s}.text-animation-wrap>.uppercase>span:nth-of-type(3){transition:transform .2s ease .06s}.text-animation-wrap>.uppercase>span:nth-of-type(4){transition:transform .2s ease .08s}.text-animation-wrap>.uppercase>span:nth-of-type(5){transition:transform .2s ease .1s}.text-animation-wrap>.uppercase>span:nth-of-type(6){transition:transform .2s ease .12s}.text-animation-wrap>.uppercase>span:nth-of-type(7){transition:transform .2s ease .14s}.text-animation-wrap>.uppercase>span:nth-of-type(8){transition:transform .2s ease .16s}.text-animation-wrap>.uppercase>span:nth-of-type(9){transition:transform .2s ease .18s}.text-animation-wrap>.uppercase>span:nth-of-type(10){transition:transform .2s ease .2s}.text-animation-wrap>.uppercase>span:nth-of-type(11){transition:transform .2s ease .22s}.text-animation-wrap>.uppercase>span:nth-of-type(12){transition:transform .2s ease .24s}.text-animation-wrap>.uppercase>span:nth-of-type(13){transition:transform .2s ease .26s}.text-animation-wrap>.uppercase>span:nth-of-type(14){transition:transform .2s ease .28s}.text-animation-wrap>.uppercase>span:nth-of-type(15){transition:transform .2s ease .3s}.text-animation-wrap>.uppercase>span:nth-of-type(16){transition:transform .2s ease .32s}.text-animation-wrap>.uppercase>span:nth-of-type(17){transition:transform .2s ease .34s}.text-animation-wrap>.uppercase>span:nth-of-type(18){transition:transform .2s ease .36s}.text-animation-wrap>.uppercase>span:nth-of-type(19){transition:transform .2s ease .38s}.text-animation-wrap>.uppercase>span:nth-of-type(20){transition:transform .2s ease .4s}.text-animation-wrap>.uppercase>span:nth-of-type(21){transition:transform .2s ease .42s}.text-animation-wrap>.uppercase>span:nth-of-type(22){transition:transform .2s ease .44s}.text-animation-wrap>.uppercase>span:nth-of-type(23){transition:transform .2s ease .46s}.text-animation-wrap>.uppercase>span:nth-of-type(24){transition:transform .2s ease .48s}.text-animation-wrap>.uppercase>span:nth-of-type(25){transition:transform .2s ease .5s}.text-animation-wrap:hover .lowercase>span,.text-hover-parent:hover .text-animation-wrap .lowercase>span{transform:translateY(-40px)}.text-animation-wrap:hover .uppercase>span,.text-hover-parent:hover .text-animation-wrap .uppercase>span{transform:translateY(2px)}.sidebar{flex-shrink:0;display:flex;flex-direction:column;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-card);outline:1px solid var(--color-outline-variant);box-shadow:var(--glass-shadow);overflow:hidden;padding:var(--space-2) 0;margin:var(--space-1)}.sidebar__logo{display:flex;align-items:center;gap:var(--space-1);padding:0 var(--space-2) var(--space-2);border-bottom:1px solid var(--color-outline-variant);white-space:nowrap;overflow:hidden}.sidebar__logo-mark{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:var(--radius-button);background-color:var(--color-primary);color:var(--color-surface-lowest);font-family:var(--font-display);font-size:var(--text-title-sm);font-weight:700;letter-spacing:-.03em}.sidebar__logo-text{font-family:var(--font-display);font-size:var(--text-title-sm);font-weight:600;color:var(--color-on-surface);letter-spacing:-.02em}.sidebar__nav{flex:1;list-style:none;margin:0;padding:var(--space-1) 0 var(--space-3);display:flex;flex-direction:column;align-items:center;gap:2px}.sidebar__nav>li{width:100%}.sidebar__item{display:flex;align-items:center;gap:var(--space-1);width:100%;background:transparent;border:none;color:var(--color-on-surface-variant);font-family:var(--font-body);font-size:var(--text-label-sm);font-weight:500;cursor:pointer;padding:.5rem var(--space-2);border-radius:0;text-align:left;white-space:nowrap;overflow:hidden;transition:color .15s ease,background-color .15s ease}.sidebar__item:hover{color:var(--color-on-surface);background-color:color-mix(in srgb,var(--color-primary) 8%,transparent)}.sidebar__item--active{color:var(--color-primary);background-color:color-mix(in srgb,var(--color-primary) 12%,transparent)}.sidebar__item-icon{display:flex;align-items:center;position:relative;flex-shrink:0;width:20px;height:20px;justify-content:center}.sidebar__item-label{overflow:hidden;text-overflow:ellipsis}.sidebar__pulse-dot{position:absolute;top:-1px;right:-3px;width:6px;height:6px;border-radius:50%;background-color:var(--color-primary-container);box-shadow:0 0 6px var(--color-primary-container);animation:sidebar-pulse-glow 2s ease-in-out infinite}.sidebar__toggle{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-on-surface-variant);cursor:pointer;padding:var(--space-1);margin:0 var(--space-1);border-radius:var(--radius-button);transition:color .15s ease,background-color .15s ease}.sidebar__toggle:hover{color:var(--color-on-surface);background-color:color-mix(in srgb,var(--color-primary) 8%,transparent)}.sidebar__collapse-icon{transition:transform .25s ease}.sidebar__collapse-icon--flipped{transform:rotate(180deg)}.sidebar .app-signout-btn{background:transparent;border:1px solid var(--color-surface-high);color:var(--color-on-surface-variant);border-radius:var(--radius-button);padding:var(--space-1) var(--space-2);cursor:pointer;font-family:var(--font-body);font-size:var(--text-label-sm);transition:border-color .15s ease,color .15s ease;width:-moz-fit-content;width:fit-content;align-self:center}.sidebar .app-signout-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}@keyframes sidebar-pulse-glow{0%,to{box-shadow:0 0 4px var(--color-primary-container);opacity:1}50%{box-shadow:0 0 10px var(--color-primary-container),0 0 18px var(--color-primary-container);opacity:.8}}
