*,*:before,*:after{box-sizing:border-box}@font-face{font-family:Agbalumo-Regular;src:url(/fonts/Agbalumo-Regular.woff2) format("woff2"),url(/fonts/Agbalumo-Regular.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}:root{font-family:Agbalumo-Regular;font-size:1em;--color1: #272946;--color2: #aaea6c;--color3: #e7ffee;--color4: #3f416c}body,html{height:100vh;margin:0;display:flex;justify-content:center;align-items:center;background-color:var(--color1);overflow-x:hidden}#stars{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:0;background:#000;display:block;pointer-events:none}#game{position:relative;z-index:1;background:transparent}canvas#game{background:transparent!important}#ui{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.contact-form-overlay{position:fixed!important;top:18vh;right:3vw;width:min(480px,92vw);pointer-events:none;opacity:0;transform:translateY(12px);transform-origin:top right;transition:opacity .25s ease,transform .25s ease;z-index:2147483646}.contact-form-overlay.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.contact-form-card{width:100%;background:#0f1020;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px 22px;box-shadow:0 18px 42px #0000008c,0 0 0 1px #ffffff0a;color:#f6f6ff;font-family:Agbalumo-Regular,Inter,system-ui,-apple-system,sans-serif}.contact-form-title{margin:0 0 4px;font-size:1.6rem;color:#aaea6c}.contact-form-subtitle{margin:0 0 16px;font-size:.95rem;color:#d7d7e8}.contact-form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-size:.95rem;color:#eaeaff}.contact-form-field input,.contact-form-field textarea{width:100%;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:#141428bf;color:#f6f6ff;padding:10px 12px;outline:none;font-size:.95rem;box-shadow:inset 0 1px 2px #00000059}.contact-form-field input:focus,.contact-form-field textarea:focus{border-color:#aaea6c;box-shadow:0 0 0 2px #aaea6c38}.contact-form-field textarea{resize:vertical;min-height:140px}.contact-form-actions{display:flex;align-items:center;gap:10px;margin-top:6px}.contact-form-submit{background:#aaea6c;color:#0f1020;border:none;border-radius:12px;padding:10px 16px;font-weight:700;cursor:pointer;transition:transform .14s ease,box-shadow .16s ease,filter .16s ease;box-shadow:0 8px 18px #aaea6c47}.contact-form-submit:hover{transform:translateY(-1px);filter:brightness(1.03)}.contact-form-submit:active{transform:translateY(0);box-shadow:0 4px 10px #aaea6c40}.contact-form-hint{font-size:.82rem;color:#c6c6d8}@media (max-width: 900px){.contact-form-overlay{position:fixed!important;top:12vh;right:4vw;width:min(520px,94vw)}}.section-card{transition:opacity .4s ease}.section-card.fade{opacity:.35}.modal-open #resume-btn,.modal-open #schedule-btn,.modal-open .footer-heart{filter:blur(3px);opacity:.4;pointer-events:none}.modal{display:flex;justify-content:center;align-items:center;position:fixed;top:0;z-index:1;width:100%;height:100%;overflow:hidden;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:auto}.modal-content{background-color:#2b2b2b;border-color:#fff;border-style:solid;margin:15% auto;border-radius:5px;padding:20px;max-width:min(90vw,500px);overflow:auto}.modal-btn-container{display:flex;flex-direction:column}.modal-btn{font:inherit;font-size:1.5rem;margin-top:1vh;min-height:5vh;max-height:10vh;background-color:#1a1a1a;border-color:var(--color2);border-radius:5px;color:var(--color2);border-width:1px;border-style:solid}.modal-btn:active{background-color:#3a3a3a}.modal-content>h1,span,p{color:#fff}.modal-link{color:var(--color2)}.modal-content>p{font-family:inherit;font-size:1.2rem}.camera-controller{display:flex;position:fixed;top:5vh;right:5vw;z-index:1;gap:1vh;pointer-events:auto}.camera-controller-btn{color:var(--color2);background-color:var(--color1);border:2px solid #d8ff9e;border-radius:12px;font-size:2rem;width:12vw;opacity:.8}.camera-controller-btn:active{opacity:1}.controls-message{position:fixed;color:#fff;top:3vh;left:3.3vw;opacity:.25;font-size:1.4rem;max-width:40vw;-webkit-user-select:none;user-select:none;font-family:inherit;text-shadow:0 2px 4px rgba(0,0,0,.45)}.music-toggle{position:fixed;left:3.3vw;top:13vh;z-index:8;pointer-events:auto;-webkit-user-select:none;user-select:none}@media (max-width: 700px){.music-toggle{top:11vh;left:4vw;transform:scale(.9)}}.neon-switch{--switch-hue: 223;--switch-off-hue: 3;--switch-on-hue1: 123;--switch-on-hue2: 168;--switch-fg: hsl(var(--switch-hue), 10%, 90%);--switch-primary: hsl(var(--switch-hue), 90%, 50%);--switch-trans-dur: .6s;--switch-trans-timing: cubic-bezier(.65, 0, .35, 1);display:block;position:relative;width:5em;height:3em;font-size:16px}.neon-switch,.neon-switch__input{-webkit-tap-highlight-color:transparent}.neon-switch__base-outer,.neon-switch__base-inner{display:block;position:absolute}.neon-switch__base-outer{border-radius:1.25em;box-shadow:-.125em -.125em .25em hsl(var(--switch-hue),10%,30%),.125em .125em .125em hsl(var(--switch-hue),10%,30%) inset,.125em .125em .25em #000,-.125em -.125em .125em hsl(var(--switch-hue),10%,5%) inset;top:.125em;left:.125em;width:4.75em;height:2.75em}.neon-switch__base-inner{border-radius:1.125em;box-shadow:-.25em -.25em .25em hsl(var(--switch-hue),10%,30%) inset,.0625em .0625em .125em hsla(var(--switch-hue),10%,30%),.125em .25em .25em hsl(var(--switch-hue),10%,5%) inset,-.0625em -.0625em .125em hsla(var(--switch-hue),10%,5%);top:.375em;left:.375em;width:4.25em;height:2.25em}.neon-switch__base-neon{display:block;overflow:visible;position:absolute;top:0;left:0;width:100%;height:auto}.neon-switch__base-neon path{stroke-dasharray:0 104.26 0;transition:stroke-dasharray var(--switch-trans-dur) var(--switch-trans-timing)}.neon-switch__input{outline:transparent;position:relative;width:100%;height:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}.neon-switch__input:before{border-radius:.125em;box-shadow:0 0 0 .125em hsla(var(--switch-hue),90%,50%,0);content:"";display:block;position:absolute;top:-.125em;right:-.125em;bottom:-.125em;left:-.125em;transition:box-shadow .15s linear}.neon-switch__input:focus-visible:before{box-shadow:0 0 0 .125em var(--switch-primary)}.neon-switch__knob,.neon-switch__knob-container{border-radius:1em;display:block;position:absolute}.neon-switch__knob{background-color:hsl(var(--switch-hue),10%,15%);background-image:radial-gradient(88% 88% at 50% 50%,hsl(var(--switch-hue),10%,20%) 47%,hsla(var(--switch-hue),10%,20%,0) 50%),radial-gradient(88% 88% at 47% 47%,hsl(var(--switch-hue),10%,85%) 45%,hsla(var(--switch-hue),10%,85%,0) 50%),radial-gradient(65% 70% at 40% 60%,hsl(var(--switch-hue),10%,20%) 46%,hsla(var(--switch-hue),10%,20%,0) 50%);box-shadow:-.0625em -.0625em .0625em hsl(var(--switch-hue),10%,15%) inset,-.125em -.125em .0625em hsl(var(--switch-hue),10%,5%) inset,.75em .25em .125em #000c;width:2em;height:2em;transition:transform var(--switch-trans-dur) var(--switch-trans-timing)}.neon-switch__knob-container{overflow:hidden;top:.5em;left:.5em;width:4em;height:2em}.neon-switch__knob-neon{display:block;width:2em;height:auto}.neon-switch__knob-neon circle{opacity:0;stroke-dasharray:0 90.32 0 54.19;transition:opacity var(--switch-trans-dur) steps(1,end),stroke-dasharray var(--switch-trans-dur) var(--switch-trans-timing)}.neon-switch__knob-shadow{border-radius:50%;box-shadow:.125em .125em .125em #000000e6;display:block;position:absolute;top:.5em;left:.5em;width:2em;height:2em;transition:transform var(--switch-trans-dur) var(--switch-trans-timing)}.neon-switch__led{background-color:hsl(var(--switch-off-hue),90%,70%);border-radius:50%;box-shadow:0 -.0625em .0625em hsl(var(--switch-off-hue),90%,40%) inset,0 0 .125em hsla(var(--switch-off-hue),90%,70%,.3),0 0 .125em hsla(var(--switch-off-hue),90%,70%,.3),.125em .125em .125em #00000080;display:block;position:absolute;top:0;left:0;width:.25em;height:.25em;transition:background-color var(--switch-trans-dur) var(--switch-trans-timing),box-shadow var(--switch-trans-dur) var(--switch-trans-timing)}.neon-switch__text{overflow:hidden;position:absolute;width:1px;height:1px}.neon-switch__input:checked~.neon-switch__led{background-color:hsl(var(--switch-on-hue1),90%,70%);box-shadow:0 -.0625em .0625em hsl(var(--switch-on-hue1),90%,40%) inset,0 -.125em .125em hsla(var(--switch-on-hue1),90%,70%,.3),0 .125em .125em hsla(var(--switch-on-hue1),90%,70%,.3),.125em .125em .125em #00000080}.neon-switch__input:checked~.neon-switch__base-neon path{stroke-dasharray:52.13 0 52.13}.neon-switch__input:checked~.neon-switch__knob-shadow,.neon-switch__input:checked~.neon-switch__knob-container .neon-switch__knob{transform:translate(100%)}.neon-switch__input:checked~.neon-switch__knob-container .neon-switch__knob-neon circle{opacity:1;stroke-dasharray:45.16 0 45.16 54.19;transition-timing-function:steps(1,start),var(--switch-trans-timing)}.music-toggle__status{margin-top:6px;color:#aaea6c;font-family:Agbalumo-Regular;font-size:.95rem;opacity:0;animation:fadeStatus 1.4s ease-in-out forwards}@keyframes fadeStatus{0%{opacity:0;transform:translateY(2px)}15%{opacity:1;transform:translateY(0)}70%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-2px)}}button{border:2px solid #fff;background:#111118;color:#4caf50;border-radius:12px;box-shadow:0 0 0 2px #fff3;transition:border-color .2s,box-shadow .2s}.footer-heart{position:fixed;left:0;bottom:0;margin:0;padding:1em 2em;text-align:left;font-family:Agbalumo-Regular;background:transparent;z-index:100}.footer-heart a{border-bottom:1px solid #aaea6c;color:#fff;padding-bottom:.25em;text-decoration:none}.footer-heart a:hover{color:#aaea6c;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg id='squiggle-link' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:ev='http://www.w3.org/2001/xml-events' viewBox='0 0 20 4'%3E%3Cstyle type='text/css'%3E.squiggle{animation:shift .3s linear infinite;}@keyframes shift {from {transform:translateX(0);}to {transform:translateX(-20px);}}%3C/style%3E%3Cpath fill='none' stroke='%23453886' stroke-width='2' class='squiggle' d='M0,3.5 c 5,0,5,-3,10,-3 s 5,3,10,3 c 5,0,5,-3,10,-3 s 5,3,10,3'/%3E%3C/svg%3E");background-position:bottom;background-repeat:repeat-x;background-size:20%;border-bottom:0;padding-bottom:.3em;text-decoration:none}.emoji{vertical-align:middle}.fixed-button-group{position:static;display:contents}.neo-resume-btn{background:#3f416c;color:#aaea6c;text-decoration:none;font-weight:700;border:1px solid #aaea6c;box-shadow:1px 1px #aaea6c;border-radius:12px;transform:translate(0);transition:transform .12s ease,box-shadow .12s ease,background .16s ease,color .16s ease,border-color .16s ease;font-family:Agbalumo-Regular;cursor:pointer}.neo-resume-btn:hover{background:#2f2f4f;transform:translate(-2px,-2px);box-shadow:3px 3px #aaea6c}.neo-resume-btn:active{transform:translate(0);box-shadow:1px 1px #3f416c}.neo-resume-btn.clicked{background:#3f416c;color:#aaea6c;border-color:#aaea6c;box-shadow:2px 2px #aaea6c}.neo-resume-inner{display:inline-block;animation:none}#resume-btn,#resume-btn .neo-resume-inner,#resume-btn *{color:var(--color2)!important;-webkit-text-fill-color:var(--color2)!important}#calendly-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:none;align-items:center;justify-content:center;z-index:2147483647;pointer-events:auto}.cal-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#06060ab8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.cal-modal-shell{position:relative;width:min(1020px,92vw);height:min(760px,90vh);background:#0c0d14;border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 18px 48px #0000008c,0 0 0 1px #ffffff0a;overflow:hidden;display:flex;flex-direction:column}.cal-modal-close{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:#161726;color:#fff;font-size:20px;cursor:pointer;z-index:2}.cal-modal-close:hover{background:#1f2032}.cal-modal-body{flex:1;padding:6px}#calendly-modal-overlay .calendly-inline-widget{width:100%;height:100%}
