@import"https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@300;400;500;600;700&family=Outfit:wght@100..900&display=swap";:root,[data-theme=LV-426]{--font-primary: "Outfit", sans-serif;--font-secondary: "Chakra Petch", sans-serif;--fw-light: 300;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--text-gray-light: #d8d8d8;--text-gray-muted: #bebebe;--primary: #00ff7b;--primary-transparent: #00ff7b00;--secondary: #00ff7b;--tertiary: #ffffff;--bg-start: #042925;--bg-end: #000d0b;--bg-gradient: linear-gradient( 135deg, var(--bg-start) 0%, var(--bg-end) 100% );--surface: rgba(4, 8, 7, .82);--surface-border: rgba(0, 255, 123, .3);--overlay-radial: rgba(0, 255, 123, .18);--highlight-text: #0d2c28}[data-theme="2077"]{--primary: #ee3a35;--primary-transparent: #ee3a3500;--secondary: #4bf3ff;--tertiary: #4bf3ff;--bg-start: #26070e;--bg-end: #080f10;--surface: rgba(16, 8, 10, .82);--surface-border: rgba(75, 243, 255, .32);--overlay-radial: rgba(238, 58, 53, .2);--highlight-text: #1f1014}[data-theme="HELLO, CAROL"]{--primary: #d9dc4a;--primary-transparent: #d9dc4a00;--secondary: #d9dc4a;--tertiary: #ffffff;--bg-start: #132021;--bg-end: #080f10;--surface: rgba(14, 18, 16, .82);--surface-border: rgba(217, 220, 74, .3);--overlay-radial: rgba(217, 220, 74, .16);--highlight-text: #151f1f}[data-theme=LOWR]{--primary: #69e8db;--primary-transparent: #69e8db00;--secondary: #69e8db;--tertiary: #ffffff;--bg-start: #0a2b51;--bg-end: #211619;--surface: rgba(6, 18, 30, .8);--surface-border: rgba(105, 232, 219, .28);--overlay-radial: rgba(105, 232, 219, .18);--highlight-text: #1d2b42}:root{font-family:var(--font-primary);font-weight:var(--fw-regular);color:var(--text-gray-light);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;color-scheme:dark}*{box-sizing:border-box}img{user-select:none;-moz-user-select:none;-webkit-user-drag:none;-webkit-user-select:none}body{position:relative;min-height:100vh;line-height:1.4;background-color:var(--bg-start);color:var(--text-gray-light)}#page-root{position:relative;min-height:100vh;background:var(--bg-gradient);background-attachment:fixed}#page-root:before{content:"";position:fixed;inset:0;background:url(/assets/noise-D1B6Hemg.jpg) center / 280px 280px repeat;opacity:.04;z-index:0;pointer-events:none}#root{position:relative;z-index:1}a{text-decoration:none}.app-shell{padding:30px 12% 0}.site-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:clamp(5rem,20vh,16rem)}.site-logo{display:block;width:69px;height:47px;background:var(--primary);-webkit-mask:url(/logo.svg) center / contain no-repeat;mask:url(/logo.svg) center / contain no-repeat}.main-nav-list{display:flex;align-items:center;gap:clamp(1.5rem,4vw,6rem)}.main-nav-link{font-family:var(--font-secondary);color:var(--secondary);transition:color .2s ease}.main-nav-link:hover{color:var(--tertiary)}.content{display:flex;flex-direction:column;gap:clamp(6rem,10vw,10rem)}.info-section{max-width:50rem}.info-section>:not(h1){padding-left:1.3rem}.info-greeting{margin-bottom:.8rem;color:var(--primary);font-family:var(--font-secondary)}.info-name{display:inline-block;margin:0 0 1rem;width:100%;padding:.7rem 1.3rem;color:var(--highlight-text);background:var(--primary);font-size:clamp(2.1rem,6vw,4rem);font-weight:var(--fw-bold)}.info-role{margin:0 0 1rem;font-size:clamp(1.8rem,4vw,3.2rem);font-weight:var(--fw-bold);color:var(--text-gray-light)}.info-description{max-width:95%;color:var(--text-gray-muted);line-height:1.3rem}.stack-block{margin-top:2rem}.stack-label{margin:0 0 .8rem;color:var(--primary);font-family:var(--font-secondary)}.tag-grid{display:flex;flex-wrap:wrap;gap:.8rem}.tech-tag{display:flex;align-items:center;justify-content:center;cursor:default;min-height:2rem;padding:.2rem .85rem;border:1px solid var(--tertiary);border-radius:.3rem;color:var(--tertiary);font-family:var(--font-secondary);font-size:.9rem;font-weight:var(--fw-medium)}.projects-section{display:flex;flex-direction:column;gap:4rem}.projects-list{display:flex;flex-direction:column;gap:clamp(3rem,7vw,5rem)}.section-title-wrap{display:flex}.section-title{padding:.4rem 5rem .4rem 1rem;color:var(--highlight-text);background:var(--primary);font-size:clamp(2rem,3.6vw,3rem);font-weight:var(--fw-bold);line-height:1.1}.project-layout{display:flex;gap:clamp(1.5rem,4vw,3.5rem)}.project-layout-reverse{flex-direction:row-reverse}.project-layout-reverse .project-mockup{grid-template-columns:minmax(0,1fr) auto}.project-layout-reverse .mockup-controls{order:2}.project-layout-reverse .laptop-mockup{order:1}.project-mockup{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(.8rem,1.8vw,1.2rem)}.mockup-controls{display:flex;flex-direction:column;gap:.8rem}.mockup-control{display:inline-flex;align-items:center;justify-content:center;width:3.2rem;height:3.2rem;border-width:0px;border-radius:50%;background:#00000080;color:var(--text-gray-muted);cursor:pointer;font-size:1.8rem;transition:color .22s ease}.mockup-control-enabled{color:var(--primary)}.mockup-control:hover:not(:disabled){background:#000c}.mockup-control:disabled{color:var(--text-gray-muted);opacity:1;cursor:not-allowed}.laptop-mockup{position:relative;width:100%;max-width:50rem}.laptop-shell{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none}.laptop-screen{position:absolute;top:5.4%;left:12.3%;width:75.45%;height:76.7%;overflow:hidden}.laptop-screen-image{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .35s ease}.project-details{max-width:31rem}.project-type{margin:0 0 .6rem;color:var(--primary);font-size:.8rem;font-family:var(--font-secondary)}.project-title{padding-bottom:3px;color:var(--primary);font-size:clamp(2rem,4vw,2.5rem);font-weight:var(--fw-semibold);border-bottom:.3rem solid var(--primary);line-height:1.1}.project-description{margin:1rem 0;color:var(--text-gray-muted);line-height:1.3rem;text-align:justify}.project-read-more{display:none;margin-bottom:1.6rem;color:var(--secondary);font-family:var(--font-secondary);font-size:.96rem}.project-site-link{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.2rem;padding:.9rem 1.35rem;border:1px solid var(--primary);color:var(--primary);border-radius:.3rem;font-family:var(--font-secondary);font-weight:var(--fw-medium);transition:background-color .24s ease}.project-site-link:hover{background:color-mix(in srgb,var(--primary) 5%,transparent)}.other-projects-section{display:flex;flex-direction:column;gap:3rem}.other-projects-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}.other-project-card{display:flex;flex-direction:column;min-height:100%;padding:0;overflow:hidden;border-radius:.65rem;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 1rem 2rem #00000038}.other-project-media{overflow:hidden;width:100%;aspect-ratio:16 / 9;background:#ffffff08}.other-project-image{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}.other-project-content{display:flex;flex:1;flex-direction:column;gap:.9rem;padding:1rem}.other-project-title{margin:0;color:var(--primary);font-size:clamp(1.35rem,2vw,1.75rem);font-weight:var(--fw-semibold);line-height:1.1}.other-project-description{margin:0;color:var(--text-gray-muted);line-height:1.45;flex:1;padding-bottom:1rem}.other-project-links{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:auto}.other-project-link{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:2.8rem;padding:.7rem 1rem;border:1px solid var(--primary);border-radius:.35rem;color:var(--primary);font-family:var(--font-secondary);font-weight:var(--fw-medium);transition:background-color .24s ease}.other-project-link:hover{background:color-mix(in srgb,var(--primary) 7%,transparent)}.contact-placeholder{min-height:.1rem;opacity:0;pointer-events:none}.site-footer{margin-top:clamp(4rem,8vw,6rem);background:linear-gradient(90deg,rgba(4,41,37,0) 0%,var(--bg-start) 30%,var(--bg-start) 70%,rgba(4,41,37,0) 100%)}.site-footer-inner{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:5.5rem;padding:0 12%}.site-footer-alien{width:42px;-webkit-user-select:none;user-select:none;-moz-user-select:none;-webkit-user-drag:none;align-self:flex-end}.site-footer-copy{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.35rem;margin:0;color:var(--text-gray-light);font-family:var(--font-secondary);font-size:.95rem;font-weight:var(--fw-medium);text-align:center}.site-footer-divider{color:var(--text-gray-muted)}.site-footer-heart{color:#ff5a5f}.social-sidebar{position:fixed;right:clamp(1rem,6vw,3rem);bottom:0;display:flex;flex-direction:column;align-items:center;gap:.95rem;z-index:1000}.social-line{width:1px;height:clamp(2rem,20vh,20rem);background:var(--primary)}.social-line.top{height:clamp(3rem,30vh,30rem);background:linear-gradient(0deg,var(--primary),var(--primary-transparent))}.social-line.bottom{height:2rem}.social-links{display:flex;flex-direction:column;align-items:center;gap:.95rem}.social-link,.theme-trigger{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--secondary);font-size:1.4rem;cursor:pointer;transition:color .22s ease,transform .22s ease}.social-link:hover,.theme-trigger:hover{color:var(--tertiary)}.theme-switcher{position:relative}.theme-menu{position:fixed;right:clamp(1rem,6rem,15rem);bottom:2rem;width:min(30rem,calc(100vw - 2rem));padding:.85rem;font-weight:var(--fw-semibold);border:1px solid var(--surface-border);border-radius:.5rem;background:var(--surface);box-shadow:0 1rem 1.5rem #00000059;opacity:0;pointer-events:none;transform:translate(.7rem);transition:opacity .2s ease,transform .2s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10001}.theme-menu.is-open{opacity:1;pointer-events:auto;transform:translate(0)}.theme-menu-title{margin:0;color:var(--text-gray-light);font-size:.84rem;font-family:var(--font-secondary);letter-spacing:.04em;text-transform:uppercase}.theme-menu-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.theme-menu-close{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border:1px solid color-mix(in srgb,var(--secondary) 34%,transparent);border-radius:.25rem;background:transparent;color:var(--secondary);cursor:pointer;transition:border-color .2s ease,color .2s ease,background-color .2s ease}.theme-menu-close:hover{border-color:var(--secondary);background:color-mix(in srgb,var(--secondary) 12%,transparent)}.theme-menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.theme-option{display:flex;flex-direction:column;align-items:center;gap:1rem;border:1px solid color-mix(in srgb,var(--secondary) 34%,transparent);border-radius:.25rem;padding:.45rem .4rem;background:transparent;color:var(--text-gray-light);font-weight:var(--fw-semibold);text-align:center;cursor:pointer;transition:border-color .2s ease,color .2s ease,background-color .2s ease}.theme-option-color{width:100%;height:2rem;border:1px solid rgba(255,255,255,.18);border-radius:3px}.theme-option-name{width:100%;font-size:.73rem;letter-spacing:.03em;text-transform:uppercase}.theme-option:hover,.theme-option.is-active{color:var(--text-gray-light);border-color:var(--secondary);background:color-mix(in srgb,var(--secondary) 14%,transparent)}@media(max-width:1500px){.other-projects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1050px){.other-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-layout{flex-direction:column;gap:2rem}.project-layout-reverse{flex-direction:column;justify-content:flex-start}.project-layout-reverse .project-mockup{grid-template-columns:auto minmax(0,1fr)}.project-layout-reverse .mockup-controls,.project-layout-reverse .laptop-mockup{order:initial}.project-details{max-width:100%}}@media(max-width:782px){.stack-block{max-width:90%}}@media(max-width:700px){.info-name{font-size:clamp(2rem,10vw,3.2rem)}.stack-block{max-width:100%}.project-mockup{grid-template-columns:1fr;gap:1rem}.project-layout-reverse .project-mockup,.other-projects-grid{grid-template-columns:1fr}.mockup-controls,.social-sidebar,.theme-switcher{display:none}.site-footer-inner{justify-content:center}.site-footer-alien{display:none}}@media(max-width:550px){.site-header{margin-bottom:4rem}.main-nav{display:none}.site-footer-copy{font-size:.82rem;justify-content:flex-end;text-align:right}}@media(max-width:538px){.app-shell{padding:30px 6% 0}.info-section>:not(h1){padding-left:0}}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}
