:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;width:100%;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.skip-to-main{position:absolute;top:-40px;left:0;background:#1976d2;color:#fff;padding:8px 16px;text-decoration:none;z-index:10000;border-radius:0 0 4px;font-weight:500}.skip-to-main:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}*:focus-visible{outline:2px solid #1976d2;outline-offset:2px}.transition-all{transition:all .2s ease-in-out}.transition-colors{transition:color .2s ease-in-out,background-color .2s ease-in-out,border-color .2s ease-in-out}.transition-transform{transition:transform .2s ease-in-out}.transition-opacity{transition:opacity .2s ease-in-out}.hover-scale:hover{transform:scale(1.02)}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.hover-brightness:hover{filter:brightness(1.1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .3s ease-in}@keyframes slideInFromLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInFromTop{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.slide-in-left{animation:slideInFromLeft .3s ease-out}.slide-in-right{animation:slideInFromRight .3s ease-out}.slide-in-top{animation:slideInFromTop .3s ease-out}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.bounce{animation:bounce 1s ease-in-out infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer{background:linear-gradient(to right,#f0f0f0,#e0e0e0 20%,#f0f0f0 40% 100%);background-size:1000px 100%;animation:shimmer 2s linear infinite}.spacing-1{margin:8px}.spacing-2{margin:16px}.spacing-3{margin:24px}.spacing-4{margin:32px}.spacing-y-1{margin-top:8px;margin-bottom:8px}.spacing-y-2{margin-top:16px;margin-bottom:16px}.spacing-y-3{margin-top:24px;margin-bottom:24px}.spacing-x-1{margin-left:8px;margin-right:8px}.spacing-x-2{margin-left:16px;margin-right:16px}.spacing-x-3{margin-left:24px;margin-right:24px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
