@import"https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{font-family:Space Grotesk,sans-serif;color:#e8f7ed;background:#050807;font-synthesis:none;text-rendering:optimizeLegibility;--green: #00ff72;--soft: #9ab6a4;--line: rgba(0,255,114,.2)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:#050807;overflow-x:hidden}a{color:inherit;text-decoration:none}#matrix{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;opacity:.46;pointer-events:none}.scanlines{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;opacity:.12;background:repeating-linear-gradient(0deg,transparent 0px,rgba(255,255,255,.06) 1px,transparent 2px,transparent 4px)}#app{position:relative;z-index:2}.topbar{height:76px;padding:0 5vw;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#040907cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.brand{font:700 16px Share Tech Mono,monospace;letter-spacing:1px}.brand-mark{color:var(--green);font-size:23px;margin-right:8px}.muted{color:#8fa89a}.status{font:11px Share Tech Mono,monospace;color:#9cb8a7;letter-spacing:1px}.pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green);margin-right:8px;animation:pulse 1.4s infinite}.topbar nav{display:flex;gap:24px}.topbar nav a,.contact-links a{font:11px Share Tech Mono,monospace;letter-spacing:1.5px;color:#b6c8bd;transition:color .2s}.topbar nav a:hover,.contact-links a:hover{color:var(--green)}.hero{min-height:calc(100vh - 76px);padding:80px 8vw 50px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;position:relative;max-width:1600px;margin:auto}.eyebrow,.section-label{font:11px Share Tech Mono,monospace;color:var(--green);letter-spacing:2.3px}.line{display:inline-block;width:35px;height:1px;background:var(--green);vertical-align:middle;margin-right:10px}.hero h1{font-size:clamp(48px,6.6vw,96px);line-height:.92;letter-spacing:-5px;margin:28px 0 25px;font-weight:700}.glitch{color:var(--green);position:relative;text-shadow:0 0 24px rgba(0,255,114,.18)}.intro{font-size:16px;line-height:1.8;color:#a7b9ad;max-width:450px}.intro strong{color:#f0fff4}.terminal{max-width:490px;border:1px solid rgba(0,255,114,.28);background:#020906d1;margin-top:30px;box-shadow:0 0 35px #00ff720f}.terminal-head{height:32px;background:#00ff720f;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:6px;padding:0 12px}.terminal-head>span{width:6px;height:6px;border-radius:50%;background:#2f6546}.terminal-head label{font:10px Share Tech Mono,monospace;color:#8fa89a;margin-left:8px}.terminal-body{padding:18px;font:12px/1.9 Share Tech Mono,monospace;color:#d1f8dd;min-height:88px}.prompt{color:var(--green)}.cursor{color:var(--green);animation:blink .8s steps(1) infinite}.terminal-body p{color:#8fa89a;margin:3px 0 0}.hero-meta{display:flex;gap:24px;margin-top:35px;flex-wrap:wrap;color:#8fa89a;font:9px Share Tech Mono,monospace;letter-spacing:1px}.hero-meta b{color:var(--green);font-weight:400;margin-right:6px}.visual{height:500px;max-width:550px;width:100%;position:relative;margin:auto;display:grid;place-items:center;perspective:700px}.orbit{position:absolute;border:1px solid rgba(0,255,114,.42);border-radius:50%;width:70%;height:29%;transform:rotate(-35deg);box-shadow:0 0 22px #00ff720a}.orbit-a{animation:orbit 10s linear infinite}.core{width:140px;height:140px;border:1px solid var(--green);display:grid;place-items:center;transform:rotate(45deg);box-shadow:0 0 60px #00ff7229,inset 0 0 35px #00ff7214;background:#00ff7209;position:relative}.core-inner{font:700 78px Share Tech Mono,monospace;color:#e2ffeb;transform:rotate(-45deg);text-shadow:0 0 25px var(--green)}.core-inner span{color:var(--green);animation:blink .8s steps(1) infinite}.core-ring{position:absolute;top:-16px;right:-16px;bottom:-16px;left:-16px;border:1px dashed rgba(0,255,114,.45);border-radius:50%;animation:spin 12s linear infinite}.hud{position:absolute;font:10px Share Tech Mono,monospace;color:#8bb39a;letter-spacing:1px}.hud span{color:var(--green)}.hud-top{top:8%;left:12%}.hud-left{left:0;top:42%;width:110px}.hud-left b{display:block;color:var(--green);margin-top:8px}.meter{height:3px;background:#173423;margin-top:9px}.meter i{display:block;height:100%;width:34%;background:var(--green);box-shadow:0 0 8px var(--green);transition:width .4s}.hud-bottom{bottom:9%;right:12%}.crosshair{position:absolute;color:var(--green);opacity:.65;font:20px monospace}.cross-a{top:23%;right:17%}.cross-b{bottom:22%;left:14%}.scroll-note{position:absolute;bottom:18px;left:8vw;font:9px Share Tech Mono,monospace;color:#8fa89a;letter-spacing:2px;display:flex;align-items:center;gap:10px}.scroll-note span{height:25px;width:1px;background:var(--green);animation:scrollline 1.5s infinite}.section{max-width:1400px;margin:auto;padding:115px 8vw;display:grid;grid-template-columns:190px 1fr;gap:35px;border-top:1px solid rgba(0,255,114,.12);opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.section.visible,.contact.visible{opacity:1;transform:translateY(0)}.section-label{padding-top:13px;color:#8fa89a}.section h2,.contact h2{font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-3px;margin:0 0 28px}.section h2 span,.contact h2 span{color:var(--green)}.large-copy{font-size:clamp(20px,2.3vw,29px);line-height:1.45;max-width:720px;color:#d5e5da}.body-copy{color:#829d8b;line-height:1.9;max-width:680px;font-size:14px}.stats{display:flex;gap:55px;margin-top:45px;flex-wrap:wrap}.stats div{display:flex;flex-direction:column;gap:9px}.stats strong{font:32px Share Tech Mono,monospace;color:var(--green)}.stats span{font:9px Share Tech Mono,monospace;color:#8fa89a;letter-spacing:1.3px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px;gap:20px}.section-heading p{font:11px/1.8 Share Tech Mono,monospace;color:#8aa492}.green{color:var(--green)!important}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.project-card{border:1px solid rgba(0,255,114,.17);padding:14px;background:#040c08bd;transition:transform .25s,border-color .25s,box-shadow .25s}.project-card:hover{transform:translateY(-6px);border-color:#00ff7299;box-shadow:0 12px 35px #00ff7212}.card-top{display:flex;justify-content:space-between;color:#8fa89a;font:9px Share Tech Mono,monospace;letter-spacing:1px}.card-icon{color:var(--green);font-size:17px}.project-art{height:145px;margin:14px 0 18px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;font:12px Share Tech Mono,monospace;letter-spacing:2px;color:#d6ffe2;border:1px solid rgba(0,255,114,.13);background:linear-gradient(135deg,#0a1c11,#06100b)}.project-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent 0 7px,rgba(0,255,114,.045) 8px);pointer-events:none}.flower{font-size:58px;color:#b3ff8a;text-shadow:0 0 20px #7dff65}.project-card h3{font-size:18px;margin:0 0 8px}.project-card>p{font-size:12px;line-height:1.7;color:#8ca494;min-height:61px}.tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:17px}.tags span{font:8px Share Tech Mono,monospace;color:var(--green);border:1px solid rgba(0,255,114,.24);padding:5px 7px}.project-note,.replace-note{color:#8fa89a;font:10px/1.8 Share Tech Mono,monospace;margin-top:20px}.skills .section-content{max-width:1000px}.skills-intro{color:#8aa492;line-height:1.8;max-width:680px;font-size:14px;margin:0 0 32px}.skill-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.skill-card{min-height:245px;padding:22px;border:1px solid rgba(0,255,114,.2);background:linear-gradient(145deg,#07140cf0,#030906d1);position:relative;overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s}.skill-card:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:var(--green);opacity:.65}.skill-card:hover{transform:translateY(-4px);border-color:#00ff7294;box-shadow:0 12px 32px #00ff7212}.skill-card-top{display:flex;align-items:center;justify-content:space-between}.skill-index{font:9px Share Tech Mono,monospace;color:#8fa89a;letter-spacing:1.5px}.skill-symbol{font:23px Share Tech Mono,monospace;color:var(--green);text-shadow:0 0 16px rgba(0,255,114,.4)}.skill-card h3{font-size:20px;letter-spacing:-.4px;margin:22px 0 9px}.skill-card>p{font-size:12px;line-height:1.75;color:#8ca494;max-width:420px;margin:0 0 17px}.skill-tags{display:flex;flex-wrap:wrap;gap:7px}.skill-tags span{font:9px Share Tech Mono,monospace;letter-spacing:.3px;color:#b9e8c6;padding:7px 8px;border:1px solid rgba(0,255,114,.18);background:#00ff7209}.skills-footnote{font:9px/1.8 Share Tech Mono,monospace;letter-spacing:.35px;color:#8fa89a;margin-top:20px}.contact{padding:110px 8vw 125px;border-top:1px solid var(--line);display:grid;grid-template-columns:190px 1fr;gap:35px;background:linear-gradient(110deg,rgba(0,255,114,.045),transparent 60%);opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}.contact-content{max-width:900px}.contact h2{margin:20px 0}.contact-content>p:not(.eyebrow):not(.replace-note){color:#8aa492;line-height:1.8;max-width:520px}.contact-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.contact-links a{border:1px solid rgba(0,255,114,.35);padding:13px 17px;color:var(--green)}footer{border-top:1px solid var(--line);padding:25px 5vw;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font:9px Share Tech Mono,monospace;color:#8fa89a;letter-spacing:1px}footer b{color:var(--green)}footer a{color:#b2c6b8}@keyframes pulse{50%{opacity:.35;box-shadow:0 0 2px var(--green)}}@keyframes blink{50%{opacity:0}}@keyframes spin{to{transform:rotate(405deg)}}@keyframes orbit{to{transform:rotate(325deg)}}@keyframes scrollline{50%{opacity:.25;transform:scaleY(.65);transform-origin:top}}@media(max-width:950px){.topbar{padding:0 4vw}.topbar nav{gap:12px}.topbar nav a{font-size:9px}.status{display:none}.hero{padding:60px 6vw 55px;grid-template-columns:1fr}.hero-copy{position:relative;z-index:2}.visual{height:370px;width:min(100%,500px);margin-top:15px}.scroll-note{left:6vw}.section,.contact{padding:85px 6vw;grid-template-columns:130px 1fr;gap:20px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.topbar{height:auto;min-height:65px;flex-wrap:wrap;padding:15px 5vw;gap:12px}.topbar nav{width:100%;justify-content:space-between;gap:6px}.topbar nav a{font-size:8px;letter-spacing:.8px}.hero{padding-top:55px}.hero h1{letter-spacing:-3px;font-size:clamp(43px,13vw,70px)}.visual{height:300px}.core{width:100px;height:100px}.core-inner{font-size:55px}.hud-left{left:0}.section,.contact{display:block;padding:70px 6vw}.section-label{margin-bottom:28px}.section-heading{display:block}.section-heading p{margin-top:0}.project-grid{grid-template-columns:1fr}.project-art{height:165px}.project-card>p{min-height:0}.skill{grid-template-columns:1fr 65px;gap:10px}.skill>b{grid-column:2;grid-row:1}.stats{gap:25px}.stats strong{font-size:27px}.contact h2{letter-spacing:-2px}footer{font-size:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.core{overflow:visible}.core-inner{width:108px;height:108px;display:grid;place-items:center;border-radius:50%;overflow:hidden;transform:rotate(-45deg);border:1px solid rgba(0,255,114,.75);background:#07110a}.core-inner img{width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:saturate(.75) contrast(1.06)}.screenshot-art{background:#07100b!important;display:block!important}.screenshot-art img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;opacity:.88;filter:saturate(.82) contrast(1.04);transition:transform .45s,opacity .3s}.project-card:hover .screenshot-art img{transform:scale(1.045);opacity:1}.screenshot-art:before{content:"";position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#000a050d 35%,#000804db);pointer-events:none}.screenshot-art>span{position:absolute;z-index:2;left:13px;bottom:13px;padding:6px 8px;background:#020a05d6;border-left:2px solid var(--green);font-size:9px;letter-spacing:1.5px}@media(max-width:600px){.core-inner{width:76px;height:76px}}.profile-core{width:clamp(210px,23vw,300px);height:clamp(210px,23vw,300px);transform:rotate(0);border-radius:50%;border-width:2px;box-shadow:0 0 85px #00ff7240,inset 0 0 35px #00ff7221;background:#00ff720f;z-index:2}.profile-core .core-inner{width:calc(100% - 16px);height:calc(100% - 16px);border-radius:50%;transform:none;border:2px solid rgba(0,255,114,.7);overflow:hidden;position:relative}.profile-core .core-inner img{object-fit:cover;object-position:center 28%;filter:saturate(.88) contrast(1.08);transition:filter .15s,transform .15s}.profile-core .core-ring{top:-22px;right:-22px;bottom:-22px;left:-22px;border-width:2px}.profile-tag{position:absolute;bottom:-35px;left:50%;transform:translate(-50%);white-space:nowrap;font:10px Share Tech Mono,monospace;color:var(--green);letter-spacing:2px;text-shadow:0 0 12px #00ff72;background:#050807;padding:6px 10px;border:1px solid rgba(0,255,114,.3)}.profile-core.pixel-active .core-inner img{image-rendering:pixelated;filter:contrast(1.35) saturate(1.7) hue-rotate(12deg);transform:scale(1.035)}.profile-core.pixel-active:before,.profile-core.pixel-active:after{content:"";position:absolute;z-index:4;left:-8%;right:-8%;height:18%;background:repeating-linear-gradient(90deg,rgba(0,255,114,.72) 0 4px,transparent 4px 12px);mix-blend-mode:screen;animation:pixel-slice .22s steps(2) infinite alternate;pointer-events:none}.profile-core.pixel-active:before{top:25%;transform:translate(12px)}.profile-core.pixel-active:after{bottom:24%;transform:translate(-15px);animation-delay:.08s}.project-card{position:relative;overflow:hidden}.repo-link{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:17px;padding:11px 10px;border:1px solid rgba(0,255,114,.3);background:#00ff720b;font:9px Share Tech Mono,monospace;letter-spacing:1px;color:#b8ffd0;opacity:.88;transition:background .2s,color .2s,border-color .2s,transform .2s}.repo-link span{color:var(--green);font-size:15px}.repo-link:hover,.repo-link:focus-visible{background:var(--green);color:#031006;border-color:var(--green);transform:translateY(-2px);outline:none}.repo-link:hover span,.repo-link:focus-visible span{color:#031006}@media(max-width:600px){.profile-core{width:190px;height:190px}.profile-tag{font-size:8px}.repo-link{min-height:42px}}@media(prefers-reduced-motion:reduce){.profile-core.pixel-active:before,.profile-core.pixel-active:after{animation:none}}.profile-core .core-inner{isolation:isolate}.profile-core .core-inner img{display:block;position:relative;z-index:1}.profile-core .pixel-shatter-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:3;border-radius:50%;pointer-events:none;opacity:0}.profile-core.pixel-active .core-inner img{opacity:.12;image-rendering:pixelated;filter:contrast(1.4) saturate(1.8)}.profile-core.pixel-active .pixel-shatter-canvas{opacity:1}.profile-core.pixel-active:before,.profile-core.pixel-active:after{z-index:5;height:5%;background:linear-gradient(90deg,transparent,#00ff72,transparent);box-shadow:0 0 18px #00ff72}@keyframes pixel-slice{0%{opacity:.25;clip-path:inset(0 0 0 0);transform:translate(-12px)}to{opacity:1;clip-path:inset(15% 0 25% 0);transform:translate(14px)}}@media(max-width:760px){.skill-cards{grid-template-columns:1fr}.skill-card{min-height:0;padding:20px}.skills-intro{font-size:13px}}.role-line{display:inline-block;color:#d1f8dd;font-size:13px;letter-spacing:.15px;margin-top:5px}.hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:25px}.cv-button{display:inline-flex;align-items:center;gap:12px;padding:13px 16px;background:var(--green);color:#031006;border:1px solid var(--green);font:700 10px Share Tech Mono,monospace;letter-spacing:1px;box-shadow:0 0 22px #00ff721f;transition:transform .2s,box-shadow .2s,background .2s}.cv-button:hover,.cv-button:focus-visible{transform:translateY(-3px);box-shadow:0 8px 28px #00ff723d;background:#b7ffd0;outline:2px solid #b7ffd0;outline-offset:3px}.cv-button>span{font-size:23px;line-height:1}.cv-button small{font:8px Share Tech Mono,monospace;opacity:.7;border-left:1px solid rgba(0,0,0,.25);padding-left:10px}.cv-view{font:10px Share Tech Mono,monospace;letter-spacing:1.4px;color:#b7ffd0;border-bottom:1px solid rgba(0,255,114,.4);padding:10px 0;transition:color .2s}.cv-view:hover{color:#fff}.topbar nav .nav-cv{color:var(--green);border:1px solid rgba(0,255,114,.4);padding:9px 10px;margin-top:-9px;margin-bottom:-9px;white-space:nowrap}.topbar nav .nav-cv:hover{color:#031006;background:var(--green)}.education-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:32px}.education-card{position:relative;min-height:210px;padding:23px;border:1px solid rgba(0,255,114,.2);background:linear-gradient(140deg,#07140cf0,#030906d9);overflow:hidden}.education-card:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:var(--green);opacity:.75}.education-date,.education-state{font:9px Share Tech Mono,monospace;letter-spacing:1.2px;color:#79a88a}.education-mark{position:absolute;right:20px;top:15px;font:30px Share Tech Mono,monospace;color:#00ff7229}.education-card h3{font-size:20px;line-height:1.35;margin:25px 0 8px;color:#e7f7ec}.education-card p{font-size:13px;line-height:1.7;color:#8ca494;margin:0 0 20px}.education-state{display:inline-block;color:var(--green);border:1px solid rgba(0,255,114,.22);padding:6px 8px}.cv-panel{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:22px;padding:25px;border:1px solid rgba(0,255,114,.25);background:#00ff7209}.cv-panel h3{font-size:25px;margin:7px 0}.cv-panel p:not(.eyebrow){font-size:12px;line-height:1.75;color:#8ca494;max-width:500px;margin:0}.cv-panel .eyebrow{margin:0;font-size:9px}.contact-links a{display:inline-flex;align-items:center;justify-content:center;min-height:42px}@media(max-width:1100px){.topbar{gap:15px}.topbar nav{gap:12px}.topbar nav a{font-size:9px;letter-spacing:.8px}}@media(max-width:760px){.topbar{height:auto;min-height:76px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}.topbar nav{width:100%;flex-wrap:wrap;justify-content:flex-start;gap:12px 17px}.topbar nav .nav-cv{margin:0;padding:7px 9px}.hero-actions{gap:12px}.education-grid{grid-template-columns:1fr}.cv-panel{align-items:flex-start;flex-direction:column}.cv-panel .cv-button{max-width:100%}}@media(max-width:420px){.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .cv-button{justify-content:center}.cv-view{align-self:flex-start}.cv-panel{padding:18px}.cv-panel .cv-button{font-size:9px;gap:8px}.cv-panel .cv-button small{padding-left:7px}}@media(prefers-reduced-motion:reduce){.cv-button{transition:none}}.certificate-summary{display:flex;align-items:center;gap:15px;padding:17px 20px;margin:25px 0 18px;border:1px solid rgba(0,255,114,.22);background:linear-gradient(100deg,#00ff7212,#00ff7204)}.certificate-summary strong{font:34px Share Tech Mono,monospace;color:var(--green)}.certificate-summary span,.certificate-summary i{font:9px Share Tech Mono,monospace;letter-spacing:1.1px;color:#a2bbaa}.certificate-summary i{margin-left:auto;color:#668a73;font-style:normal}.certificate-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.filter-btn{padding:9px 12px;border:1px solid rgba(0,255,114,.2);background:#040c07c7;color:#91a99a;font:9px Share Tech Mono,monospace;letter-spacing:.8px;cursor:pointer;transition:.2s}.filter-btn:hover,.filter-btn.active{border-color:var(--green);background:#00ff721a;color:#dffff0}.filter-btn span{color:var(--green);margin-left:4px}@media(max-width:950px){.certificate-summary i{display:none}}@media(max-width:600px){.certificate-summary{gap:10px;padding:13px}.certificate-summary strong{font-size:29px}.certificate-summary span{font-size:8px}.filter-btn{font-size:8px;padding:8px 9px}}.project-details{display:grid;gap:16px}.cert-search-row{margin:0 0 16px}#cert-search{width:100%;max-width:420px;padding:11px 13px;background:#040c07cc;border:1px solid rgba(0,255,114,.22);color:#dffff0;font:10px Share Tech Mono,monospace;letter-spacing:1px;outline:none}#cert-search:focus{border-color:var(--green)}.cert-viewer{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:16px;align-items:start}.cert-stage{--c: #00ff72;border:1px solid color-mix(in srgb,var(--c) 45%,transparent);background:linear-gradient(160deg,#08140ef5,#030906eb);padding:16px;box-shadow:0 0 40px color-mix(in srgb,var(--c) 10%,transparent);position:sticky;top:96px}.cert-meta{padding:16px 4px 4px}.cert-tags{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.cert-count{font:11px Share Tech Mono,monospace;color:var(--c);letter-spacing:1.5px}.cert-pill{font:8px Share Tech Mono,monospace;letter-spacing:1.2px;padding:5px 8px;color:#06100a;background:var(--c);text-transform:uppercase}.cert-pill.ghost{background:transparent;color:var(--c);border:1px solid color-mix(in srgb,var(--c) 55%,transparent)}.cert-meta h3{font-size:clamp(18px,2.1vw,25px);line-height:1.3;margin:14px 0 18px;letter-spacing:-.3px}.cert-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.cert-btn{font:9px Share Tech Mono,monospace;letter-spacing:1.2px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--c) 55%,transparent);color:var(--c);transition:.2s}.cert-btn.primary,.cert-btn:hover{background:var(--c);color:#04100a}.cert-nav{margin-left:auto;display:flex;gap:6px}.cert-nav button{width:38px;height:38px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#e8f7ed;font-size:17px;cursor:pointer}.cert-nav button:hover{border-color:var(--c);color:var(--c)}.cert-list{display:flex;flex-direction:column;gap:6px;max-height:640px;overflow:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:#1c5a35 transparent}.cert-empty{font:10px Share Tech Mono,monospace;color:#8fa89a;padding:20px}@media(max-width:900px){.cert-viewer{grid-template-columns:1fr}.cert-stage{position:static}.cert-list{max-height:none;flex-direction:row;overflow-x:auto;padding-bottom:8px}}.project-details{grid-template-columns:minmax(0,1fr)}.section-content{min-width:0;max-width:100%}.cert-viewer{display:block;position:relative}.cert-stage{display:none}.cert-preview-note{color:#91a99a;font-size:13px;line-height:1.7;margin:-4px 0 22px}.cert-result-count{font:10px Share Tech Mono,monospace;color:#83a18e;letter-spacing:1px;white-space:nowrap}.cert-search-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.cert-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-height:none;overflow:visible;padding:0;margin-top:18px}.cert-empty{grid-column:1/-1}@media(max-width:900px){.cert-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.cert-list{grid-template-columns:1fr 1fr;gap:9px}.cert-search-row{align-items:flex-start;flex-direction:column}}body{--scene-glow: rgba(0,255,114,.055);background:radial-gradient(ellipse at 78% 12%,var(--scene-glow),transparent 42%),#050807;transition:background 1s ease}body[data-scene=home]{--scene-glow: rgba(0,255,114,.09)}body[data-scene=about]{--scene-glow: rgba(49,154,112,.09)}body[data-scene=projects],body[data-scene=details]{--scene-glow: rgba(52,126,180,.09)}body[data-scene=certificates]{--scene-glow: rgba(153,106,210,.11)}body[data-scene=skills]{--scene-glow: rgba(218,165,75,.08)}body[data-scene=education]{--scene-glow: rgba(72,154,190,.08)}body[data-scene=contact]{--scene-glow: rgba(0,255,114,.1)}#matrix{opacity:.22;transition:opacity 1s ease}body[data-scene=certificates] #matrix{opacity:.12}body[data-scene=details] #matrix,body[data-scene=projects] #matrix{opacity:.17}.project-details{display:block;min-height:460px}.cert-viewer{display:block}.cert-stage{position:relative;top:auto;min-height:360px;padding:clamp(14px,2.5vw,28px);overflow:hidden;background:linear-gradient(135deg,#0b1712f7,#050b09f5)}.cert-feature{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.8fr);gap:clamp(18px,3vw,38px);align-items:center;transition:opacity .25s,transform .25s,filter .25s}.cert-feature-image{min-height:280px;display:grid;place-items:center;padding:clamp(10px,2vw,22px);background:linear-gradient(145deg,#101b15,#050907);border:1px solid rgba(255,255,255,.09)}.cert-feature-image img{display:block;width:100%;max-height:430px;object-fit:contain}.cert-feature .cert-meta{padding:12px 8px}.cert-kicker{font:9px Share Tech Mono,monospace;color:#8fa89a;letter-spacing:1.3px;margin:22px 0 7px}.cert-feature .cert-meta h3{font-size:clamp(22px,2.7vw,34px);line-height:1.2;margin:0 0 14px}.cert-preview-note{color:#9bb0a2;font-size:13px;line-height:1.8;margin:0 0 22px}.cert-enter{animation:cert-in .48s cubic-bezier(.2,.75,.25,1) both}.cert-exit{opacity:0;transform:translate(-14px);filter:blur(3px)}@keyframes cert-in{0%{opacity:0;transform:translate(18px) scale(.99);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}.cert-list{display:block;margin-top:18px;padding:12px 16px;border:1px solid rgba(255,255,255,.08);background:#040b08b8}.cert-track{display:flex;align-items:center;gap:12px;font:9px Share Tech Mono,monospace;color:#8da997;letter-spacing:1px}.cert-track i{height:2px;flex:1;background:linear-gradient(90deg,var(--green) var(--progress),rgba(255,255,255,.1) var(--progress));transition:background .3s}.cert-stepper{display:flex;gap:5px;flex-wrap:wrap;margin-top:12px}.cert-dot{width:13px;height:13px;border:1px solid rgba(151,190,164,.35);border-radius:50%;background:transparent;cursor:pointer;padding:0;transition:transform .2s,background .2s,border-color .2s}.cert-dot:hover{transform:scale(1.2);border-color:var(--green)}.cert-dot.active{background:var(--green);border-color:var(--green);box-shadow:0 0 10px #00ff7280}.cert-nav button{transition:transform .2s,border-color .2s,color .2s}.cert-nav button:hover{transform:translateY(-2px)}@media(max-width:760px){.cert-feature{grid-template-columns:1fr}.cert-feature-image{min-height:190px}.cert-feature-image img{max-height:300px}.cert-feature .cert-meta{padding:8px 2px}.project-details{min-height:0}}@media(prefers-reduced-motion:reduce){.cert-enter{animation:none}body,#matrix{transition:none}}.certificates-section .cert-stage{display:block!important;position:relative;inset:auto;min-height:0;width:100%;visibility:visible;opacity:1}.certificates-section .cert-viewer{display:block}.certificates-section .cert-feature-image{min-height:250px}.certificates-section .cert-feature-image img{max-width:100%}.cert-stage{border-radius:12px}.cert-feature-image,.cert-list{border-radius:8px}@media(max-width:760px){.certificates-section .cert-stage{padding:14px}}.projects .section-heading p{font:12px/1.75 Space Grotesk,sans-serif;letter-spacing:0;color:#91a398}.projects .section-heading p .green{color:#9bbda4!important}.projects .project-grid{gap:18px}.projects .project-card{border:1px solid rgba(190,220,198,.13);border-radius:10px;padding:16px;background:#0c130fc7;box-shadow:none;transition:transform .22s ease,border-color .22s ease,background .22s ease}.projects .project-card:hover{transform:translateY(-3px);border-color:#a0cdaa59;background:#0f1913eb;box-shadow:0 10px 28px #00000029}.projects .card-top{font:10px Space Grotesk,sans-serif;letter-spacing:.5px;color:#8fa89a}.projects .card-icon{color:#a5c9ad}.projects .project-art{border:0;border-radius:7px;background:#111d16;margin:14px 0 17px;height:158px;letter-spacing:.8px}.projects .project-art:after{display:none}.projects .project-card h3{font-size:19px;letter-spacing:-.35px;font-weight:600}.projects .project-card>p{font:13px/1.65 Space Grotesk,sans-serif;color:#a1b0a6;min-height:0}.projects .tags{gap:6px;margin-top:14px}.projects .tags span{font:10px Space Grotesk,sans-serif;letter-spacing:0;text-transform:none;color:#b7c9bc;border:1px solid rgba(183,201,188,.16);background:#b7c9bc0e;border-radius:4px;padding:5px 8px}.projects .project-card .repo-link{margin-top:15px;padding:10px 2px 2px;border:0;border-top:1px solid rgba(183,201,188,.14);background:none;color:#b7cdbd;font:11px Space Grotesk,sans-serif;letter-spacing:.25px}.projects .project-card .repo-link span{color:#a5c9ad}.projects .project-card .repo-link:hover{background:none;color:#e6f2e9;transform:none}.projects .project-card .repo-link:hover span{color:#e6f2e9}.project-details{gap:14px}@media(max-width:700px){.projects .project-grid{grid-template-columns:1fr}}:root{--display: "Sora","Space Grotesk",system-ui,sans-serif;--sans: "Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--mono: "JetBrains Mono",ui-monospace,"Cascadia Code",monospace;--bg: #070b09;--surface: #0e1511;--surface-2: #141d18;--border: rgba(190,220,198,.14);--text: #e8f1ea;--muted: #9db1a3;--accent: #00e676;--ease: cubic-bezier(.2,.7,.2,1);--t-fast: .15s;--t-mid: .3s}.topbar nav{gap:20px}.nav-cv{color:var(--accent)!important;border:1px solid rgba(0,230,118,.4);padding:7px 11px;border-radius:6px}.project-card,.skill-card,.terminal{border-radius:12px}.tags span,.skill-tags span,.repo-link,.cv-button,.contact-links a{border-radius:6px}.scanlines{opacity:.05}.pe,.lightbox{font-family:var(--sans);font-size:16px;line-height:1.65}.pe h3,.pe h4,.pe h5{font-family:var(--display)}.section,.contact{transform:translateY(16px);transition:opacity var(--t-mid) var(--ease),transform .5s var(--ease)}.project-card:hover,.projects .project-card:hover,.skill-card:hover{transform:translateY(-2px)}.screenshot-art img{transition:transform .4s var(--ease),opacity .3s}.project-card:hover .screenshot-art img{transform:scale(1.03)}.repo-link,.cv-button,.cv-view,.filter-btn,.cert-btn{transition-duration:var(--t-fast)}#scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;z-index:50;pointer-events:none}.case-link{display:block;width:100%;margin-top:14px;padding:11px 10px;border:1px solid rgba(0,230,118,.4);border-radius:6px;background:transparent;color:var(--accent);font:11px Share Tech Mono,monospace;letter-spacing:1px;cursor:pointer;text-align:left;transition:background var(--t-fast),transform var(--t-fast)}.case-link:hover,.case-link:focus-visible{background:#00e6761a;transform:translateY(-1px);outline:none}.project-card .repo-link{margin-top:8px}.pe{display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px;align-items:start;max-width:1100px}.pe-list{position:sticky;top:96px;display:flex;flex-direction:column;gap:8px}.pe-item{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center;text-align:left;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);cursor:pointer;font-family:var(--sans);transition:border-color var(--t-fast),background var(--t-fast),transform var(--t-fast)}.pe-item img{width:64px;height:46px;object-fit:cover;object-position:top;border-radius:6px;background:#111d16}.pe-item span{display:flex;flex-direction:column;gap:2px;min-width:0}.pe-item b{font:600 14px var(--display)}.pe-item small{font-size:12px;line-height:1.35;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pe-item:hover{border-color:#00e67666;transform:translate(2px)}.pe-item.active{border-color:var(--accent);background:var(--surface-2);box-shadow:inset 3px 0 0 var(--accent)}.pe-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.project-details{min-height:0}.cs{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:clamp(18px,3vw,34px)}.cs-enter{animation:cs-in .35s var(--ease) both}.cs-exit{opacity:0;transform:translateY(-6px);transition:opacity .12s,transform .12s}@keyframes cs-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.cs-id{font:500 12px var(--mono);color:var(--accent);letter-spacing:1px}.cs-head h3{font-size:clamp(28px,4vw,44px);letter-spacing:-1px;margin:10px 0 6px}.cs-sub{color:var(--muted);margin:0 0 20px}.cs-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.cs-facts div{padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:#ffffff05}.cs-facts small{display:block;font:500 11px var(--mono);letter-spacing:.8px;color:var(--muted);margin-bottom:4px}.cs-facts b{font-weight:500;font-size:14px}.cs-jump{position:sticky;top:76px;z-index:5;display:flex;gap:8px;flex-wrap:wrap;margin:18px -4px 0;padding:10px 4px;background:linear-gradient(var(--surface) 70%,transparent)}.cs-jump button{padding:7px 12px;border:1px solid var(--border);border-radius:999px;background:transparent;color:#c6d8cb;font:500 12px var(--mono);cursor:pointer;transition:border-color var(--t-fast),color var(--t-fast)}.cs-jump button:hover{border-color:var(--accent);color:var(--accent)}.cs-shot{margin:8px 0 6px;position:relative;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#07100b;cursor:zoom-in}.cs-shot img{display:block;width:100%;max-height:420px;object-fit:cover;object-position:top;transition:transform .4s var(--ease)}.cs-shot:hover img{transform:scale(1.02)}.cs-shot figcaption{position:absolute;right:10px;bottom:10px;padding:5px 9px;border-radius:6px;background:#030a06d9;font:500 11px var(--mono);color:#c6d8cb}.cs-sec{margin-top:30px;scroll-margin-top:130px}.cs-sec h4{font:600 12px var(--mono);letter-spacing:1.4px;color:var(--accent);margin:0 0 12px}.cs-sec h5{font:600 15px var(--display);margin:0 0 6px}.cs-mini{margin-top:20px!important}.cs-lead{font-size:17px;line-height:1.7;color:#d6e2d9;max-width:760px;margin:0 0 18px}.cs-sec ul{margin:0;padding-left:20px;color:#b9cabe;font-size:15px;line-height:1.75}.cs-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;list-style:none;padding:0!important}.cs-features li{padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:#ffffff05}.cs-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}.cs-steps li{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:14px;border:1px solid var(--border);border-radius:10px;background:#ffffff05}.cs-steps li>b{font:700 18px var(--mono);color:var(--accent)}.cs-steps p{margin:0;color:#b9cabe;font-size:14px;line-height:1.7}.cs-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.cs-results div{padding:14px;border:1px solid rgba(0,230,118,.25);border-radius:10px;background:#00e6760d}.cs-results strong{display:block;font:700 24px var(--display);color:var(--accent)}.cs-results span{font-size:13px;color:var(--muted)}.cs .tags span{font-size:12px;padding:6px 10px}.cs .repo-link{margin-top:30px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:4vw;background:#020604eb;opacity:0;transition:opacity .2s;cursor:zoom-out}.lightbox.open{opacity:1}.lightbox img{max-width:100%;max-height:92vh;border-radius:10px;transform:scale(.97);transition:transform .25s var(--ease)}.lightbox.open img{transform:none}.lightbox button{position:absolute;top:18px;right:22px;width:40px;height:40px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text);font-size:16px;cursor:pointer}@media(max-width:900px){.pe{grid-template-columns:1fr}.pe-list{position:static;flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}.pe-item{min-width:230px;scroll-snap-align:start}.cs-jump{top:0}}@media(max-width:600px){.topbar nav{flex-wrap:wrap;justify-content:flex-start;gap:8px 14px}}@media(prefers-reduced-motion:reduce){.cs-enter,.orbit,.core-ring,.pulse,.cursor,.scroll-note span{animation:none!important}.section,.contact{transition:none;opacity:1;transform:none}#scroll-progress{display:none}}.cs-kind{display:inline-block;margin-left:10px;padding:3px 9px;border:1px solid rgba(0,230,118,.35);border-radius:999px;font:500 11px var(--mono);color:var(--accent);vertical-align:middle}.cs-audience{margin:0 0 16px;padding:12px 14px;border-left:3px solid var(--accent);background:#00e6760d;border-radius:0 8px 8px 0;color:#d6e2d9;font-size:15px}.cs-audience b{color:var(--accent);font:600 11px var(--mono);letter-spacing:1px;display:block;margin-bottom:2px}.cs-uses{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.cs-uses li{padding:16px;border:1px solid var(--border);border-radius:10px;background:#ffffff05}.cs-uses li>span{font:700 12px var(--mono);color:var(--accent)}.cs-uses h5{margin:6px 0}.cs-uses p{margin:0;color:#b9cabe;font-size:14px;line-height:1.7}.cs-tech-list{margin:0;display:grid;gap:0;border:1px solid var(--border);border-radius:10px;overflow:hidden}.cs-tech-list div{display:grid;grid-template-columns:190px 1fr;gap:16px;padding:12px 16px;border-bottom:1px solid var(--border);background:#ffffff04}.cs-tech-list div:last-child{border-bottom:0}.cs-tech-list dt{font:600 12px var(--mono);color:var(--accent)}.cs-tech-list dd{margin:0;color:#b9cabe;font-size:14px;line-height:1.7}@media(max-width:600px){.cs-tech-list div{grid-template-columns:1fr;gap:4px}}
