@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_fa93af41-module__0D_jrq__className{font-family:Inter,Inter Fallback;font-style:normal}
.galaxy-background-module__wmSWMG__backdrop{z-index:0;pointer-events:none;background:#0b111a;position:fixed;inset:0;overflow:hidden}.galaxy-background-module__wmSWMG__canvas,.galaxy-background-module__wmSWMG__canvas canvas{width:100%;height:100%}.galaxy-background-module__wmSWMG__canvas{position:absolute;inset:0}.galaxy-background-module__wmSWMG__canvas canvas{display:block}@media (prefers-reduced-motion:reduce){.galaxy-background-module__wmSWMG__canvas{opacity:.72}}
*,:before,:after,::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:#3b82f680;--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:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family: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:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-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{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}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{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.shell{width:min(1180px,100vw - 48px);margin-left:auto;margin-right:auto}@media not all and (min-width:640px){.shell{width:min(100vw - 28px,720px)}}.glass-pill{--tw-shadow:0 20px 60px #1d1d1f14;--tw-shadow-colored:0 20px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);background-color:#ffffff8c;border-width:1px;border-color:#fff6}.glass-pill:is(.dark *){background-color:#ffffff1a;border-color:#ffffff1a}.card{--tw-bg-opacity:1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity,1));--tw-shadow:0 20px 60px #00000014;--tw-shadow-colored:0 20px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);border-width:1px;border-color:#0000001a;border-radius:8px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.card:is(.dark *){border-color:#ffffff1a}.page-main{z-index:0;background-color:#0000;min-height:100vh;padding-top:8rem;position:relative}@media not all and (min-width:768px){.page-main{padding-bottom:5rem}}.galaxy-section{padding-top:3rem;padding-bottom:3rem}@media not all and (min-width:768px){.galaxy-section{padding-top:2rem;padding-bottom:2rem}}.galaxy-content-grid{margin-top:3rem}@media not all and (min-width:768px){.galaxy-content-grid{margin-top:2.5rem}}.galaxy-page .section-heading{isolation:isolate;text-shadow:0 2px 18px #0000008c;position:relative}.galaxy-page .section-heading:before{z-index:-1;content:"";pointer-events:none;background:radial-gradient(at 28%,#050a12c2,#050a1261 48%,#0000 74%);position:absolute;inset:-32px -56px}.galaxy-page :is(.project-case,.article-card,.lab-card,.timeline-gallery__main,.timeline-gallery--empty){background-color:rgb(var(--color-surface) / 92%);border-color:#80a4c538;box-shadow:0 20px 60px #0000003d}.contact-pill{pointer-events:auto;--tw-text-opacity:1;min-height:2.75rem;color:rgb(var(--color-ink) / var(--tw-text-opacity,1));border-radius:9999px;align-items:center;gap:.5rem;padding-left:1.25rem;padding-right:1.25rem;font-size:.875rem;font-weight:700;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}.contact-pill:hover{--tw-translate-y:-.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.contact-pill:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dock-navigation{--dock-hover-fill:#192d40fa;--dock-hover-text:#f8fbfd;pointer-events:auto;--tw-shadow:0 18px 48px #1d1d1f1f;--tw-shadow-colored:0 18px 48px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);background-color:#ffffffa6;border-width:1px;border-color:#ffffff80;border-radius:9999px;align-items:center;gap:.25rem;padding:.375rem;display:flex}.dock-navigation:is(.dark *){background-color:#ffffff1a;border-color:#ffffff1a}.dock-navigation__item{--tw-text-opacity:1;min-height:3rem;color:rgb(var(--color-muted) / var(--tw-text-opacity,1));border-radius:9999px;align-items:center;gap:.5rem;padding-left:1rem;padding-right:1rem;font-size:.875rem;font-weight:600;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.dock-navigation__item:hover{--tw-translate-y:-.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dock-navigation__item{isolation:isolate}.dock-navigation__icon{z-index:2;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);position:relative}.dock-navigation__item:is(:hover,:focus-visible) .dock-navigation__icon{--tw-scale-x:1.08;--tw-scale-y:1.08;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dock-navigation__hover-circle{z-index:1;aspect-ratio:1;background:var(--dock-hover-fill);pointer-events:none;transform-origin:50%;border-radius:50%;width:165%;transition:transform .22s ease-in;position:absolute;top:100%;left:50%;transform:translate(-50%)scale(.18)}.dock-navigation__label-stack{z-index:2;height:1.5em;line-height:1.5;display:inline-block;position:relative;overflow:hidden}.dock-navigation__label{line-height:1.5;transition:transform .22s ease-in,opacity .18s ease-in;display:block}.dock-navigation__label--hover{color:var(--dock-hover-text);opacity:0;position:absolute;inset:0;transform:translateY(125%)}.dock-navigation__item:is(:hover,:focus-visible) .dock-navigation__hover-circle{transition-duration:.34s;transition-timing-function:cubic-bezier(.16,1,.3,1);transform:translate(-50%,-58%)scale(1.18)}.dock-navigation__item:is(:hover,:focus-visible) .dock-navigation__label--default{transform:translateY(-125%)}.dock-navigation__item:is(:hover,:focus-visible) .dock-navigation__label--hover{opacity:1;transform:translate(0,0)}.dock-navigation__item.is-active{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(var(--color-ink) / var(--tw-text-opacity,1));--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.dock-navigation__item.is-active:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));background-color:#ffffff26}:root:not(.dark) .dock-navigation{background:#f6f9fceb;border-color:#5c7a9457;box-shadow:0 18px 48px #23374833,inset 0 1px #fffffff5}:root:not(.dark) .dock-navigation__item{color:#34485a}:root:not(.dark) .dock-navigation__item:is(:hover,:focus-visible){color:#0d1f2f;background:#cce0efb8}:root:not(.dark) .dock-navigation__item.is-active{color:#f8fbfd;background:linear-gradient(145deg,#192d40fa,#29455cf5);box-shadow:0 6px 18px #1c31424d,inset 0 1px #ffffff24}:root:not(.dark) :is(.theme-toggle,.contact-pill){color:#142738;background:#f6f9fceb;border-color:#5c7a9457;box-shadow:0 12px 32px #2337482e,inset 0 1px #fffffff5}:root:not(.dark) :is(.theme-toggle,.contact-pill):is(:hover,:focus-visible){background:#fffffff7;border-color:#3b8dbe85}.dark .dock-navigation{--dock-hover-fill:#e8f1f8fa;--dock-hover-text:#0f1c2a;background:#0a111ce6;border-color:#89b9dc47;box-shadow:0 18px 48px #0000006b,inset 0 1px #ffffff14}.dark .dock-navigation__item{color:#becbda}.dark .dock-navigation__item:is(:hover,:focus-visible){color:#f8fbff;background:#6fb0e424}.dark .dock-navigation__item.is-active{color:#0f1c2a;background:linear-gradient(145deg,#f4f9fdf5,#d2e1eeeb);box-shadow:0 5px 16px #00000052,inset 0 1px #ffffffe6}.dock-navigation__item:is(:hover,:focus-visible){color:var(--dock-hover-text);background:0 0}.dark :is(.theme-toggle,.contact-pill){color:#f4f9fd;background:#0a111ce6;border-color:#89b9dc47;box-shadow:0 12px 32px #00000057,inset 0 1px #ffffff14}.dark :is(.theme-toggle,.contact-pill):is(:hover,:focus-visible){background:#142131f0;border-color:#70c1ee7a}.project-case{--tw-bg-opacity:1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity,1));--tw-shadow:0 20px 60px #00000014;--tw-shadow-colored:0 20px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);border-width:1px;border-color:#0000001a;border-radius:8px;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:grid;position:relative;overflow:hidden}.project-case:hover{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-color:#0003}.project-case:is(.dark *){border-color:#ffffff1a}.project-case:hover:is(.dark *){border-color:#fff3}@media (min-width:1024px){.project-case{grid-template-columns:.9fr 1.1fr}}.project-case__visual{--tw-bg-opacity:1;background-color:rgb(var(--color-surface-raised) / var(--tw-bg-opacity,1));min-height:20rem;position:relative;overflow:hidden}.project-case__content{flex-direction:column;justify-content:center;padding:2.5rem;display:flex}@media not all and (min-width:640px){.project-case__content{padding:1.5rem}}.project-case--compact .project-case__visual{min-height:16rem}.project-status{background-color:rgb(var(--color-surface) / .9);--tw-text-opacity:1;color:rgb(var(--color-ink) / var(--tw-text-opacity,1));--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);border-radius:9999px;padding:.375rem .75rem;font-size:.75rem;font-weight:700;line-height:1rem;position:absolute;top:1.25rem;left:1.25rem}.content-tag{--tw-bg-opacity:1;background-color:rgb(var(--color-surface-raised) / var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(var(--color-muted) / var(--tw-text-opacity,1));border-width:1px;border-color:#0000001a;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;line-height:1rem}.content-tag:is(.dark *){border-color:#ffffff1a}.article-card{--tw-bg-opacity:1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity,1));--tw-shadow:0 20px 60px #00000014;--tw-shadow-colored:0 20px 60px var(--tw-shadow-color);min-height:18rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);border-width:1px;border-color:#0000001a;border-radius:8px;flex-direction:column;padding:1.75rem;display:flex;position:relative}.article-card:is(.dark *){border-color:#ffffff1a}.article-card__body{letter-spacing:.02em;--tw-text-opacity:1;color:rgb(var(--color-muted) / var(--tw-text-opacity,1));margin-top:1rem;font-size:1rem;line-height:1.75rem}.content-paragraph-stack>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.masonry-grid{min-height:18rem;transition-property:height;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);position:relative}.masonry-grid__item{will-change:transform;min-height:0;position:absolute;top:0;left:0;overflow:hidden}.masonry-grid__skeleton{min-height:18rem;display:block}@keyframes pulse{50%{opacity:.5}}.masonry-grid__skeleton{--tw-bg-opacity:1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity,1));border-width:1px;border-color:#0000000d;border-radius:8px;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.masonry-grid__skeleton:is(.dark *){border-color:#ffffff0d}.lab-card{--tw-bg-opacity:1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity,1));--tw-shadow:0 20px 60px #00000014;--tw-shadow-colored:0 20px 60px var(--tw-shadow-color);min-height:30rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);border-width:1px;border-color:#0000001a;border-radius:8px;flex-direction:column;padding:.75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:flex;position:relative}.lab-card:hover{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-color:#0003}.lab-card:is(.dark *){border-color:#ffffff1a}.lab-card:hover:is(.dark *){border-color:#fff3}:is(.project-case,.article-card,.lab-card){--card-glow-angle:45deg;--card-glow-proximity:0}:is(.project-case,.lab-card):focus-visible{--card-glow-angle:45deg;--card-glow-proximity:100}.card-border-glow{z-index:4;border-radius:inherit;opacity:clamp(0, calc((var(--card-glow-proximity) - 24) * .01316), 1);pointer-events:none;transition:opacity .18s ease-out;position:absolute;inset:0;overflow:hidden}.card-border-glow:before,.card-border-glow:after,.card-border-glow__edge{border-radius:inherit;content:"";position:absolute;inset:0}.card-border-glow:before{background:conic-gradient(from calc(var(--card-glow-angle) - 180deg), transparent 0 31%, #c084fc 40%, #67e8f9 50%, #f472b6 60%, transparent 69% 100%);-webkit-mask-composite:xor;padding:1.5px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.card-border-glow:after{background:conic-gradient(from calc(var(--card-glow-angle) - 180deg), transparent 0 35%, #a78bfa38 43%, #67e8f92e 50%, #f472b633 57%, transparent 65% 100%);mix-blend-mode:screen;inset:1px;-webkit-mask-image:radial-gradient(#0000 34%,#000 100%);mask-image:radial-gradient(#0000 34%,#000 100%)}.card-border-glow__edge{-webkit-mask-image:conic-gradient(from calc(var(--card-glow-angle) - 180deg), transparent 0 34%, #000 43% 57%, transparent 66% 100%);-webkit-mask-image:conic-gradient(from calc(var(--card-glow-angle) - 180deg), transparent 0 34%, #000 43% 57%, transparent 66% 100%);mask-image:conic-gradient(from calc(var(--card-glow-angle) - 180deg), transparent 0 34%, #000 43% 57%, transparent 66% 100%);mix-blend-mode:plus-lighter;box-shadow:inset 0 0 4px #fffc,inset 0 0 12px #67e8f985,inset 0 0 24px #a78bfa3d}.detail-header{text-align:center;max-width:56rem;margin-left:auto;margin-right:auto}.detail-header h1{--tw-text-opacity:1;color:rgb(var(--color-ink) / var(--tw-text-opacity,1));margin-top:1.25rem;font-size:clamp(2.75rem,6vw,5.5rem);font-weight:600;line-height:1.05}.detail-header>p:not(:first-child){--tw-text-opacity:1;max-width:48rem;color:rgb(var(--color-muted) / var(--tw-text-opacity,1));margin-top:1.75rem;margin-left:auto;margin-right:auto;font-size:1.125rem;line-height:2rem}.detail-meta{-moz-column-gap:2rem;--tw-text-opacity:1;color:rgb(var(--color-muted) / var(--tw-text-opacity,1));flex-wrap:wrap;justify-content:center;gap:.75rem 2rem;margin-top:2rem;font-size:.875rem;font-weight:600;line-height:1.25rem;display:flex}.detail-content{max-width:48rem;margin-top:4rem;margin-left:auto;margin-right:auto}.detail-content>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.detail-content{--tw-text-opacity:1;color:rgb(var(--color-muted) / var(--tw-text-opacity,1));font-size:1.125rem;line-height:2.25rem}.detail-content h2{--tw-text-opacity:1;color:rgb(var(--color-ink) / var(--tw-text-opacity,1));margin-bottom:1.25rem;font-size:1.875rem;font-weight:600;line-height:2.25rem}.detail-content ul{list-style-type:disc}.detail-content ul>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.detail-content ul{padding-left:1.5rem}.lab-preview{--tw-bg-opacity:1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity,1));border-width:1px;border-color:#0000001a;border-radius:8px;width:100%;min-height:70vh;margin-top:3.5rem}.lab-preview:is(.dark *){border-color:#ffffff1a}.lab-placeholder{--tw-bg-opacity:1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity,1));text-align:center;--tw-text-opacity:1;min-height:60vh;color:rgb(var(--color-muted) / var(--tw-text-opacity,1));border:1px dashed #00000026;border-radius:8px;align-content:center;place-items:center;gap:1.25rem;margin-top:3.5rem;padding:2.5rem;display:grid}.lab-placeholder:is(.dark *){border-color:#ffffff26}.lab-placeholder h2{--tw-text-opacity:1;color:rgb(var(--color-ink) / var(--tw-text-opacity,1));font-size:1.875rem;font-weight:600;line-height:2.25rem}.gear-timeline{width:100%;margin-top:2rem;position:relative}.gear-timeline__stage{background-color:#0000;flex-direction:column;justify-content:center;height:100dvh;display:flex;position:sticky;top:0;overflow:hidden}.gear-timeline__hint{z-index:10;letter-spacing:.16em;--tw-text-opacity:1;color:rgb(var(--color-subtle) / var(--tw-text-opacity,1));justify-content:space-between;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.75rem;font-weight:700;line-height:1rem;display:flex;position:absolute;top:6rem;left:2rem;right:2rem}.gear-timeline__viewport{width:100%;overflow:hidden}.gear-timeline__track{align-items:stretch;width:max-content;transition-property:transform;transition-duration:75ms;transition-timing-function:linear;display:flex}.gear-timeline__chapter{scroll-snap-align:center;opacity:.3;flex-shrink:0;align-items:center;width:100dvw;height:100dvh;padding:8rem 1.5rem;transition-property:opacity;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:flex}.gear-timeline__chapter.is-active{opacity:1}.gear-timeline__chapter-inner{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-content:center;align-items:flex-start;gap:4rem;width:100%;max-width:1180px;height:100%;margin-left:auto;margin-right:auto;display:grid}.gear-timeline__story{flex-direction:column;height:min(58vh,620px);min-height:0;padding-right:1.25rem;display:flex;overflow-y:auto}.gear-timeline__time{letter-spacing:.1em;--tw-text-opacity:1;min-height:2.75rem;color:rgb(var(--color-accent) / var(--tw-text-opacity,1));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1rem;font-weight:700;line-height:1.5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.gear-timeline__time:hover{--tw-text-opacity:1;color:rgb(var(--color-ink) / var(--tw-text-opacity,1))}@media (min-width:768px){.gear-timeline__time{font-size:1.125rem;line-height:1.75rem}}.gear-timeline__story h2{--tw-text-opacity:1;max-width:16ch;color:rgb(var(--color-ink) / var(--tw-text-opacity,1));margin-top:.5rem;font-size:clamp(1.875rem,3vw,3.25rem);font-weight:600;line-height:1.12}.gear-timeline__story>div{letter-spacing:.02em;--tw-text-opacity:1;color:rgb(var(--color-muted) / var(--tw-text-opacity,1));flex:1;margin-top:1.5rem;font-size:1rem;line-height:1.75rem}@media (min-width:768px){.gear-timeline__story>div{font-size:1.125rem;line-height:2rem}}.gear-timeline__story>div{min-height:clamp(10rem,24vh,14rem)}.timeline-gallery{flex-direction:column;gap:.75rem;min-height:0;display:flex}.timeline-gallery__stage{position:relative}.timeline-gallery__main{--tw-bg-opacity:1;background-color:rgb(var(--color-surface-raised) / var(--tw-bg-opacity,1));border-width:1px;border-color:#0000001a;border-radius:8px;width:100%;height:min(58vh,620px);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.timeline-gallery__main:hover{border-color:rgb(var(--color-sci-cyan) / .5)}.timeline-gallery__main:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-color:rgb(var(--color-accent) / .25)}.timeline-gallery__main:is(.dark *){border-color:#ffffff1a}.timeline-gallery__main>span{background-color:rgb(var(--color-ink) / .8);--tw-text-opacity:1;color:rgb(var(--color-surface) / var(--tw-text-opacity,1));opacity:0;border-radius:9999px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.75rem;font-weight:600;line-height:1rem;transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:flex;position:absolute;bottom:.75rem;right:.75rem}.timeline-gallery__main:hover>span,.timeline-gallery__main:focus-visible>span{opacity:1}.timeline-gallery__previous,.timeline-gallery__next{z-index:10;--tw-translate-y:-50%;width:3rem;height:3rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));background-color:rgb(var(--color-ink) / .8);--tw-text-opacity:1;color:rgb(var(--color-surface) / var(--tw-text-opacity,1));--tw-shadow:0 20px 60px #00000014;--tw-shadow-colored:0 20px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);border-width:1px;border-color:#fff3;border-radius:9999px;place-items:center;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:grid;position:absolute;top:50%}.timeline-gallery__previous:hover,.timeline-gallery__next:hover{border-color:rgb(var(--color-sci-cyan) / .7);--tw-bg-opacity:1;background-color:rgb(var(--color-ink) / var(--tw-bg-opacity,1))}.timeline-gallery__previous:focus,.timeline-gallery__next:focus{outline-offset:2px;outline:2px solid #0000}.timeline-gallery__previous:focus-visible,.timeline-gallery__next:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-color:rgb(var(--color-sci-cyan) / .4)}.timeline-gallery__previous{left:.75rem}.timeline-gallery__next{right:.75rem}.timeline-gallery__thumbs{gap:.5rem;max-width:100%;padding-bottom:.25rem;display:flex;overflow-x:auto}.timeline-gallery__thumbs button{--tw-bg-opacity:1;background-color:rgb(var(--color-surface-raised) / var(--tw-bg-opacity,1));opacity:.55;border-width:1px;border-color:#0000001a;border-radius:.5rem;flex-shrink:0;width:4rem;height:4rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.timeline-gallery__thumbs button:hover{opacity:1}.timeline-gallery__thumbs button:is(.dark *){border-color:#ffffff1a}.timeline-gallery__thumbs button.is-active{--tw-border-opacity:1;border-color:rgb(var(--color-sci-cyan) / var(--tw-border-opacity,1));opacity:1;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-color:rgb(var(--color-sci-cyan) / .25)}.timeline-gallery--empty{--tw-bg-opacity:1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity,1));text-align:center;--tw-text-opacity:1;height:min(58vh,620px);color:rgb(var(--color-muted) / var(--tw-text-opacity,1));border:1px dashed #00000026;border-radius:8px;justify-content:center;align-items:center}.timeline-gallery--empty:is(.dark *){border-color:#ffffff26}.timeline-gallery--empty svg{--tw-text-opacity:1;width:3rem;height:3rem;color:rgb(var(--color-subtle) / var(--tw-text-opacity,1))}.timeline-gallery--empty strong{--tw-text-opacity:1;color:rgb(var(--color-ink) / var(--tw-text-opacity,1));margin-top:.5rem;font-size:1.25rem;line-height:1.75rem}.timeline-gallery--empty span{font-size:.875rem;line-height:1.25rem}.photo-lightbox{z-index:100;--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1));background-color:#000000f2;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.photo-lightbox__image{width:calc(100vw - 120px);height:calc(100dvh - 120px);position:relative}.photo-lightbox button{z-index:10;background-color:#ffffff1a;border-radius:9999px;place-items:center;width:3rem;height:3rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:grid;position:absolute}.photo-lightbox button:hover{background-color:#fff3}.photo-lightbox button:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-color:#fff6}.photo-lightbox__close{top:1.25rem;right:1.25rem}.photo-lightbox__previous{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));top:50%;left:1.25rem}.photo-lightbox__next{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));top:50%;right:1.25rem}.photo-lightbox>p{--tw-translate-x:-50%;max-width:80vw;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));text-overflow:ellipsis;white-space:nowrap;text-align:center;color:#ffffffbf;font-size:.875rem;line-height:1.25rem;position:absolute;bottom:1.25rem;left:50%;overflow:hidden}.gear-control{z-index:10;--tw-translate-x:-50%;min-height:3.5rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));touch-action:none;-webkit-user-select:none;user-select:none;background-color:rgb(var(--color-surface) / .95);--tw-text-opacity:1;color:rgb(var(--color-muted) / var(--tw-text-opacity,1));--tw-shadow:0 18px 48px #1d1d1f29;--tw-shadow-colored:0 18px 48px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);border-width:1px;border-color:#0000001a;border-radius:9999px;align-items:center;gap:1rem;padding:.5rem 1.5rem .5rem .5rem;display:flex;position:absolute;bottom:1.25rem;left:50%}.gear-control:focus{outline-offset:2px;outline:2px solid #0000}.gear-control:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-color:rgb(var(--color-accent) / .3)}.gear-control:is(.dark *){border-color:#ffffff1a}.gear-control{cursor:grab}.gear-control:active{cursor:grabbing}.gear-control__wheel{fill:none;flex-shrink:0;width:6rem;height:6rem;transition-property:transform;transition-duration:75ms;transition-timing-function:linear;overflow:visible}.gear-control__orbit{stroke:rgb(var(--color-subtle) / .45);stroke-width:1.5px}.gear-control__orbit--outer{stroke:rgb(var(--color-muted) / .6);stroke-width:2px}.gear-control__progress{stroke:rgb(var(--color-sci-cyan) / 1);filter:drop-shadow(0 0 5px rgb(var(--color-sci-cyan) / .52));stroke-linecap:round;stroke-width:3px;transition:stroke-dashoffset .15s ease-out}.gear-control__node{fill:rgb(var(--color-surface) / 1);stroke:rgb(var(--color-muted) / 1);stroke-width:1.5px;transition:fill .15s ease-out,r .15s ease-out}.gear-control__node.is-active{fill:rgb(var(--color-sci-cyan) / 1);stroke:rgb(var(--color-surface) / 1)}.gear-control__bracket{stroke:rgb(var(--color-muted) / 1);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.gear-control__core{fill:rgb(var(--color-surface) / 1);stroke:rgb(var(--color-sci-cyan) / 1);filter:drop-shadow(0 0 4px rgb(var(--color-sci-cyan) / .35));stroke-width:2px}.gear-control>span{flex-direction:column;max-width:8rem;font-size:.875rem;font-weight:600;line-height:1.25rem;display:flex}.gear-control strong{--tw-text-opacity:1;color:rgb(var(--color-ink) / var(--tw-text-opacity,1));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1.5rem;line-height:2rem}.footer-to-top{--tw-translate-x:-50%;--tw-translate-y:-50%;width:3.5rem;height:3.5rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-bg-opacity:1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(var(--color-muted) / var(--tw-text-opacity,1));--tw-shadow:0 20px 60px #00000014;--tw-shadow-colored:0 20px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);border-width:1px;border-color:#0000001a;border-radius:9999px;place-items:center;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:grid;position:absolute;top:0;left:50%}.footer-to-top:hover{--tw-translate-y:-55%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));--tw-text-opacity:1;color:rgb(var(--color-accent) / var(--tw-text-opacity,1))}.footer-to-top:is(.dark *){border-color:#ffffff1a}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.left-\[clamp\(28px\,7vw\,144px\)\]{left:clamp(28px,7vw,144px)}.top-4{top:1rem}.top-\[clamp\(200px\,30vh\,280px\)\]{top:clamp(200px,30vh,280px)}.z-10{z-index:10}.z-50{z-index:50}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-9{margin-top:2.25rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-\[16\/10\]{aspect-ratio:16/10}.aspect-\[16\/8\]{aspect-ratio:16/8}.size-11{width:2.75rem;height:2.75rem}.min-h-11{min-height:2.75rem}.min-h-12{min-height:3rem}.min-h-32{min-height:8rem}.min-h-40{min-height:10rem}.min-h-dvh{min-height:100dvh}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-\[min\(760px\,48vw\)\]{max-width:min(760px,48vw)}.flex-1{flex:1}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-7{-moz-column-gap:1.75rem;column-gap:1.75rem}.gap-y-3{row-gap:.75rem}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.whitespace-nowrap{white-space:nowrap}.rounded-card{border-radius:8px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-t{border-top-width:1px}.border-black\/10{border-color:#0000001a}.bg-\[\#f0f1f4\]{--tw-bg-opacity:1;background-color:rgb(240 241 244/var(--tw-bg-opacity,1))}.bg-ink{--tw-bg-opacity:1;background-color:rgb(var(--color-ink) / var(--tw-bg-opacity,1))}.bg-raised{--tw-bg-opacity:1;background-color:rgb(var(--color-surface-raised) / var(--tw-bg-opacity,1))}.bg-white\/70{background-color:#ffffffb3}.bg-\[linear-gradient\(180deg\,\#f5f5f7_0\%\,\#fff_48\%\,\#eef3f7_100\%\)\]{background-image:linear-gradient(#f5f5f7 0%,#fff 48%,#eef3f7 100%)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.object-right-bottom{-o-object-position:right bottom;object-position:right bottom}.p-6{padding:1.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-28{padding-top:7rem;padding-bottom:7rem}.pt-32{padding-top:8rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[1\.3em\]{font-size:1.3em}.text-\[clamp\(3rem\,5\.6vw\,6\.6rem\)\]{font-size:clamp(3rem,5.6vw,6.6rem)}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-\[1\.16\]{line-height:1.16}.leading-tight{line-height:1.25}.tracking-\[-0\.055em\]{letter-spacing:-.055em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-normal{letter-spacing:0}.text-accent{--tw-text-opacity:1;color:rgb(var(--color-accent) / var(--tw-text-opacity,1))}.text-ink{--tw-text-opacity:1;color:rgb(var(--color-ink) / var(--tw-text-opacity,1))}.text-muted{--tw-text-opacity:1;color:rgb(var(--color-muted) / var(--tw-text-opacity,1))}.text-surface{--tw-text-opacity:1;color:rgb(var(--color-surface) / var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.\[text-shadow\:0_1px_22px_rgba\(255\,255\,255\,0\.42\)\]{text-shadow:0 1px 22px #ffffff6b}:root{--color-page:245 245 247;--color-surface:255 255 255;--color-surface-raised:251 251 253;--color-ink:29 29 31;--color-muted:110 110 115;--color-subtle:161 161 166;--color-accent:0 102 204;--color-sci-cyan:47 183 201}.dark{--color-page:8 10 15;--color-surface:17 20 26;--color-surface-raised:23 27 34;--color-ink:245 247 250;--color-muted:154 163 175;--color-subtle:104 113 125;--color-accent:102 170 255;--color-sci-cyan:101 216 230}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:rgb(var(--color-page));min-width:320px;color:rgb(var(--color-ink));font-synthesis-weight:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;letter-spacing:.02em;font-family:Inter,Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif}body:has(.galaxy-backdrop){--color-page:8 14 24;--color-surface:14 21 33;--color-surface-raised:20 29 43;--color-ink:246 249 252;--color-muted:181 193 207;--color-subtle:132 149 168;--color-accent:112 183 255;--color-sci-cyan:101 216 230}::selection{background:rgb(var(--color-sci-cyan) / .22)}.hero-reveal{--reveal-size:clamp(160px, 16vw, 320px);--reveal-realistic-edge:58%}.hero-reveal__image{pointer-events:none;-webkit-user-select:none;user-select:none}.hero-reveal__variant{opacity:0;-webkit-mask-image:radial-gradient(circle var(--reveal-size) at var(--reveal-x) var(--reveal-y), #000 0, #000 var(--reveal-realistic-edge), #000000e0 70%, #0000006b 86%, transparent 100%);-webkit-mask-image:radial-gradient(circle var(--reveal-size) at var(--reveal-x) var(--reveal-y), #000 0, #000 var(--reveal-realistic-edge), #000000e0 70%, #0000006b 86%, transparent 100%);mask-image:radial-gradient(circle var(--reveal-size) at var(--reveal-x) var(--reveal-y), #000 0, #000 var(--reveal-realistic-edge), #000000e0 70%, #0000006b 86%, transparent 100%);transition:opacity .22s ease-out}.hero-reveal[data-active=true] .hero-reveal__variant{opacity:1}@media (hover:none),(pointer:coarse){.hero-reveal{--reveal-size:clamp(143px, 37.33vw, 267px)}.hero-reveal__variant{opacity:.88;animation:7s ease-in-out infinite hero-reveal-scan}.dock-navigation__hover-circle,.dock-navigation__label--hover,.card-border-glow{display:none}}@keyframes hero-reveal-scan{0%,to{-webkit-mask-image:radial-gradient(circle var(--reveal-size) at 62% 42%, #000 0, #000 var(--reveal-realistic-edge), #000000e0 70%, #0000006b 86%, transparent 100%);-webkit-mask-image:radial-gradient(circle var(--reveal-size) at 62% 42%, #000 0, #000 var(--reveal-realistic-edge), #000000e0 70%, #0000006b 86%, transparent 100%);mask-image:radial-gradient(circle var(--reveal-size) at 62% 42%, #000 0, #000 var(--reveal-realistic-edge), #000000e0 70%, #0000006b 86%, transparent 100%)}50%{-webkit-mask-image:radial-gradient(circle var(--reveal-size) at 76% 56%, #000 0, #000 var(--reveal-realistic-edge), #000000e0 70%, #0000006b 86%, transparent 100%);-webkit-mask-image:radial-gradient(circle var(--reveal-size) at 76% 56%, #000 0, #000 var(--reveal-realistic-edge), #000000e0 70%, #0000006b 86%, transparent 100%);mask-image:radial-gradient(circle var(--reveal-size) at 76% 56%, #000 0, #000 var(--reveal-realistic-edge), #000000e0 70%, #0000006b 86%, transparent 100%)}}:focus-visible{outline:3px solid rgb(var(--color-accent) / .68);outline-offset:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-reveal__variant{opacity:0!important;transition:none!important;animation:none!important}.dock-navigation__hover-circle,.dock-navigation__label--hover,.card-border-glow{display:none}.dock-navigation__label--default{transform:none!important}}:is(body:has(.admin-root) .site-header,body:has(.admin-root) .site-footer){display:none}.admin-root{--tw-bg-opacity:1;background-color:rgb(var(--color-page) / var(--tw-bg-opacity,1));--tw-text-opacity:1;min-height:100dvh;color:rgb(var(--color-ink) / var(--tw-text-opacity,1));grid-template-columns:240px minmax(0,1fr);display:grid}.admin-sidebar{--tw-bg-opacity:1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity,1));border-color:#0000001a;border-right-width:1px;flex-direction:column;height:100dvh;padding:1.5rem;display:flex;position:sticky;top:0}.admin-sidebar:is(.dark *){border-color:#ffffff1a}.admin-eyebrow{letter-spacing:.18em;--tw-text-opacity:1;color:rgb(var(--color-accent) / var(--tw-text-opacity,1));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.75rem;font-weight:700;line-height:1rem}.admin-brand{--tw-text-opacity:1;color:rgb(var(--color-ink) / var(--tw-text-opacity,1));margin-top:.5rem;font-size:1.25rem;font-weight:700;line-height:1.75rem;display:block}.admin-sidebar nav{flex-direction:column;gap:.5rem;margin-top:3rem;display:flex}.admin-sidebar nav a{--tw-text-opacity:1;min-height:2.75rem;color:rgb(var(--color-muted) / var(--tw-text-opacity,1));border-radius:.5rem;padding:.75rem;font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.admin-sidebar nav a:hover{--tw-bg-opacity:1;background-color:rgb(var(--color-surface-raised) / var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(var(--color-ink) / var(--tw-text-opacity,1))}.admin-sidebar nav a:focus-visible{outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-color:rgb(var(--color-accent) / .25);outline:2px solid #0000}.admin-account{--tw-text-opacity:1;color:rgb(var(--color-muted) / var(--tw-text-opacity,1));border-color:#0000001a;border-top-width:1px;margin-top:auto;padding-top:1.25rem;font-size:.875rem;line-height:1.25rem}.admin-account:is(.dark *){border-color:#ffffff1a}.admin-account>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.admin-account button{align-items:center;gap:.5rem;min-height:2.75rem;margin-top:.75rem;font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}.admin-account button:hover{--tw-text-opacity:1;color:rgb(var(--color-ink) / var(--tw-text-opacity,1))}.admin-content{min-width:0;padding:3.5rem 2.5rem}.admin-page-header{max-width:920px;margin-bottom:2.5rem;margin-left:auto;margin-right:auto}.admin-page-header h1{margin-top:.75rem;font-size:2.25rem;font-weight:600;line-height:2.5rem}.admin-page-header>p:last-child{--tw-text-opacity:1;color:rgb(var(--color-muted) / var(--tw-text-opacity,1));margin-top:.75rem;line-height:1.75rem}.admin-page-header--action{justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.admin-page-header--action>a{--tw-bg-opacity:1;background-color:rgb(var(--color-ink) / var(--tw-bg-opacity,1));--tw-text-opacity:1;min-height:2.75rem;color:rgb(var(--color-surface) / var(--tw-text-opacity,1));border-radius:.5rem;align-items:center;gap:.5rem;padding-left:1.25rem;padding-right:1.25rem;font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-flex}.admin-page-header--action>a:hover{--tw-translate-y:-.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.admin-page-header--action>a:focus-visible{outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-color:rgb(var(--color-accent) / .3);outline:2px solid #0000}.admin-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;max-width:920px;margin-left:auto;margin-right:auto;display:grid}.admin-dashboard-grid>a{--tw-bg-opacity:1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity,1));--tw-shadow:0 20px 60px #00000014;--tw-shadow-colored:0 20px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);border-width:1px;border-color:#0000001a;border-radius:8px;padding:1.5rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.admin-dashboard-grid>a:hover{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));border-color:#0003}.admin-dashboard-grid>a:focus-visible{outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-color:rgb(var(--color-accent) / .25);outline:2px solid #0000}.admin-dashboard-grid>a:is(.dark *){border-color:#ffffff1a}.admin-dashboard-grid span{--tw-text-opacity:1;color:rgb(var(--color-accent) / var(--tw-text-opacity,1));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1.875rem;font-weight:900;line-height:2.25rem}.admin-dashboard-grid h2{margin-top:1.75rem;font-size:1.5rem;font-weight:600;line-height:2rem}.admin-dashboard-grid p{--tw-text-opacity:1;color:rgb(var(--color-muted) / var(--tw-text-opacity,1));margin-top:.5rem}.admin-content-list{gap:.75rem;max-width:920px;margin-left:auto;margin-right:auto;display:grid}.admin-content-list article{--tw-bg-opacity:1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity,1));border-width:1px;border-color:#0000001a;border-radius:8px;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem;display:flex}.admin-content-list article:is(.dark *){border-color:#ffffff1a}.admin-content-list article span{--tw-text-opacity:1;color:rgb(var(--color-accent) / var(--tw-text-opacity,1));font-size:.75rem;font-weight:700;line-height:1rem}.admin-content-list article h2{margin-top:.25rem;font-size:1.125rem;font-weight:600;line-height:1.75rem}.admin-content-list article p{--tw-text-opacity:1;color:rgb(var(--color-subtle) / var(--tw-text-opacity,1));margin-top:.25rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.75rem;line-height:1rem}.admin-row-actions{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.admin-row-actions a,.admin-row-actions button{border-radius:.5rem;min-height:2.75rem;padding:.75rem 1rem;font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.admin-row-actions a:hover,.admin-row-actions button:hover{--tw-bg-opacity:1;background-color:rgb(var(--color-surface-raised) / var(--tw-bg-opacity,1))}.admin-row-actions a:focus-visible,.admin-row-actions button:focus-visible{outline-offset:2px;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-color:rgb(var(--color-accent) / .25);outline:2px solid #0000}.admin-row-actions button{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.admin-row-actions button:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.admin-empty{text-align:center;--tw-text-opacity:1;color:rgb(var(--color-muted) / var(--tw-text-opacity,1));border:1px dashed #00000026;border-radius:8px;padding:2.5rem}.admin-empty:is(.dark *){border-color:#ffffff26}.admin-editor-form{max-width:920px;margin-left:auto;margin-right:auto}.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.admin-form-grid>label:not(.admin-checkbox){flex-direction:column;gap:.5rem;font-weight:600;display:flex}.admin-form-grid>label:has(textarea){grid-column:span 2/span 2}.admin-form-grid input:not([type=checkbox]),.admin-form-grid textarea,.admin-form-grid select,.admin-login-form input{--tw-bg-opacity:1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity,1));--tw-text-opacity:1;min-height:3rem;color:rgb(var(--color-ink) / var(--tw-text-opacity,1));outline-offset:2px;border-width:1px;border-color:#00000026;border-radius:.5rem;outline:2px solid #0000;padding:.75rem 1rem;font-weight:400;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.admin-form-grid input:not([type=checkbox]):focus,.admin-form-grid textarea:focus,.admin-form-grid select:focus,.admin-login-form input:focus{--tw-border-opacity:1;border-color:rgb(var(--color-accent) / var(--tw-border-opacity,1));--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000);--tw-ring-color:rgb(var(--color-accent) / .15)}.admin-form-grid input:not([type=checkbox]):is(.dark *),.admin-form-grid textarea:is(.dark *),.admin-form-grid select:is(.dark *),.admin-login-form input:is(.dark *){border-color:#ffffff26}.admin-form-grid textarea{resize:vertical;line-height:1.75rem}.admin-form-grid small{--tw-text-opacity:1;color:rgb(var(--color-subtle) / var(--tw-text-opacity,1));font-weight:400}.admin-checkbox{--tw-bg-opacity:1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity,1));border-width:1px;border-color:#0000001a;border-radius:.5rem;align-items:center;gap:.75rem;min-height:3rem;padding-left:1rem;padding-right:1rem;font-weight:600;display:flex}.admin-checkbox:is(.dark *){border-color:#ffffff1a}.admin-checkbox input{width:1.25rem;height:1.25rem;accent-color:rgb(var(--color-accent) / 1)}.admin-save-bar{background-color:rgb(var(--color-surface) / .95);--tw-text-opacity:1;color:rgb(var(--color-muted) / var(--tw-text-opacity,1));--tw-shadow:0 20px 60px #00000014;--tw-shadow-colored:0 20px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);border-width:1px;border-color:#0000001a;border-radius:.75rem;justify-content:space-between;align-items:center;gap:1.25rem;margin-top:2rem;padding:.75rem .75rem .75rem 1.25rem;font-size:.875rem;line-height:1.25rem;display:flex;position:sticky;bottom:1rem}.admin-save-bar:is(.dark *){border-color:#ffffff1a}.admin-save-bar button,.admin-login-form button{--tw-bg-opacity:1;background-color:rgb(var(--color-ink) / var(--tw-bg-opacity,1));--tw-text-opacity:1;min-height:2.75rem;color:rgb(var(--color-surface) / var(--tw-text-opacity,1));border-radius:.5rem;padding-left:1.5rem;padding-right:1.5rem;font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.admin-save-bar button:hover,.admin-login-form button:hover{--tw-translate-y:-.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.admin-save-bar button:disabled,.admin-login-form button:disabled{cursor:not-allowed;opacity:.5}.admin-form-error{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1));background-color:#ef44441a;border-width:1px;border-color:#ef444440;border-radius:.5rem;margin-top:1.25rem;padding:1rem;font-size:.875rem;line-height:1.25rem}.admin-form-error:is(.dark *){--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.admin-login-page{grid-template-columns:1fr;place-items:center;padding:1.5rem}.admin-login-card{--tw-bg-opacity:1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity,1));--tw-shadow:0 20px 60px #00000014;--tw-shadow-colored:0 20px 60px var(--tw-shadow-color);width:100%;max-width:28rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);border-width:1px;border-color:#0000001a;border-radius:8px;padding:2rem}.admin-login-card:is(.dark *){border-color:#ffffff1a}.admin-login-card h1{margin-top:1rem;font-size:1.875rem;font-weight:600;line-height:2.25rem}.admin-login-card>p:not(.admin-eyebrow){--tw-text-opacity:1;color:rgb(var(--color-muted) / var(--tw-text-opacity,1));margin-top:.75rem;line-height:1.75rem}.admin-login-form{gap:1.25rem;margin-top:1.75rem;display:grid}.admin-login-form label{gap:.5rem;font-weight:600;display:grid}.admin-setup-notice{border-width:1px;border-color:rgb(var(--color-accent) / .2);background-color:rgb(var(--color-accent) / .05);border-radius:.5rem;flex-direction:column;gap:.25rem;margin-top:1.5rem;padding:1rem;font-size:.875rem;line-height:1.25rem;display:flex}.admin-setup-notice span{--tw-text-opacity:1;color:rgb(var(--color-muted) / var(--tw-text-opacity,1));line-height:1.5rem}.admin-import-panel{border-width:1px;border-color:rgb(var(--color-accent) / .2);background-color:rgb(var(--color-accent) / .05);border-radius:8px;justify-content:space-between;align-items:center;gap:1.25rem;max-width:920px;margin-top:2rem;margin-left:auto;margin-right:auto;padding:1.25rem;display:flex}.admin-import-panel p{--tw-text-opacity:1;color:rgb(var(--color-muted) / var(--tw-text-opacity,1));margin-top:.25rem;font-size:.875rem;line-height:1.25rem}.admin-import-panel button,.admin-media-uploader button{--tw-bg-opacity:1;background-color:rgb(var(--color-ink) / var(--tw-bg-opacity,1));--tw-text-opacity:1;min-height:2.75rem;color:rgb(var(--color-surface) / var(--tw-text-opacity,1));border-radius:.5rem;flex-shrink:0;padding-left:1.25rem;padding-right:1.25rem;font-weight:600;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.admin-import-panel button:hover,.admin-media-uploader button:hover{--tw-translate-y:-.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.admin-import-panel button:disabled,.admin-media-uploader button:disabled{opacity:.5}.admin-media-panel{max-width:920px;margin-left:auto;margin-right:auto}.admin-media-uploader{--tw-bg-opacity:1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity,1));border-width:1px;border-color:#0000001a;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:1rem;padding:1.25rem;display:flex}.admin-media-uploader:is(.dark *){border-color:#ffffff1a}.admin-media-uploader label{flex-direction:column;flex:1;gap:.5rem;min-width:16rem;font-weight:600;display:flex}.admin-media-uploader input{--tw-bg-opacity:1;background-color:rgb(var(--color-page) / var(--tw-bg-opacity,1));border-width:1px;border-color:#00000026;border-radius:.5rem;min-height:3rem;padding:.75rem}.admin-media-uploader input:is(.dark *){border-color:#ffffff26}.admin-media-uploader p{--tw-text-opacity:1;width:100%;color:rgb(var(--color-muted) / var(--tw-text-opacity,1));font-size:.875rem;line-height:1.25rem}.admin-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:1.5rem;display:grid}.admin-media-grid article{--tw-bg-opacity:1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity,1));border-width:1px;border-color:#0000001a;border-radius:8px;overflow:hidden}.admin-media-grid article:is(.dark *){border-color:#ffffff1a}.admin-media-grid img{aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover;width:100%}.admin-media-grid article>div{gap:.5rem;padding:.75rem;display:flex}.admin-media-grid article input{--tw-bg-opacity:1;background-color:rgb(var(--color-surface-raised) / var(--tw-bg-opacity,1));--tw-text-opacity:1;min-width:0;color:rgb(var(--color-muted) / var(--tw-text-opacity,1));border-radius:.5rem;flex:1;padding-left:.75rem;padding-right:.75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.75rem;line-height:1rem}.admin-media-grid article button{--tw-text-opacity:1;min-height:2.75rem;color:rgb(220 38 38/var(--tw-text-opacity,1));padding-left:.75rem;padding-right:.75rem;font-weight:600}.admin-media-grid article button:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}#dify-chatbot-bubble-button{color:#0000!important;background-color:#081426!important;background-image:url(/images/chat/corgi-chat-avatar.png)!important;background-position:50%!important;background-size:cover!important;border:3px solid #65d8e6d1!important;border-radius:50%!important;width:64px!important;height:64px!important;transition:border-color .18s,box-shadow .18s,transform .18s!important;overflow:hidden!important;box-shadow:0 12px 34px #10649661,0 0 0 4px #ffffff1a!important}#dify-chatbot-bubble-button:is(:hover,:focus-visible){border-color:#8eeef7!important;transform:translateY(-2px)!important;box-shadow:0 16px 42px #1d96cf7a,0 0 0 5px #65d8e62e!important}#dify-chatbot-bubble-button svg{display:none!important}#dify-chatbot-bubble-window{width:min(24rem,100vw - 32px)!important;max-width:calc(100vw - 32px)!important;height:min(40rem,100dvh - 112px)!important;max-height:calc(100dvh - 112px)!important}@media (max-width:899px){.admin-root{grid-template-columns:1fr}.admin-sidebar{border-bottom-width:1px;border-right-width:0;height:auto;padding:1rem;position:relative}.admin-sidebar nav{flex-direction:row;margin-top:1.25rem;overflow-x:auto}.admin-sidebar nav a{flex-shrink:0}.admin-account{border-top-width:0;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:0;display:flex}.admin-account button{margin-top:0}.admin-content{padding:2.5rem 1rem}.admin-form-grid,.admin-dashboard-grid{grid-template-columns:repeat(1,minmax(0,1fr))}.admin-form-grid>label:has(textarea){grid-column:span 1/span 1}.admin-page-header--action{align-items:flex-start}.admin-media-grid{grid-template-columns:repeat(1,minmax(0,1fr))}.admin-import-panel{align-items:flex-start}}@media (max-width:767px){#dify-chatbot-bubble-button{right:16px!important;bottom:calc(82px + env(safe-area-inset-bottom))!important;width:58px!important;height:58px!important}#dify-chatbot-bubble-window{right:16px!important;bottom:calc(150px + env(safe-area-inset-bottom))!important;width:calc(100vw - 32px)!important;height:min(36rem,100dvh - 174px)!important;max-height:calc(100dvh - 174px)!important}.galaxy-page .section-heading:before{inset:-20px 0}.dock-navigation--mobile{right:10px;bottom:max(10px, env(safe-area-inset-bottom));border-radius:22px;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;left:10px}.dock-navigation--mobile .dock-navigation__item{flex-direction:column;justify-content:center;gap:3px;min-width:0;min-height:54px;padding:5px 2px;font-size:10px}.dock-navigation--mobile .dock-navigation__hover-circle,.dock-navigation--mobile .dock-navigation__label--hover{display:none}.dock-navigation--mobile .dock-navigation__label-stack{height:auto;overflow:visible}.dock-navigation--mobile .dock-navigation__label--default{transform:none}.gear-timeline{height:auto}.gear-timeline__stage{height:auto;min-height:720px;padding:80px 0 140px;position:relative;top:auto;overflow:visible}.gear-timeline__hint{top:32px;left:14px;right:14px}.gear-timeline__viewport{scroll-snap-type:x mandatory;scrollbar-width:none;overflow-x:auto}.gear-timeline__viewport::-webkit-scrollbar{display:none}.gear-timeline__track{transform:none!important}.gear-timeline__chapter{opacity:.5;height:auto;min-height:620px;padding:0 14px 24px}.gear-timeline__chapter-inner{grid-template-columns:1fr;align-content:start;gap:28px}.timeline-gallery__main,.timeline-gallery--empty{height:min(52vh,460px);min-height:300px}.gear-timeline__story{height:auto;max-height:none;padding-right:0;overflow:visible}.gear-timeline__story h2{max-width:18ch;font-size:clamp(1.75rem,8vw,2.5rem)}.gear-timeline__story>div{min-height:12rem}.photo-lightbox{padding:8px}.photo-lightbox__image{width:calc(100vw - 16px);height:calc(100dvh - 112px)}.gear-control{bottom:calc(84px + env(safe-area-inset-bottom));width:max-content;margin:28px auto 0;position:sticky;transform:none}}@media (prefers-reduced-motion:reduce){.masonry-grid,.masonry-grid__item,.gear-timeline__track,.gear-control__wheel,.gear-timeline__chapter{transition:none!important}.gear-control__wheel{transform:none!important}.gear-control__progress,.gear-control__node{transition:none!important}}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-black:hover{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:text-ink:hover{--tw-text-opacity:1;color:rgb(var(--color-ink) / var(--tw-text-opacity,1))}.disabled\:pointer-events-none:disabled{pointer-events:none}.group:hover .group-hover\:-translate-y-0\.5{--tw-translate-y:-.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x:.125rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-\[1\.02\]{--tw-scale-x:1.02;--tw-scale-y:1.02;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:border-white\/10:is(.dark *){border-color:#ffffff1a}.dark\:bg-\[\#11141a\]:is(.dark *){--tw-bg-opacity:1;background-color:rgb(17 20 26/var(--tw-bg-opacity,1))}.dark\:bg-white:is(.dark *){--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.dark\:bg-white\/10:is(.dark *){background-color:#ffffff1a}.dark\:bg-\[linear-gradient\(180deg\,\#080a0f_0\%\,\#11141a_52\%\,\#080a0f_100\%\)\]:is(.dark *){background-image:linear-gradient(#080a0f 0%,#11141a 52%,#080a0f 100%)}.dark\:text-black:is(.dark *){--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:hover\:bg-white\/15:hover:is(.dark *){background-color:#ffffff26}.dark\:hover\:bg-white\/90:hover:is(.dark *){background-color:#ffffffe6}@media not all and (min-width:1024px){.max-lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media not all and (min-width:768px){.max-md\:col-start-1{grid-column-start:1}.max-md\:block{display:block}.max-md\:hidden{display:none}.max-md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.max-md\:flex-col{flex-direction:column}.max-md\:pb-28{padding-bottom:7rem}.max-md\:text-center{text-align:center}}@media not all and (min-width:640px){.max-sm\:left-6{left:1.5rem}.max-sm\:top-\[24vh\]{top:24vh}.max-sm\:max-w-\[calc\(100vw-48px\)\]{max-width:calc(100vw - 48px)}.max-sm\:object-center{-o-object-position:center;object-position:center}.max-sm\:text-\[clamp\(2\.2rem\,10vw\,3\.6rem\)\]{font-size:clamp(2.2rem,10vw,3.6rem)}}@media (min-width:768px){.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}}
