:root{--pwr-black:#0F0F0F;--pwr-bg:#171717;--pwr-white:#FFFFFF;--pwr-gray:#252525;--pwr-muted:#888888;--pwr-border:#333333;--pwr-green:#50b432;--pwr-yellow:#FFD700;--pwr-surface:#1F1F1F;--dna-violet:#9D00FF;--font-mono:"JetBrains Mono","SF Mono",Consolas,monospace;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:20px;--text-xl:24px;--text-2xl:32px;--text-3xl:48px;--text-4xl:64px;--weight-normal:400;--weight-medium:500;--weight-bold:700;--tracking-tight:-0.02em;--tracking-normal:0;--tracking-wide:0.05em;--tracking-wider:0.1em;--leading-none:1;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.75;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--space-32:128px;--container-max:1440px;--container-padding:var(--space-4);--duration-fast:100ms;--duration-base:200ms;--duration-slow:300ms;--duration-slower:400ms;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--transition-base:all var(--duration-base) var(--ease-in-out);--transition-fast:all var(--duration-fast) var(--ease-out);--border-thin:1px;--border-base:2px;--border-thick:4px;--radius-none:0;--radius-sm:2px;--radius-base:4px;--shadow-focus:0 0 0 2px var(--pwr-white);--z-base:1;--z-dropdown:10;--z-sticky:20;--z-modal:30;--z-toast:40}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;min-height:100vh;font-family:var(--font-mono);background-color:var(--pwr-bg);color:var(--pwr-white);line-height:var(--leading-normal)}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer}ol,ul{list-style:none}:focus{outline:none}:focus-visible{outline:2px solid var(--pwr-white);outline-offset:2px}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.typewriter-cursor{display:inline-block;width:2px;height:1em;background-color:var(--pwr-white);margin-left:2px;animation:cursor-blink 1s step-end infinite}@media (prefers-reduced-motion:reduce){.typewriter-cursor{animation:none}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fade-in var(--duration-slow) var(--ease-out)}@media (prefers-reduced-motion:reduce){.fade-in{animation:none}}@keyframes spin{to{transform:rotate(1turn)}}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--pwr-border);border-top-color:var(--pwr-white);border-radius:50%;animation:spin .8s linear infinite}@media (prefers-reduced-motion:reduce){.spinner{animation:spin 2s linear infinite}}@keyframes progress{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-bar{position:relative;overflow:hidden;background-color:var(--pwr-gray);height:4px}.progress-bar:after{content:"";position:absolute;top:0;left:0;width:40%;height:100%;background-color:var(--pwr-green);animation:progress 1.5s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.progress-bar:after{animation:none;width:100%}}@keyframes slide-in-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}.slide-in-right{animation:slide-in-right var(--duration-slow) var(--ease-out)}@media (prefers-reduced-motion:reduce){.slide-in-right{animation:none}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 2s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.pulse{animation:none}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn .8s ease-out}@media (prefers-reduced-motion:reduce){.animate-fadeIn{animation:none}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-slideUp{animation:slideUp .8s ease-out;animation-fill-mode:both}@media (prefers-reduced-motion:reduce){.animate-slideUp{animation:none}}@keyframes pulseSubtle{0%,to{opacity:1}50%{opacity:.95}}.animate-pulse-subtle{animation:pulseSubtle 3s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.animate-pulse-subtle{animation:none}}