@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.2a48534a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.18a48cbc.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.7a40eb73.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.c995e352.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.76dcb0b2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.7cd81963.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_396b12ce-module__rRjk0G__className{font-family:Inter,Inter Fallback;font-style:normal}
:root{--bg:#f0eeeb;--phone-bezel:#1a1a1a;--bg-phone:#fafaf8;--app-surface:#f2f1ef;--app-card:#00000008;--app-card-hover:#0000000f;--app-border:#00000014;--app-border-hover:#00000029;--text-primary:#1a1a1a;--text-secondary:#4a4a4a;--text-muted:#8a8a8a;--accent:#1a1a1a;--radius:12px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;width:100vw;height:100dvh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;position:relative;overflow:hidden}body:before{content:"";background:radial-gradient(circle at calc(50% + var(--parallax-x,0px))calc(50% + var(--parallax-y,0px)),#0000000d 0%,transparent 50%),radial-gradient(circle at calc(80% - var(--parallax-x,0px))calc(20% - var(--parallax-y,0px)),#00000008 0%,transparent 40%),radial-gradient(circle at calc(20% - var(--parallax-x,0px))calc(80% + var(--parallax-y,0px)),#0000000a 0%,transparent 45%);z-index:-2;pointer-events:none;background-size:100% 100%;transition:all .2s cubic-bezier(.2,.8,.2,1);animation:15s ease-in-out infinite alternate pulseBackground;position:absolute;inset:-20vw}body:after{content:"";pointer-events:none;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 20Q20 10 30 20T50 20M70 80Q80 90 90 80T90 60' stroke='black' stroke-width='1.5' fill='none' stroke-linecap='round' opacity='0.04'/%3E%3Cpath d='M80 20a10 10 0 1 0 20 0a10 10 0 1 0 -20 0' stroke='black' stroke-width='1.5' stroke-dasharray='3 3' fill='none' opacity='0.03'/%3E%3Ccircle cx='30' cy='80' r='1.5' fill='black' opacity='0.05'/%3E%3Ccircle cx='70' cy='40' r='1' fill='black' opacity='0.06'/%3E%3Cpath d='M40 50L45 55L40 60' stroke='black' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round' opacity='0.04'/%3E%3C/svg%3E");background-size:150px 150px;animation:100s linear infinite driftPattern;position:absolute;inset:-50%;-webkit-mask-image:radial-gradient(circle,#0000 30%,#000 120%);mask-image:radial-gradient(circle,#0000 30%,#000 120%)}@keyframes driftPattern{0%{transform:rotate(0)translate(0)}to{transform:rotate(3deg)translate(-150px,-150px)}}@keyframes pulseBackground{0%{opacity:.8;transform:scale(1)rotate(0)}50%{opacity:1;transform:scale(1.05)rotate(2deg)}to{opacity:.9;transform:scale(1)rotate(-1deg)}}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%;display:block}.portfolio-shell{justify-content:center;align-items:center;width:100vw;height:100dvh;display:flex;position:relative;overflow:hidden}.bg-doodle{pointer-events:none;z-index:1;animation:80s linear infinite driftDoodle;position:absolute;inset:0}@keyframes driftDoodle{0%{transform:translate(0)}to{transform:translate(-200px,-200px)}}.bg-name{pointer-events:none;z-index:0;-webkit-user-select:none;user-select:none;white-space:nowrap;text-align:center;flex-direction:column;align-items:center;width:120vw;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-5deg)}.bg-name span{letter-spacing:-.05em;color:#0000;-webkit-text-stroke:2px #0a0a0a1f;text-transform:lowercase;font-size:clamp(3rem,10vw,15rem);font-weight:900;line-height:.9}.bg-ambient{pointer-events:none;z-index:-2;background-color:var(--bg);width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.bg-noise{opacity:.08;mix-blend-mode:multiply;pointer-events:none;z-index:5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");width:200%;height:200%;animation:8s steps(10,end) infinite grainShift;position:absolute;inset:-50%}@keyframes grainShift{0%,to{transform:translate(0)}10%{transform:translate(-5%,-10%)}30%{transform:translate(3%,-15%)}50%{transform:translate(12%,9%)}70%{transform:translate(9%,4%)}90%{transform:translate(-1%,7%)}}.aura{filter:blur(100px);opacity:.85;mix-blend-mode:multiply;border-radius:50%;animation:20s ease-in-out infinite alternate auraDrift;position:absolute}.aura-1{background:radial-gradient(circle,#14141426 0%,#0000 70%);width:60vw;height:60vw;animation-duration:25s;top:-10%;left:-10%}.aura-2{background:radial-gradient(circle,#1414141f 0%,#0000 60%);width:80vw;height:80vw;animation-duration:30s;animation-delay:-5s;bottom:-20%;right:-10%}.aura-3{background:radial-gradient(circle,#14141424 0%,#0000 70%);width:50vw;height:50vw;animation-duration:22s;animation-delay:-12s;top:40%;left:30%}@keyframes auraDrift{0%{transform:translate(0)scale(1)}50%{transform:translate(5vw,10vh)scale(1.1)}to{transform:translate(-10vw,-5vh)scale(.9)}}.ambient-rings{opacity:.25;z-index:3;width:140vw;height:140vw;position:absolute;top:50%;left:40%;transform:translate(-50%,-50%)}.ring{border:1px solid var(--text-primary);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ring-1{border-style:solid;border-color:#000000e6 #00000040;width:100%;height:100%;animation:60s linear infinite ringSpin}.ring-2{opacity:.85;border-style:dashed;border-width:1.5px;width:75%;height:75%;animation:50s linear infinite reverse ringSpin}.ring-3{opacity:.6;border-style:dotted;border-width:2px;width:50%;height:50%;animation:40s linear infinite ringSpin}@keyframes ringSpin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.floating-skills{pointer-events:none;z-index:4;position:absolute;inset:0}.floating-skill{color:var(--text-primary);opacity:.12;white-space:nowrap;filter:blur(.5px);font-size:1.2rem;font-weight:800;animation:30s ease-in-out infinite alternate driftSkill;position:absolute}@keyframes driftSkill{0%{transform:translate(0)rotate(-4deg)scale(1)}33%{transform:translate(3vw,-5vh)rotate(2deg)scale(1.05)}66%{transform:translate(-2vw,4vh)rotate(-2deg)scale(.95)}to{transform:translate(-4vw,-2vh)rotate(4deg)scale(1)}}.bg-dots{z-index:1;pointer-events:none;grid-template-columns:repeat(4,8px);gap:8px;display:grid;position:absolute;bottom:12%;left:8%}.bg-dots span{background:var(--accent);opacity:.2;border-radius:50%;width:8px;height:8px}.bg-dots span:nth-child(3),.bg-dots span:nth-child(6),.bg-dots span:nth-child(9){opacity:.5}.phone{z-index:10;background:var(--phone-bezel);border-radius:44px;width:42.4615vh;height:92vh;min-height:520px;max-height:860px;padding:8px;animation:1s cubic-bezier(.22,1,.36,1) both phoneEntrance;position:relative;box-shadow:inset 0 0 0 1px #ffffff14,0 0 0 1px #0000004d,0 60px 120px #00000059,0 20px 60px #0003,-15px 0 40px #0000000f,15px 0 40px #0000000f}@keyframes phoneEntrance{0%{opacity:0;transform:translateY(60px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.phone:before{content:"";background:linear-gradient(#333,#222);border-radius:0 3px 3px 0;width:3px;height:50px;position:absolute;top:175px;right:-3px}.phone:after{content:"";background:linear-gradient(#333,#222);border-radius:0 3px 3px 0;width:3px;height:55px;position:absolute;top:110px;right:-3px}.phone-screen{background:var(--bg-phone);border-radius:38px;width:100%;height:100%;position:relative;overflow:hidden}.phone-screen:before{content:"";pointer-events:none;z-index:30;border-radius:38px;width:100%;height:100%;position:absolute;top:0;left:0;box-shadow:inset 5px 0 12px -4px #ffffff1f,inset -5px 0 12px -4px #ffffff1f,inset 0 3px 8px -3px #ffffff14}.phone-screen:after{content:"";pointer-events:none;z-index:30;background:linear-gradient(90deg,#ffffff0f,#0000);border-radius:38px 0 0 38px;width:6px;position:absolute;top:0;bottom:0;left:0}.phone-camera{z-index:25;background:#111;border-radius:50%;width:12px;height:12px;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 0 0 2px #1e1e1ecc,0 0 0 3px #3232324d,inset 0 0 2px 1px #143c3299}.phone-statusbar{display:none}.phone-nav-pill{background:var(--text-secondary);opacity:.18;z-index:20;border-radius:100px;width:120px;height:4px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.app-content{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;background:var(--bg-phone);width:100%;height:100%;padding-top:28px;padding-bottom:32px;overflow:hidden auto}.app-content::-webkit-scrollbar{width:0}.app-hero{padding:20px 20px 28px;position:relative}.app-hero-top{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.app-logo{color:var(--text-primary);font-size:.85rem;font-weight:800}.app-menu-btn{cursor:pointer;flex-direction:column;justify-content:center;gap:4px;width:28px;height:28px;display:flex}.app-menu-btn span{background:var(--text-secondary);border-radius:2px;height:2px;display:block}.app-menu-btn span:first-child{width:20px}.app-menu-btn span:last-child{width:14px}.app-hero-image{background:var(--app-surface);border:1px solid var(--app-border);border-radius:50%;flex-shrink:0;width:140px;height:140px;margin-bottom:20px;overflow:hidden}.app-hero-image img{object-fit:cover;width:100%;height:100%}.app-hero-content{flex-direction:column;display:flex}.app-hero h1{letter-spacing:-.5px;color:var(--text-primary);margin-bottom:6px;font-size:1.35rem;font-weight:800;line-height:1.2}.tablet-mode .app-hero-body{text-align:left;flex-direction:row;align-items:center;gap:24px;display:flex}.tablet-mode .app-hero-image{width:160px;height:160px;margin-bottom:0}.tablet-mode .app-social-row{justify-content:flex-start}.app-hero .tagline{letter-spacing:.5px;color:var(--text-primary);margin-bottom:10px;font-size:.78rem;font-weight:600}.app-hero .bio{color:var(--text-secondary);font-size:.8rem;line-height:1.7}.app-social-row{gap:8px;margin-top:16px;display:flex}.app-social-btn{background:var(--accent);color:#fff;border:none;border-radius:100px;align-items:center;gap:6px;padding:8px 14px;font-size:.7rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:flex}.app-social-btn:hover{transform:scale(1.04);box-shadow:0 4px 20px #00000026}.app-social-btn.outline{color:var(--text-primary);border:1.5px solid var(--app-border);background:0 0}.app-social-btn.outline:hover{border-color:var(--accent);box-shadow:0 4px 20px #0000001a}.app-social-btn svg{width:14px;height:14px}.app-section{margin-bottom:28px;padding:0 20px}.app-section-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.app-section-title{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-primary);font-size:.85rem;font-weight:800}.app-section-badge{color:var(--text-secondary);border:1px solid var(--app-border);background:#0000000f;border-radius:100px;padding:3px 10px;font-size:.6rem;font-weight:700}.app-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:28px;padding:0 20px;display:grid}.app-stat{text-align:center;border-radius:var(--radius);background:var(--app-card);border:1px solid var(--app-border);padding:14px 8px;position:relative;overflow:hidden}.app-stat:before{content:"";background:var(--accent);opacity:.6;height:2px;position:absolute;top:0;left:0;right:0}.app-stat .number{color:var(--text-primary);font-size:1.3rem;font-weight:800;line-height:1}.app-stat .label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:.55rem;font-weight:600}.app-tech-chips{flex-wrap:wrap;gap:6px;display:flex}.app-chip{background:var(--app-card);border:1px solid var(--app-border);color:var(--text-secondary);border-radius:100px;align-items:center;gap:5px;padding:7px 12px;font-size:.65rem;font-weight:600;transition:border-color .3s,transform .2s,box-shadow .3s;display:flex}.app-chip:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 16px #00000014}.app-chip i{font-size:.9rem}.app-project{background:var(--app-card);border-radius:calc(var(--radius)*1.5);cursor:pointer;flex-direction:row;align-items:center;gap:14px;margin-bottom:8px;padding:12px 14px;transition:transform .2s,background .2s;display:flex}.app-project:hover{background:#0000000d;transform:scale(.98)}.app-project:last-child{margin-bottom:0}.app-project-icon{border:1px solid var(--app-border);background:var(--app-surface);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;display:flex;overflow:hidden}.app-project-icon img{object-fit:cover;width:100%;height:100%}.app-project-icon.p-ext i,.app-project-icon.p-ext svg{width:32px;height:32px;color:var(--text-primary);font-size:32px}.app-project-body{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.app-project-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:.85rem;font-weight:700;overflow:hidden}.app-project-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-bottom:6px;font-size:.72rem;overflow:hidden}.app-project-tags{flex-wrap:wrap;gap:4px;display:flex}.app-tag{color:var(--text-secondary);border:1px solid var(--app-border);text-transform:uppercase;letter-spacing:.5px;background:0 0;border-radius:100px;padding:2px 6px;font-size:.55rem;font-weight:700}.app-project-action{flex-shrink:0;justify-content:center;align-items:center;display:flex}.app-get-btn{color:var(--bg-phone);background:var(--text-primary);text-transform:uppercase;border-radius:100px;justify-content:center;align-items:center;gap:4px;height:32px;padding:0 14px;font-size:.7rem;font-weight:800;text-decoration:none;transition:transform .2s,opacity .2s;display:inline-flex}.app-get-btn svg{width:14px;height:14px;display:block}.app-get-btn:hover{opacity:.9;transform:scale(.95)}.app-get-btn.outline{color:var(--text-primary);border:1px solid var(--app-border);background:0 0}.app-get-btn.outline:hover{background:#0000000d}.app-projects-wrap{flex-direction:column;display:flex}.app-rom-summary{background:var(--app-card);border:1px solid var(--app-border);border-radius:calc(var(--radius)*1.5);margin-bottom:12px;padding:16px}.app-rom-summary p{color:var(--text-muted);font-size:.72rem;line-height:1.5}.app-rom-summary h4{color:var(--text-primary);margin-top:8px;margin-bottom:4px;font-size:.72rem;font-weight:700}.app-rom-summary ul{padding-left:16px}.app-rom-summary li{color:var(--text-muted);margin-bottom:2px;font-size:.72rem;list-style:outside}.app-rom-item{border-bottom:1px solid var(--app-border);flex-direction:row;align-items:center;gap:12px;padding:10px 0;display:flex}.app-rom-item:last-child{border-bottom:none}.app-rom-item-body{flex-direction:column;flex:1;min-width:0;display:flex}.app-rom-actions{gap:6px;display:flex}.app-rom-toggle{cursor:pointer;color:var(--text-primary);background:0 0;border:none;padding:10px 0;font-size:.72rem;font-weight:700}.app-rom-toggle:hover{opacity:.8}.app-edu-card{background:var(--app-card);border:1px solid var(--app-border);border-radius:calc(var(--radius)*1.5);padding:16px;transition:transform .2s,background .2s;position:relative;overflow:hidden}.app-edu-card:hover{background:#0000000d}.app-edu-card:after{content:"🎓";opacity:.3;font-size:1.2rem;position:absolute;top:12px;right:14px}.app-edu-card h3{color:var(--text-primary);margin-bottom:4px;font-size:.82rem;font-weight:700}.app-edu-card p{color:var(--text-muted);font-size:.72rem}.app-contact{background:var(--app-card);border-radius:var(--radius);text-align:center;border:1px solid var(--app-border);margin:0 20px 20px;padding:24px 20px;position:relative;overflow:hidden}.app-contact:before{content:"";pointer-events:none;background:#00000005;position:absolute;inset:0}.app-contact>*{z-index:1;position:relative}.app-contact h2{color:var(--text-primary);margin-bottom:8px;font-size:1rem;font-weight:800}.app-contact p{color:var(--text-muted);margin-bottom:16px;font-size:.72rem;line-height:1.5}.app-contact-email{color:var(--text-primary);margin-bottom:16px;font-size:.78rem;font-weight:700;display:inline-block}.app-contact-social{justify-content:center;gap:10px;display:flex}.app-contact-social a{border:1px solid var(--app-border);color:var(--text-secondary);border-radius:100px;align-items:center;gap:6px;padding:8px 14px;font-size:.68rem;font-weight:600;transition:border-color .3s,color .3s,box-shadow .3s;display:flex}.app-contact-social a:hover{border-color:var(--accent);color:var(--text-primary);box-shadow:0 4px 16px #00000014}.app-contact-social svg{width:14px;height:14px}.app-footer{text-align:center;color:var(--text-muted);padding:16px 20px 8px;font-size:.6rem}.app-divider{background:var(--app-border);height:1px;margin:0 20px 28px}.app-reveal{opacity:0;transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1);transform:translateY(20px)}.app-reveal.visible{opacity:1;transform:translateY(0)}.phone{transition:width .7s cubic-bezier(.34,1.56,.64,1),height .7s cubic-bezier(.34,1.56,.64,1),max-height .7s cubic-bezier(.34,1.56,.64,1),border-radius .5s cubic-bezier(.22,1,.36,1),padding .5s}.phone-screen{transition:border-radius .5s cubic-bezier(.22,1,.36,1)}.phone.tablet-mode{border-radius:28px;width:min(122.667vh,94vw);height:92vh;max-height:780px;padding:10px}.phone.tablet-mode .phone-screen{border-radius:20px}.phone.tablet-mode .phone-screen:before{border-radius:20px;box-shadow:inset 3px 0 8px -3px #ffffff14,inset -3px 0 8px -3px #ffffff14,inset 0 2px 6px -2px #ffffff0f}.phone.tablet-mode .phone-screen:after{border-radius:20px 0 0 20px;width:4px}.phone.tablet-mode .phone-camera{width:10px;height:10px;top:10px}.phone.tablet-mode .phone-nav-pill{width:100px;height:3px;bottom:5px}.phone.tablet-mode:before,.phone.tablet-mode:after{opacity:0;transition:opacity .3s}.phone.tablet-mode .app-hero{padding:28px 32px 32px}.phone.tablet-mode .app-hero-top{margin-bottom:24px}.phone.tablet-mode .app-hero h1{font-size:1.8rem}.phone.tablet-mode .app-hero .tagline,.phone.tablet-mode .app-hero .bio{font-size:.9rem}.phone.tablet-mode .app-section{padding:0 32px}.phone.tablet-mode .app-stats{grid-template-columns:repeat(3,1fr);gap:12px;padding:0 32px}.phone.tablet-mode .app-stat .number{font-size:1.6rem}.phone.tablet-mode .app-divider{margin:0 32px 32px}.phone.tablet-mode .app-section-title{font-size:1rem}.phone.tablet-mode .app-section .app-projects-wrap{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.phone.tablet-mode .app-projects-wrap .app-project{margin-bottom:0}.phone.tablet-mode .app-contact{margin:0 32px;padding:32px}.phone.tablet-mode .app-contact h2{font-size:1.2rem}.device-switcher{z-index:50;-webkit-backdrop-filter:blur(20px);background:#ffffffb3;border-radius:100px;flex-direction:column;align-items:center;gap:12px;padding:16px 10px;animation:1s cubic-bezier(.22,1,.36,1) .5s both switcherEntrance;display:flex;position:fixed;top:50%;right:20px;transform:translateY(-50%);box-shadow:0 4px 24px #00000014,0 0 0 1px #0000000d}@keyframes switcherEntrance{0%{opacity:0;transform:translateY(-50%)translate(20px)}to{opacity:1;transform:translateY(-50%)translate(0)}}.switcher-label{color:#0000004d;text-transform:uppercase;letter-spacing:1.5px;writing-mode:vertical-lr;text-orientation:mixed;font-size:.58rem;font-weight:700;transition:color .3s}.switcher-label.active{color:#000c}.switcher-icon{opacity:.3;font-size:.85rem;line-height:1;transition:opacity .3s}.switcher-icon.active{opacity:.9}.switcher-track{cursor:pointer;background:#00000014;border:none;border-radius:100px;flex-shrink:0;width:28px;height:50px;transition:background .3s;position:relative}.switcher-track:hover{background:#0000001f}.switcher-thumb{background:var(--accent);border-radius:50%;width:22px;height:22px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0003}.switcher-track.tablet .switcher-thumb{transform:translateY(22px)}@media (max-width:480px){.phone{width:100vw;height:100dvh;min-height:0;max-height:none;box-shadow:none;background:var(--bg-phone);border:none;border-radius:0;padding:0}.phone-screen{border-radius:0}.phone:before,.phone:after,.phone-nav-pill,.phone-camera,.device-switcher,.bg-name,.bg-arrow,.bg-label,.bg-dots,.bg-ambient,.floating-skills{display:none!important}.portfolio-shell{align-items:flex-start;height:100dvh;padding:0}}@media (min-width:481px) and (max-width:768px){.phone{width:340px;height:80vh}.phone.tablet-mode{width:min(820px,94vw);height:90vh}.bg-name span{font-size:8rem}}
