@import url(https://fonts.googleapis.com/css2?family=Raleway:wght@500&display=swap);body{-moz-osx-font-smoothing:grayscale;background-image:linear-gradient(270deg,#1b1429,#140f23);font-family:Raleway,serif!important;margin:0}:root{--annotation-unfocused-field-background:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>')}.annotationLayer section{position:absolute;text-align:left;text-align:initial}.annotationLayer .buttonWidgetAnnotation.pushButton>a,.annotationLayer .linkAnnotation>a{font-size:1em;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .buttonWidgetAnnotation.pushButton>canvas{left:0;position:relative;top:0;z-index:-1}.annotationLayer .buttonWidgetAnnotation.pushButton>a:hover,.annotationLayer .linkAnnotation>a:hover{background:#ff0;box-shadow:0 2px 10px #ff0;opacity:.2}.annotationLayer .textAnnotation img{cursor:pointer;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input,.annotationLayer .buttonWidgetAnnotation.radioButton input,.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .textWidgetAnnotation input,.annotationLayer .textWidgetAnnotation textarea{background-image:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');background-image:var(--annotation-unfocused-field-background);border:1px solid transparent;box-sizing:border-box;font-size:9px;height:100%;margin:0;padding:0 3px;vertical-align:top;width:100%}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{font:message-box;font-size:9px;resize:none}.annotationLayer .buttonWidgetAnnotation.checkBox input[disabled],.annotationLayer .buttonWidgetAnnotation.radioButton input[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .textWidgetAnnotation input[disabled],.annotationLayer .textWidgetAnnotation textarea[disabled]{background:none;border:1px solid transparent;cursor:not-allowed}.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,.annotationLayer .buttonWidgetAnnotation.radioButton input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation input:hover,.annotationLayer .textWidgetAnnotation textarea:hover{border:1px solid #000}.annotationLayer .choiceWidgetAnnotation select:focus,.annotationLayer .textWidgetAnnotation input:focus,.annotationLayer .textWidgetAnnotation textarea:focus{background:none;border:1px solid transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus,.annotationLayer .buttonWidgetAnnotation.radioButton :focus,.annotationLayer .choiceWidgetAnnotation select :focus,.annotationLayer .textWidgetAnnotation input :focus,.annotationLayer .textWidgetAnnotation textarea :focus{background-color:transparent;background-image:none;outline:auto}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:#000;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation.checkBox input,.annotationLayer .buttonWidgetAnnotation.radioButton input{-webkit-appearance:none;appearance:none;padding:0}.annotationLayer .popupWrapper{position:absolute;width:20em}.annotationLayer .popup{word-wrap:break-word;background-color:#ff9;border-radius:2px;box-shadow:0 2px 5px #888;cursor:pointer;font:message-box;font-size:9px;margin-left:5px;max-width:20em;padding:6px;position:absolute;white-space:normal;z-index:200}.annotationLayer .popup>*{font-size:9px}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:5px}.annotationLayer .popupContent{border-top:1px solid #333;margin-top:2px;padding-top:2px}.annotationLayer .richText>*{white-space:pre-wrap}.annotationLayer .caretAnnotation,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .fileAttachmentAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .highlightAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .lineAnnotation svg line,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .squareAnnotation svg rect,.annotationLayer .squigglyAnnotation,.annotationLayer .stampAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .underlineAnnotation{cursor:pointer}:root{--bg:#07070f;--bg2:#0d0d1a;--surface:hsla(0,0%,100%,.04);--border:hsla(0,0%,100%,.08);--accent:#0091ff;--accent2:#0055d4;--accent3:#00c2ff;--text:#f2f2f7;--muted:rgba(242,242,247,.45);--font-display:"Syne",sans-serif;--font-body:"DM Sans",sans-serif;--font-mono:"DM Mono",monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background:#07070f;background:var(--bg);color:#f2f2f7;color:var(--text);font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:16px;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(0,145,255,.4);border-radius:2px}#preloader{align-items:center;background-color:#07070f;background-color:var(--bg);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:999999}#preloader:after{-webkit-animation:spin .8s linear infinite;animation:spin .8s linear infinite;border:2px solid hsla(0,0%,100%,.08);border-radius:50%;border-top-color:#0091ff;border:2px solid var(--border);border-top-color:var(--accent);content:"";height:40px;width:40px}@-webkit-keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spin{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}#preloader-none{opacity:0;pointer-events:none}#no-scroll{height:100vh;overflow:hidden}#mesh-canvas{opacity:.65}#mesh-canvas,.hero-3d{inset:0;pointer-events:none;position:fixed;z-index:0}.hero-3d canvas{display:block;height:100%;width:100%}.hero-3d-hint{color:rgba(242,242,247,.45);color:var(--muted);opacity:.7}.pf-nav{align-items:center;border-bottom:1px solid transparent;display:flex;justify-content:space-between;left:0;padding:20px 48px;position:fixed;right:0;top:0;transition:background .3s,border-color .3s,-webkit-backdrop-filter .3s;transition:background .3s,backdrop-filter .3s,border-color .3s;transition:background .3s,backdrop-filter .3s,border-color .3s,-webkit-backdrop-filter .3s;z-index:100}.pf-nav.scrolled{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:rgba(7,7,15,.72);border-bottom-color:hsla(0,0%,100%,.08);border-bottom-color:var(--border)}.pf-nav-logo{color:#f2f2f7;color:var(--text);font-family:Syne,sans-serif;font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:-.02em;text-decoration:none}.pf-nav-logo span{color:#0091ff;color:var(--accent)}.pf-nav-links{align-items:center;display:flex;gap:36px;list-style:none}.pf-nav-links a{color:rgba(242,242,247,.45);color:var(--muted);font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:14px;font-weight:500;letter-spacing:.01em;text-decoration:none;transition:color .2s}.pf-nav-links a:hover{color:#f2f2f7;color:var(--text)}.pf-nav-divider{background:hsla(0,0%,100%,.08);background:var(--border);flex-shrink:0;height:22px;width:1px}.pf-nav-actions{align-items:center;display:flex;gap:10px}.pf-nav-btn-ghost{align-items:center;background:hsla(0,0%,100%,.04)!important;border:1px solid hsla(0,0%,100%,.08)!important;border:1px solid var(--border)!important;border-radius:100px!important;color:#f2f2f7!important;color:var(--text)!important;display:inline-flex;font-family:DM Sans,sans-serif!important;font-family:var(--font-body)!important;font-size:13px!important;font-weight:500!important;gap:7px;letter-spacing:0!important;padding:8px 16px!important;text-decoration:none!important;transition:border-color .25s,background .25s,-webkit-transform .2s!important;transition:border-color .25s,background .25s,transform .2s!important;transition:border-color .25s,background .25s,transform .2s,-webkit-transform .2s!important}.pf-nav-btn-ghost:hover{background:rgba(0,145,255,.08)!important;border-color:rgba(0,145,255,.4)!important;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.pf-nav-btn-ghost svg{opacity:.6;transition:opacity .2s}.pf-nav-btn-ghost:hover svg{opacity:1}.pf-nav-btn-primary{align-items:center;background:linear-gradient(135deg,#0091ff,#0055d4)!important;background:linear-gradient(135deg,var(--accent) 0,var(--accent2) 100%)!important;border:none!important;border-radius:100px!important;box-shadow:0 4px 20px rgba(0,145,255,.25),inset 0 0 0 1px hsla(0,0%,100%,.08);color:#fff!important;display:inline-flex;font-family:DM Sans,sans-serif!important;font-family:var(--font-body)!important;font-size:13px!important;font-weight:600!important;gap:7px;letter-spacing:0!important;overflow:hidden;padding:8px 18px!important;position:relative;text-decoration:none!important;transition:box-shadow .3s,-webkit-transform .2s!important;transition:box-shadow .3s,transform .2s!important;transition:box-shadow .3s,transform .2s,-webkit-transform .2s!important}.pf-nav-btn-primary:hover{box-shadow:0 6px 30px rgba(0,145,255,.4),inset 0 0 0 1px hsla(0,0%,100%,.12);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.pf-nav-btn-primary:active{-webkit-transform:translateY(0) scale(.97);transform:translateY(0) scale(.97)}.pf-nav-btn-shine{background:linear-gradient(110deg,transparent 30%,hsla(0,0%,100%,.25) 50%,transparent 70%);inset:0;pointer-events:none;position:absolute;-webkit-transform:translateX(-100%);transform:translateX(-100%);transition:-webkit-transform .6s;transition:transform .6s;transition:transform .6s,-webkit-transform .6s}.pf-nav-btn-primary:hover .pf-nav-btn-shine{-webkit-transform:translateX(100%);transform:translateX(100%)}.pf-nav-btn-label,.pf-nav-btn-primary svg{position:relative;z-index:1}.pf-nav-btn-primary svg{transition:-webkit-transform .25s;transition:transform .25s;transition:transform .25s,-webkit-transform .25s}.pf-nav-btn-primary:hover svg{-webkit-transform:translateX(2px);transform:translateX(2px)}.pf-nav-cmd{align-items:center;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:8px;color:rgba(242,242,247,.45);color:var(--muted);cursor:pointer;display:inline-flex;font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;gap:6px;padding:6px 10px;transition:color .2s,border-color .2s,background .2s}.pf-nav-cmd:hover{background:rgba(0,145,255,.06);border-color:rgba(0,145,255,.3);color:#f2f2f7;color:var(--text)}.pf-nav-cmd kbd{color:rgba(242,242,247,.45);color:var(--muted);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:10px;letter-spacing:.02em}section{position:relative;z-index:1}#hero{display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:1280px;min-height:100vh;padding:120px 48px 80px}.hero-label{-webkit-animation:fadeUp .7s .2s forwards;animation:fadeUp .7s .2s forwards;color:#0091ff;color:var(--accent);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:12px;font-weight:400;letter-spacing:.18em;margin-bottom:28px;opacity:0;text-transform:uppercase}.hero-name{-webkit-animation:fadeUp .8s .35s forwards;animation:fadeUp .8s .35s forwards;color:#f2f2f7;color:var(--text);font-family:Syne,sans-serif;font-family:var(--font-display);font-size:clamp(56px,8vw,120px);font-weight:800;letter-spacing:-.04em;line-height:.95;opacity:0}.hero-name .accent-grad{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#0091ff,#0055d4);background:linear-gradient(135deg,var(--accent) 0,var(--accent2) 100%);-webkit-background-clip:text;background-clip:text}.hero-tagline{-webkit-animation:fadeUp .8s .5s forwards;animation:fadeUp .8s .5s forwards;color:rgba(242,242,247,.45);color:var(--muted);font-size:clamp(18px,2.2vw,24px);font-weight:300;line-height:1.5;margin-top:36px;max-width:560px;opacity:0}.hero-stats{-webkit-animation:fadeUp .8s .8s forwards;animation:fadeUp .8s .8s forwards;display:flex;flex-wrap:wrap;gap:56px;margin-top:72px;opacity:0}.hero-stat-num{color:#f2f2f7;color:var(--text);font-family:Syne,sans-serif;font-family:var(--font-display);font-size:36px;font-weight:800;letter-spacing:-.04em}.hero-stat-num span{color:#0091ff;color:var(--accent)}.hero-stat-label{color:rgba(242,242,247,.45);color:var(--muted);font-size:12px;font-weight:400;letter-spacing:.04em;margin-top:4px;text-transform:uppercase}.hero-ctas{align-items:center;-webkit-animation:fadeUp .8s .65s forwards;animation:fadeUp .8s .65s forwards;display:flex;flex-wrap:wrap;gap:16px;margin-top:52px;opacity:0}.btn-primary-pf{align-items:center;background:#0091ff;background:var(--accent);border-radius:100px;box-shadow:0 0 40px rgba(0,145,255,.35);color:#fff!important;display:inline-flex;font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:15px;font-weight:500;gap:8px;padding:14px 28px;text-decoration:none!important;transition:box-shadow .2s,-webkit-transform .2s;transition:transform .2s,box-shadow .2s;transition:transform .2s,box-shadow .2s,-webkit-transform .2s}.btn-primary-pf:hover{box-shadow:0 8px 50px rgba(0,145,255,.55);color:#fff!important;-webkit-transform:translateY(-2px);transform:translateY(-2px)}.btn-ghost-pf{align-items:center;background:transparent;border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:100px;color:rgba(242,242,247,.45)!important;color:var(--muted)!important;display:inline-flex;font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:15px;font-weight:500;gap:8px;padding:14px 28px;text-decoration:none!important;transition:color .2s,border-color .2s}.btn-ghost-pf:hover{border-color:hsla(0,0%,100%,.2);color:#f2f2f7!important;color:var(--text)!important}.hero-scroll-hint{align-items:center;-webkit-animation:fadeUp .8s 1s forwards;animation:fadeUp .8s 1s forwards;color:rgba(242,242,247,.45);color:var(--muted);display:flex;font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;gap:10px;letter-spacing:.1em;margin-top:72px;opacity:0}.scroll-line{background:linear-gradient(90deg,#0091ff,transparent);background:linear-gradient(90deg,var(--accent),transparent);height:1px;width:40px}.section-label{color:#0091ff;color:var(--accent);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:.2em;margin-bottom:20px;text-transform:uppercase}#about{margin:0 auto;max-width:1280px;padding:120px 48px}.about-grid{grid-gap:80px;align-items:center;display:grid;gap:80px;grid-template-columns:1fr 1fr}.about-heading{color:#f2f2f7;color:var(--text);font-family:Syne,sans-serif;font-family:var(--font-display);font-size:clamp(36px,4vw,52px);font-weight:700;letter-spacing:-.03em;line-height:1.08;margin-bottom:28px}.about-heading em{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#0091ff,#0055d4);background:linear-gradient(135deg,var(--accent) 0,var(--accent2) 100%);-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:400}.about-body{color:rgba(242,242,247,.45);color:var(--muted);font-size:17px;font-weight:300;line-height:1.75}.about-body p+p{margin-top:16px}.about-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:hsla(0,0%,100%,.04);background:var(--surface);border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:24px;overflow:hidden;padding:40px;position:relative}.about-card:before{background:linear-gradient(90deg,transparent,#0091ff,transparent);background:linear-gradient(90deg,transparent,var(--accent),transparent);content:"";height:1px;left:30px;position:absolute;right:30px;top:-1px}.about-card-title{color:rgba(242,242,247,.45);color:var(--muted);font-family:Syne,sans-serif;font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.1em;margin-bottom:24px;text-transform:uppercase}.about-values{display:flex;flex-direction:column;gap:16px}.about-value{align-items:center;color:#f2f2f7;color:var(--text);display:flex;font-size:15px;font-weight:400;gap:14px}.value-dot{background:#0091ff;background:var(--accent);border-radius:50%;flex-shrink:0;height:6px;width:6px}#skills{background:linear-gradient(180deg,transparent,rgba(0,85,212,.04) 50%,transparent);padding:120px 48px}.skills-inner{margin:0 auto;max-width:1280px}.skills-heading{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:clamp(36px,4vw,52px);font-weight:700;letter-spacing:-.03em;margin-bottom:16px}.skills-sub{color:rgba(242,242,247,.45);color:var(--muted);font-size:17px;font-weight:300;margin-bottom:64px;max-width:480px}.skills-top{grid-gap:48px;align-items:center;display:grid;gap:48px;grid-template-columns:1fr 1fr;margin-bottom:72px}.skills-top .skills-sub{margin-bottom:0}.skill-sphere-wrap{align-items:center;display:flex;flex-direction:column;gap:16px}.skill-sphere{aspect-ratio:1/1;max-width:520px;touch-action:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;width:100%}.skill-sphere canvas{display:block;height:100%!important;width:100%!important}.skill-sphere-readout{align-items:center;background:hsla(0,0%,100%,.04);background:var(--surface);border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:100px;display:inline-flex;font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:12px;gap:10px;letter-spacing:.04em;min-height:36px;padding:8px 16px;transition:border-color .3s,background .3s}.skill-sphere-readout.active{background:rgba(0,145,255,.06);border-color:rgba(0,145,255,.35)}.skill-sphere-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.skill-sphere-tag{color:#f2f2f7;color:var(--text);font-weight:500}.skill-sphere-cat{color:rgba(242,242,247,.45);color:var(--muted)}.skill-sphere-cat:before{content:"/ ";opacity:.6}.skill-sphere-count,.skill-sphere-hint{color:rgba(242,242,247,.45);color:var(--muted)}.constellation-wrap{position:relative;width:100%}.constellation{aspect-ratio:1/1;max-width:520px;touch-action:none;-ms-user-select:none;user-select:none;-webkit-user-select:none;width:100%}.constellation canvas{display:block;height:100%!important;width:100%!important}.constellation-tooltip{align-items:center;-webkit-animation:ctpFadeIn .2s ease-out;animation:ctpFadeIn .2s ease-out;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:rgba(13,13,26,.92);border:1px solid hsla(0,0%,100%,.12);border-radius:100px;display:flex;font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:12px;gap:8px;padding:7px 14px;pointer-events:none;position:absolute;-webkit-transform:translate(-50%,calc(-100% - 12px));transform:translate(-50%,calc(-100% - 12px));transition:opacity .15s;white-space:nowrap;z-index:10}@-webkit-keyframes ctpFadeIn{0%{opacity:0;-webkit-transform:translate(-50%,calc(-100% - 6px));transform:translate(-50%,calc(-100% - 6px))}to{opacity:1;-webkit-transform:translate(-50%,calc(-100% - 12px));transform:translate(-50%,calc(-100% - 12px))}}@keyframes ctpFadeIn{0%{opacity:0;-webkit-transform:translate(-50%,calc(-100% - 6px));transform:translate(-50%,calc(-100% - 6px))}to{opacity:1;-webkit-transform:translate(-50%,calc(-100% - 12px));transform:translate(-50%,calc(-100% - 12px))}}.constellation-dot{border-radius:50%;box-shadow:0 0 8px currentColor;flex-shrink:0;height:8px;width:8px}.constellation-name{color:#f2f2f7;color:var(--text);font-weight:500}.constellation-cat{color:rgba(242,242,247,.45);color:var(--muted)}.constellation-cat:before{content:"/ ";opacity:.6}.constellation-count{color:#0091ff;color:var(--accent);font-size:11px}.constellation-count:before{content:"· "}.skills-categories{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.skill-cat{background:hsla(0,0%,100%,.04);background:var(--surface);border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:20px;cursor:default;padding:32px;transition:border-color .3s,-webkit-transform .3s;transition:border-color .3s,transform .3s;transition:border-color .3s,transform .3s,-webkit-transform .3s}.skill-cat:hover{border-color:rgba(0,145,255,.3);-webkit-transform:translateY(-4px);transform:translateY(-4px)}.skill-cat-icon{align-items:center;border-radius:10px;display:flex;font-size:18px;height:40px;justify-content:center;margin-bottom:20px;width:40px}.skill-cat-name{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:-.01em;margin-bottom:16px}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:6px;color:rgba(242,242,247,.45);color:var(--muted);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:.04em;padding:4px 10px}#projects{margin:0 auto;max-width:1280px;padding:120px 48px}.projects-header{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:64px}.projects-heading{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:clamp(36px,4vw,52px);font-weight:700;letter-spacing:-.03em}.projects-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr)}.project-tilt.featured{grid-column:1/-1}.project-tilt>div{height:100%}.project-tilt{transition:opacity .7s cubic-bezier(.16,1,.3,1),-webkit-transform .7s cubic-bezier(.16,1,.3,1),-webkit-filter .4s;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1),filter .4s;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1),filter .4s,-webkit-transform .7s cubic-bezier(.16,1,.3,1),-webkit-filter .4s}.project-tilt.visible.dimmed{-webkit-filter:saturate(.2);filter:saturate(.2);opacity:.22}.project-tilt.visible.dimmed:hover{-webkit-filter:none;filter:none;opacity:.6}.project-card-pf:focus-visible{outline:2px solid #0091ff;outline:2px solid var(--accent);outline-offset:3px}.project-study-hint{color:rgba(242,242,247,.45);color:var(--muted);transition:color .2s}.project-card-pf:hover .project-study-hint{color:#0091ff;color:var(--accent)}.projects-filter{align-items:center;-webkit-animation:fadeUp .4s both;animation:fadeUp .4s both;background:rgba(0,145,255,.06);border:1px solid rgba(0,145,255,.35);border-radius:100px;color:rgba(242,242,247,.45);color:var(--muted);display:inline-flex;font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:12px;gap:10px;letter-spacing:.04em;margin:-32px 0 32px;padding:8px 8px 8px 16px}.projects-filter strong{color:#f2f2f7;color:var(--text);font-weight:500}.projects-filter-clear{background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:100px;color:#f2f2f7;color:var(--text);cursor:pointer;font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;padding:5px 12px;transition:background .2s,border-color .2s}.projects-filter-clear:hover{background:hsla(0,0%,100%,.12);border-color:hsla(0,0%,100%,.2)}.projects-empty{border:1px dashed hsla(0,0%,100%,.08);border:1px dashed var(--border);border-radius:20px;color:rgba(242,242,247,.45);color:var(--muted);font-size:15px;margin-top:32px;padding:32px;text-align:center}.projects-empty a{color:#0091ff;color:var(--accent);text-decoration:none}.project-card-pf{background:hsla(0,0%,100%,.04);background:var(--surface);border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:24px;cursor:pointer;display:block;height:100%;overflow:hidden;text-decoration:none!important;transition:border-color .3s,-webkit-transform .35s cubic-bezier(.16,1,.3,1);transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .3s;transition:transform .35s cubic-bezier(.16,1,.3,1),border-color .3s,-webkit-transform .35s cubic-bezier(.16,1,.3,1)}.project-card-pf,.project-card-pf:hover{color:#f2f2f7!important;color:var(--text)!important}.project-card-pf:hover{border-color:rgba(0,145,255,.25);-webkit-transform:translateY(-6px);transform:translateY(-6px)}.project-card-pf.featured{display:grid;grid-column:1/-1;grid-template-columns:1fr 1fr}.project-thumb-pf{height:220px;overflow:hidden;position:relative}.project-card-pf.featured .project-thumb-pf{height:100%;min-height:280px}.project-thumb-pf img{height:100%;object-fit:cover;opacity:.75;transition:opacity .3s;width:100%}.project-card-pf:hover .project-thumb-pf img{opacity:.9}.project-thumb-placeholder{background-image:repeating-linear-gradient(-45deg,hsla(0,0%,100%,.015),hsla(0,0%,100%,.015) 1px,transparent 0,transparent 12px);color:hsla(0,0%,100%,.2);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.project-thumb-decor,.project-thumb-placeholder{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.project-thumb-decor{background:linear-gradient(135deg,rgba(0,145,255,.06),rgba(162,89,255,.04));overflow:hidden;position:relative}.project-thumb-decor-glow{-webkit-animation:decorGlow 8s ease-in-out infinite alternate;animation:decorGlow 8s ease-in-out infinite alternate;background:radial-gradient(circle at 40% 40%,rgba(0,145,255,.12) 0,transparent 50%),radial-gradient(circle at 70% 70%,rgba(162,89,255,.08) 0,transparent 50%);inset:-50%;position:absolute}@-webkit-keyframes decorGlow{0%{-webkit-transform:rotate(0deg) scale(1);transform:rotate(0deg) scale(1)}to{-webkit-transform:rotate(20deg) scale(1.1);transform:rotate(20deg) scale(1.1)}}@keyframes decorGlow{0%{-webkit-transform:rotate(0deg) scale(1);transform:rotate(0deg) scale(1)}to{-webkit-transform:rotate(20deg) scale(1.1);transform:rotate(20deg) scale(1.1)}}.project-thumb-decor-content{align-items:center;display:flex;flex-direction:column;gap:10px;padding:32px;position:relative;text-align:center;z-index:1}.project-thumb-decor-tag{background:rgba(0,145,255,.06);border:1px solid rgba(0,145,255,.25);border-radius:100px;color:#0091ff;color:var(--accent);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;padding:4px 12px;text-transform:uppercase}.project-thumb-decor-title{color:#f2f2f7;color:var(--text);font-family:Syne,sans-serif;font-family:var(--font-display);font-size:22px;font-weight:700;line-height:1.3;max-width:280px}.project-thumb-decor-year{color:rgba(242,242,247,.45);color:var(--muted);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:12px;letter-spacing:.05em}.project-thumb-decor-stack{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:4px;max-width:260px}.project-thumb-decor-stack span{background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:6px;color:rgba(242,242,247,.45);color:var(--muted);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:10px;padding:3px 8px}.project-info-pf{padding:28px 32px 32px}.project-card-pf.featured .project-info-pf{display:flex;flex-direction:column;justify-content:center;padding:40px}.project-meta-pf{align-items:center;display:flex;gap:10px;margin-bottom:14px}.project-tag-pf{background:rgba(0,145,255,.1);border:1px solid rgba(0,145,255,.2);border-radius:4px;color:#0091ff;color:var(--accent);font-size:10px;letter-spacing:.08em;padding:3px 8px;text-transform:uppercase}.project-tag-pf,.project-year-pf{font-family:DM Mono,monospace;font-family:var(--font-mono)}.project-year-pf{color:rgba(242,242,247,.45);color:var(--muted);font-size:11px}.project-title-pf{color:#f2f2f7;color:var(--text);font-family:Syne,sans-serif;font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:10px}.project-desc-pf{color:rgba(242,242,247,.45);color:var(--muted);font-size:14px;font-weight:300;line-height:1.65}.project-stack-pf{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}.stack-item-pf{background:hsla(0,0%,100%,.04);border-radius:4px;color:hsla(0,0%,100%,.35);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:10px;padding:3px 8px}.project-link-hint{align-items:center;color:#0091ff;color:var(--accent);display:inline-flex;font-size:13px;font-weight:500;gap:6px;margin-top:24px;text-decoration:none!important}.project-links-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.project-link-btn{align-items:center;border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:100px;color:rgba(242,242,247,.45)!important;color:var(--muted)!important;display:inline-flex;font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;font-weight:400;gap:6px;padding:6px 14px;text-decoration:none!important;transition:color .2s,border-color .2s,background .2s}.project-link-btn:hover{background:hsla(0,0%,100%,.04);border-color:hsla(0,0%,100%,.2);color:#f2f2f7!important;color:var(--text)!important}.project-link-btn.accent{border-color:rgba(0,145,255,.3);color:#0091ff!important;color:var(--accent)!important}.project-link-btn.accent:hover{background:rgba(0,145,255,.08);color:#0091ff!important;color:var(--accent)!important}.cs-root{align-items:flex-end;display:flex;inset:0;justify-content:center;position:fixed;z-index:200}.cs-backdrop{-webkit-animation:csFade .35s both;animation:csFade .35s both;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:rgba(4,4,10,.72);inset:0;position:absolute}.cs-panel{-ms-scroll-chaining:none;-webkit-animation:csSlide .55s cubic-bezier(.16,1,.3,1) both;animation:csSlide .55s cubic-bezier(.16,1,.3,1) both;background:#0b0b17;border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-bottom:none;border-radius:28px 28px 0 0;box-shadow:0 -30px 120px rgba(0,0,0,.6),0 0 0 1px rgba(0,145,255,.06);height:94vh;max-width:1200px;outline:none;overflow-y:auto;overscroll-behavior:contain;position:relative;width:100%}.cs-panel:before{background:linear-gradient(90deg,transparent,#0091ff,transparent);background:linear-gradient(90deg,transparent,var(--accent),transparent);content:"";display:block;height:1px;position:-webkit-sticky;position:sticky;top:0;z-index:3}@-webkit-keyframes csFade{0%{opacity:0}to{opacity:1}}@keyframes csFade{0%{opacity:0}to{opacity:1}}@-webkit-keyframes csSlide{0%{opacity:0;-webkit-transform:translateY(6%);transform:translateY(6%)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes csSlide{0%{opacity:0;-webkit-transform:translateY(6%);transform:translateY(6%)}to{opacity:1;-webkit-transform:none;transform:none}}.cs-header{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:rgba(11,11,23,.85);border-bottom:1px solid hsla(0,0%,100%,.08);border-bottom:1px solid var(--border);justify-content:space-between;padding:20px 40px;position:-webkit-sticky;position:sticky;top:1px;z-index:2}.cs-header,.cs-header-meta{align-items:center;display:flex}.cs-header-meta{gap:12px}.cs-counter{border-left:1px solid hsla(0,0%,100%,.08);border-left:1px solid var(--border);letter-spacing:.1em;padding-left:12px}.cs-close,.cs-counter{color:rgba(242,242,247,.45);color:var(--muted);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px}.cs-close{align-items:center;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:100px;cursor:pointer;display:inline-flex;gap:8px;letter-spacing:.08em;padding:8px 14px;transition:color .2s,border-color .2s,background .2s}.cs-close:hover{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.25);color:#f2f2f7;color:var(--text)}.cs-body{grid-gap:64px;display:grid;gap:64px;grid-template-columns:340px 1fr;padding:48px 40px 40px}.cs-side{align-self:start;position:-webkit-sticky;position:sticky;top:96px}.cs-title{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:clamp(32px,3.2vw,44px);font-weight:800;letter-spacing:-.035em;line-height:1;margin-bottom:20px}.cs-lede{color:rgba(242,242,247,.45);color:var(--muted);font-size:15px;font-weight:300;line-height:1.65;margin-bottom:32px}.cs-facts{display:flex;flex-direction:column;gap:18px;margin-bottom:28px}.cs-facts dt{color:#0091ff;color:var(--accent);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;margin-bottom:6px;text-transform:uppercase}.cs-facts dd{color:#f2f2f7;color:var(--text);font-size:14px;line-height:1.5;margin:0}.cs-stack{gap:6px}.cs-links,.cs-stack{display:flex;flex-wrap:wrap}.cs-links{gap:10px}.cs-hero-img{background:#0d0d1a;background:var(--bg2);border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:20px;margin-bottom:56px;overflow:hidden}.cs-hero-img img{display:block;height:auto;width:100%}.cs-section{margin-bottom:48px}.cs-step{align-items:center;display:flex;font-family:Syne,sans-serif;font-family:var(--font-display);font-size:20px;font-weight:700;gap:12px;letter-spacing:-.02em;margin-bottom:16px}.cs-step span{background:rgba(0,145,255,.1);border:1px solid rgba(0,145,255,.25);border-radius:6px;color:#0091ff;color:var(--accent);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:.1em;padding:3px 8px}.cs-section p{color:rgba(242,242,247,.82);font-size:16px;font-weight:300;line-height:1.75;max-width:68ch}.cs-list{grid-gap:10px;display:grid;gap:10px;list-style:none;margin:0;padding:0}.cs-list li{background:hsla(0,0%,100%,.04);background:var(--surface);border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:12px;color:rgba(242,242,247,.85);font-size:14.5px;line-height:1.5;padding:14px 18px 14px 40px;position:relative}.cs-list li:before{border:1.5px solid #0091ff;border:1.5px solid var(--accent);border-radius:50%;content:"";height:8px;left:18px;position:absolute;top:21px;width:8px}.cs-metrics{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.cs-metric{background:linear-gradient(180deg,rgba(0,145,255,.08),rgba(0,145,255,.02));border:1px solid rgba(0,145,255,.18);border-radius:16px;padding:22px 20px}.cs-metric-num{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#fff,#00c2ff);background:linear-gradient(135deg,#fff 0,var(--accent3) 100%);-webkit-background-clip:text;background-clip:text;font-family:Syne,sans-serif;font-family:var(--font-display);font-size:30px;font-weight:800;letter-spacing:-.04em;line-height:1;margin-bottom:8px}.cs-metric-label{color:rgba(242,242,247,.45);color:var(--muted);font-size:12px;letter-spacing:.02em}.cs-tradeoff{background:rgba(162,89,255,.05);border:1px dashed rgba(162,89,255,.35);border-radius:20px;padding:28px 32px}.cs-tradeoff .cs-step span{background:rgba(162,89,255,.12);border-color:rgba(162,89,255,.3);color:#a259ff}.cs-tradeoff p{margin:0}.cs-footer{border-top:1px solid hsla(0,0%,100%,.08);border-top:1px solid var(--border);display:flex;gap:16px;justify-content:space-between;padding:24px 40px 40px}.cs-nav{align-items:center;background:hsla(0,0%,100%,.04);background:var(--surface);border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:100px;color:#f2f2f7;color:var(--text);cursor:pointer;display:inline-flex;font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:14px;font-weight:500;gap:10px;padding:12px 22px;transition:border-color .2s,background .2s,-webkit-transform .2s;transition:border-color .2s,background .2s,transform .2s;transition:border-color .2s,background .2s,transform .2s,-webkit-transform .2s}.cs-nav:hover{background:rgba(0,145,255,.08);border-color:rgba(0,145,255,.4);-webkit-transform:translateY(-1px);transform:translateY(-1px)}#experience{background:linear-gradient(180deg,transparent,rgba(0,145,255,.03) 50%,transparent);padding:120px 48px}.exp-inner{margin:0 auto;max-width:1280px}.exp-heading{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:clamp(36px,4vw,52px);font-weight:700;letter-spacing:-.03em;margin-bottom:64px}.exp-list{display:flex;flex-direction:column}.exp-item{grid-gap:48px;align-items:start;border-bottom:1px solid hsla(0,0%,100%,.08);border-bottom:1px solid var(--border);display:grid;gap:48px;grid-template-columns:200px 1fr;padding:40px 0;transition:opacity .2s}.exp-item:first-child{border-top:1px solid hsla(0,0%,100%,.08);border-top:1px solid var(--border)}.exp-item:hover{opacity:.8}.exp-period{color:rgba(242,242,247,.45);color:var(--muted);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;padding-top:4px}.exp-role{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:-.02em;margin-bottom:4px}.exp-company{color:#0091ff;color:var(--accent);font-size:14px;margin-bottom:14px}.exp-desc{color:rgba(242,242,247,.45);color:var(--muted);font-size:14px;font-weight:300;line-height:1.7}#education{background:linear-gradient(180deg,transparent,rgba(0,194,255,.03) 50%,transparent);padding:120px 48px}.edu-inner{margin:0 auto;max-width:1280px}.edu-heading{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:clamp(36px,4vw,52px);font-weight:700;letter-spacing:-.03em;margin-bottom:64px}.edu-list{display:flex;flex-direction:column}.edu-item{grid-gap:48px;align-items:start;border-bottom:1px solid hsla(0,0%,100%,.08);border-bottom:1px solid var(--border);display:grid;gap:48px;grid-template-columns:200px 1fr;padding:40px 0;transition:opacity .2s}.edu-item:first-child{border-top:1px solid hsla(0,0%,100%,.08);border-top:1px solid var(--border)}.edu-item:hover{opacity:.8}.edu-period{color:rgba(242,242,247,.45);color:var(--muted);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;padding-top:4px}.edu-degree{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:20px;font-weight:700;letter-spacing:-.02em;margin-bottom:4px}.edu-school{color:#0091ff;color:var(--accent);font-size:14px;margin-bottom:14px}.edu-desc{color:rgba(242,242,247,.45);color:var(--muted);font-size:14px;font-weight:300;line-height:1.7;margin-bottom:12px}.edu-honors{display:flex;flex-wrap:wrap;gap:8px}.edu-honor-badge{align-items:center;border:1px solid;border-radius:100px;display:inline-flex;font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;font-weight:500;gap:6px;letter-spacing:.06em;padding:5px 12px}.edu-honor-badge.gold{background:rgba(245,200,66,.08);border-color:rgba(245,200,66,.25);color:#f5c842}.edu-honor-badge.blue{background:rgba(0,194,255,.08);border-color:rgba(0,194,255,.25);color:#00c2ff;color:var(--accent3)}@media (max-width:900px){#education{padding:80px 24px}.edu-item{gap:12px;grid-template-columns:1fr}}#contact{margin:0 auto;max-width:1280px;padding:140px 48px;text-align:center}.contact-eyebrow{color:#0091ff;color:var(--accent);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;margin-bottom:24px;text-transform:uppercase}.contact-heading{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:clamp(48px,6vw,88px);font-weight:800;letter-spacing:-.04em;line-height:.95;margin-bottom:32px}.contact-heading .grad{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#0091ff,#0055d4 60%,#00c2ff);background:linear-gradient(135deg,var(--accent) 0,var(--accent2) 60%,var(--accent3) 100%);-webkit-background-clip:text;background-clip:text}.contact-sub{color:rgba(242,242,247,.45);color:var(--muted);font-size:18px;font-weight:300;line-height:1.6;margin:0 auto 52px;max-width:460px}.contact-links{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.contact-link-pf{align-items:center;border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:100px;color:rgba(242,242,247,.45)!important;color:var(--muted)!important;display:inline-flex;font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:14px;font-weight:500;gap:8px;padding:12px 24px;text-decoration:none!important;transition:color .2s,border-color .2s,background .2s}.contact-link-pf:hover{background:hsla(0,0%,100%,.04);background:var(--surface);border-color:hsla(0,0%,100%,.2);color:#f2f2f7!important;color:var(--text)!important}.pf-footer{align-items:center;border-top:1px solid hsla(0,0%,100%,.08);border-top:1px solid var(--border);display:flex;justify-content:space-between;padding:28px 48px;position:relative;z-index:1}.footer-copy{color:rgba(242,242,247,.45);color:var(--muted)}.footer-back,.footer-copy{font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em}.footer-back{align-items:center;color:rgba(242,242,247,.45)!important;color:var(--muted)!important;display:flex;gap:6px;text-decoration:none!important;transition:color .2s}.footer-back:hover{color:#0091ff!important;color:var(--accent)!important}.konami-flash{-webkit-animation:konamiFlash 1.5s ease-out;animation:konamiFlash 1.5s ease-out}@-webkit-keyframes konamiFlash{0%{-webkit-filter:hue-rotate(0deg) brightness(1);filter:hue-rotate(0deg) brightness(1)}20%{-webkit-filter:hue-rotate(120deg) brightness(1.3);filter:hue-rotate(120deg) brightness(1.3)}60%{-webkit-filter:hue-rotate(240deg) brightness(1.15);filter:hue-rotate(240deg) brightness(1.15)}to{-webkit-filter:hue-rotate(1turn) brightness(1);filter:hue-rotate(1turn) brightness(1)}}@keyframes konamiFlash{0%{-webkit-filter:hue-rotate(0deg) brightness(1);filter:hue-rotate(0deg) brightness(1)}20%{-webkit-filter:hue-rotate(120deg) brightness(1.3);filter:hue-rotate(120deg) brightness(1.3)}60%{-webkit-filter:hue-rotate(240deg) brightness(1.15);filter:hue-rotate(240deg) brightness(1.15)}to{-webkit-filter:hue-rotate(1turn) brightness(1);filter:hue-rotate(1turn) brightness(1)}}.cp-overlay{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:rgba(4,4,10,.6);inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .25s;z-index:300}.cp-overlay.open{opacity:1;pointer-events:auto}.cp-panel{background:rgba(13,13,26,.96);border:1px solid hsla(0,0%,100%,.12);border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 0 1px rgba(0,145,255,.08);display:flex;flex-direction:column;left:50%;max-height:60vh;max-width:580px;opacity:0;overflow:hidden;pointer-events:none;position:fixed;top:18vh;-webkit-transform:translateX(-50%) translateY(-12px) scale(.97);transform:translateX(-50%) translateY(-12px) scale(.97);transition:opacity .25s,-webkit-transform .3s cubic-bezier(.16,1,.3,1);transition:opacity .25s,transform .3s cubic-bezier(.16,1,.3,1);transition:opacity .25s,transform .3s cubic-bezier(.16,1,.3,1),-webkit-transform .3s cubic-bezier(.16,1,.3,1);width:92%;z-index:301}.cp-panel.open{opacity:1;pointer-events:auto;-webkit-transform:translateX(-50%) translateY(0) scale(1);transform:translateX(-50%) translateY(0) scale(1)}.cp-input-row{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.08);border-bottom:1px solid var(--border);display:flex;gap:12px;padding:18px 20px}.cp-icon{color:#0091ff;color:var(--accent);flex-shrink:0;font-size:16px}.cp-icon,.cp-input{font-family:DM Mono,monospace;font-family:var(--font-mono)}.cp-input{background:transparent;border:none;color:#f2f2f7;color:var(--text);flex:1 1;font-size:15px;letter-spacing:.01em;outline:none}.cp-input::-webkit-input-placeholder{color:rgba(242,242,247,.45);color:var(--muted)}.cp-input:-ms-input-placeholder{color:rgba(242,242,247,.45);color:var(--muted)}.cp-input::placeholder{color:rgba(242,242,247,.45);color:var(--muted)}.cp-esc{background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:6px;color:rgba(242,242,247,.45);color:var(--muted);flex-shrink:0;font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;padding:3px 8px}.cp-list{-ms-scroll-chaining:none;flex:1 1;overflow-y:auto;overscroll-behavior:contain;padding:8px 0}.cp-group{color:rgba(242,242,247,.45);color:var(--muted);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;padding:14px 22px 6px;text-transform:uppercase}.cp-item{align-items:center;background:transparent;border:none;cursor:pointer;display:flex;gap:12px;padding:11px 22px;text-align:left;transition:background .12s;width:100%}.cp-item.active{background:rgba(0,145,255,.1)}.cp-item-icon{flex-shrink:0;font-size:15px;opacity:.7;text-align:center;width:20px}.cp-item.active .cp-item-icon{color:#0091ff;color:var(--accent);opacity:1}.cp-item-label{color:#f2f2f7;color:var(--text);flex-shrink:0;font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:14px;font-weight:500}.cp-item-hint{color:rgba(242,242,247,.45);color:var(--muted);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;margin-left:auto;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.cp-item.active .cp-item-hint{color:rgba(242,242,247,.6)}.cp-empty{font-size:13px;padding:32px 20px;text-align:center}.cp-empty,.cp-footer{color:rgba(242,242,247,.45);color:var(--muted);font-family:DM Mono,monospace;font-family:var(--font-mono)}.cp-footer{align-items:center;border-top:1px solid hsla(0,0%,100%,.08);border-top:1px solid var(--border);display:flex;font-size:10px;gap:16px;letter-spacing:.04em;padding:12px 20px}.cp-footer kbd{background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:4px;font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:9px;margin-right:3px;padding:2px 5px}.cp-footer-spacer{flex:1 1}.cp-footer-hint{opacity:.6}@media (max-width:600px){.cp-panel{max-height:70vh;top:10vh}.cp-item-hint{display:none}.cp-footer{font-size:9px;gap:10px}}.resume-page{align-items:center;background:#07070f;background:var(--bg);color:#f2f2f7;color:var(--text);display:flex;flex-direction:column;min-height:100vh;padding-bottom:80px;padding-top:100px;position:relative;z-index:1}.resume-page-header{margin-bottom:48px;max-width:640px;padding:0 24px;text-align:center;width:100%}.resume-page-eyebrow{color:#0091ff;color:var(--accent);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;margin-bottom:16px;text-transform:uppercase}.resume-page-title{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:clamp(40px,5vw,64px);font-weight:800;letter-spacing:-.04em;line-height:.95;margin-bottom:12px}.resume-title-grad{-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#0091ff,#0055d4);background:linear-gradient(135deg,var(--accent) 0,var(--accent2) 100%);-webkit-background-clip:text;background-clip:text}.resume-page-sub{color:rgba(242,242,247,.45);color:var(--muted);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:13px;letter-spacing:.06em;margin-bottom:28px}.resume-download-btn{align-items:center;background:#0091ff;background:var(--accent);border-radius:100px;box-shadow:0 0 32px rgba(0,145,255,.3);color:#fff!important;display:inline-flex;font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:14px;font-weight:500;gap:8px;padding:12px 28px;text-decoration:none!important;transition:box-shadow .2s,-webkit-transform .2s;transition:transform .2s,box-shadow .2s;transition:transform .2s,box-shadow .2s,-webkit-transform .2s}.resume-download-btn:hover{box-shadow:0 8px 40px rgba(0,145,255,.5);color:#fff!important;-webkit-transform:translateY(-2px);transform:translateY(-2px)}.resume-viewer-wrap{max-width:900px;padding:0 24px}.resume-viewer-card,.resume-viewer-wrap{display:flex;justify-content:center;width:100%}.resume-viewer-card{background:hsla(0,0%,100%,.04);background:var(--surface);border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:24px;box-shadow:0 0 80px rgba(0,0,0,.4);overflow:hidden;padding:32px;position:relative}.resume-viewer-card:before{background:linear-gradient(90deg,transparent,#0091ff,transparent);background:linear-gradient(90deg,transparent,var(--accent),transparent);content:"";height:1px;left:60px;position:absolute;right:60px;top:-1px}.resume-doc{align-items:center;display:flex!important;flex-direction:column;gap:16px;justify-content:center}.resume-doc canvas{border-radius:8px;box-shadow:0 8px 40px rgba(0,0,0,.5)}.resume-footer-cta{align-items:center;display:flex;flex-direction:column;gap:20px;margin-top:52px;text-align:center}.resume-footer-text{color:rgba(242,242,247,.45);color:var(--muted);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase}.resume-contact-btn{align-items:center;border:1px solid hsla(0,0%,100%,.08);border:1px solid var(--border);border-radius:100px;color:rgba(242,242,247,.45)!important;color:var(--muted)!important;display:inline-flex;font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:14px;font-weight:500;gap:8px;padding:12px 28px;text-decoration:none!important;transition:color .2s,border-color .2s,background .2s}.resume-contact-btn:hover{background:hsla(0,0%,100%,.04);background:var(--surface);border-color:hsla(0,0%,100%,.2);color:#f2f2f7!important;color:var(--text)!important}@media (max-width:600px){.resume-viewer-card{border-radius:16px;padding:16px}}@-webkit-keyframes fadeUp{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;-webkit-transform:translateY(20px);transform:translateY(20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.reveal{opacity:0;-webkit-transform:translateY(28px);transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),-webkit-transform .7s cubic-bezier(.16,1,.3,1);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1),-webkit-transform .7s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;-webkit-transform:none;transform:none}@media (max-width:900px){.pf-nav{padding:16px 24px}.pf-nav-links{gap:20px}.pf-nav-divider{display:none}#hero{padding:100px 24px 60px}#about{padding:80px 24px}.about-grid{gap:40px;grid-template-columns:1fr}#skills{padding:80px 24px}.skills-categories,.skills-top{grid-template-columns:1fr}.skills-top{gap:32px;margin-bottom:56px}.constellation,.skill-sphere{max-width:380px}.hero-3d-hint{display:none}#projects{padding:80px 24px}.project-card-pf.featured,.projects-grid{grid-template-columns:1fr}.project-card-pf.featured .project-thumb-pf{height:220px;min-height:220px}.projects-filter{margin:-16px 0 24px}.cs-panel{border-radius:20px 20px 0 0;height:96vh}.cs-header{padding:16px 20px}.cs-body{gap:36px;grid-template-columns:1fr;padding:28px 20px}.cs-side{position:static}.cs-footer{padding:20px 20px 32px}.cs-close span{display:none}#experience{padding:80px 24px}.exp-item{gap:12px;grid-template-columns:1fr}#contact{padding:80px 24px}.pf-footer{flex-direction:column;gap:12px;padding:20px 24px;text-align:center}}@media (max-width:600px){.hero-stats{gap:32px}.pf-nav-links{display:none}.contact-links{align-items:center;flex-direction:column}}.App{position:relative}
/*# sourceMappingURL=main.2a618900.css.map*/