:root{--portal-accent: #F43F5E;--portal-accent-hover: #E11D48;--portal-accent-subtle: rgba(244, 63, 94, .12);--portal-accent-muted: rgba(244, 63, 94, .25);--portal-accent-text: #FFF1F2;--portal-bg: #0D0D0D;--portal-surface-1: #1A1A1A;--portal-surface-2: #242424;--portal-surface-3: #2E2E2E;--portal-surface-elevated: #303030;--portal-text-primary: #F5F5F5;--portal-text-secondary: #A3A3A3;--portal-text-tertiary: #737373;--portal-text-muted: #525252;--portal-text-inverse: #0D0D0D;--portal-border: rgba(255, 255, 255, .08);--portal-border-hover: rgba(255, 255, 255, .14);--portal-border-focus: var(--portal-accent);--portal-border-subtle: rgba(255, 255, 255, .04);--portal-glass-bg: rgba(26, 26, 26, .8);--portal-glass-border: rgba(255, 255, 255, .06);--portal-glass-blur: 16px;--portal-success: #22C55E;--portal-success-subtle: rgba(34, 197, 94, .12);--portal-warning: #F59E0B;--portal-warning-subtle: rgba(245, 158, 11, .12);--portal-danger: #EF4444;--portal-danger-subtle: rgba(239, 68, 68, .12);--portal-info: #3B82F6;--portal-info-subtle: rgba(59, 130, 246, .12);--portal-radius-sm: 6px;--portal-radius-md: 10px;--portal-radius-lg: 14px;--portal-radius-xl: 20px;--portal-shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--portal-shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--portal-shadow-lg: 0 8px 32px rgba(0, 0, 0, .6);--portal-shadow-glow: 0 0 20px rgba(244, 63, 94, .15);--portal-font-body: "Inter", system-ui, -apple-system, sans-serif;--portal-font-heading: "Playfair Display", Georgia, serif;--portal-font-mono: "JetBrains Mono", "Fira Code", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--portal-font-body);background:var(--portal-bg);color:var(--portal-text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit;font-size:inherit;color:inherit}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit;background:transparent;border:none;outline:none}img,svg{display:block;max-width:100%}ul,ol{list-style:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--portal-surface-3);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--portal-text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--portal-surface-3) transparent}@keyframes portalFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes portalSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes portalSlideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes portalScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes portalSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes portalPulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes portalShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes portalGlow{0%,to{box-shadow:0 0 12px #f43f5e26}50%{box-shadow:0 0 24px #f43f5e4d}}@keyframes portalToastIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes portalToastOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.portal-animate-in{animation:portalFadeIn .3s ease-out both}.portal-glass{background:var(--portal-glass-bg);backdrop-filter:blur(var(--portal-glass-blur));-webkit-backdrop-filter:blur(var(--portal-glass-blur));border:1px solid var(--portal-glass-border)}::selection{background:var(--portal-accent-muted);color:var(--portal-text-primary)}
