:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--font-display: "Orbitron", "Chakra Petch", system-ui, sans-serif;--font-body: "Chakra Petch", system-ui, sans-serif;--font-mono: "Chakra Petch", ui-monospace, monospace;--cream: #f4f1eb;--glass-blur: 18px;--accent: #c44dff;--accent-glow: #db7bff;--accent-soft: rgba(196, 77, 255, .5);--cool: #2fd9ff;--warm: #ffd84d;--page-bg: #0a0612;--page-bg-2: #150d26;--text: #f4f1eb;--text-soft: rgba(244, 241, 235, .7);--text-faint: rgba(207, 196, 235, .5);--heading: #f4f1eb;--panel-bg: rgba(22, 14, 38, .5);--panel-border: rgba(176, 140, 255, .18);--panel-shadow: 0 18px 50px rgba(0, 0, 0, .55);--hairline: rgba(176, 140, 255, .18)}:root[data-theme=light]{--font-display: "Space Grotesk", system-ui, sans-serif;--font-body: "Space Grotesk", system-ui, sans-serif;--font-mono: "Space Grotesk", system-ui, sans-serif;--accent: #ec3107;--accent-glow: #ff5a2c;--accent-soft: rgba(255, 90, 44, .5);--cool: #5f7585;--warm: #d68a00;--page-bg: #f4f1eb;--page-bg-2: #ffffff;--text: #1b1b1b;--text-soft: #4b4b4b;--text-faint: rgba(0, 0, 0, .5);--heading: #222222;--panel-bg: rgba(255, 255, 255, .62);--panel-border: rgba(0, 0, 0, .08);--panel-shadow: 0 18px 40px rgba(0, 0, 0, .1);--hairline: rgba(0, 0, 0, .1);color-scheme:light dark;color:#000;background-color:#efeeea;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;font-family:var(--font-body)}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.footer-container{position:fixed;width:100%;bottom:0;height:40px;padding:0}.footer-blur-background{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;background:#e6e4df4d;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(8px);z-index:0}.footer{position:relative;padding:0;z-index:1;color:#fff;height:40px;display:flex;align-items:flex-end;justify-content:space-between;margin:0;font-family:var(--font-body)}.footer p{margin:0;font-size:.9rem;padding:5px 15px;color:#000}.footer ul{list-style:none;padding:5px 15px;margin:0;display:flex;gap:.5rem}.footer-secret-button{position:absolute;right:20%;top:50%;transform:translateY(-50%);background:transparent;border:none;font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:#00000040;cursor:pointer;opacity:0;transition:opacity .4s ease,color .2s ease;display:inline-flex;pointer-events:none}body[data-active-section=contact] .footer-secret-button{display:inline-flex}.footer-secret-button:hover{color:#00000080}.footer-secret-button.is-visible{opacity:1;pointer-events:auto}.footer-secret-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#e6e4df8c;display:grid;place-items:center;z-index:2000}.footer-secret-card{position:relative;background:#ffffffe6;border-radius:18px;padding:2rem;border:1px solid rgba(0,0,0,.08);box-shadow:0 18px 40px #00000026;width:min(360px,90vw);display:grid;gap:1.2rem}.footer-secret-close{position:absolute;top:.6rem;right:.8rem;border:none;background:transparent;font-size:1.8rem;cursor:pointer}.footer-secret-title{font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;color:#0009;text-align:center}.footer-secret-keypad{display:grid;grid-template-columns:auto auto;gap:1rem;justify-items:center;justify-content:center;align-items:center}.keypad-dpad{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px);gap:.4rem;justify-content:center;align-content:center;justify-self:center;margin-left:auto;margin-right:auto}.keypad-dpad button{width:44px;height:44px;border-radius:10px;border:1px solid rgba(0,0,0,.2);background:#fffc;color:var(--accent);cursor:pointer;display:grid;place-items:center;padding:0}.keypad-key.is-correct{background:#1eb75a33;border-color:#1eb75acc;box-shadow:0 0 0 3px #1eb75a40;animation:keypad-flash .22s ease}.keypad-dpad svg{width:20px;height:20px;stroke:currentColor;stroke-width:2;fill:none;display:block}.keypad-dpad button:nth-child(1){grid-column:2;grid-row:1}.keypad-dpad button:nth-child(2){grid-column:1;grid-row:2}.keypad-dpad button:nth-child(3){grid-column:2;grid-row:3}.keypad-dpad button:nth-child(4){grid-column:3;grid-row:2}.keypad-buttons{display:grid;gap:.6rem}.keypad-buttons button{width:48px;height:48px;border-radius:999px;border:1px solid rgba(196,77,255,.5);color:var(--accent);background:#c44dff14;font-size:.95rem;cursor:pointer}@keyframes keypad-flash{0%{transform:scale(1)}40%{transform:scale(1.05)}to{transform:scale(1)}}.keypad-enter{border:1px solid rgba(0,0,0,.2);background:#111;color:#fff;padding:.7rem 1.2rem;border-radius:999px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;justify-self:center;transition:color .3s ease,background .3s ease,border-color .3s ease;position:relative;overflow:hidden;text-shadow:none;z-index:0;isolation:isolate}.keypad-enter:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#111;opacity:1;transition:opacity .5s ease;border-radius:inherit;z-index:0;pointer-events:none}.keypad-enter-label{position:relative;z-index:1}.keypad-enter.is-ready{background:repeating-linear-gradient(90deg,#ff4d4d,#ff9d00,#ffe600,#26d07c,#2f80ed,#8e44ad 83%,#ff4d4d);background-size:200% 100%;animation:keypad-rainbow-flow 3s linear infinite;border-color:#00000059;color:#111;text-shadow:0 0 10px rgba(255,255,255,.95),0 0 18px rgba(255,255,255,.65)}.keypad-enter.is-ready:before{opacity:0}@keyframes keypad-rainbow-flow{0%{background-position:0% 50%}to{background-position:-200% 50%}}.footer-arcade-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;display:grid;place-items:center;z-index:2600;opacity:0;pointer-events:none;transition:opacity 4s ease}.footer-arcade-stars{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:0;transition:opacity 1.2s ease}.footer-arcade-stars:before,.footer-arcade-stars:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-repeat:repeat;background-size:200px 200px;opacity:.5}.footer-arcade-stars:before{background-image:radial-gradient(circle at 20px 30px,rgba(255,255,255,.8) 0 1px,transparent 2px),radial-gradient(circle at 80px 120px,rgba(255,255,255,.6) 0 1px,transparent 2px),radial-gradient(circle at 140px 60px,rgba(255,255,255,.7) 0 1px,transparent 2px),radial-gradient(circle at 40px 170px,rgba(255,255,255,.5) 0 1px,transparent 2px);animation:star-flicker-a 3.2s infinite}.footer-arcade-stars:after{background-image:radial-gradient(circle at 60px 40px,rgba(255,255,255,.5) 0 1px,transparent 2px),radial-gradient(circle at 110px 150px,rgba(255,255,255,.7) 0 1px,transparent 2px),radial-gradient(circle at 170px 90px,rgba(255,255,255,.6) 0 1px,transparent 2px),radial-gradient(circle at 30px 100px,rgba(255,255,255,.4) 0 1px,transparent 2px);animation:star-flicker-b 4.1s infinite}@keyframes star-flicker-a{0%,to{opacity:.25}40%{opacity:.65}75%{opacity:.4}}@keyframes star-flicker-b{0%,to{opacity:.45}55%{opacity:.8}85%{opacity:.35}}.footer-arcade-modal.fade-to-black,.footer-arcade-modal.show-arcade,.footer-arcade-modal.fade-arcade,.footer-arcade-modal.fade-back{pointer-events:auto}.footer-arcade-modal.fade-to-black,.footer-arcade-modal.show-arcade,.footer-arcade-modal.fade-arcade{opacity:1}.footer-arcade-modal.fade-back{opacity:0;transition:opacity 1.2s ease}.footer-arcade-frame{position:relative;height:100vh;width:auto;aspect-ratio:16 / 9;background:url(/images/arcade.png) center/contain no-repeat;display:grid;place-items:center;opacity:0;transition:opacity 1.4s ease 3s;z-index:1}.footer-arcade-modal.show-arcade .footer-arcade-frame{opacity:1}.footer-arcade-modal.fade-to-black .footer-arcade-frame,.footer-arcade-modal.fade-arcade .footer-arcade-frame,.footer-arcade-modal.fade-back .footer-arcade-frame{opacity:0;transition:none}.footer-arcade-modal.show-arcade .footer-arcade-stars{opacity:1;transition:opacity 1.2s ease}.footer-arcade-modal.fade-to-black .footer-arcade-stars,.footer-arcade-modal.fade-arcade .footer-arcade-stars,.footer-arcade-modal.fade-back .footer-arcade-stars{opacity:0}.footer-arcade-close{position:absolute;top:12px;right:14px;border:none;background:transparent;width:34px;height:34px;border-radius:999px;font-size:1.6rem;cursor:pointer;color:var(--accent)}.footer-arcade-screen{width:130%;height:155%;margin-top:-14%;margin-left:.5%;border-radius:10px;overflow:hidden;box-shadow:0 12px 28px #00000040}.footer-arcade-viewport{width:100%;height:100%;overflow:hidden;transform:scale(.25);transform-origin:center}.footer-arcade-screen iframe{width:100%;height:100%;border:0}.footer li{display:inline-block}.footer svg{width:18px;height:18px;fill:#000;transition:fill .3s ease}.footer a:hover svg{fill:var(--accent)}.footer svg:hover{fill:#666}:root[data-theme=dark] .footer-blur-background{background:#0c0a1259}:root[data-theme=dark] .footer p{color:#f4f1ebb3}:root[data-theme=dark] .footer svg{fill:#f4f1ebb3}:root[data-theme=dark] .footer a:hover svg{fill:var(--accent-glow)}.about-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:2rem;font-family:var(--font-body)}.about-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;max-width:1200px;width:100%;height:100%;align-items:center}.about-text{max-width:520px}.about-text h2{font-size:2.2rem;margin-bottom:1rem;color:var(--heading);font-weight:600}.about-text p{font-size:.98rem;line-height:1.6;margin-bottom:.85rem;color:var(--text-soft)}.about-chips{list-style:none;display:flex;flex-wrap:wrap;gap:.55rem;margin:.4rem 0 0;padding:0}.about-chips li{font-size:.8rem;color:var(--text-soft);padding:.4rem .85rem;border:1px solid var(--panel-border);border-radius:999px;background:#ffffff08;white-space:nowrap}.brain-panel{position:relative;height:440px;border-radius:16px;overflow:hidden;background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow)}:root[data-theme=dark] .brain-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 45%,rgba(255,90,44,.18),rgba(255,90,44,.05) 40%,transparent 70%);pointer-events:none}.brain-caption{position:absolute;bottom:18px;right:20px;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint)}@media (max-width: 1024px){.about-layout{grid-template-columns:1fr;gap:2rem}.brain-panel{height:420px}.about-text{max-width:100%}}@media (max-width: 768px){.about-container{padding:1rem}.brain-panel{height:320px}.about-text h2{font-size:2rem}}@media (max-width: 480px){.about-layout{gap:1rem}.brain-panel{height:260px}.about-text h2{font-size:1.8rem}.about-text p{font-size:1rem}}.experience-container{width:100%;height:100%;padding:2.5rem 6vw;display:grid;grid-template-rows:auto 1fr;gap:1.6rem;font-family:var(--font-body);color:var(--text);min-height:0}.experience-header{display:grid;gap:.5rem}.experience-header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.experience-header h2{margin:0;font-size:2.4rem}.experience-header p{margin:0;color:var(--text-soft);font-size:1rem;max-width:640px}.experience-resume{text-decoration:none;color:var(--text);font-weight:600;font-size:.9rem;padding:.65rem 1.3rem;border-radius:999px;border:1px solid var(--panel-border);background:var(--panel-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .2s ease,border-color .2s ease,color .2s ease;white-space:nowrap}.experience-resume:hover{transform:translateY(-1px);border-color:var(--accent);color:var(--accent-glow)}.xp-timeline{position:relative;list-style:none;margin:0;padding:.4rem 0 .4rem 16px;display:grid;align-content:start;gap:.25rem;overflow-y:auto;scrollbar-width:thin;min-height:0}.xp-timeline:before{content:"";position:absolute;left:27px;top:1.6rem;bottom:1.6rem;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--accent),var(--cool));opacity:.5}.xp-item{position:relative;padding-left:40px}.xp-node{position:absolute;left:4px;top:1.25rem;width:16px;height:16px;border-radius:50%;border:2px solid var(--cool);background:var(--page-bg);transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;z-index:1}.xp-item.is-open .xp-node{border-color:var(--accent);background:var(--accent);box-shadow:0 0 14px var(--accent-soft)}.xp-item.is-current .xp-node{border-color:var(--accent-glow);background:var(--accent);animation:xp-pulse 2.2s ease-in-out infinite}@keyframes xp-pulse{0%,to{box-shadow:0 0 0 3px var(--accent-soft),0 0 12px var(--accent)}50%{box-shadow:0 0 0 7px #c44dff1f,0 0 22px var(--accent)}}.xp-head{width:100%;display:grid;gap:.45rem;padding:.85rem 1rem;text-align:left;background:transparent;border:1px solid transparent;border-radius:14px;cursor:pointer;color:inherit;font-family:inherit;transition:background .2s ease,border-color .2s ease}.xp-head:hover{background:var(--panel-bg)}.xp-item.is-open .xp-head{background:var(--panel-bg);border-color:var(--panel-border);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));box-shadow:var(--panel-shadow)}.xp-dates{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.04em;color:var(--text-faint);display:flex;align-items:center;gap:.6rem}.xp-badge{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-glow);border:1px solid var(--accent-soft);border-radius:999px;padding:.16rem .55rem;line-height:1}.xp-role{display:flex;align-items:center;gap:.85rem}.xp-logo{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;background:transparent}.xp-logo img{width:30px;height:30px;object-fit:contain;filter:brightness(0) saturate(100%) invert(78%) sepia(46%) saturate(1654%) hue-rotate(151deg) brightness(101%) contrast(101%)}:root[data-theme=light] .xp-logo img{filter:brightness(0) saturate(100%) invert(45%) sepia(82%) saturate(2624%) hue-rotate(341deg) brightness(101%) contrast(101%)}.xp-logo-initial{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--cool));color:#fff;font-family:var(--font-display);font-weight:700;font-size:1.15rem}.xp-titles{display:grid;gap:.12rem;flex:1;min-width:0}.xp-title{font-family:var(--font-display);font-size:1.05rem;color:var(--heading);line-height:1.25}.xp-company{font-size:.9rem;color:var(--text-soft)}.xp-chevron{color:var(--text-faint);display:grid;place-items:center;transition:transform .25s ease,color .25s ease}.xp-item.is-open .xp-chevron{transform:rotate(180deg);color:var(--accent-glow)}.xp-detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.xp-item.is-open .xp-detail{grid-template-rows:1fr}.xp-detail-inner{overflow:hidden;padding:0 1rem 0 calc(36px + 1.85rem)}.xp-bullets{margin:.5rem 0 1rem;padding:0;list-style:none;display:grid;gap:.5rem;color:var(--text-soft);font-size:.95rem;line-height:1.6}.xp-bullets li{position:relative;padding-left:1.1rem}.xp-bullets li:before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--accent)}.xp-note{margin:.5rem 0 1rem;color:var(--text-soft);font-style:italic}.xp-inline-link{border:none;background:transparent;color:var(--accent-glow);font:inherit;cursor:pointer;padding:0;text-decoration:underline;text-decoration-color:var(--accent-soft);text-underline-offset:3px}.xp-inline-link:hover{text-decoration-color:var(--accent-glow)}@media (max-width: 820px){.experience-container{padding:0}.experience-header h2{font-size:2rem}.xp-timeline{overflow-y:visible}.xp-head{padding:.8rem .75rem}.xp-detail-inner{padding-left:.75rem;padding-right:0}}.thesis-container{width:100%;height:100%;min-height:0;display:flex;align-items:center;justify-content:center;padding:1.5rem clamp(1.25rem,5vw,4rem);font-family:var(--font-body);color:var(--text)}.thesis-paper{width:100%;max-width:1180px;padding:clamp(1.3rem,2.4vw,2rem) clamp(1.4rem,3vw,2.6rem);background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:18px;box-shadow:var(--panel-shadow);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.thesis-head{padding-bottom:.9rem;border-bottom:1px solid var(--hairline)}.thesis-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}.thesis-class{color:var(--accent-glow);border:1px solid var(--accent-soft);padding:.24rem .6rem;border-radius:6px;white-space:nowrap}.thesis-venue{color:var(--text-faint)}.thesis-title{margin:.7rem 0 0;font-family:var(--font-display);font-size:clamp(1.3rem,2.3vw,1.85rem);line-height:1.2;letter-spacing:.005em;color:var(--heading);text-wrap:balance}.thesis-byline{margin:.65rem 0 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .7rem;font-size:.82rem;line-height:1.45}.thesis-author{font-family:var(--font-display);font-weight:700;color:var(--text);letter-spacing:.02em}.thesis-advisors{color:var(--text-faint);font-style:italic}.thesis-body{margin-top:1.1rem;display:grid;grid-template-columns:1.1fr .9fr;grid-template-areas:"abstract figure" "abstract meta";grid-template-rows:auto auto;gap:1rem clamp(1.4rem,2.6vw,2.4rem);align-items:start}.thesis-abstract{grid-area:abstract;display:grid;gap:.6rem;align-content:start;border-left:2px solid var(--accent-soft);padding-left:clamp(.85rem,1.4vw,1.15rem)}.thesis-abstract-text{margin:0;max-width:none;text-align:justify;-webkit-hyphens:auto;hyphens:auto;color:var(--text-soft);font-size:clamp(.74rem,.92vw,.82rem);line-height:1.5}.thesis-run-in{font-family:var(--font-display);font-weight:700;color:var(--accent-glow);letter-spacing:.03em;margin-right:.5rem}.thesis-figure{grid-area:figure;margin:0;min-width:0;display:grid;gap:.6rem;align-content:start}.thesis-plate{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:12px;border:1px solid var(--panel-border);background:var(--panel-bg);overflow:hidden}.thesis-plate-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;box-sizing:border-box;padding:10px;object-fit:contain;opacity:0;transition:opacity .45s ease;image-rendering:auto}.thesis-plate-img.is-active{opacity:1}.thesis-corner{position:absolute;width:14px;height:14px;border-color:var(--cool);border-style:solid;border-width:0;z-index:2;opacity:.85}.thesis-corner.tl{top:8px;left:8px;border-width:2px 0 0 2px}.thesis-corner.tr{top:8px;right:8px;border-width:2px 2px 0 0}.thesis-corner.bl{bottom:8px;left:8px;border-width:0 0 2px 2px}.thesis-corner.br{bottom:8px;right:8px;border-width:0 2px 2px 0}.thesis-figcaption{font-size:.8rem;line-height:1.5;color:var(--text-soft);font-style:italic}.thesis-fig-label{font-family:var(--font-display);font-style:normal;font-weight:700;color:var(--accent-glow)}.thesis-fig-name{font-style:normal;font-weight:700;letter-spacing:.05em;color:var(--heading)}.thesis-fig-desc{margin:0;max-width:none;font-size:.82rem;line-height:1.55;color:var(--text-soft)}.thesis-figure-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem 1rem}.thesis-pager{display:inline-flex;align-items:center;gap:.55rem}.thesis-pager-btn{width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid var(--panel-border);border-radius:8px;background:var(--panel-bg);color:var(--accent);cursor:pointer;transition:border-color .2s ease,color .2s ease,box-shadow .2s ease}.thesis-pager-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.thesis-pager-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-glow);box-shadow:0 0 12px var(--accent-soft)}.thesis-pager-btn:disabled{opacity:.35;color:var(--text-faint);cursor:default}.thesis-pager-count{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.1em;color:var(--text-faint);min-width:3.2ch;text-align:center}.thesis-repo{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text);text-decoration:none;border-bottom:1px dashed var(--panel-border);padding-bottom:2px;transition:color .2s ease,border-color .2s ease}.thesis-repo span{color:var(--accent)}.thesis-repo:hover{color:var(--accent-glow);border-bottom-color:var(--accent)}.thesis-meta-block{grid-area:meta;display:grid;gap:.7rem;align-content:start;padding-top:.2rem;border-top:1px solid var(--hairline)}.thesis-terms{margin:0;max-width:none;font-size:.78rem;line-height:1.5;color:var(--text-faint);font-style:italic}.thesis-run-in-sm{font-family:var(--font-mono);font-style:normal;text-transform:uppercase;font-size:.68rem;letter-spacing:.14em;color:var(--text-soft);margin-right:.4rem}.thesis-resources{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem}.thesis-ref{display:inline-flex;align-items:baseline;gap:.5rem;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em;color:var(--text);text-decoration:none;border-bottom:1px dashed transparent;padding-bottom:1px;transition:color .2s ease,border-color .2s ease}.thesis-ref-num{color:var(--accent);font-weight:700}.thesis-ref-ext{color:var(--text-faint);transition:transform .2s ease}.thesis-ref:hover{color:var(--accent-glow);border-bottom-color:var(--accent-soft)}.thesis-ref:hover .thesis-ref-ext{color:var(--accent-glow);transform:translate(1px,-1px)}:root[data-theme=dark] .thesis-title{text-shadow:0 0 24px rgba(196,77,255,.22)}:root[data-theme=dark] .thesis-run-in{text-shadow:0 0 14px rgba(219,123,255,.5)}:root[data-theme=dark] .thesis-corner{box-shadow:0 0 8px #2fd9ff73}:root[data-theme=light] .thesis-corner{border-color:var(--accent);opacity:.7}@media (max-width: 820px){.thesis-container{height:auto;padding:0}.thesis-paper{padding:1.3rem 1.2rem;border-radius:14px}.thesis-body{margin-top:1rem;grid-template-columns:1fr;grid-template-areas:"figure" "abstract" "meta";gap:1.2rem}.thesis-abstract{gap:.7rem}.thesis-abstract-text{font-size:.9rem;line-height:1.6;text-align:left}.thesis-meta{font-size:.62rem;letter-spacing:.14em}}@media (max-width: 600px){.thesis-title{font-size:1.35rem}.thesis-figure-foot{justify-content:flex-start}}.projects-page{position:relative;width:100%;height:100%;font-family:var(--font-body);overflow:hidden}.projects-header{position:absolute;top:8%;left:8%;z-index:3;display:grid;gap:.6rem;max-width:420px}.projects-eyebrow{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:#00000080}.projects-header h2{margin:0;font-size:2.4rem;color:var(--heading)}.projects-header p{margin:0;color:var(--text-soft);line-height:1.6}.projects-galaxy{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1}.projects-galaxy canvas{display:block;width:100%!important;height:100%!important;cursor:grab}:root[data-theme=dark] .projects-galaxy canvas{filter:drop-shadow(0 0 7px rgba(196,77,255,.32))}.projects-galaxy canvas:active{cursor:grabbing}.projects-galaxy-hint{position:absolute;bottom:8%;left:50%;transform:translate(-50%);z-index:3;font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--text-faint);pointer-events:none}.galaxy-label{font-family:var(--font-body);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;color:var(--text-soft);opacity:0;transform:translateY(-2px);transition:opacity .3s ease,transform .3s ease,color .3s ease;-webkit-user-select:none;user-select:none}:root[data-theme=dark] .galaxy-label{text-shadow:0 0 12px rgba(7,7,16,.9)}.galaxy-label.is-featured{color:var(--accent-glow);font-weight:600}.galaxy-label.is-visible{opacity:1;transform:translateY(0)}.projects-network{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1}.projects-network-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.projects-network-lines line{stroke:#0000002e;stroke-width:.8}.project-node{position:absolute;transform:translate(calc(-50% + var(--dx, 0px)),calc(-50% + var(--dy, 0px)));background:transparent;border:none;cursor:pointer;display:grid;justify-items:center;gap:.6rem;padding:0;z-index:2}.project-node:focus,.project-node:focus-visible{outline:none}.project-node{-webkit-tap-highlight-color:transparent}.project-node-core{width:58px;height:58px;background:#c44dff1f;border:1px solid rgba(196,77,255,.45);border-radius:999px;display:grid;place-items:center;color:var(--accent);transition:transform .2s ease,color .2s ease,background .2s ease,border-color .2s ease}.project-node:hover .project-node-core{transform:translateY(-2px) scale(1.06);color:var(--accent);background:#c44dff38;border-color:#c44dffb3}.project-node-core svg{width:28px;height:28px;stroke:currentColor;stroke-width:1.8;fill:none}.project-node-core img{width:28px;height:28px;display:block;filter:brightness(0) saturate(100%) invert(23%) sepia(67%) saturate(5199%) hue-rotate(4deg) brightness(94%) contrast(103%)}.project-node-label{font-family:var(--font-body);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:#000000b3;text-align:center;max-width:140px;opacity:1;transform:translateY(0);pointer-events:none}.shape-circle .project-node-core{border-radius:999px}.projects-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#14141473;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:1000;animation:projects-modal-fade-in .18s ease}.projects-modal[data-state=closed]{animation:projects-modal-fade-out .18s ease}@keyframes projects-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes projects-modal-fade-out{0%{opacity:1}to{opacity:0}}.projects-modal-card{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(860px,94vw);max-height:90vh;display:flex;flex-direction:column;padding:2.5rem;border-radius:22px;background:#ffffffeb;border:1px solid rgba(0,0,0,.08);box-shadow:0 25px 55px #00000040;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:1001;font-family:var(--font-body);font-weight:400;color:#1a1a1a;animation:projects-modal-card-in .22s cubic-bezier(.16,1,.3,1)}.projects-modal-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:.4rem}.projects-modal-actions{flex-shrink:0;margin-top:1.4rem;padding-top:1rem;border-top:1px solid rgba(0,0,0,.06)}.projects-modal-card[data-state=closed]{animation:projects-modal-card-out .18s ease}@keyframes projects-modal-card-in{0%{opacity:0;transform:translate(-50%,-48%) scale(.97)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes projects-modal-card-out{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-48%) scale(.97)}}.projects-modal-card:before{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border-radius:18px;border:1px dashed rgba(196,77,255,.25);pointer-events:none}.projects-modal-card h3{margin:0 0 1rem;font-size:1.8rem;color:#1a1a1a}.projects-modal-card p{margin:0 0 1.6rem;color:#000000b3;font-size:1rem;line-height:1.65}.projects-hint{margin:-.8rem 0 1.6rem;font-size:.8rem;font-family:Palatino Linotype,Book Antiqua,Palatino,serif;font-style:italic;color:#0000008c}.projects-media{display:grid;gap:.8rem;margin-bottom:1.6rem}.projects-media-frame{position:relative;border-radius:18px;overflow:hidden;border:none;background:transparent}.projects-media-frame img,.projects-media-frame iframe{width:100%;height:320px;border:0;display:block;object-fit:contain;background:transparent}.projects-media-image.is-small{height:240px}.projects-media-nav{position:absolute;top:50%;transform:translateY(-50%);border:none;background:#f3efe9;color:var(--accent);width:30px;height:30px;border-radius:999px;cursor:pointer;display:grid;place-items:center;box-shadow:none;padding:0}.projects-media-nav svg{width:20px;height:20px;stroke:currentColor;stroke-width:2;fill:none;display:block}.projects-media-nav.prev{left:10px}.projects-media-nav.next{right:10px}.projects-media-caption{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#0000008c}.projects-media-dots{display:flex;gap:6px}.projects-media-dots .dot{width:6px;height:6px;border-radius:999px;background:#0003}.projects-media-dots .dot.is-active{background:#c44dffb3}@media (max-width: 768px){.projects-media-frame img,.projects-media-frame iframe{height:240px}.projects-media-image.is-small{height:200px}}.projects-modal-close{position:absolute;top:1rem;right:1.2rem;z-index:2;background:transparent;border:none;font-size:2rem;color:#0009;cursor:pointer;pointer-events:auto}.projects-link{display:inline-flex;align-self:flex-start;align-items:center;justify-content:center;box-sizing:border-box;width:fit-content;max-width:100%;padding:.7rem 1.4rem;border-radius:999px;background:#111;color:#fff;text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;line-height:1.4;text-decoration:none;white-space:normal;overflow-wrap:anywhere;word-break:break-word;text-align:center}@media (max-width: 480px){.projects-link{font-size:.62rem;letter-spacing:.12em;padding:.65rem 1.1rem}}.projects-link.is-disabled{background:#0000001f;color:#00000073;cursor:default}:root[data-theme=dark] .projects-modal-card{background:#100a1cf2;border-color:var(--panel-border);color:var(--text)}:root[data-theme=dark] .projects-modal-card h3{color:var(--heading)}:root[data-theme=dark] .projects-modal-card p{color:var(--text-soft)}:root[data-theme=dark] .projects-modal-actions{border-top-color:var(--hairline)}:root[data-theme=dark] .projects-hint{color:var(--text-faint)}:root[data-theme=dark] .projects-media-caption{color:var(--text-faint)}:root[data-theme=dark] .projects-modal-close{color:var(--text-soft)}:root[data-theme=dark] .projects-media-nav{background:#2c1e42eb}:root[data-theme=dark] .projects-media-dots .dot{background:#f4f1eb33}:root[data-theme=dark] .projects-link.is-disabled{background:#f4f1eb14;color:var(--text-faint)}@media (max-width: 768px){.projects-header{top:6%;left:6%;right:6%}.project-node-core{width:48px;height:48px}.project-node-label{font-size:.6rem}.projects-modal-card{padding:2rem}.projects-modal-card h3{font-size:1.5rem}}*{padding:0;margin:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}*:focus,*:focus-visible{outline:none}button:focus,button:focus-visible,button:active,a:focus,a:focus-visible,a:active,input:focus,input:focus-visible,textarea:focus,textarea:focus-visible,select:focus,select:focus-visible{outline:none;box-shadow:none}html,body,#root{width:100%;height:100vh;margin:0;padding:0;background:var(--page-bg);color:var(--text);overflow:hidden;transition:background .5s ease,color .5s ease}body{margin:0;padding:0;width:100%;height:100vh;overflow:hidden}.App{width:100%;height:100vh;overflow:hidden;scroll-behavior:smooth;position:relative}h1{position:fixed;top:50%;left:2rem;transform:rotate(-90deg) translate(50%);transform-origin:right center;z-index:1000;font-size:2rem;text-align:center;font-family:StarlightRune,sans-serif}@font-face{font-family:StarlightRune;src:url(/fonts/StarlightRune.ttf) format("truetype")}@font-face{font-family:Metropolis;src:url(/fonts/Metropolis-Regular.otf) format("opentype")}@font-face{font-family:Space Mono;src:url(/fonts/SpaceMono-Regular.ttf) format("truetype")}.side-nav{position:fixed;top:50%;right:16px;transform:translateY(-50%);z-index:1200;display:flex;align-items:center;gap:8px;flex-direction:row-reverse;opacity:0;pointer-events:none;transition:opacity .25s ease}.side-nav.is-visible{opacity:1;pointer-events:auto}.side-nav-list{list-style:none;display:flex;flex-direction:column;gap:8px;align-items:flex-end;margin:0;padding:6px 4px;background:transparent;border-radius:999px}.side-nav-button{display:flex;align-items:center;gap:6px;flex-direction:row-reverse;background:transparent;border:none;cursor:pointer;font-family:var(--font-body);padding:4px 6px;color:var(--text);text-align:right}.side-nav-dot{width:6px;height:12px;border-radius:4px;border:1px solid var(--text-faint);background:transparent;transition:transform .2s ease,background .2s ease,border-color .2s ease}.side-nav-label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-soft);opacity:0;transform:translate(-6px);transition:opacity .2s ease,transform .2s ease;white-space:nowrap}.side-nav-button:hover .side-nav-label,.side-nav-button.is-active .side-nav-label{opacity:1;transform:translate(0)}.side-nav-button.is-active{font-weight:600}.side-nav-button.is-active .side-nav-label{color:var(--heading)}.side-nav-button.is-active .side-nav-dot{background:var(--accent);border-color:var(--accent);transform:scale(1.1)}@media (max-width: 768px){.side-nav{right:10px}}@media (max-width: 480px){.side-nav{right:8px}.side-nav-label{display:none}}.sections-container{position:relative;z-index:1;width:100%;height:100vh}.section{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100vh;padding:2rem;display:flex;flex-direction:column;justify-content:center;overflow:hidden;transform:translateY(100%);visibility:hidden;transition:transform .7s cubic-bezier(.66,0,.34,1),visibility 0s linear .7s;z-index:1}.section.is-active{transform:translateY(0);visibility:visible;pointer-events:auto;z-index:2;transition:transform .7s cubic-bezier(.66,0,.34,1),visibility 0s linear 0s}.section.is-above{transform:translateY(-100%);pointer-events:none}.section.is-below{transform:translateY(100%);pointer-events:none}.hero{padding:0;height:100vh}.about,.experience,.thesis,.projects,.contact{background:transparent}.space-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .6s ease}.space-bg.is-visible{opacity:1}.space-bg canvas{width:100%!important;height:100%!important;display:block}h2{font-family:var(--font-display);font-size:3rem;margin-bottom:2rem;letter-spacing:-.02em}p{font-family:var(--font-body);font-size:1.2rem;line-height:1.6;max-width:800px;margin:0 auto}.hero>div{width:100%;height:100vh}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:7vh;gap:1.7rem}.hero-role{margin:0;font-family:var(--font-body);font-size:.98rem;letter-spacing:.03em;color:var(--text-soft);display:flex;align-items:center;gap:.75rem;max-width:none}.hero-role span{color:var(--accent-glow)}.hero-scroll{display:flex;flex-direction:column;align-items:center;gap:.55rem;font-size:.72rem;letter-spacing:.16em;color:var(--text-faint)}.hero-scroll-line{width:1px;height:34px;background:linear-gradient(var(--text-faint),transparent);animation:heroScroll 1.9s ease-in-out infinite}@keyframes heroScroll{0%,to{opacity:.3;transform:scaleY(.55);transform-origin:top}50%{opacity:1;transform:scaleY(1);transform-origin:top}}input,textarea{width:90%;background:transparent;border:1px solid #000;padding:.5rem;margin-bottom:1rem;font-family:var(--font-body);transition:all .3s ease;color:#000!important}input:focus,textarea:focus{outline:none;border-color:var(--accent);color:var(--accent)}button[type=submit]{border:1px solid #000;background:#000;color:#fff;padding:1rem;font-size:1.2rem;cursor:pointer;transition:all .3s ease}button[type=submit]:hover{background:#444;color:#fff}.contact form{max-width:800px;margin:0 auto;padding:2rem;height:100%;width:90%}.section.contact{display:flex;align-items:center;justify-content:center;padding:2rem;height:100vh;position:relative;overflow:hidden}.contact-form-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:relative}.contact-form,.contact-success-message{max-width:800px;width:100%;padding:2rem;visibility:visible;opacity:1}.fade-out{animation:fadeOut .3s ease forwards}.fade-in{animation:fadeIn .3s ease forwards}.contact-success-message{text-align:center}.contact-success-message h2{margin-bottom:1rem;font-size:2.5rem}.contact-success-message p{font-size:1.2rem}@keyframes fadeIn{0%{opacity:0;visibility:hidden;transform:translateY(-30%)}to{opacity:1;visibility:visible;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;visibility:visible;transform:translateY(0)}to{opacity:0;visibility:hidden;transform:translateY(-20%)}}.contact-content{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;width:100%;height:100%}.contact-shell{width:min(900px,92vw);display:grid;gap:1.5rem;z-index:2}.contact-header{display:grid;gap:.75rem}.contact-eyebrow{font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:#0000008c}.contact-header h2{margin:0;font-size:2.6rem;color:#1e1e1e}.contact-header p{margin:0;font-size:1.05rem;color:#0009}.contact-card{position:relative;padding:2rem;border-radius:20px;background:#ffffffb3;border:1px solid rgba(0,0,0,.08);box-shadow:0 20px 45px #0000001a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.contact-card:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border-radius:16px;border:1px dashed rgba(196,77,255,.2);pointer-events:none}.contact-form-modern{display:flex;flex-direction:column;gap:1.5rem;width:100%;transition:opacity .3s ease,transform .3s ease}.contact-form--blocked{opacity:.5;pointer-events:none}.contact-form--resetting{opacity:.2;transform:translateY(12px)}.contact-toast{position:absolute;top:-12px;right:0;background:#111111e6;color:#fff;padding:.45rem .9rem;border-radius:999px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;opacity:0;transform:translateY(6px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}.contact-toast.is-visible{opacity:1;transform:translateY(0)}.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.contact-field{display:flex;flex-direction:column;gap:.6rem;font-family:var(--font-body)}.contact-field span{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:#0000008c}.contact-limit{margin-top:.35rem;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#c44dffcc}.contact-field input,.contact-field textarea{width:100%;border-radius:12px;border:1px solid rgba(0,0,0,.2);padding:.85rem .9rem;background:#ffffffd9;color:#111!important;font-size:.95rem;transition:border-color .2s ease,box-shadow .2s ease,opacity .3s ease,color .3s ease,transform .3s ease}.contact-field textarea{min-height:140px;resize:vertical}.contact-field input:focus,.contact-field textarea:focus{outline:none;border-color:#c44dffb3;box-shadow:0 0 0 3px #c44dff26}.contact-field--full{grid-column:1 / -1}.contact-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.contact-actions button{border-radius:999px;border:1px solid #111;background:#111;color:#fff;padding:.85rem 1.6rem;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease}.contact-actions button:hover{transform:translateY(-1px);background:#2a2a2a;border-color:#2a2a2a}.contact-actions button:disabled{cursor:not-allowed;opacity:.6}.contact-hint{font-size:.78rem;color:#00000080;letter-spacing:.04em}.contact-error{font-size:.85rem;color:#b31212}.contact-footer{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:#00000073}@media (max-width: 768px){.contact-header h2{font-size:2rem}.contact-card{padding:1.5rem}.contact-form-grid{grid-template-columns:1fr}.contact-actions{flex-direction:column;align-items:flex-start}}@media (max-width: 480px){.contact-card{padding:1.25rem}}.wireframe-envelope{position:absolute;width:100%;height:100%;z-index:0;pointer-events:none}.about-content{max-width:1400px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:100%;gap:3rem}.about-text{flex:1;display:flex;flex-direction:column;gap:1.5rem;max-width:500px}.about-text h2{font-size:2.5rem;margin-bottom:1rem;color:#333}.about-text p{font-size:1.1rem;line-height:1.6;color:#555;margin-bottom:1rem}.about-text ul{list-style:none;padding:0;margin:1rem 0}.about-text li{font-size:1rem;line-height:1.5;color:#555;margin-bottom:.5rem;padding-left:1.5rem;position:relative}.about-text li:before{content:"•";color:var(--accent);font-weight:700;position:absolute;left:0}.about-graph{flex:1;height:600px;border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0000001a}@media (max-width: 768px){.about-content{flex-direction:column;padding:1rem;gap:2rem;justify-content:center}.about-text{max-width:100%;text-align:center}.about-text h2{font-size:2rem}.about-text p{font-size:1rem;line-height:1.5}.about-graph{height:400px;width:100%}}.popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#ffffffb3;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:center;z-index:1000;width:100vw;height:100vh}.popup-content{background:#ff7070a6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:3rem;border-radius:8px;max-width:90vw;min-width:90vw;width:90vw;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 32px #0003;border:1px solid rgba(255,255,255,.2)}.popup-content h2{margin-bottom:2rem;font-family:Space Mono,monospace;font-size:2.5rem}.popup-content p{margin-bottom:1.5rem;font-family:Space Mono,monospace;line-height:1.8;font-size:1.2rem;max-width:100%;margin-left:auto;margin-right:auto}.close-button{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;font-size:2rem;cursor:pointer;padding:.5rem;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .3s}.close-button:hover{background-color:#0000001a}.step-enter{opacity:0;transform:translate(100%)}.step-enter-active{opacity:1;transform:translate(0);transition:all .3s ease-in-out}.step-exit{opacity:1;transform:translate(0)}.step-exit-active{opacity:0;transform:translate(-100%);transition:all .3s ease-in-out}.form-step{position:relative;width:100%;display:flex;flex-direction:column;margin-bottom:10px}.contact-form{overflow:hidden;display:flex;flex-direction:column;height:auto;min-height:250px;justify-content:flex-start;width:800px;padding:2rem}.button-container{margin-top:20px;z-index:2;padding-top:10px;background:transparent;position:relative}.form-step label{font-size:1.5rem;font-weight:500;margin-bottom:1rem;display:block;font-family:var(--font-body);white-space:pre-line}.fill-in-blank-container{position:relative;padding-bottom:.5rem;margin-bottom:10px}.fill-in-blank-textarea{width:73%;background:transparent;border:1px solid #000;margin-bottom:0;font-family:var(--font-body);resize:none;line-height:1.6;transition:all .3s ease;min-height:150px;color:#000!important}.fill-in-blank-textarea:focus{outline:none;border-color:var(--accent)}.fill-in-blank-input{width:73%;background:transparent;border:none;border-bottom:1px solid #000;padding:.5rem 0;margin-bottom:0;font-family:var(--font-body);font-size:1.2rem;transition:all .3s ease;color:#000!important}.fill-in-blank-input:focus{outline:none;border-color:var(--accent);color:var(--accent)}.simple-form-container{max-width:500px;margin:0 auto;padding:20px;font-family:var(--font-body)}.step-container{display:flex;flex-direction:column;gap:20px}.step-container h3{font-size:1.5rem;margin-bottom:10px}.form-input{width:80%;padding:10px 0;font-size:16px;border:none;border-bottom:1px solid #000;background:transparent;margin-bottom:20px}textarea.form-input{min-height:150px;resize:vertical}.form-buttons{color:#000;display:flex;justify-content:space-between;gap:10px;margin-top:10px}.form-buttons button{color:#000;flex:1;padding:10px;border:1px solid #000;background:transparent;cursor:pointer;font-family:inherit;transition:all .3s}.fixed-height-container{width:800px}.form-buttons button:hover{color:#000;background:#0000000d}.thank-you-message{text-align:center;padding:40px 20px}.thank-you-message h2{font-size:2rem;margin-bottom:10px}.hidden{visibility:hidden;opacity:0;position:absolute;pointer-events:none}.galaxy-label,.experience-tab-dates,.experience-dates,.thesis-card-title,.thesis-media-card figcaption,.thesis-card-meta,.thesis-card-links a,.thesis-link,.contact-field span,.contact-footer,.contact-limit,.side-nav-label{text-transform:none;letter-spacing:.01em}.theme-toggle{position:fixed;top:22px;right:22px;z-index:1400;border:none;background:transparent;padding:0;cursor:pointer}.theme-toggle-track{display:inline-flex;align-items:center;width:58px;height:30px;padding:3px;border-radius:999px;background:var(--panel-bg);border:1px solid var(--panel-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .3s ease,border-color .3s ease}.theme-toggle-thumb{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;transform:translate(0);transition:transform .35s cubic-bezier(.34,1.56,.64,1),background .3s ease;box-shadow:0 0 16px #ff5a2c80}:root[data-theme=dark] .theme-toggle-thumb{transform:translate(28px)}.theme-toggle-thumb svg{width:15px;height:15px}.theme-toggle:hover .theme-toggle-thumb{box-shadow:0 0 22px #ff5a2cbf}.theme-toggle:focus-visible .theme-toggle-track{outline:2px solid var(--accent-glow);outline-offset:3px}.theme-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;pointer-events:none;opacity:0;background:var(--page-bg)}.theme-veil.is-active{animation:themeVeil .7s ease}@keyframes themeVeil{0%{opacity:0}45%{opacity:.92}to{opacity:0}}@media (prefers-reduced-motion: reduce){.theme-veil.is-active{animation:none}}.experience-container,.thesis-container,.about-container,.projects-page,.contact-content{color:var(--text)}.about-text h2,.experience-header h2,.thesis-copy h2,.projects-header h2,.contact-header h2,.experience-title,.experience-tab-title,.thesis-card-title{color:var(--heading)}.about-text p,.experience-header p,.experience-company,.experience-tab-company,.experience-bullets,.thesis-copy p,.thesis-authors,.thesis-media-body p,.contact-header p{color:var(--text-soft)}.experience-dates,.experience-tab-dates,.thesis-card-meta,.thesis-media-card figcaption,.contact-field span,.contact-footer,.contact-hint{color:var(--text-faint)}.about-text,.thesis-copy,.experience-resume,.experience-body,.thesis-media-card,.contact-card,.projects-header{background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.about-text,.thesis-copy{padding:1.7rem 2rem;border-radius:18px}.projects-header{padding:.9rem 1.4rem;border-radius:14px}.experience-logo,.experience-tab-logo{mix-blend-mode:normal;background:#f4f1eb;border-radius:8px;padding:3px}.contact-field input,.contact-field textarea{background:var(--panel-bg);border-color:var(--panel-border);color:var(--text)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--text-faint)}.contact-actions button{background:var(--accent);border-color:var(--accent);color:#fff}.contact-actions button:hover{background:var(--accent-glow);border-color:var(--accent-glow)}.wireframe-tower-canvas.is-dark{filter:drop-shadow(0 0 10px rgba(196,77,255,.18))}:root[data-theme=dark] .App:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:60;background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.26) 0px,rgba(0,0,0,.26) 1px,transparent 1px,transparent 3px),repeating-linear-gradient(90deg,rgba(255,0,170,.05) 0px,rgba(0,225,255,.05) 1px,transparent 1px,transparent 3px);background-size:100% 3px,3px 100%;opacity:.45;mix-blend-mode:multiply;animation:crtFlicker 2.4s steps(60) infinite}:root[data-theme=dark] canvas{image-rendering:pixelated;image-rendering:crisp-edges}:root[data-theme=dark] .sections-container{filter:url(#crtBarrel)}img,video,iframe{image-rendering:auto}:root[data-theme=dark] .App:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:59;background:linear-gradient(#c896ff00,#c896ff0f,#c896ff00),radial-gradient(135% 135% at 50% 50%,transparent 42%,rgba(0,0,0,.85) 100%);background-size:100% 38%,100% 100%;background-repeat:no-repeat;box-shadow:inset 0 0 220px #000000d9;border-radius:18px;animation:crtRoll 4.5s linear infinite}@keyframes crtFlicker{0%,to{opacity:.55}48%{opacity:.5}50%{opacity:.64}52%{opacity:.5}}@keyframes crtRoll{0%{background-position:0 -50%,0 0}to{background-position:0 150%,0 0}}:root[data-theme=dark] .about-text h2,:root[data-theme=dark] .experience-header h2,:root[data-theme=dark] .thesis-copy h2,:root[data-theme=dark] .projects-header h2,:root[data-theme=dark] .contact-header h2{text-shadow:-1.5px 0 rgba(255,0,170,.5),1.5px 0 rgba(0,225,255,.5);letter-spacing:.01em}:root[data-theme=dark] .experience-logo,:root[data-theme=dark] .experience-tab-logo{background:transparent;padding:0;filter:grayscale(1) brightness(1.45) sepia(1) hue-rotate(238deg) saturate(3.4)}:root[data-theme=dark] .space-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(60% 55% at 16% 20%,rgba(196,77,255,.16),transparent 70%),radial-gradient(55% 50% at 84% 80%,rgba(47,217,255,.12),transparent 70%),radial-gradient(50% 45% at 62% 48%,rgba(217,77,255,.08),transparent 72%);mix-blend-mode:screen}@media (prefers-reduced-motion: reduce){html,body,#root,.sections-container,.section,.theme-toggle-thumb{transition:none!important}:root[data-theme=dark] .App:before{animation:none}}@media (max-width: 820px){html,body,#root{height:100%;min-height:0;overflow:hidden}body{display:block}.App{height:100dvh;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:y mandatory;scroll-behavior:smooth;overscroll-behavior-y:contain}.sections-container{transform:none!important;height:auto;transition:none}.section{position:relative;inset:auto;height:auto;min-height:100vh;min-height:100dvh;padding:5.5rem 1.15rem 4rem;overflow:hidden;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important;scroll-snap-align:start;scroll-snap-stop:always}:root[data-theme=dark] .sections-container,:root[data-theme=dark] .section,:root[data-theme=dark] .space-bg canvas{filter:none!important}:root[data-theme=dark] .about-text h2,:root[data-theme=dark] .experience-header h2,:root[data-theme=dark] .thesis-title,:root[data-theme=dark] .projects-header h2,:root[data-theme=dark] .contact-header h2{text-shadow:none}.section canvas,.hero-canvas,.projects-galaxy canvas{touch-action:pan-y!important}.hero{min-height:100vh;min-height:100dvh;padding:0}.hero-overlay{padding-bottom:9vh;gap:1rem}.hero-role{flex-wrap:wrap;justify-content:center;text-align:center;padding:0 1rem}.about-container{height:auto;padding:0}.about-layout{grid-template-columns:1fr;gap:1.4rem;height:auto}.about-text{max-width:100%}.brain-panel{height:300px}.experience-container{height:auto;padding:0}.thesis-container{height:auto}.projects-page{height:auto;position:relative}.projects-header{position:static;max-width:100%;margin-bottom:1rem}.projects-galaxy{position:relative;inset:auto;width:100%;height:56vh;border-radius:16px;overflow:hidden;border:1px solid var(--panel-border)}.contact-content{height:auto}.contact-shell{width:100%}.footer-container{position:static;height:auto;scroll-snap-align:start}}
