:root{--c1:#2dd4bf;--c2:#818cf8;--c3:#fbbf24;--fg:#e8ecf4;--mut:#94a0b8;--glass:rgba(13,17,30,.55);--bd:rgba(255,255,255,.1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:#070910;color:var(--fg);font-family:Space Grotesk,sans-serif;overflow-x:hidden;cursor:none}a{color:inherit;text-decoration:none;cursor:none}.mono{font-family:JetBrains Mono,monospace}.bgvid{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2}.bgvid video{width:100%;height:100%;object-fit:cover}.scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 0,rgba(7,9,16,.55) 70%),linear-gradient(transparent 60%,#07091099)}.particles{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}.particles span{position:absolute;border-radius:50%;background:#fff;box-shadow:0 0 8px var(--c1)}.cursor{position:fixed;top:-18px;left:-18px;width:36px;height:36px;border:1.5px solid var(--c1);border-radius:50%;pointer-events:none;z-index:100;mix-blend-mode:difference}.cursor-dot{position:fixed;top:-3px;left:-3px;width:6px;height:6px;background:var(--c3);border-radius:50%;pointer-events:none;z-index:100}.loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#070910;display:flex;flex-direction:column;justify-content:center;padding:0 max(24px,12vw);gap:14px}.loader h1{font-size:clamp(4rem,12vw,9rem);color:var(--fg)}.loadbar{height:3px;background:linear-gradient(90deg,var(--c1),var(--c3));transform-origin:left}.progress{position:fixed;top:0;left:0;right:0;height:2px;background:var(--c1);transform-origin:left;z-index:60}.glass{background:var(--glass);border:1px solid var(--bd);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:20px}.nav{position:fixed;top:16px;left:50%;translate:-50% 0;z-index:50;display:flex;align-items:center;gap:28px;padding:10px 14px 10px 22px;border-radius:999px}.logo{font-weight:700;font-size:1.2rem}.logo i{color:var(--c3);font-style:normal}.links{display:flex;gap:4px}.links a{position:relative;white-space:nowrap;padding:8px 14px;border-radius:999px;font-size:.92rem;color:var(--mut);transition:color .3s}.links a.on{color:#070910}.links a span{position:relative;z-index:1}.pill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--fg)}main{max-width:1180px;margin:0 auto;padding:0 24px}section{padding:120px 0 60px}.hero{min-height:100vh;display:flex;align-items:center;position:relative}.eyebrow{color:var(--c1);font-family:JetBrains Mono;font-size:.85rem;margin-bottom:18px}.hero-title{font-size:clamp(3rem,8.5vw,7.5rem);line-height:.95;font-weight:700;letter-spacing:-.03em}.word-mask{display:inline-block;overflow:hidden;vertical-align:top}.hero-sub{font-size:clamp(1.2rem,2.6vw,2rem);margin:22px 0;height:1.4em;color:var(--mut)}.typer{display:inline-block;color:var(--c1);font-weight:500}.typer span{display:inline-block}.badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.badge{padding:8px 16px;border-radius:999px;border:1px solid var(--bd);background:#2dd4bf14;font-size:.9rem}.taglines{list-style:none;color:var(--mut);display:grid;gap:6px}.taglines li:before{content:"▹ ";color:var(--c3)}.ctas{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}.ctas.center{justify-content:center}.btn{display:inline-block;padding:14px 26px;border-radius:999px;border:1px solid var(--bd);background:#ffffff0d;font-weight:600;color:var(--fg);font:inherit;cursor:none}.btn.primary{background:var(--fg);color:#070910;border:0}.scroll-hint{position:absolute;bottom:30px;left:50%;color:var(--mut);font-family:JetBrains Mono;font-size:.8rem}.sec-title{margin:40px 0 36px}.sec-k{font-family:JetBrains Mono;color:var(--c3)}.sec-title h2{font-size:clamp(2.2rem,5vw,4rem);letter-spacing:-.02em}.sec-line{height:2px;width:120px;background:linear-gradient(90deg,var(--c1),transparent);transform-origin:left;margin-top:10px}.about-text{font-size:clamp(1.1rem,1.8vw,1.45rem);line-height:1.6}.hl{color:var(--c1)}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:50px}.stat{padding:24px;text-align:center}.stat b{display:block;font-size:2.2rem;color:var(--fg)}.stat span{color:var(--mut)}.lead{font-size:1.2rem;color:var(--mut);max-width:760px;margin-bottom:34px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:10px}.card{padding:26px;height:100%;position:relative;overflow:hidden}.card:before,.proj:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(300px circle at var(--mx,50%) var(--my,50%),rgba(45,212,191,.15),transparent 60%);opacity:0;transition:opacity .3s;pointer-events:none}.card:hover:before{opacity:1}.card b.grad,.grad{font-size:1.6rem;color:var(--fg)}.card h4{margin:8px 0 4px}.card p{color:var(--mut);font-size:.95rem;line-height:1.5}.program h3{font-size:1.8rem;margin:12px 0}.note{margin-top:12px;font-style:italic}.chip{display:inline-block;padding:4px 12px;border-radius:999px;background:#818cf826;color:var(--c2);font-size:.78rem}.link{display:inline-block;margin-top:14px;color:var(--c1)}.marquee{overflow:hidden;margin:44px 0;mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.track{display:flex;gap:14px;width:max-content}.tag{padding:10px 22px;border-radius:999px;border:1px solid var(--bd);white-space:nowrap;font-size:1.1rem}.standard{padding:28px}.standard p{color:var(--mut);margin-top:14px}.std-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.std-list span{padding:6px 14px;border-radius:999px;background:#2dd4bf1a;color:var(--c1)}.skills{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.skill{padding:20px}.emoji{font-size:1.8rem;display:inline-block}.skill-row{display:flex;justify-content:space-between;margin:10px 0}.bar{height:6px;border-radius:9px;background:#ffffff14;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--c1),var(--c3));border-radius:9px}.ach{text-align:center}.big-emoji{font-size:2.6rem;display:inline-block}.venture{padding:44px;position:relative;overflow:hidden}.venture h3{font-size:3rem}.venture .lead{margin:16px 0}.vline{padding:16px;border-radius:14px;background:#ffffff0a;color:var(--mut)}.vline b{color:var(--fg)}.orb{position:absolute;right:-80px;top:-80px;width:300px;height:300px;border-radius:50%;background:radial-gradient(var(--c3),transparent 70%);opacity:.35;filter:blur(30px);animation:spin 8s linear infinite}@keyframes spin{50%{transform:translate(-60px,60px) scale(1.2)}}.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.proj{padding:24px;height:100%;cursor:none;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:10px}.proj h3{font-size:1.15rem;line-height:1.3}.proj p{color:var(--mut);font-size:.92rem;line-height:1.5}.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.num{color:var(--c3);font-size:.8rem}.stack{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.stack span{font-size:.72rem;padding:3px 9px;border-radius:999px;background:#2dd4bf1a;color:var(--c1)}.more{color:var(--c2);font-size:.85rem}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#070910b3;display:grid;place-items:center;padding:20px}.modal{max-width:640px;height:auto;background:#0d111ef5}.modal h3{font-size:1.6rem}.modal p{font-size:1.05rem}.contact{text-align:center;min-height:90vh}.contact .sec-line{margin:10px auto 0}.contact .lead{margin:0 auto 30px}.mail{font-size:clamp(1.4rem,4.5vw,3.4rem);font-weight:700;color:var(--fg)}footer{margin-top:100px;color:var(--mut);font-size:.85rem;padding-bottom:30px}.char-wrap{position:fixed;right:18px;z-index:70;width:170px;pointer-events:none}.av{width:170px;overflow:visible;filter:drop-shadow(0 10px 24px rgba(45,212,191,.25))}.bubble{position:absolute;right:100%;top:10px;width:190px;margin-right:-10px;padding:10px 14px;border-radius:16px 16px 4px;background:#fff;color:#0b1020;font-size:.85rem;font-weight:600;box-shadow:0 8px 30px #0000004d}.av .j{transform-box:view-box;transform-origin:0 0;transition:transform .55s cubic-bezier(.34,1.56,.64,1)}.av .lu{transform:rotate(var(--lu,8deg))}.av .lf{transform:rotate(var(--lf,0deg))}.av .ru{transform:rotate(var(--ru,-8deg))}.av .rf{transform:rotate(var(--rf,0deg))}.av .body{animation:breathe 3s ease-in-out infinite}@keyframes breathe{50%{transform:translateY(-4px)}}.av[data-a=wave]{--ru:-150deg;--lu:10deg}.av[data-a=wave] .rf{animation:wave .45s ease-in-out infinite alternate}@keyframes wave{0%{transform:rotate(-30deg)}to{transform:rotate(25deg)}}.av[data-a=think]{--ru:25deg;--rf:140deg;--lu:-20deg;--lf:-70deg}.av[data-a=think] .head{animation:tilt 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}@keyframes tilt{50%{transform:rotate(-5deg)}}.av[data-a=type]{--lu:-28deg;--lf:-40deg;--ru:28deg;--rf:40deg}.av[data-a=type] .lf{animation:tapL .22s infinite alternate}.av[data-a=type] .rf{animation:tapR .22s .11s infinite alternate}@keyframes tapL{0%{transform:rotate(-34deg)}to{transform:rotate(-46deg)}}@keyframes tapR{0%{transform:rotate(34deg)}to{transform:rotate(46deg)}}.av[data-a=point]{--lu:85deg;--lf:10deg;--ru:20deg;--rf:35deg}.av[data-a=point] .lu{animation:jab 1s ease-in-out infinite}@keyframes jab{50%{transform:rotate(95deg)}}.av[data-a=cheer]{--lu:160deg;--ru:-160deg}.av[data-a=cheer] .body{animation:jump .7s ease-in-out infinite}@keyframes jump{50%{transform:translateY(-16px)}}.av[data-a=photo]{--lu:-30deg;--lf:-55deg;--ru:30deg;--rf:55deg}.av[data-a=mail]{--lu:70deg;--lf:-20deg;--ru:-150deg}.av[data-a=mail] .rf{animation:wave .45s ease-in-out infinite alternate}.av.walk .ll{animation:stepA .32s ease-in-out infinite alternate}.av.walk .rl{animation:stepB .32s ease-in-out infinite alternate}@keyframes stepA{0%{transform:rotate(18deg)}to{transform:rotate(-18deg)}}@keyframes stepB{0%{transform:rotate(-18deg)}to{transform:rotate(18deg)}}.av.walk .body{animation:bob .16s ease-in-out infinite alternate}@keyframes bob{to{transform:translateY(-5px)}}.pulse{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.5}}.code-float{animation:floatup 2s ease-in-out infinite}.code-float.d2{animation-delay:1s}@keyframes floatup{0%{opacity:0;transform:translateY(10px)}50%{opacity:1}to{opacity:0;transform:translateY(-20px)}}.spark{fill:#fde047;animation:pulse .8s infinite}.flash{opacity:0;animation:flash 2.2s infinite}@keyframes flash{0%,88%,to{opacity:0}90%{opacity:.85}}.float{animation:breathe 1.4s ease-in-out infinite}@media(max-width:900px){.grid4,.skills,.stat-row{grid-template-columns:1fr 1fr}.grid2,.grid3,.proj-grid{grid-template-columns:1fr}.links a{padding:6px 8px;font-size:.78rem}.nav{gap:10px}.av,.char-wrap{width:100px}.bubble{display:none}.btn,.proj,a,body{cursor:auto}.cursor,.cursor-dot{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.plat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.plat{padding:18px;height:100%;position:relative;overflow:hidden}.plat>p{color:var(--mut);font-size:.9rem;margin-top:8px}.mock-stage{height:330px;display:grid;place-items:center;border-radius:14px;background:radial-gradient(circle at 50% 20%,rgba(129,140,248,.14),transparent 70%);margin-bottom:16px;overflow:hidden}.plat-info{display:flex;gap:12px;align-items:center}.plogo{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#ffffff0f;border:1px solid var(--bd)}.plogo svg{width:22px;height:22px}.plat-info small{color:var(--c1);font-size:.72rem}.spark-svg{width:100%;height:34px;display:block}.dev{position:relative;padding:6px;border-radius:30px;box-shadow:0 30px 60px #0000008c,inset 0 0 0 1px #ffffff14}.pixel{background:linear-gradient(145deg,#2b2f38,#121419);border-radius:26px}.iphone{background:linear-gradient(145deg,#8d8a85,#3f3d3a 40%,#6b6863);border-radius:34px;padding:5px}.iphone:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:31px;background:#000}.scr{position:relative;width:150px;height:306px;border-radius:21px;overflow:hidden;font:9px/1.3 -apple-system,Segoe UI,Roboto,sans-serif}.iphone .scr{border-radius:29px}.sb{display:flex;justify-content:space-between;align-items:center;padding:7px 12px 3px;font-weight:600}.md{background:#f4fbf4;color:#171d19}.punch{width:8px;height:8px;border-radius:50%;background:#0b0b0b}.md-top{display:flex;justify-content:space-between;align-items:center;padding:4px 12px}.md-top small{display:block;color:#5b6a60}.md-top b{font-size:14px}.md-av{width:24px;height:24px;border-radius:50%;background:#bdecc9;display:grid;place-items:center;font-style:normal;font-weight:700;color:#0f5f3a}.md-hero{margin:6px 10px;padding:10px;border-radius:18px;background:#bdecc9;color:#00210f}.md-hero b{font-size:17px;display:block}.md-hero em{font-style:normal;font-size:10px;opacity:.6}.md-chips{display:flex;gap:4px;padding:2px 10px}.md-chips span{padding:3px 6px;border-radius:8px;border:1px solid #c0c9c1;font-size:7.5px;white-space:nowrap}.md-li{display:flex;align-items:center;gap:8px;margin:5px 10px 0;padding:6px 8px;border-radius:12px;background:#fff}.md-li i{font-style:normal;font-size:13px}.md-li div{flex:1}.md-li b,.md-li small{display:block}.md-li small{color:#5b6a60}.md-fab{position:absolute;right:10px;bottom:46px;width:34px;height:34px;border-radius:12px;background:#9df0b8;display:grid;place-items:center;font-size:17px;box-shadow:0 4px 10px #0003}.md-nav{position:absolute;bottom:0;left:0;right:0;height:40px;background:#e8f0e9;display:flex;justify-content:space-around;align-items:center}.md-nav span{width:30px;height:18px;border-radius:9px;display:grid;place-items:center}.md-nav span.on{background:#bdecc9}.md-nav i{font-style:normal;font-size:11px}.gesture{position:absolute;bottom:3px;left:50%;translate:-50%;width:40px;height:3px;border-radius:2px;background:#171d19}.ios-scr{background:#f2f2f7;color:#000;font-family:-apple-system,SF Pro Text,sans-serif}.island{position:absolute;top:6px;left:50%;translate:-50%;background:#000;border-radius:14px;z-index:3;display:grid;place-items:center;overflow:hidden}.island span{color:#fff;font-size:7.5px;white-space:nowrap;font-weight:600}.ios-sb{padding:8px 16px 0}.ios-scr h5{font-size:19px;font-weight:800;padding:8px 12px 6px;letter-spacing:-.02em}.ios-widgets{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 10px}.w{height:62px;border-radius:16px;background:#fff;padding:7px;box-shadow:0 1px 3px #0000000f}.w.rings{display:grid;place-items:center;background:#1c1c1e}.w.rings svg{width:50px}.w small{color:#8e8e93;display:block}.w b{font-size:12px;display:block;margin:2px 0 6px}.prog{height:5px;border-radius:3px;background:#e5e5ea;overflow:hidden}.prog i{display:block;height:100%;background:#0a84ff}.ios-group{margin:8px 10px;border-radius:12px;background:#fff;overflow:hidden}.ios-group div{display:flex;justify-content:space-between;padding:7px 10px;border-bottom:.5px solid #e5e5ea}.ios-group em{font-style:normal;color:#8e8e93}.ios-tab{position:absolute;bottom:0;left:0;right:0;padding:6px 0 14px;display:flex;justify-content:space-around;background:#f9f9f9f7;border-top:.5px solid #d1d1d6}.ios-tab span{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:7px;color:#8e8e93}.ios-tab i{width:12px;height:12px;border-radius:4px;background:#c7c7cc}.ios-tab .on{color:#0a84ff}.ios-tab .on i{background:#0a84ff}.homeind{position:absolute;bottom:4px;left:50%;translate:-50%;width:50px;height:3.5px;border-radius:3px;background:#000}.chrome{width:94%;border-radius:10px;overflow:hidden;background:#0f1320;box-shadow:0 30px 60px #0000008c;border:1px solid rgba(255,255,255,.08);font:9.5px/1.3 Inter,Segoe UI,sans-serif;color:#e5e7eb}.ch-tabs{display:flex;align-items:flex-end;gap:5px;padding:7px 8px 0;background:#1b2030}.ch-tabs>i{width:8px;height:8px;border-radius:50%;margin-bottom:9px}.r{background:#ff5f57}.y{background:#febc2e}.g{background:#28c840}.tab{padding:5px 10px;border-radius:8px 8px 0 0;color:#9aa3b5;white-space:nowrap}.tab.on{background:#0f1320;color:#fff}.tab.on:first-of-type{margin-left:6px}.plus{color:#9aa3b5;padding:4px}.ch-url{display:flex;gap:8px;align-items:center;padding:5px 8px;color:#9aa3b5}.ch-url div{flex:1;padding:3px 10px;border-radius:99px;background:#1b2030;color:#cbd5e1}.ch-url b{font-size:8px}.dash{display:flex;height:215px}.dash aside{width:30px;background:#0b0e18;display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:10px;color:#64748b}.dash aside .on{color:#2dd4bf}.dash main{flex:1;padding:9px;display:flex;flex-direction:column;gap:7px}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.kpis div{padding:6px 8px;border-radius:8px;background:#161b2b;border:1px solid rgba(255,255,255,.05)}.kpis small{color:#7c879c;display:block}.kpis b{font-size:13px}.kpis em{font-style:normal;color:#2dd4bf;font-size:8px;margin-left:4px}.chart{padding:6px 8px;border-radius:8px;background:#161b2b}.chart small{color:#7c879c}.tbl div{display:flex;justify-content:space-between;padding:4px 6px;border-bottom:1px solid rgba(255,255,255,.05)}.tbl em{font-style:normal;color:#4ade80}.tbl em.run{color:#fbbf24;animation:pulse 1s infinite}.desk{position:relative;width:94%;height:300px;border-radius:12px;overflow:hidden;box-shadow:0 30px 60px #0000008c;font:9.5px/1.3 -apple-system,Segoe UI,sans-serif}.mac-desk{background:radial-gradient(ellipse at 20% 100%,#1e3a8a,transparent 60%),radial-gradient(ellipse at 90% 10%,#0e7490,transparent 55%),linear-gradient(160deg,#111827,#1e1b4b)}.menubar{display:flex;gap:10px;align-items:center;padding:4px 10px;background:#14141e66;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#fff}.menubar em{margin-left:auto;font-style:normal}.mwin{position:absolute;left:7%;right:7%;top:30px;bottom:52px;display:flex;border-radius:10px;overflow:hidden;box-shadow:0 20px 40px #00000080;border:.5px solid rgba(255,255,255,.15)}.mwin-side{width:30%;background:#282834b8;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);padding:8px;color:#d1d5db;display:flex;flex-direction:column;gap:3px}.lights{display:flex;gap:5px;margin-bottom:8px}.lights i{width:9px;height:9px;border-radius:50%}.mwin-side span{padding:4px 6px;border-radius:5px}.mwin-side .on{background:#ffffff1f}.mwin-main{flex:1;background:#1e1f25;color:#e5e7eb;padding:8px;display:flex;flex-direction:column;gap:7px}.mwin-bar{font-weight:600;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.07)}.bub{padding:6px 9px;border-radius:12px;max-width:85%}.bub.me{align-self:flex-end;background:#0a84ff;color:#fff}.bub.ai{background:#2c2d35}.bub u{color:#64d2ff;text-decoration:none}.typing{display:flex;gap:3px;padding:6px 9px;background:#2c2d35;border-radius:12px;width:max-content}.typing i{width:5px;height:5px;border-radius:50%;background:#9ca3af;animation:pulse 1s infinite}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}.dock{position:absolute;bottom:8px;left:50%;translate:-50%;display:flex;gap:6px;padding:6px 8px;border-radius:14px;background:#ffffff24;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:.5px solid rgba(255,255,255,.2)}.dock i{width:24px;height:24px;border-radius:7px;display:block}.win-desk{background:radial-gradient(ellipse at 50% 120%,#0067c0,transparent 60%),radial-gradient(ellipse at 30% 40%,#1e3a5f,transparent 60%),#0b1424}.w11{position:absolute;left:6%;right:6%;top:14px;bottom:44px;border-radius:8px;overflow:hidden;background:#20242ceb;border:1px solid rgba(255,255,255,.1);color:#e5e7eb;box-shadow:0 16px 40px #00000080}.w11-bar{display:flex;justify-content:space-between;align-items:center;padding-left:10px;height:26px}.w11-bar b{color:#3b9cff}.w11-bar em{display:flex;font-style:normal}.w11-bar em i{font-style:normal;width:30px;height:26px;display:grid;place-items:center;color:#cbd5e1}.w11-bar em i.x:hover{background:#c42b1c}.w11-body{display:flex;height:calc(100% - 26px)}.w11-body nav{width:30px;display:flex;flex-direction:column;align-items:center;gap:9px;padding-top:8px}.w11-body nav .on{position:relative}.w11-body nav .on:before{content:"";position:absolute;left:-8px;top:2px;width:3px;height:10px;border-radius:2px;background:#3b9cff}.w11-main{flex:1;padding:6px 10px;background:#ffffff08;border-top-left-radius:8px}.w11-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.w11-h b{font-size:12px}.w11-h span{font-size:8px;padding:2px 7px;border-radius:99px;background:#3b9cff2e;color:#93c5fd}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.cal small{text-align:center;color:#94a3b8;font-size:8px}.cal i{height:30px;border-radius:4px;background:#ffffff0d;font-style:normal;padding:2px}.cal i.ev span{display:block;font-size:6.5px;padding:2px 3px;border-radius:3px;background:#0067c0;color:#fff;border-left:2px solid #60cdff}.taskbar{position:absolute;bottom:0;left:0;right:0;height:34px;background:#1c2028d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;color:#e5e7eb;border-top:1px solid rgba(255,255,255,.08)}.tb-c{display:flex;gap:7px;align-items:center}.start svg{width:15px;height:15px;display:block}.search{padding:4px 12px;border-radius:99px;background:#ffffff14;color:#94a3b8}.tb-c i{width:16px;height:16px;border-radius:4px;display:block;position:relative}.tb-c i.act:after{content:"";position:absolute;bottom:-5px;left:4px;width:8px;height:2px;border-radius:2px;background:#60cdff}.taskbar em{position:absolute;right:10px;font-style:normal}.lin-desk{background:radial-gradient(ellipse at 80% 100%,#3b1f5c,transparent 60%),radial-gradient(ellipse at 10% 0,#7c2d12,transparent 55%),#140c1f}.gnome{display:flex;justify-content:space-between;padding:4px 10px;background:#000;color:#fff;font-weight:600}.gnome em{font-style:normal}.gwin{position:absolute;left:6%;right:6%;top:30px;bottom:14px;border-radius:12px;overflow:hidden;background:#1e1e1e;box-shadow:0 16px 40px #0009;border:1px solid rgba(255,255,255,.08)}.gwin-bar{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:#2d2d2d;color:#eee}.gwin-bar em{display:flex;gap:6px}.gwin-bar em i{width:12px;height:12px;border-radius:50%;background:#444}.gwin-bar em i.x{background:#e95420}.gterm{padding:8px 10px;font:9.5px/1.6 JetBrains Mono,monospace;color:#ddd}.gterm .cmd u{color:#8ae234;text-decoration:none;font-weight:700}.gterm .cmd s{color:#729fcf;text-decoration:none;margin-right:4px}.gterm .ok{color:#a3a3a3}.htop{display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;margin-bottom:6px;padding-bottom:6px;border-bottom:1px dashed #444}.htop div{display:flex;align-items:center;gap:5px}.htop span{color:#5fafd7}.htop b{flex:1;height:7px;background:#333;border-radius:2px;overflow:hidden}.htop b i{display:block;height:100%}.htop em{font-style:normal;width:26px;text-align:right;color:#aaa}@media(max-width:1000px){.plat-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.plat-grid{grid-template-columns:1fr}}.spiral-track{position:relative;margin:0 calc(50% - 50vw);width:100vw}.spiral-stage{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;place-items:center}.spiral-guide{position:absolute;width:140vmin;height:140vmin;opacity:.35}.spiral-guide path{fill:none;stroke:url(#none);stroke:#818cf880;stroke-width:1.2;stroke-dasharray:4 8}.spiral-center{position:relative;width:0;height:0}.sp-card{position:absolute;left:-260px;top:-190px;width:520px;cursor:none;will-change:transform}.sp-card.on .bframe{box-shadow:0 0 0 2px var(--c1),0 30px 80px #2dd4bf59}.sp-cap{margin-top:10px;text-align:center;font-weight:600;font-size:.95rem;text-shadow:0 2px 10px #000}.sp-cap span{color:var(--c3)}.bframe{border-radius:14px;overflow:hidden;background:#0a0d17;border:1px solid var(--bd);box-shadow:0 20px 60px #0009;transition:box-shadow .4s}.bbar{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#151a2a}.bbar i{width:9px;height:9px;border-radius:50%;background:#ff5f57}.bbar i:nth-child(2){background:#febc2e}.bbar i:nth-child(3){background:#28c840}.addr{flex:1;margin-left:10px;padding:3px 10px;border-radius:7px;background:#ffffff12;font:11px JetBrains Mono;color:var(--mut);display:flex;align-items:center;gap:6px}.live-dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e}.bview{position:relative;height:300px;overflow:hidden}.bframe.big .bview{height:min(62vh,620px)}.bview iframe{width:100%;height:100%;border:0;background:#fff}.sleep{position:absolute;top:0;right:0;bottom:0;left:0;background:#07091073}.shimmer{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,#0d1120 30%,#1b2238,#0d1120 70%);background-size:200% 100%;animation:shim 1.2s linear infinite}@keyframes shim{to{background-position:-200% 0}}.mock-site{height:100%;padding:14px 18px;background:radial-gradient(circle at 80% 0,hsl(var(--h) 80% 35% / .55),transparent 60%),linear-gradient(160deg,hsl(var(--h) 45% 10%),#07040f);display:flex;flex-direction:column;gap:10px}.ms-nav{display:flex;align-items:center;gap:10px;font-size:.8rem}.ms-nav b{margin-right:auto}.ms-nav span{width:34px;height:6px;border-radius:4px;background:#fff3}.ms-hero h3{font-size:1.35rem;line-height:1.2;max-width:85%}.ms-hero p{font-size:.78rem;color:var(--mut);margin-top:6px;max-width:90%}.ms-btn{display:inline-block;margin-top:10px;padding:6px 14px;border-radius:999px;font-size:.75rem;font-weight:700;background:hsl(var(--h) 85% 60%);color:#07040f}.ms-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto}.ms-cards i{height:54px;border-radius:10px;background:#ffffff12;border:1px solid rgba(255,255,255,.08)}.ms-stack{display:flex;gap:5px;flex-wrap:wrap}.ms-stack span{font-size:.62rem;padding:2px 7px;border-radius:99px;background:hsl(var(--h) 80% 60% / .15);color:hsl(var(--h) 90% 75%)}.sp-head{position:absolute;left:4vw;top:16vh;max-width:330px;z-index:120}.sp-head h3{font-size:1.4rem;margin:6px 0 10px;line-height:1.25}.sp-count{color:var(--c1);font-size:1.6rem}.sp-dots{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.sp-dots i{width:18px;height:4px;border-radius:3px;background:#ffffff26;transition:.3s}.sp-dots i.done{background:var(--c2)}.sp-dots i.on{background:var(--c1);width:34px}.sp-hint{position:absolute;bottom:4vh;color:var(--mut);font-size:.8rem}.sp-modal{width:min(1100px,94vw);max-height:92vh;overflow:auto;border-radius:18px;background:#0c0f1af7;border:1px solid var(--bd);padding:14px}.sp-mfoot{display:flex;gap:20px;justify-content:space-between;align-items:flex-end;padding:16px 6px 4px}.sp-mfoot p{color:var(--mut);margin-top:6px;max-width:720px}.sp-actions{display:flex;gap:10px;flex-shrink:0}@media(max-width:900px){.sp-card{width:300px;left:-150px;top:-130px}.bview{height:180px}.sp-head{top:10vh;left:5vw;right:5vw}.sp-mfoot{flex-direction:column;align-items:flex-start}}.featured{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:60px;perspective:1200px}.feat{position:relative;border-radius:18px;padding:12px;background:var(--glass);border:1px solid var(--bd);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.feat .bview{height:340px}.feat-badge{position:absolute;top:22px;right:24px;z-index:3;display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:99px;background:#070910cc;font:600 .7rem JetBrains Mono;color:#4ade80}.feat-cap{padding:14px 6px 4px}.feat-cap h3{font-size:1.15rem}.feat-cap p{color:var(--c1);font-size:.8rem;margin:6px 0 12px}@media(max-width:900px){.featured{grid-template-columns:1fr}}.scaled{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.scaled iframe{position:absolute;top:0;left:0;border:0;transform-origin:0 0;background:#fff}.cs{display:flex;flex-direction:column;gap:16px;padding:8px 6px}.cs-head h2{font-size:clamp(1.5rem,3vw,2.2rem);margin-top:10px;line-height:1.15}.cs-head .chip{margin-left:12px}.cs-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cs-block{padding:20px;border-radius:16px;background:#ffffff09;border:1px solid var(--bd)}.cs-block h4{font:600 .78rem JetBrains Mono;letter-spacing:.06em;color:var(--c1);margin-bottom:10px;text-transform:uppercase}.cs-block li,.cs-block p{color:#c9d1e0;line-height:1.6}.cs-block .stack{margin-top:12px}.cs-block.problem{border-left:3px solid #f87171}.cs-block.problem h4{color:#f87171}.cs-block.solution{border-left:3px solid var(--c1)}.cs-block.impact{border-left:3px solid var(--c3)}.cs-block.impact h4{color:var(--c3)}.cs-block.impact li::marker{content:"▲ ";color:var(--c3)}.cs-feat{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;list-style:none}.cs-feat li{padding:8px 12px;border-radius:10px;background:#2dd4bf12}.cs-feat li:before{content:"✓ ";color:var(--c1)}.cs ul{padding-left:18px}.cs-feat{padding-left:0}.cs-actions{justify-content:flex-end}.cs-teaser{font-size:.82rem!important;color:#c9d1e0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cs-teaser b{color:#f87171}.feat-cap p{color:var(--mut)!important;font-size:.85rem!important;line-height:1.5}@media(max-width:800px){.cs-grid{grid-template-columns:1fr}}.burger{display:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--bd);background:#ffffff0d;color:var(--fg);font-size:1.1rem}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#070910f5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;flex-direction:column;justify-content:center;padding:0 10vw;gap:6px}.drawer a{font-size:2.2rem;font-weight:700;padding:8px 0;border-bottom:1px solid var(--bd)}.drawer a.on{color:var(--c1)}@media(hover:none),(pointer:coarse){.btn,.proj,.sp-card,a,body{cursor:auto}.cursor,.cursor-dot{display:none}}@media(max-width:900px){.nav{left:12px;right:12px;translate:none;justify-content:space-between;padding:8px 8px 8px 18px}.nav .links{display:none}.burger{display:grid;place-items:center}section{padding:90px 0 40px}.hero{flex-direction:column;justify-content:flex-start;padding-top:110px;min-height:auto}.hero-title{font-size:clamp(2.6rem,12vw,4rem)}.hero-sub{font-size:1.1rem;height:auto;min-height:1.5em}.hero-avatar{position:relative;left:auto;bottom:auto;translate:none;width:min(320px,78vw);margin:30px auto 0}.scroll-hint{display:none}.grid4,.skills,.stat-row{grid-template-columns:1fr 1fr}.cs-grid,.featured,.grid2,.grid3,.proj-grid{grid-template-columns:1fr}.stat b{font-size:1.6rem}.char-wrap{right:8px;width:76px}.char-wrap .av{width:76px}.bubble{display:none}.feat .bview{height:230px}.bframe.big .bview{height:240px}.sp-card{width:min(300px,78vw);left:calc(min(300px,78vw)/-2);top:-120px}.bview{height:170px}.sp-head{top:12vh;left:6vw;right:6vw;max-width:none}.sp-head h3{font-size:1.05rem}.sp-modal{padding:10px;border-radius:14px}.modal-bg{padding:10px;align-items:start;overflow:auto}.cs-head .chip{margin:8px 0 0;display:inline-block}.cs-block{padding:16px}.cs-actions{flex-wrap:wrap;justify-content:stretch}.cs-actions>*{flex:1;text-align:center}.mail{word-break:break-all}.marquee .tag{font-size:.9rem}}@media(max-width:480px){.grid4,.skills{grid-template-columns:1fr}.stat-row{grid-template-columns:1fr 1fr;gap:10px}.mock-stage{height:320px}.chrome,.desk{width:100%}}.hero-avatar{position:absolute;left:50%;bottom:0;translate:-30% 0;width:min(440px,42vw);z-index:0;cursor:pointer}.hero-avatar .av{width:100%;filter:drop-shadow(0 30px 50px rgba(0,0,0,.55)) drop-shadow(0 0 40px rgba(129,140,248,.2))}.halo{position:absolute;left:10%;right:10%;top:12%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(45,212,191,.22),rgba(129,140,248,.12) 45%,transparent 70%);filter:blur(10px);animation:pulse 4s ease-in-out infinite}.hero-inner{position:relative;z-index:2;pointer-events:none}.hero-inner .badge,.hero-inner a{pointer-events:auto}.hero-title{text-shadow:0 6px 30px rgba(7,9,16,.7)}.av[data-a=phone]{--lu:-30deg;--lf:-55deg;--ru:30deg;--rf:55deg}.screen-cycle{animation:scr 4s steps(1) infinite}@keyframes scr{0%{fill:#3ddc84}25%{fill:#0a84ff}50%{fill:#e5e7eb}75%{fill:#e95420}}.glare{animation:glare 5s ease-in-out infinite}@keyframes glare{0%,80%,to{opacity:.2}88%{opacity:.6}}@media(max-width:900px){.hero-avatar{position:relative;left:auto;bottom:auto;translate:none;width:min(320px,78vw);margin:24px auto 0;align-self:center}}.links a{transition:background .35s,color .35s}.links a.on{background:var(--fg);color:#070910}.sec-title.has-av{position:relative;padding-right:220px;min-height:150px}.sec-av{position:absolute;right:0;top:50%;translate:0 -55%;width:170px}.sec-av .av{width:170px}.sec-bubble{position:absolute;right:100%;top:12px;margin-right:-14px;width:max-content;max-width:210px;padding:8px 12px;border-radius:14px 14px 4px;background:var(--fg);color:#0b1020;font-size:.8rem;font-weight:600}.statement{font-size:clamp(1.15rem,2vw,1.55rem);color:#c9d1e0;max-width:620px;margin-top:18px;line-height:1.45}.faq{display:grid;gap:12px;max-width:900px}.faq-item{border:1px solid var(--bd);border-radius:16px;background:var(--glass);overflow:hidden}.faq-item button{all:unset;cursor:pointer;display:flex;justify-content:space-between;gap:16px;width:100%;box-sizing:border-box;padding:18px 22px}.faq-item h3{font-size:1.05rem;font-weight:600}.faq-item button span{font-size:1.4rem;color:var(--c1)}.faq-item p{padding:0 22px 18px;color:#c9d1e0;line-height:1.6}@media(max-width:900px){.sec-title.has-av{padding-right:110px;min-height:120px}.sec-av,.sec-av .av{width:100px}.sec-bubble{display:none}}.contact{text-align:left;min-height:auto;padding-bottom:0}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:end}.contact-copy{padding-bottom:80px}.contact-copy .lead{margin:0 0 24px}.contact .sec-line{margin:10px 0 0}.mail{display:inline-block;font-size:clamp(1.3rem,3.2vw,2.6rem);font-weight:700;color:var(--fg);border-bottom:2px solid var(--c1);padding-bottom:4px;transition:color .3s}.mail:hover{color:var(--c1)}.portrait{position:relative;justify-self:center;width:min(460px,100%);aspect-ratio:820/970}.portrait img{position:relative;width:100%;height:100%;object-fit:contain;object-position:bottom;-webkit-user-select:none;user-select:none;-webkit-mask-image:linear-gradient(#000 82%,transparent);mask-image:linear-gradient(#000 82%,transparent)}.portrait-ring{position:absolute;left:8%;right:8%;top:6%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(45,212,191,.35);animation:spinr 18s linear infinite}.portrait-ring:before{content:"";position:absolute;top:-5px;left:50%;width:10px;height:10px;border-radius:50%;background:var(--c1);box-shadow:0 0 14px var(--c1)}@keyframes spinr{to{transform:rotate(360deg)}}.portrait-glow{position:absolute;left:12%;right:12%;top:14%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(45,212,191,.22),rgba(129,140,248,.12) 50%,transparent 72%);filter:blur(20px)}footer{text-align:center;border-top:1px solid var(--bd);padding:26px 0;margin-top:0}@media(max-width:900px){.contact-grid{grid-template-columns:1fr}.contact-copy{padding-bottom:20px}.portrait{width:min(340px,86vw)}}img{-webkit-user-drag:none}.loader h1{font-size:clamp(2.4rem,7vw,5.5rem);letter-spacing:-.03em;color:var(--fg);line-height:1}.loader-sub{color:var(--mut);font-size:clamp(1rem,1.6vw,1.25rem)}.boot{display:grid;gap:6px;font-size:.85rem;color:var(--mut);margin-bottom:18px;min-height:100px}.boot-line span{display:inline-block;width:20px}.boot-line .ok{color:var(--c1)}.boot-line .run{color:var(--c3)}.loadtrack{height:2px;background:#ffffff14;max-width:420px;margin-top:10px}.loadbar{height:2px;background:var(--c1);transform-origin:left}.rise{animation:rise .8s .2s both cubic-bezier(.22,1,.36,1)}.rise.d2{animation-delay:.5s}@keyframes rise{0%{opacity:0;transform:translateY(20px)}}.loadbar{animation:load 1.6s ease-in-out both}@keyframes load{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.boot-line{transition:opacity .3s}.sub-h{font-size:1.4rem;margin:60px 0 0}.sp-tag{font:600 .75rem JetBrains Mono;color:var(--c1);margin-bottom:10px}.bview img.shot{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.shimmer.idle{animation:none}body,html{overflow-x:clip;max-width:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}*{-webkit-tap-highlight-color:transparent}body{overscroll-behavior-y:none}.bgvid{height:100lvh}.hero{min-height:100svh}.spiral-stage{height:100vh;height:100svh}.drawer,.loader,.modal-bg{height:100vh;height:100dvh}.nav{top:max(16px,env(safe-area-inset-top))}main{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}footer{padding-bottom:max(26px,env(safe-area-inset-bottom))}.sp-modal{max-height:calc(100dvh - 24px)}iframe{color-scheme:normal}@media(max-height:560px)and (orientation:landscape){.hero{padding-top:90px;min-height:auto}.hero-title{font-size:clamp(2rem,6vw,3.2rem)}.hero-avatar{width:min(260px,30vw)!important}.sp-card{width:min(420px,52vw);left:calc(min(420px,52vw)/-2);top:-130px}.bview{height:min(210px,38vh)}.sp-head{top:10vh;max-width:28vw}.sp-head h3{font-size:.95rem}.sp-dots,.sp-hint{display:none}.sec-av,.sec-av .av{width:110px}.sec-title.has-av{padding-right:130px;min-height:110px}.loader h1{font-size:2rem}.boot{min-height:0;margin-bottom:6px}.mock-stage{height:300px}}@media(min-width:700px)and (max-width:1100px){.plat-grid{grid-template-columns:1fr 1fr}.sp-card{width:min(460px,62vw);left:calc(min(460px,62vw)/-2)}}@media(min-width:1700px){main{max-width:1320px}.sp-card{width:620px;left:-310px;top:-230px}.bview{height:360px}}@media(prefers-reduced-motion:reduce){.halo,.portrait-ring,.spiral-guide{animation:none!important}}.brand{display:inline-grid;place-items:center;border-radius:12px;background:#f4f6fb;box-shadow:0 4px 14px #00000040,inset 0 0 0 1px #fff9;flex-shrink:0}.brand svg{display:block}.brand-raw{display:grid;place-items:center}.brand-raw svg{width:100%;height:100%}.brand-mono{font-family:Space Grotesk,sans-serif;font-weight:700;color:#0b1020;letter-spacing:-.02em}.skill-logo{display:inline-block}.tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.tool-group{padding:20px}.tool-group h4{font:600 .78rem JetBrains Mono;letter-spacing:.06em;text-transform:uppercase;color:var(--c1);margin-bottom:14px}.tool-list{display:flex;flex-wrap:wrap;gap:10px}.tool{display:flex;align-items:center;gap:9px;padding:6px 12px 6px 6px;border-radius:14px;background:#ffffff0a;border:1px solid var(--bd);font-size:.88rem}@media(max-width:700px){.tools{grid-template-columns:1fr}.tool{font-size:.8rem}}.featured{grid-template-columns:repeat(2,minmax(0,1fr))}.bbar,.bframe,.bview,.cs-block,.feat,.plat,.proj,.sp-card,.tool-group{min-width:0}.addr{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:flex}.addr>b{flex-shrink:0}.feat{padding:12px}.feat-badge{top:auto;bottom:calc(100% - 52px);right:22px;transform:translateY(-50%)}.feat .bbar{padding-right:84px}.sp-cap{max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.sp-hint{left:0;right:0;text-align:center;padding:0 20px}.sec-title h2{overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none}@media(max-width:900px){.featured{grid-template-columns:minmax(0,1fr)}.feat-badge{right:18px}.spiral-stage{align-content:start}.sp-head{top:calc(env(safe-area-inset-top) + 92px);left:20px;right:20px;max-width:none;text-align:left}.sp-head h3{font-size:1rem;margin:4px 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.sp-tag{font-size:.7rem;margin-bottom:4px}.sp-count{font-size:1rem;display:inline-block}.sp-dots{display:none}.spiral-center{position:absolute;left:50%;top:57%}.sp-hint{bottom:calc(env(safe-area-inset-bottom) + 18px);font-size:.7rem}.sp-cap{font-size:.8rem}}@media(max-width:900px)and (max-height:700px){.spiral-center{top:64%}.sp-card{width:min(260px,72vw);left:calc(min(260px,72vw)/-2);top:-110px}.bview{height:150px}}html.locked body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html.locked input,html.locked textarea{-webkit-user-select:text;user-select:text}.ach-logo{display:inline-block;margin-bottom:6px}.ach .brand{width:56px!important;height:56px!important;border-radius:16px}.certs{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}.cert{display:flex;align-items:flex-start;gap:14px;padding:18px;height:100%;position:relative}.cert-body{flex:1;min-width:0}.cert-body h4{font-size:1rem;line-height:1.3}.cert-body p{color:var(--mut);font-size:.85rem;margin-top:4px}.cert-body small{display:block;margin-top:6px;color:#6b7690;font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cert-verify{font-size:.78rem;color:var(--c1);white-space:nowrap;align-self:center}@media(max-width:700px){.certs{grid-template-columns:1fr}.cert{padding:14px}}.certs{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr))}.tools{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr))}.certs>*,.grid3>*,.grid4>*,.plat-grid>*,.proj-grid>*,.skills>*,.tools>*{min-width:0}@media(max-width:900px){.sec-title.has-av{padding-right:0;min-height:0;padding-top:78px}.sec-av,.sec-av .av{width:88px}.sec-av{top:0;right:0;translate:none}.sec-title h2{font-size:clamp(2rem,9.5vw,3rem);line-height:1.08}.cert{flex-wrap:wrap;gap:12px;padding:16px}.cert-body{flex:1 1 calc(100% - 70px)}.cert-body h4{font-size:.98rem}.cert-verify{flex-basis:100%;align-self:auto;padding:8px 0 0 58px;font-size:.8rem}.lead{font-size:1.05rem}}@media(max-width:900px){.sec-title.has-av{padding-top:112px}.sec-av,.sec-av .av{width:78px}.sec-av{top:-4px}}.contact{overflow:hidden}.feat-poster{all:unset;display:block;position:relative;cursor:pointer;width:100%}.feat-poster .sleep{display:none}.tap{position:absolute;left:50%;bottom:16px;transform:translate(-50%);padding:8px 14px;border-radius:999px;background:#070910c7;color:var(--fg);font-size:.72rem;white-space:nowrap;border:1px solid var(--bd)}.bg-still{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}@media(hover:none),(pointer:coarse),(max-width:900px){.drawer,.feat,.glass,.modal-bg,.nav,.replay,.sp-modal{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.glass{background:#0d111eeb}.nav{background:#090c14f0}.modal-bg{background:#070910f0}.av,.hero-avatar .av{filter:none!important}.halo,.orb{display:none}}.contact-center{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:760px;margin:0 auto;padding-bottom:80px}.contact-center .sec-title{display:flex;flex-direction:column;align-items:center;margin-bottom:28px}.contact-center .sec-line{margin:10px auto 0}.contact-center .lead{margin:28px auto 22px}.portrait{position:relative;width:clamp(170px,22vw,230px);aspect-ratio:1;justify-self:auto;border-radius:50%;padding:6px;background:conic-gradient(from 210deg,var(--c1),rgba(129,140,248,.6),var(--c1));box-shadow:0 20px 60px -20px #2dd4bf73}.portrait img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 12%;background:#0d1322;-webkit-mask-image:none;mask-image:none;display:block}.portrait-ring{bottom:-14px;left:-14px;right:-14px;top:-14px;aspect-ratio:auto;border-radius:50%}.portrait-glow{bottom:-30px;left:-30px;right:-30px;top:-30px;aspect-ratio:auto}@media(max-width:900px){.portrait{width:180px}}.portrait{width:220px;height:220px;aspect-ratio:auto;flex-shrink:0}@media(max-width:900px){.portrait{width:184px;height:184px}}.build-live{position:relative;margin:-6px -6px 6px}.build-live .bview{height:190px}.build-open{position:absolute;top:8px;right:10px;z-index:3;padding:3px 10px;border-radius:99px;background:#070910d1;color:#4ade80;font-size:.68rem;border:1px solid var(--bd)}.phone{display:inline-block;margin-top:14px;color:var(--c1);font-size:.9rem}.portrait img{object-position:50% 50%}.builds-live+.builds-plain{margin-top:18px}.proj-grid>*{height:100%}.proj-grid .proj{height:100%}.proj .more{margin-top:auto}.proj .stack{margin-top:0}.bframe:not(.big) iframe{pointer-events:none}.feat-click{cursor:pointer}.cursor-out .cursor,.cursor-out .cursor-dot,.native-cursor .cursor,.native-cursor .cursor-dot{opacity:0}.cursor,.cursor-dot{transition:opacity .2s}.native-cursor .bframe.big,.native-cursor body{cursor:auto}.modal-open,.modal-open body{overflow:hidden}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:24px;background:#05070cd1;overflow:hidden}.sp-modal{position:relative;display:flex;flex-direction:column;width:min(1080px,100%);max-height:calc(100dvh - 48px);padding:0;overflow:hidden;border-radius:22px;background:#0c1019;border:1px solid var(--bd);box-shadow:0 40px 120px -20px #000c}.sp-modal-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 12px 22px;border-bottom:1px solid var(--bd);background:#0c1019;flex-shrink:0}.sp-modal-bar .mono{font-size:.72rem;color:var(--c1);letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-x{width:38px;height:38px;flex-shrink:0;border-radius:50%;border:1px solid var(--bd);background:#ffffff0f;color:var(--fg);font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .2s}.sp-x:hover{background:#ffffff24}.sp-modal-body{overflow-y:auto;overscroll-behavior:contain;padding:22px 26px 26px;-webkit-overflow-scrolling:touch}.sp-modal .cs{padding:0}.sp-modal .cs-head .num{display:none}.sp-modal .bframe.big .bview{height:min(56vh,560px)}.modal-open .char-wrap,.modal-open .nav{visibility:hidden}@media(max-width:900px){.modal-bg{padding:0;place-items:end center}.sp-modal{width:100%;max-height:94dvh;border-radius:22px 22px 0 0}.sp-modal-body{padding:16px 16px calc(env(safe-area-inset-bottom) + 20px)}.sp-modal .bframe.big .bview{height:42vh}.cs-head h2{font-size:1.45rem}}.sp-modal .cs-head .chip{display:none}.sp-modal .cs-head h2{margin-top:0}.modal-open .cursor,.modal-open .cursor-dot{display:none!important}.modal-open .modal-bg,.modal-open .modal-bg *,.modal-open body{cursor:auto!important}.modal-open .modal-bg a,.modal-open .modal-bg button,.modal-open .sp-x{cursor:pointer!important}.featured>:last-child:nth-child(odd){grid-column:1/-1}.featured>:last-child:nth-child(odd) .bview{height:min(52vh,520px)}.dt-shield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:none;place-items:center;background:#070910;color:var(--fg);text-align:center;padding:24px}.dt-shield b{display:block;font-size:1.6rem;margin-bottom:10px}.dt-shield span{color:var(--mut)}.dt-open .dt-shield{display:grid}.dt-open #root>:not(.dt-shield){visibility:hidden}.deck{margin:10px 0 40px}.deck-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.deck-count{color:var(--c1);font-size:1rem}.deck-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:4px 2px 10px;scrollbar-width:none;overscroll-behavior-x:contain}.deck-rail::-webkit-scrollbar{display:none}.deck-card{flex:0 0 86%;scroll-snap-align:center;cursor:pointer}.deck-card .bview{height:210px}.deck-card h4{font-size:1rem;margin:10px 2px 2px;line-height:1.3}.deck-tag{font:600 .7rem JetBrains Mono;color:var(--c1);margin:0 2px}.deck-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;color:var(--mut);font-size:.72rem}.deck-nav button{width:40px;height:40px;border-radius:50%;border:1px solid var(--bd);background:#ffffff0d;color:var(--fg);font-size:1rem}.deck-nav button:disabled{opacity:.3}body,html{overflow-anchor:none}