.specular-button{--sb-radius: 18px;--sb-tint: #ffffff;--sb-tint-opacity: 0;--sb-text-color: #f5f5f5;position:relative;display:inline-flex;align-items:center;justify-content:center;border:none;margin:0;font-family:inherit;font-weight:500;letter-spacing:.01em;line-height:1;color:var(--sb-text-color);background:color-mix(in srgb,var(--sb-tint) calc(var(--sb-tint-opacity) * 100%),transparent);border-radius:var(--sb-radius);box-shadow:inset 0 1px #ffffff0a,0 8px 24px #00000040;cursor:pointer;outline:none;transition:transform .15s ease}.specular-button:active{transform:scale(.97)}.specular-button:focus-visible{outline:2px solid color-mix(in srgb,var(--sb-text-color) 60%,transparent);outline-offset:3px}.specular-button:disabled{opacity:.55;cursor:default}.specular-button:disabled:active{transform:none}.specular-button:disabled .specular-button__fx{opacity:0}.specular-button:not(:disabled):hover{box-shadow:inset 0 1px #ffffff14,0 8px 28px #00000061}.specular-button:not(:disabled):hover .specular-button__label{opacity:.92}.specular-button--sm{font-size:.85rem;padding:10px 22px}.specular-button--md{font-size:1rem;padding:14px 30px}.specular-button--lg{font-size:1.15rem;padding:18px 40px}.specular-button__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.specular-button__icon:first-child{margin-right:8px}.specular-button__icon:last-child{margin-left:8px}.specular-button__label{display:inline-flex;align-items:center;justify-content:center;gap:0}.specular-button__fx{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;pointer-events:none;z-index:1}.specular-button__fx canvas{display:block;width:100%;height:100%;background:transparent;transform:translateZ(0)}.specular-button__label{position:relative;z-index:2}.specular-button--full{width:100%}.specular-button--full .specular-button__label{flex:1;text-align:center}.aurora-container{width:100%;height:100%}:root{--hue: 27;--sat: 69%;--white: hsl(0, 0%, 100%);--purple-primary: rgba(132, 0, 255, 1);--purple-glow: rgba(132, 0, 255, .2);--purple-border: rgba(132, 0, 255, .8);--border-color: #2F293A;--background-dark: #120F17;color-scheme:light dark}.card-grid{display:grid;gap:.5em;padding:.75em;max-width:54em;font-size:clamp(1rem,.9rem + .5vw,1.5rem)}.magic-bento-card{display:flex;flex-direction:column;justify-content:space-between;position:relative;aspect-ratio:4/3;min-height:200px;width:100%;max-width:100%;padding:1.25em;border-radius:20px;border:1px solid var(--border-color);background:var(--background-dark);font-weight:300;overflow:hidden;transition:all .3s ease;--glow-x: 50%;--glow-y: 50%;--glow-intensity: 0;--glow-radius: 200px}.magic-bento-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026}.magic-bento-card__header,.magic-bento-card__content{display:flex;position:relative;color:var(--white)}.magic-bento-card__header{gap:.75em;justify-content:space-between}.magic-bento-card__content{flex-direction:column}.magic-bento-card__label{font-size:16px}.magic-bento-card__title,.magic-bento-card__description{--clamp-title: 1;--clamp-desc: 2}.magic-bento-card__title{font-weight:400;font-size:16px;margin:0 0 .25em}.magic-bento-card__description{font-size:12px;line-height:1.2;opacity:.9}.magic-bento-card--text-autohide .magic-bento-card__title,.magic-bento-card--text-autohide .magic-bento-card__description{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.magic-bento-card--text-autohide .magic-bento-card__title{-webkit-line-clamp:var(--clamp-title);line-clamp:var(--clamp-title)}.magic-bento-card--text-autohide .magic-bento-card__description{-webkit-line-clamp:var(--clamp-desc);line-clamp:var(--clamp-desc)}@media(max-width:599px){.card-grid{grid-template-columns:1fr;width:90%;margin:0 auto;padding:.5em}.magic-bento-card{width:100%;min-height:180px}}@media(min-width:600px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.card-grid{grid-template-columns:repeat(4,1fr)}.magic-bento-card:nth-child(3){grid-column:span 2;grid-row:span 2}.magic-bento-card:nth-child(4){grid-column:1 / span 2;grid-row:2 / span 2}.magic-bento-card:nth-child(6){grid-column:4;grid-row:3}}.magic-bento-card--border-glow:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;padding:6px;background:radial-gradient(var(--glow-radius) circle at var(--glow-x) var(--glow-y),rgba(132,0,255,calc(var(--glow-intensity) * .8)) 0%,rgba(132,0,255,calc(var(--glow-intensity) * .4)) 30%,transparent 60%);border-radius:inherit;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;opacity:1;transition:opacity .3s ease;z-index:1}.magic-bento-card--border-glow:hover:after{opacity:1}.magic-bento-card--border-glow:hover{box-shadow:0 4px 20px #2e184e66,0 0 30px var(--purple-glow)}.particle-container{position:relative;overflow:hidden;border-radius:inherit}.particle:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:#8400ff33;border-radius:50%;z-index:-1}.particle-container:hover{box-shadow:0 4px 20px #2e184e33,0 0 30px var(--purple-glow)}.global-spotlight{mix-blend-mode:screen;will-change:transform,opacity;z-index:200!important;pointer-events:none}.bento-section{position:relative;-webkit-user-select:none;user-select:none}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:#000}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;overflow-x:hidden}html{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}body::-webkit-scrollbar{width:6px}body::-webkit-scrollbar-track{background:transparent}body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px;transition:background .2s ease}body::-webkit-scrollbar-thumb:hover{background:#ffffff40}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px;transition:background .2s ease}*::-webkit-scrollbar-thumb:hover{background:#ffffff40}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button{cursor:pointer;border:none;background:none;font-family:inherit}input,textarea,select{font-family:inherit}@media(max-width:768px){input,textarea,select{font-size:16px!important}}@media(min-width:900px){:root{zoom:.8}}*{-webkit-tap-highlight-color:transparent}button,a,input,textarea,select{touch-action:manipulation;-webkit-touch-callout:none}html,body,#root{min-height:100%;min-height:100dvh}ul,ol{list-style:none}::selection{background:#7c3aed40;color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes ktm-spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 20px #7c3aed33}50%{box-shadow:0 0 40px #7c3aed66}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.fade-in{animation:fadeIn .5s ease forwards}.scale-in{animation:scaleIn .4s ease forwards}.shimmer{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.04) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 2s infinite}.skeleton-pulse{background:linear-gradient(90deg,#ffffff08,#ffffff0f,#ffffff08);background-size:200% 100%;animation:shimmer 1.5s infinite}@media(hover:none),(pointer:coarse){body,body *{user-select:none;-webkit-user-select:none}input,textarea,select,[contenteditable=true],.selectable-text,.selectable-text *{user-select:text;-webkit-user-select:text}}
