@import "https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500;600&family=Inter:wght@400;500;600;700&display=swap";:root{--neutral-0:#fff;--neutral-50:#f5f5f4;--neutral-200:#d6d5d2;--neutral-400:#8c8b88;--neutral-600:#4a4946;--neutral-900:#18181b;--neutral-950:#0a0a0b;--chroma-red:#e34c3b;--chroma-amber:#fdc674;--chroma-magenta:#e7378a;--chroma-cyan:#0abecd;--chroma-azure:#02a4e5;--cat-academic-role1:#222f3c;--cat-academic-role2:#5c7b99;--cat-academic-role3:#d1dbe5;--cat-academic-role4:#222f3c;--cat-academic-role5:#435d74;--cat-academic-text-light:#eff3f7;--cat-academic-text-dark:#172029;--cat-professional-role1:#3c2522;--cat-professional-role2:#99625c;--cat-professional-role3:#e5d4d1;--cat-professional-role4:#3c2522;--cat-professional-role5:#744943;--cat-professional-text-light:#f7eff0;--cat-professional-text-dark:#291817;--cat-extracurricular-role1:#2b3c22;--cat-extracurricular-role2:#6c995c;--cat-extracurricular-role3:#dbe5d1;--cat-extracurricular-role4:#2b3c22;--cat-extracurricular-role5:#517443;--cat-extracurricular-text-light:#f2f7ef;--cat-extracurricular-text-dark:#1c2917;--cat-academic:var(--cat-academic-role2);--cat-professional:var(--cat-professional-role2);--cat-extracurricular:var(--cat-extracurricular-role2);--cat-academic-light:var(--cat-academic-role3);--cat-professional-light:var(--cat-professional-role3);--cat-extracurricular-light:var(--cat-extracurricular-role3);--bg-page:var(--neutral-50);--bg-box:var(--neutral-950);--bg-technology:var(--neutral-950);--fg-primary:var(--neutral-900);--fg-secondary:var(--neutral-600);--fg-muted:var(--neutral-400);--fg-on-dark:var(--neutral-0);--ring-glow:var(--neutral-0);--rule:var(--neutral-200);--font-display:"Geist Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-body:"Inter", system-ui, -apple-system, Segoe UI, sans-serif;--font-mono:var(--font-display);--text-xs:clamp(.75rem, .7rem + .25vw, .875rem);--text-sm:clamp(.875rem, .8rem + .4vw, 1rem);--text-base:clamp(1rem, .9rem + .5vw, 1.125rem);--text-lg:clamp(1.25rem, 1.1rem + .75vw, 1.5rem);--text-xl:clamp(1.75rem, 1.4rem + 1.5vw, 2.5rem);--text-display:clamp(3rem, 2rem + 5vw, 7rem);--track-display:.02em;--track-label:.08em;--leading-body:1.5;--leading-tight:1.1;--space-1:clamp(.25rem, .2rem + .25vw, .375rem);--space-2:clamp(.5rem, .4rem + .5vw, .75rem);--space-3:clamp(.75rem, .6rem + .75vw, 1.125rem);--space-4:clamp(1rem, .8rem + 1vw, 1.5rem);--space-6:clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);--space-8:clamp(2rem, 1.6rem + 2vw, 3rem);--space-12:clamp(3rem, 2.4rem + 3vw, 4.5rem);--space-16:clamp(4rem, 3rem + 5vw, 8rem);--dur-instant:.1s;--dur-fast:.2s;--dur-base:.4s;--dur-slow:.8s;--dur-cinematic:1.6s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-linear:linear;--max-w:1440px;--gutter:var(--space-12);--grid-unit:24px;--radius-0:0;--radius-sm:4px;--radius-full:999px;--glow-box:drop-shadow(0 0 24px #ffffffd9) drop-shadow(0 0 64px #ffffff73)}html,body{background:var(--bg-page);color:var(--fg-primary);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0}h1,.h-display{font-family:var(--font-display);font-size:var(--text-display);letter-spacing:var(--track-display);font-weight:500;line-height:var(--leading-tight);text-transform:uppercase;margin:0}h2,.h-section{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:var(--track-display);text-transform:uppercase;margin:0;font-weight:500;line-height:1.15}h3{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:var(--track-display);margin:0;font-weight:500}p,.body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);color:var(--fg-secondary);margin:0}.label,.ui-chrome,small.label{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--fg-primary);font-weight:500}.muted{color:var(--fg-muted)}.mono{font-family:var(--font-mono)}code,kbd,pre,samp{font-family:var(--font-mono);font-size:.95em}.tag{align-items:center;gap:var(--space-1);font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--fg-primary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:0 0;border:1px solid;font-weight:500;line-height:1;display:inline-flex}.tag--filled{background:var(--fg-primary);color:var(--neutral-50);border-color:var(--fg-primary)}.tag--accent{color:var(--chroma-red)}.bracket-label:before{content:"[ ";opacity:.6}.bracket-label:after{content:" ]";opacity:.6}.tick{--tick-size:10px;width:var(--tick-size);height:var(--tick-size);pointer-events:none;color:var(--fg-muted);position:absolute}.tick:before,.tick:after{content:"";background:currentColor;position:absolute}.tick:before{height:1px;top:50%;left:0;right:0;transform:translateY(-.5px)}.tick:after{width:1px;top:0;bottom:0;left:50%;transform:translate(-.5px)}.dot-grid{background-image:radial-gradient(circle at 1px 1px, var(--neutral-200) 1px, transparent 1px);background-size:var(--grid-unit) var(--grid-unit)}.graph-grid{background-image:linear-gradient(90deg,#8c8b8852 .5px,#0000 .5px),linear-gradient(#8c8b8852 .5px,#0000 .5px);background-size:var(--grid-unit) var(--grid-unit)}.glow-box-frame{filter:var(--glow-box)}@font-face{font-family:Neutro;src:url(/fonts/Neutro/Neutro-Bold.otf)format("opentype");font-weight:700;font-style:normal}@font-face{font-family:Manolo Mono;src:url(/fonts/Manolo%20Mono.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Universa Demo;src:url(/fonts/Universa%20Demo/Universa-DEMO.otf)format("opentype");font-weight:400;font-style:normal}@font-face{font-family:AO Mono;src:url(/fonts/AO%20Mono/AOMono-Regular.otf)format("opentype");font-weight:400;font-style:normal}@font-face{font-family:AO Mono;src:url(/fonts/AO%20Mono/AOMono-Bold.otf)format("opentype");font-weight:700;font-style:normal}@font-face{font-family:AO Mono;src:url(/fonts/AO%20Mono/AOMono-Black.otf)format("opentype");font-weight:900;font-style:normal}@font-face{font-family:PP Neue Machina Plain;src:url(/fonts/PP%20Neue%20Machina%20-%20Free%20for%20Personal%20Use/PPNeueMachina-PlainLight.otf)format("opentype");font-weight:300;font-style:normal}@font-face{font-family:PP Neue Machina Plain;src:url(/fonts/PP%20Neue%20Machina%20-%20Free%20for%20Personal%20Use/PPNeueMachina-PlainLightItalic.otf)format("opentype");font-weight:300;font-style:italic}@font-face{font-family:PP Neue Machina Plain;src:url(/fonts/PP%20Neue%20Machina%20-%20Free%20for%20Personal%20Use/PPNeueMachina-PlainRegular.otf)format("opentype");font-weight:400;font-style:normal}@font-face{font-family:PP Neue Machina Plain;src:url(/fonts/PP%20Neue%20Machina%20-%20Free%20for%20Personal%20Use/PPNeueMachina-PlainRegularItalic.otf)format("opentype");font-weight:400;font-style:italic}@font-face{font-family:PP Neue Machina Plain;src:url(/fonts/PP%20Neue%20Machina%20-%20Free%20for%20Personal%20Use/PPNeueMachina-PlainUltrabold.otf)format("opentype");font-weight:800;font-style:normal}@font-face{font-family:PP Neue Machina Plain;src:url(/fonts/PP%20Neue%20Machina%20-%20Free%20for%20Personal%20Use/PPNeueMachina-PlainUltraboldItalic.otf)format("opentype");font-weight:800;font-style:italic}@font-face{font-family:PP Neue Machina Inktrap;src:url(/fonts/PP%20Neue%20Machina%20-%20Free%20for%20Personal%20Use/PPNeueMachina-InktrapLight.otf)format("opentype");font-weight:300;font-style:normal}@font-face{font-family:PP Neue Machina Inktrap;src:url(/fonts/PP%20Neue%20Machina%20-%20Free%20for%20Personal%20Use/PPNeueMachina-InktrapLightItalic.otf)format("opentype");font-weight:300;font-style:italic}@font-face{font-family:PP Neue Machina Inktrap;src:url(/fonts/PP%20Neue%20Machina%20-%20Free%20for%20Personal%20Use/PPNeueMachina-InktrapRegular.otf)format("opentype");font-weight:400;font-style:normal}@font-face{font-family:PP Neue Machina Inktrap;src:url(/fonts/PP%20Neue%20Machina%20-%20Free%20for%20Personal%20Use/PPNeueMachina-InktrapRegularItalic.otf)format("opentype");font-weight:400;font-style:italic}@font-face{font-family:PP Neue Machina Inktrap;src:url(/fonts/PP%20Neue%20Machina%20-%20Free%20for%20Personal%20Use/PPNeueMachina-InktrapUltrabold.otf)format("opentype");font-weight:800;font-style:normal}@font-face{font-family:PP Neue Machina Inktrap;src:url(/fonts/PP%20Neue%20Machina%20-%20Free%20for%20Personal%20Use/PPNeueMachina-InktrapUltraboldItalic.otf)format("opentype");font-weight:800;font-style:italic}@font-face{font-family:Mango Grotesque;src:url(/MangoGrotesque/Variable-TT/Mango%20Grotesque-VF.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Bricolage Grotesque;src:url(/bricolage-main/fonts/webfonts/BricolageGrotesque%5Bopsz,wdth,wght%5D.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}.portal{pointer-events:none;--portal-ambient:calc(.34 + .16 * var(--breath,0));opacity:max(var(--portal-intensity,0), var(--portal-ambient));scale:calc(1 + .045 * var(--breath,0) + .15 * max(0, var(--portal-intensity,0) - .6) * 2.5 * var(--breath,0) + .06 * var(--portal-bloom,0));will-change:opacity, scale;position:absolute;inset:0}.portal-core{background:radial-gradient(circle, var(--neutral-950) 2%, transparent 5%), radial-gradient(circle, #fff 3%, #fffc 10%, transparent 22%), radial-gradient(circle, #ffffffb3 6%, #ffffff4d 18%, transparent 36%), radial-gradient(circle, #ffffff59 10%, #ffffff1a 28%, transparent 50%);filter:blur(calc(var(--dev-glow-blur,24) * 1px));z-index:1;translate:calc(var(--portal-offset-x,0) * var(--dev-cursor-follow,15) * 1%) calc(var(--portal-offset-y,0) * var(--dev-cursor-follow,15) * 1%);border-radius:50%;position:absolute;inset:-20%}.portal-ring{z-index:2;border:none;border-radius:22%;position:absolute;inset:5%}.portal-ca{z-index:3;mix-blend-mode:screen;filter:blur(20px);border:none;border-radius:50%;inset:-20%}.portal-ca--red{translate:calc(max(0, var(--portal-intensity,0) - .75) * var(--dev-ca-max,8) * 4 * 1px) calc(max(0, var(--portal-intensity,0) - .75) * var(--dev-ca-max,8) * 4 * 1px);background:radial-gradient(circle,#e34c3bb3 0%,#e34c3b40 18%,#0000 45%)}.portal-ca--cyan{translate:calc(max(0, var(--portal-intensity,0) - .75) * var(--dev-ca-max,8) * -4 * 1px) calc(max(0, var(--portal-intensity,0) - .75) * var(--dev-ca-max,8) * -4 * 1px);background:radial-gradient(circle,#0abecdb3 0%,#0abecd40 18%,#0000 45%)}@media (prefers-reduced-motion:reduce){.portal{scale:1}}.transition-overlay{z-index:9999;pointer-events:none;background:0 0;position:fixed;inset:0;overflow:hidden}.reveal-backdrop{will-change:opacity;background:#000;position:absolute;inset:0}.reveal-backdrop.is-fading-in{animation:.2s cubic-bezier(.4,0,.2,1) forwards reveal-fade-in}.reveal-backdrop.is-dissolving{animation:.4s cubic-bezier(.4,0,.2,1) forwards reveal-dissolve}@keyframes reveal-fade-in{0%{opacity:0}to{opacity:1}}.reveal-box-img{transform-origin:50%;will-change:transform, opacity;pointer-events:none;height:auto;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1)}.reveal-box-img.is-flying{animation:.5s cubic-bezier(.22,1,.36,1) forwards reveal-box-flyout}.reveal-portal-container{transform-origin:50%;pointer-events:none;z-index:10;will-change:transform, opacity;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1)}.reveal-portal-container.is-flying{animation:.42s cubic-bezier(.22,1,.36,1) forwards reveal-portal-flyout}@keyframes reveal-box-flyout{0%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}to{opacity:0;transform:translate(-50%,-50%)scale(3.2)rotate(16deg)}}@keyframes reveal-portal-flyout{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(3.2)}}@keyframes reveal-dissolve{0%{opacity:1}to{opacity:0}}.box-page{background:#000;width:100vw;height:100vh;position:relative;overflow:hidden}.box-video{pointer-events:none;width:30vmin;height:auto;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.box-hero{width:calc(var(--video-size,24) * 1rem);height:calc(var(--video-size,24) * 1rem);position:relative}.transition-layer-3{z-index:2;transform-origin:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.box-void{width:calc(var(--box-size) * .3 * 1vmin);height:calc(var(--box-size) * .3 * 1vmin);cursor:pointer;z-index:3;pointer-events:auto;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)}@media (prefers-reduced-motion:reduce){.box-video{animation:none}}.box-enter{transform:translate(calc(-50% + var(--enter-x,0) * 1px), calc(-50% + var(--enter-y,0) * 1px));z-index:4;pointer-events:none;font-family:var(--font-mono);font-size:calc(var(--text-xs) * var(--enter-size,1));letter-spacing:calc(var(--enter-spacing,.25) * 1em);color:var(--enter-color,var(--fg-on-dark));text-transform:lowercase;animation:box-enter-breathe 3.2s var(--ease-in-out) infinite;align-items:center;gap:.5ch;line-height:1;display:flex;position:absolute;top:50%;left:50%}.box-enter-label{text-shadow:0 0 14px #ffffff40}.box-enter-caret{background:currentColor;width:.5ch;height:1.05em;animation:1.05s step-end infinite box-enter-caret;box-shadow:0 0 10px #ffffff59}@keyframes box-enter-breathe{0%,to{opacity:calc(var(--enter-opacity,1) * .42)}50%{opacity:calc(var(--enter-opacity,1) * .85)}}@keyframes box-enter-caret{0%,49%{opacity:1}50%,to{opacity:.04}}@media (prefers-reduced-motion:reduce){.box-enter{opacity:.72;animation:none}.box-enter-caret{opacity:1;animation:none}}.box-dev-panel{bottom:var(--space-4);right:var(--space-4);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-sm);z-index:1000;background:#ffffff0f;border:1px solid #ffffff14;min-width:220px;position:fixed}.box-dev-panel--collapsed{min-width:auto}.box-dev-toggle{width:100%;padding:var(--space-2) var(--space-3);color:var(--fg-on-dark);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--track-label);text-align:left;cursor:pointer;opacity:.7;transition:opacity var(--dur-fast) var(--ease-out);background:0 0;border:none;display:block}.box-dev-toggle:hover{opacity:1}.box-dev-grid{padding:0 var(--space-3) var(--space-3);gap:var(--space-1);flex-direction:column;display:flex}.box-dev-section{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--track-label);color:var(--fg-muted);padding-top:var(--space-2);margin-top:var(--space-1);border-top:1px solid #ffffff0f}.box-dev-section:first-child{border-top:none;margin-top:0;padding-top:0}.box-dev-slider{align-items:center;gap:var(--space-1);cursor:default;grid-template-columns:64px 1fr 48px;display:grid}.box-dev-slider-label{font-family:var(--font-mono);font-size:var(--text-xs);color:#ffffff80;white-space:nowrap}.box-dev-slider input[type=range]{cursor:pointer;width:100%;height:2px;accent-color:var(--neutral-0)}.box-dev-slider-value{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--neutral-0);text-align:right}.box-dev-input-row{align-items:center;gap:var(--space-1);grid-template-columns:48px 1fr;display:grid}.box-dev-input-row select{width:100%;color:var(--neutral-0);font-family:var(--font-mono);font-size:var(--text-xs);border-radius:var(--radius-sm);appearance:none;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;outline:none;padding:4px 6px}.box-dev-reset{margin-top:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--fg-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--track-label);text-transform:uppercase;cursor:pointer;transition:all var(--dur-fast) var(--ease-out);background:#ffffff0f;border:1px solid #ffffff1a}.box-dev-reset:hover{color:var(--fg-on-dark);background:#ffffff1a}
