:root{--color-bg:#05050f;--color-surface:#0c0c1a;--color-surface-elevated:#13132a;--color-border:#1e1e33;--color-text:#fff;--color-text-muted:#999dab;--color-accent:#615ff4;--color-accent-contrast:#fff;--color-premium-end:#e52e71;--gradient-premium:linear-gradient(90deg,var(--color-accent) 0%,var(--color-premium-end) 100%);--color-danger:#ff6b6b;--color-danger-surface:hsla(0,100%,71%,.12);--color-success:#4ade80;--color-success-surface:rgba(74,222,128,.12);--font-family-base:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji";--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.5rem;--font-size-2xl:clamp(1.75rem,2.5vw,2.5rem);--font-size-display:clamp(2.25rem,4vw,4rem);--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;--line-height-tight:1.1;--line-height-normal:1.45;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1.25rem;--radius-pill:9999px;--app-shell-sidebar-w:clamp(15rem,18vw,22rem);--app-shell-content-max-w:min(96rem,100%);--app-shell-gutter:clamp(1rem,2vw,2.5rem);--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 8px 24px rgba(0,0,0,.35);--z-base:0;--z-sidebar:10;--z-overlay:100;--z-toast:1000}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100dvh;background-color:var(--color-bg);color:var(--color-text)}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,ol,p,ul{margin:0}ol,ul{padding:0}canvas,img,picture,svg,video{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}body{font-family:var(--font-family-base);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal)}h1{font-size:var(--font-size-display)}h1,h2{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h3,h4,h5,h6{font-weight:var(--font-weight-medium);line-height:var(--line-height-tight)}h4,h5,h6{font-size:var(--font-size-lg)}small{font-size:var(--font-size-sm)}.page{min-height:100dvh;display:flex;flex-direction:column}.page__main{flex:1 1 auto;min-width:0}.container{width:100%;max-width:var(--app-shell-content-max-w);margin-inline:auto;padding-inline:var(--app-shell-gutter)}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:var(--space-xl) var(--app-shell-gutter);background-color:var(--color-bg)}.auth-shell__card{width:100%;max-width:28rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2xl);color:var(--color-text)}.app-shell{display:grid;grid-template-columns:var(--app-shell-sidebar-w) minmax(0,1fr);min-height:100dvh;background-color:var(--color-bg);color:var(--color-text)}.app-shell__sidebar{position:sticky;top:0;align-self:start;height:100dvh;background-color:var(--color-surface);border-right:1px solid var(--color-border);padding:var(--space-xl) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg);z-index:var(--z-sidebar)}.app-shell__main{min-width:0;padding:var(--space-xl) var(--app-shell-gutter)}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-lg);border:1px solid transparent;border-radius:var(--radius-pill);font-weight:var(--font-weight-medium);cursor:pointer;transition:filter .12s ease,background-color .12s ease,color .12s ease}.btn--primary{background-color:var(--color-accent);color:var(--color-accent-contrast)}.btn--primary:hover{filter:brightness(1.08)}.btn--outline{background-color:transparent;border-color:var(--color-accent);color:var(--color-accent)}.btn--outline:hover{background-color:var(--color-surface-elevated)}
