.glass-surface{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity .26s ease-out}.glass-surface__filter{width:100%;height:100%;pointer-events:none;position:absolute;inset:0;opacity:0;z-index:-1}.glass-surface__content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:inherit;position:relative;z-index:1}.glass-surface--svg{background:light-dark(hsl(0 0% 100%/var(--glass-frost,0)),hsl(0 0% 0%/var(--glass-frost,0)));backdrop-filter:var(--filter-id,url(#glass-filter)) saturate(var(--glass-saturation,1));box-shadow:inset 0 0 2px 1px light-dark(color-mix(in oklch,#000,transparent 85%),color-mix(in oklch,#fff,transparent 65%)),inset 0 0 10px 4px light-dark(color-mix(in oklch,#000,transparent 90%),color-mix(in oklch,#fff,transparent 85%)),0 4px 16px rgba(17,17,26,.05),0 8px 24px rgba(17,17,26,.05),0 16px 56px rgba(17,17,26,.05),inset 0 4px 16px rgba(17,17,26,.05),inset 0 8px 24px rgba(17,17,26,.05),inset 0 16px 56px rgba(17,17,26,.05)}.glass-surface--fallback{background:hsla(0,0%,100%,.25);backdrop-filter:blur(12px) saturate(1.8) brightness(1.1);-webkit-backdrop-filter:blur(12px) saturate(1.8) brightness(1.1);border:1px solid hsla(0,0%,100%,.3);box-shadow:0 8px 32px 0 rgba(31,38,135,.2),0 2px 16px 0 rgba(31,38,135,.1),inset 0 1px 0 0 hsla(0,0%,100%,.4),inset 0 -1px 0 0 hsla(0,0%,100%,.2)}@media (prefers-color-scheme:dark){.glass-surface--fallback{background:hsla(0,0%,100%,.1);backdrop-filter:blur(12px) saturate(1.8) brightness(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.8) brightness(1.2);border:1px solid hsla(0,0%,100%,.2);box-shadow:inset 0 1px 0 0 hsla(0,0%,100%,.2),inset 0 -1px 0 0 hsla(0,0%,100%,.1)}}@supports not (backdrop-filter:blur(10px)){.glass-surface--fallback{background:hsla(0,0%,100%,.4);box-shadow:inset 0 1px 0 0 hsla(0,0%,100%,.5),inset 0 -1px 0 0 hsla(0,0%,100%,.3)}.glass-surface--fallback:before{content:"";position:absolute;inset:0;background:hsla(0,0%,100%,.15);border-radius:inherit;z-index:-1}}@supports not (backdrop-filter:blur(10px)){@media (prefers-color-scheme:dark){.glass-surface--fallback{background:rgba(0,0,0,.4)}.glass-surface--fallback:before{background:hsla(0,0%,100%,.05)}}}.glass-surface:focus-visible{outline:2px solid light-dark(#007aff,#0a84ff);outline-offset:2px}.bento-section{display:grid;grid-template-columns:repeat(1,1fr);gap:1.5rem;padding:1rem;width:100%;max-width:80rem;margin:0 auto}@media (min-width:768px){.bento-section{grid-template-columns:repeat(3,1fr);grid-auto-rows:18rem}}.magic-bento-card{position:relative;overflow:hidden;border-radius:1rem;background-color:hsla(0,0%,8%,.8);border:1px solid hsla(0,0%,100%,.1);padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;min-height:8rem}.magic-bento-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px -10px rgba(0,0,0,.5)}.magic-bento-card--border-glow:before{content:"";position:absolute;inset:0;border-radius:1rem;padding:2px;background:radial-gradient(circle at var(--glow-x,50%) var(--glow-y,50%),rgba(var(--glow-color),var(--glow-intensity,0)) 0,transparent var(--glow-radius,0));mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:xor;pointer-events:none;z-index:2}.magic-bento-card__header{display:flex;justify-content:space-between;align-items:flex-start;z-index:10;margin-bottom:1rem}.magic-bento-card__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:hsla(0,0%,100%,.5);background:hsla(0,0%,100%,.1);padding:.25rem .5rem;border-radius:9999px}.magic-bento-card__content{z-index:10;position:relative}.magic-bento-card__title{font-size:1.25rem;font-weight:600;color:#fff;margin-bottom:.5rem}.magic-bento-card__description{font-size:.875rem;color:hsla(0,0%,100%,.7);line-height:1.5}.particle{position:absolute;border-radius:50%;pointer-events:none;z-index:5}.global-spotlight{pointer-events:none;z-index:1}.col-span-2{grid-column:span 2}@media (max-width:768px){.col-span-2{grid-column:span 1}}