@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{color-scheme:dark;font-family:Poppins,Segoe UI,sans-serif;--pointer-x: 50%;--pointer-y: 38%;--color-bg: #101112;--color-surface: rgba(22, 24, 23, .78);--color-text: #f4f0ea;--color-text-muted: rgba(244, 240, 234, .64);--color-accent: #cfe8d6;--card-text: #1f2430;--card-text-muted: rgba(31, 36, 48, .65)}*{box-sizing:border-box}html{min-height:100%;background:#0d0e0f;overflow-x:hidden}body{margin:0;min-height:100vh;background:linear-gradient(135deg,rgba(207,232,214,.06),transparent 34%),linear-gradient(225deg,rgba(245,182,121,.05),transparent 40%),linear-gradient(180deg,#101112,#111416 48%,#0c0d0e);color:var(--color-text);font-family:Poppins,Segoe UI,sans-serif;overflow-x:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}::-moz-selection{background:#8be9fd52;color:var(--card-text)}::selection{background:#8be9fd52;color:var(--card-text)}#root{min-height:100vh}.hub-page{position:relative;display:flex;flex-direction:column;min-height:100vh;isolation:isolate;overflow:hidden}.hub-header,.project-card,.hub-footer{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ambient-background{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none;background:linear-gradient(115deg,transparent 0%,rgba(207,232,214,.05) 28%,transparent 52%),linear-gradient(245deg,transparent 10%,rgba(245,182,121,.045) 44%,transparent 68%),#101112}.ambient-background:before,.ambient-background:after,.ambient-background span{content:"";position:absolute;top:-18%;right:-18%;bottom:-18%;left:-18%}.ambient-background:before{opacity:.38;background:linear-gradient(105deg,transparent 8%,rgba(255,255,255,.06) 18%,transparent 32%),linear-gradient(285deg,transparent 22%,rgba(121,204,193,.06) 36%,transparent 52%);animation:ambient-drift 18s ease-in-out infinite alternate}.ambient-background:after{top:0;right:0;bottom:0;left:0;opacity:.22;background:repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 1px,transparent 1px 64px),repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 64px);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 72%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 18%,#000 72%,transparent 100%)}.ambient-background__grid{opacity:.14;background:repeating-linear-gradient(115deg,transparent 0 22px,rgba(207,232,214,.18) 23px,transparent 24px),repeating-linear-gradient(245deg,transparent 0 30px,rgba(245,182,121,.12) 31px,transparent 32px);transform:translate3d(-1%,-1%,0);animation:grid-breathe 12s ease-in-out infinite}.ambient-background__flow{opacity:.32;background:radial-gradient(circle 34rem at var(--pointer-x) var(--pointer-y),rgba(207,232,214,.12),rgba(121,204,193,.05) 36%,transparent 70%),radial-gradient(circle 26rem at calc(var(--pointer-x) + 12%) calc(var(--pointer-y) + 10%),rgba(245,182,121,.07),transparent 68%),radial-gradient(circle 44rem at 50% 28%,rgba(255,255,255,.035),transparent 72%);filter:blur(28px);mix-blend-mode:screen;animation:flow-breathe 14s ease-in-out infinite}.hub-header{position:relative;text-align:center;padding:clamp(3.5rem,12vh,6.5rem) 1.5rem clamp(2.5rem,8vh,4rem);animation:header-rise .62s cubic-bezier(.2,.8,.2,1) both}.hub-header__eyebrow{margin:0;font-size:.85rem;font-weight:700;letter-spacing:0;text-transform:uppercase;color:var(--color-accent)}.hub-header__title{margin:.75rem 0 0;font-size:5.25rem;font-weight:800;line-height:1.05;letter-spacing:0;text-shadow:0 24px 70px rgba(207,232,214,.12)}.hub-header__tagline{margin:.85rem 0 0;font-size:1.15rem;font-weight:500;color:var(--color-text-muted)}.hub-main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:0 1.5rem clamp(3rem,8vh,5rem)}.info-panel{margin:0 0 2rem;padding:1rem 1.25rem;border-radius:8px;background:#fff1;color:var(--color-text-muted);text-align:center;line-height:1.6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:panel-in .36s ease both}.info-panel--error{background:#ff6b6b29;color:#ffb4b4}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:clamp(1.1rem,2.5vw,1.85rem);perspective:1200px}.project-card{--card-tilt: 0deg;--card-delay: 0ms;--glow-x: 50%;--glow-y: 42%;position:relative;min-width:0;aspect-ratio:1;border:1px solid rgba(255,255,255,.16);border-radius:8px;padding:1.75rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:radial-gradient(circle at 24% 18%,rgba(255,255,255,.74),transparent 27%),radial-gradient(circle at 86% 92%,rgba(0,0,0,.16),transparent 34%),linear-gradient(145deg,#ffffff57,#ffffff14 38%,#00000014),var(--card-color, var(--color-accent));color:var(--card-text);text-align:center;overflow:hidden;box-shadow:inset 0 1px #ffffff94,inset 0 -18px 38px #00000014,0 1px #ffffff0d,0 18px 46px #00000047;transform-style:preserve-3d;will-change:transform,filter;transform:translateY(18px) scale(.98);opacity:0;animation:card-enter .52s cubic-bezier(.2,.8,.2,1) var(--card-delay) both;transition:transform .42s cubic-bezier(.16,1,.3,1),box-shadow .42s ease,filter .42s ease,border-color .42s ease}.project-card:before,.project-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border-radius:inherit}.project-card:before{top:-34%;right:-34%;bottom:-34%;left:-34%;opacity:.34;background:linear-gradient(118deg,transparent 24%,rgba(255,255,255,.72) 40%,transparent 55%),radial-gradient(circle at var(--glow-x) var(--glow-y),rgba(255,255,255,.4),transparent 24%);mix-blend-mode:soft-light;transform:translate3d(-22%,10%,0) rotate(-12deg) scale(.92);transition:opacity .52s ease,transform .72s cubic-bezier(.16,1,.3,1)}.project-card:after{top:1px;right:1px;bottom:1px;left:1px;background:radial-gradient(circle at var(--glow-x) var(--glow-y),rgba(255,255,255,.5),transparent 28%),linear-gradient(180deg,rgba(255,255,255,.3) 0%,transparent 24%),linear-gradient(0deg,rgba(0,0,0,.14) 0%,transparent 38%);opacity:.42;transform:translateZ(1px);transition:opacity .38s ease,filter .42s ease}.project-card:hover,.project-card:focus-visible{border-color:#ffffff4d;transform:translateY(-16px) rotate(10deg) rotateX(6deg) rotateY(-4deg) scale(1.08);filter:saturate(1.08) contrast(1.03);box-shadow:inset 0 1px #ffffffc7,inset 0 -22px 46px #0000001c,0 2px #ffffff12,0 18px 32px #0003,0 36px 92px #00000061,0 0 42px color-mix(in srgb,var(--card-color, var(--color-accent)) 34%,transparent)}.project-card:hover:before,.project-card:focus-visible:before{opacity:.82;transform:translate3d(20%,-8%,0) rotate(8deg) scale(1.08)}.project-card:hover:after,.project-card:focus-visible:after{opacity:.66;filter:brightness(1.08)}.project-card:active{transform:translateY(-6px) rotate(6deg) rotateX(2deg) scale(1.015);box-shadow:inset 0 1px #ffffff7a,inset 0 -14px 30px #0000001f,0 12px 32px #00000047}.project-card:focus-visible{outline:3px solid rgba(255,255,255,.88);outline-offset:4px}.project-card__icon{position:relative;z-index:1;width:4.35rem;height:4.35rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:radial-gradient(circle at 34% 24%,rgba(255,255,255,.66),transparent 42%),#ffffff38;box-shadow:inset 0 1px #ffffff8a,inset 0 -10px 22px #00000014,0 12px 28px #1f24301f;font-size:3.25rem;line-height:1;transform:translateZ(22px) scale(1);transition:transform .42s cubic-bezier(.16,1,.3,1),box-shadow .42s ease,background .42s ease}.project-card:hover .project-card__icon,.project-card:focus-visible .project-card__icon{transform:translate3d(0,-.42rem,36px) scale(1.11) rotate(-3deg);background:radial-gradient(circle at 34% 24%,rgba(255,255,255,.82),transparent 44%),#ffffff47;box-shadow:inset 0 1px #ffffffa8,inset 0 -10px 22px #00000014,0 18px 34px #1f243029}.project-card__title{position:relative;z-index:1;width:100%;overflow-wrap:break-word;word-break:break-word;font-size:1.22rem;font-weight:800;line-height:1.16;letter-spacing:0;transform:translateZ(18px);text-shadow:0 1px 0 rgba(255,255,255,.24);transition:transform .36s cubic-bezier(.16,1,.3,1)}.project-card:hover .project-card__title,.project-card:focus-visible .project-card__title{transform:translate3d(0,-.2rem,28px)}.project-card__description{position:relative;z-index:1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:break-word;word-break:break-word;max-width:22ch;font-size:.85rem;font-weight:600;line-height:1.45;color:#1f243094;transform:translateZ(14px);transition:color .28s ease,transform .36s cubic-bezier(.16,1,.3,1)}.project-card:hover .project-card__description,.project-card:focus-visible .project-card__description{color:#1f2430d1;transform:translate3d(0,-.12rem,22px)}.hub-footer{padding:1.5rem 1.5rem 2.5rem;text-align:center;color:#f5f5f766;font-size:.85rem}.hub-footer p{margin:0}@media (max-width: 640px){.hub-header{padding-top:3rem}.hub-header__title{font-size:3rem}.hub-header__tagline{font-size:1rem}.project-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}.project-card{padding:1.25rem;gap:.85rem}.project-card__icon{width:3.7rem;height:3.7rem;font-size:2.5rem}.project-card__title{font-size:1.05rem}.project-card__description{display:none}}@keyframes ambient-drift{0%{transform:translate3d(-1.5%,-1%,0) rotate(0)}to{transform:translate3d(1.5%,1%,0) rotate(1.5deg)}}@keyframes grid-breathe{0%,to{opacity:.1}50%{opacity:.2}}@keyframes flow-breathe{0%,to{opacity:.24}50%{opacity:.36}}@keyframes header-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes card-enter{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:0ms!important;animation-duration:0ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
