:root{--hue:27;--sat:69%;--white:hsl(0,0%,100%);--purple-primary:rgba(132,0,255,1);--purple-glow:rgba(132,0,255,0.2);--purple-border:rgba(132,0,255,0.8);--border-color:#e5e7eb;--background-dark:#ffffff;color-scheme:light dark}.bento-section{--bento-bg:var(--bento-bg-override,var(--bg-elev));--bento-text:var(--txt);--bento-text-muted:var(--txt-muted);--bento-border-color:var(--line)}:root[data-theme=dark] .bento-section{--bento-bg:#000000;--bento-text:#ffffff;--bento-text-muted:rgba(255,255,255,0.75);--bento-border-color:#2a2a2a}@media (prefers-color-scheme:dark){:root:not([data-theme]) .bento-section{--bento-bg:#000000;--bento-text:#ffffff;--bento-text-muted:rgba(255,255,255,0.75);--bento-border-color:#2a2a2a}}.card-grid{display:grid;gap:1.5em;padding:1em;max-width:1200px;margin:0 auto;font-size:clamp(1rem,.9rem + .5vw,1.5rem)}.card{display:flex;flex-direction:column;justify-content:space-between;position:relative;aspect-ratio:1.2;min-height:200px;width:100%;max-width:100%;padding:1.25em;border-radius:20px;border:1px solid var(--bento-border-color);background:var(--bento-bg);font-weight:300;overflow:hidden;transition:all .3s ease;--glow-x:50%;--glow-y:50%;--glow-intensity:0;--glow-radius:200px}.card:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.15)}.card__content,.card__header{display:flex;position:relative;color:var(--bento-text)}.card__header{gap:.75em;justify-content:space-between}.card__content{flex-direction:column}.card__label{font-size:16px}.card__description,.card__title{--clamp-title:1;--clamp-desc:2}.card__title{font-weight:600;font-size:18px;margin:0 0 .25em}.card__description{font-size:14px;line-height:1.5;color:var(--bento-text-muted)}.card--text-autohide .card__description,.card--text-autohide .card__title{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.card--text-autohide .card__title{-webkit-line-clamp:var(--clamp-title);line-clamp:var(--clamp-title)}.card--text-autohide .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}.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(3,1fr);grid-template-rows:repeat(2,1fr)}}.card--border-glow:after{content:"";position:absolute;inset: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;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:source-out;mask-composite:subtract;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;pointer-events:none;transition:opacity .3s ease;z-index:1}.card--border-glow:hover:after{opacity:1}.card--border-glow:hover{box-shadow:0 4px 20px rgba(46,24,78,.4),0 0 30px var(--purple-glow)}.particle-container{position:relative;overflow:hidden}.particle:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:rgba(132,0,255,.2);border-radius:50%;z-index:-1}.particle-container:hover{box-shadow:0 4px 20px rgba(46,24,78,.2),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;-moz-user-select:none;user-select:none}.scroll-stack-scroller{position:relative;width:100%;height:80vh;overflow-y:auto;overflow-x:visible;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;transform:translateZ(0);will-change:scroll-position}.scroll-stack-inner{padding:10vh 1rem 40vh;min-height:200vh}.scroll-stack-card-wrapper{position:relative}.scroll-stack-card{transform-origin:top center;will-change:transform,filter;backface-visibility:hidden;transform-style:preserve-3d;box-shadow:0 0 30px rgba(0,0,0,.1);height:auto;width:100%;margin:30px 0;padding:1.5rem;border-radius:40px;box-sizing:border-box;transform:translateZ(0);position:relative}.scroll-stack-end{width:100%;height:1px}.chroma-grid{position:relative;width:100%;height:100%;display:grid;grid-template-columns:repeat(var(--cols,3),320px);grid-auto-rows:auto;justify-content:center;gap:.75rem;max-width:1200px;margin:0 auto;padding:1rem;box-sizing:border-box;--x:50%;--y:50%;--r:220px}@media (max-width:1124px){.chroma-grid{grid-template-columns:repeat(auto-fit,minmax(320px,320px));gap:.5rem;padding:.5rem}}@media (max-width:480px){.chroma-grid{grid-template-columns:320px;gap:.75rem;padding:1rem}}.chroma-card{position:relative;display:flex;flex-direction:column;width:320px;height:auto;border-radius:20px;overflow:hidden;border:1px solid #333;transition:border-color .3s ease;background:var(--card-gradient);--mouse-x:50%;--mouse-y:50%;--spotlight-color:rgba(255,255,255,0.3)}.chroma-card:hover{border-color:var(--card-border)}.chroma-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mouse-x) var(--mouse-y),var(--spotlight-color),transparent 70%);pointer-events:none;opacity:0;transition:opacity .5s ease;z-index:2}.chroma-card:hover:before{opacity:1}.chroma-img-wrapper{position:relative;z-index:1;flex:1;padding:10px;box-sizing:border-box;background:transparent;transition:background .3s ease}.chroma-img-wrapper img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:10px;display:block}.chroma-info{position:relative;z-index:1;padding:.75rem 1rem;color:#fff;font-family:system-ui,sans-serif;display:grid;grid-template-columns:1fr auto;row-gap:.25rem;-moz-column-gap:.75rem;column-gap:.75rem}.chroma-info .handle,.chroma-info .role{color:#aaa}.chroma-overlay{z-index:3;mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),transparent 0,transparent 15%,rgba(0,0,0,.06) 30%,rgba(0,0,0,.12) 45%,rgba(0,0,0,.2) 60%,rgba(0,0,0,.34) 75%,rgba(0,0,0,.48) 88%,white 100%);-webkit-mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),transparent 0,transparent 15%,rgba(0,0,0,.06) 30%,rgba(0,0,0,.12) 45%,rgba(0,0,0,.2) 60%,rgba(0,0,0,.34) 75%,rgba(0,0,0,.48) 88%,white 100%)}.chroma-fade,.chroma-overlay{position:absolute;inset:0;pointer-events:none;backdrop-filter:grayscale(.6) brightness(.88);-webkit-backdrop-filter:grayscale(.6) brightness(.88);background:rgba(0,0,0,.001)}.chroma-fade{z-index:4;mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),white 0,white 15%,rgba(255,255,255,.8) 30%,rgba(255,255,255,.65) 45%,rgba(255,255,255,.5) 60%,rgba(255,255,255,.36) 75%,rgba(255,255,255,.24) 88%,transparent 100%);-webkit-mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),white 0,white 15%,rgba(255,255,255,.8) 30%,rgba(255,255,255,.65) 45%,rgba(255,255,255,.5) 60%,rgba(255,255,255,.36) 75%,rgba(255,255,255,.24) 88%,transparent 100%);opacity:1;transition:opacity .25s ease}#infinite-grid-menu-canvas{cursor:grab;width:100%;height:100%;overflow:hidden;position:relative;outline:none}#infinite-grid-menu-canvas:active{cursor:grabbing}.action-button{z-index:10;width:60px;height:60px;display:grid;place-items:center;background:#5227ff;border-radius:50%;cursor:pointer;border:5px solid #000}.face-title{font-weight:900;font-size:4rem;left:1.6em}.action-button-icon,.face-title{-webkit-user-select:none;-moz-user-select:none;user-select:none}.action-button-icon{position:relative;color:#fff;top:2px;font-size:26px}.face-title{position:absolute;top:50%;transform:translate(20%,-50%)}.face-title.active{opacity:1;transform:translate(20%,-50%);pointer-events:auto;transition:.5s ease}.face-title.inactive{pointer-events:none;opacity:0;transition:.1s ease}.face-description{-webkit-user-select:none;-moz-user-select:none;user-select:none;position:absolute;max-width:10ch;top:50%;font-size:1.5rem;right:1%;transform:translateY(-50%)}.face-description.active{opacity:1;transform:translate(-90%,-50%);pointer-events:auto;transition:.5s ease}.face-description.inactive{pointer-events:none;transform:translate(-60%,-50%);opacity:0;transition:.1s ease}.action-button{position:absolute;left:50%}.action-button.active{bottom:3.8em;transform:translateX(-50%) scale(1);opacity:1;pointer-events:auto;transition:.5s ease}.action-button.inactive{bottom:-80px;transform:translateX(-50%) scale(0);opacity:0;pointer-events:none;transition:.1s ease}@media (max-width:1500px){.face-description,.face-title{display:none}}.animated-gradient-text{position:relative;margin:0 auto;display:flex;max-width:-moz-fit-content;max-width:fit-content;flex-direction:row;align-items:center;justify-content:center;border-radius:1.25rem;font-weight:500;backdrop-filter:blur(10px);transition:box-shadow .5s ease-out;overflow:hidden;cursor:pointer}.gradient-overlay{right:0;bottom:0;background-size:300% 100%;animation:gradient linear infinite;z-index:0;pointer-events:none}.gradient-overlay,.gradient-overlay:before{position:absolute;top:0;left:0;border-radius:inherit}.gradient-overlay:before{content:"";width:calc(100% - 2px);height:calc(100% - 2px);left:50%;top:50%;transform:translate(-50%,-50%);background-color:#060010;z-index:-1}@keyframes gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.text-content{display:inline-block;position:relative;z-index:2;background-size:300% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:gradient linear infinite}@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/ef8217b34764eb74-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/ef8217b34764eb74-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/3e5302f118d6bde7-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/bb36247b0b027bd1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/ef8217b34764eb74-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fredoka Fallback;src:local("Arial");ascent-override:95.64%;descent-override:23.17%;line-gap-override:0.00%;size-adjust:101.84%}.__className_0d2b18{font-family:Fredoka,Fredoka Fallback;font-style:normal}.__variable_0d2b18{--font-fredoka:"Fredoka","Fredoka Fallback"}.theme-toggle-icon{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:999px;background:var(--bg-elev);border:1px solid var(--line);box-shadow:var(--shadow);cursor:pointer;--hover-rotate-angle:35deg}.theme-toggle-icon .icon{width:22px;height:22px;transition:transform var(--t-med) var(--ease);filter:drop-shadow(0 0 0 transparent)}.theme-toggle-icon .sun-rays line{stroke:var(--txt);stroke-width:2;stroke-linecap:round}.theme-toggle-icon .sun{opacity:1}.theme-toggle-icon .moon,.theme-toggle-icon .sun{transform-origin:center;transition:opacity var(--t-med) var(--ease),transform var(--t-med) var(--ease),filter .24s ease}.theme-toggle-icon .moon{opacity:0}:root[data-theme=light] .theme-toggle-icon .icon{transform:rotate(0deg)}:root[data-theme=light] .theme-toggle-icon .sun{opacity:1;transform:scale(1);filter:drop-shadow(0 0 6px rgba(255,199,0,.45))}:root[data-theme=light] .theme-toggle-icon .sun-rays line{opacity:1;transform:scale(1);transform-origin:center;transition:transform var(--t-med) var(--ease),opacity var(--t-med) var(--ease)}:root[data-theme=light] .theme-toggle-icon .moon{opacity:0;transform:scale(.8);filter:drop-shadow(0 0 0 rgba(0,0,0,0))}:root[data-theme=dark] .theme-toggle-icon .icon{transform:rotate(35deg)}:root[data-theme=dark] .theme-toggle-icon .sun{opacity:.25;transform:scale(.85);filter:drop-shadow(0 0 0 rgba(0,0,0,0))}:root[data-theme=dark] .theme-toggle-icon .sun-rays line{opacity:0;transform:scale(.6)}.theme-toggle-icon .moon-bite{fill:var(--bg)}:root[data-theme=dark] .theme-toggle-icon .moon{opacity:1;transform:scale(1.05);filter:drop-shadow(0 0 6px rgba(120,140,255,.5))}:root[data-theme=light] .theme-toggle-icon:hover .icon{transform:rotate(var(--hover-rotate-angle))}:root[data-theme=light] .theme-toggle-icon:hover .sun{opacity:.25;transform:scale(.85);filter:drop-shadow(0 0 0 rgba(0,0,0,0))}:root[data-theme=light] .theme-toggle-icon:hover .sun-rays line{opacity:0;transform:scale(.6)}:root[data-theme=light] .theme-toggle-icon:hover .moon{opacity:1;transform:scale(1.05);filter:drop-shadow(0 0 6px rgba(120,140,255,.5))}:root[data-theme=dark] .theme-toggle-icon:hover .icon{transform:rotate(0deg)}:root[data-theme=dark] .theme-toggle-icon:hover .sun{opacity:1;transform:scale(1);filter:drop-shadow(0 0 6px rgba(255,199,0,.45))}:root[data-theme=dark] .theme-toggle-icon:hover .sun-rays line{opacity:1;transform:scale(1)}:root[data-theme=dark] .theme-toggle-icon:hover .moon{opacity:0;transform:scale(.8);filter:drop-shadow(0 0 0 rgba(0,0,0,0))}.text-type{display:inline-block;white-space:pre-wrap}.text-type__cursor{margin-left:.25rem;display:inline-block;opacity:1}.text-type__cursor--hidden{display:none}