:root{--portal-ease:cubic-bezier(.22, 1, .36, 1);--portal-glass:#ffffffbd;--portal-glass-edge:#fffffff0;--portal-shadow:0 12px 36px #4a477211, inset 0 1px 0 #fffffff2;--portal-canvas:radial-gradient(ellipse at 2% 0%, #f4eefa 0%, transparent 43%), radial-gradient(ellipse at 98% 8%, #d9f3fa 0%, transparent 48%), linear-gradient(145deg,#f6f4fc,#edf2fa 56%,#f7f8fc)}body{background-image:var(--portal-canvas);background-attachment:fixed;min-height:100vh}.portal-surface{background:var(--portal-glass);border:1px solid var(--portal-glass-edge);box-shadow:var(--portal-shadow);border-radius:24px}.portal-header,.console-header{-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%)}.portal-hero{isolation:isolate;box-shadow:var(--portal-shadow);border:1px solid #ffffffd9;position:relative;overflow:hidden}.portal-hero:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(150deg,#ffffffb3,#ffffff14);border:1px solid #ffffffa6;border-radius:50%;position:absolute;inset:-70% -15% 22% 52%;transform:rotate(-24deg);box-shadow:0 20px 40px #5d749d09}.portal-hero:after{content:"";pointer-events:none;z-index:-1;aspect-ratio:1;background:#ffffff3b;border:1px solid #ffffff80;border-radius:50%;width:55%;position:absolute;bottom:-95%;right:-8%}.portal-page{z-index:1;min-width:0;position:relative}@keyframes portal-panel-in{0%{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes portal-image-in{0%{opacity:.45;transform:scale(.995)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){:where(button,a,summary,input,select,textarea){transition:background-color .16s ease, border-color .16s ease, color .16s ease, box-shadow .2s var(--portal-ease), transform .14s var(--portal-ease)}:where(button,[role=button]):not(:disabled):active{transform:scale(.98)}:where(input,select,textarea):focus{transition:border-color .16s,box-shadow .18s}.portal-feedback,.portal-page [role=alert],.portal-page [role=status]{animation:portal-panel-in .2s var(--portal-ease)}details[open]>:not(summary){animation:portal-panel-in .18s var(--portal-ease)}.portal-gallery-image{animation:portal-image-in .19s var(--portal-ease)}.portal-project-card{animation:portal-panel-in .28s var(--portal-ease) both}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.portal-project-card{transition:transform .22s var(--portal-ease), box-shadow .22s var(--portal-ease)}.portal-project-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px #5242841f,inset 0 1px #fff}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-transparency:reduce){:root{--portal-glass:#fff}.portal-header,.console-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff!important}}@media (prefers-reduced-motion:no-preference){.portal-hero>div:first-child{animation:portal-feature-enter .58s var(--portal-ease) both}.portal-hero>div:last-child{animation:portal-feature-enter .58s var(--portal-ease) .1s both}.portal-hero:before{animation:portal-refraction 1.3s var(--portal-ease) both}.portal-gallery-image{animation-duration:.3s}}@keyframes portal-feature-enter{0%{opacity:.25;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes portal-refraction{0%{opacity:.2;transform:rotate(-35deg)translate(80px)}to{opacity:1;transform:rotate(-24deg)}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.MuiButton-contained:hover{transform:translateY(-2px);box-shadow:0 8px 22px #6849a833}.MuiButton-contained:active{transform:translateY(0)scale(.96)}.portal-project-card:hover{transform:translateY(-6px)}}
