@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-ext-wght-normal-CawQDOvP.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-wght-normal-DdqRvwsR.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-family: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-heading: "Sora Variable", "Sora", "Inter Variable", system-ui, sans-serif}html{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{margin:0;font-family:var(--font-family);background-color:#0a0a0b;color:#fff;line-height:1.65}#root,button,input,textarea,select{font-family:var(--font-family)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.01em}*{box-sizing:border-box}a{text-decoration:none}:root,[data-theme=dark]{--font-family: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-heading: "Sora Variable", "Sora", "Inter Variable", system-ui, sans-serif;--bg-color: #0A0A0B;--card-bg: #111113;--surface-2: #18181B;--card-bg-hover: #18181B;--text-color: #FFFFFF;--primary-color: #FFFFFF;--accent-color: #D4D4D8;--on-accent: #0A0A0B;--secondary-text: #A1A1AA;--muted-text: #8E8E93;--highlight: #D4D4D8;--nav-bg: rgba(10, 10, 11, .78);--border-color: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .18);--accent-soft: rgba(255, 255, 255, .05);--shadow-soft: 0 24px 60px rgba(0, 0, 0, .45);color-scheme:dark}[data-theme=light]{--bg-color: #FFFFFF;--card-bg: #FAFAFA;--surface-2: #F4F4F5;--card-bg-hover: #F4F4F5;--text-color: #0A0A0B;--primary-color: #0A0A0B;--accent-color: #3A3A3C;--on-accent: #FFFFFF;--secondary-text: #55555B;--muted-text: #7C7C82;--highlight: #3A3A3C;--nav-bg: rgba(255, 255, 255, .82);--border-color: #E4E4E7;--border-strong: #C9C9CE;--accent-soft: rgba(10, 10, 11, .04);--shadow-soft: 0 24px 60px rgba(10, 10, 11, .08);color-scheme:light}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-color);transition:background-color .3s,color .3s}.container{max-width:1000px;margin:0 auto;padding:80px 20px 20px}.navbar{position:fixed;top:0;left:0;width:100%;height:70px;background-color:var(--nav-bg);box-shadow:0 4px 20px #00000026;z-index:1000;transition:all .3s ease;color:#fff}[data-theme=dark] .navbar{background-color:var(--nav-bg);border-bottom:1px solid var(--border-color)}.navbar.scrolled{height:60px;background-color:var(--nav-bg);opacity:.98}.nav-container{max-width:1200px;margin:0 auto;height:100%;display:flex;justify-content:space-between;align-items:center;padding:0 20px}.nav-logo-brand{display:flex;align-items:center;gap:10px;color:#fff;transition:transform .2s}.nav-logo-brand:hover{transform:scale(1.02)}.logo-icon{flex-shrink:0;color:#fff;transition:transform .2s ease}.nav-logo:hover .logo-icon{transform:scale(1.06)}.logo-text{font-family:var(--font-family);letter-spacing:-.5px}.nav-links.desktop{display:flex;gap:30px}.nav-link{color:#cbd5e1;font-weight:500;font-size:.95rem;position:relative;transition:color .2s;padding:5px 0}.nav-link:hover{color:#fff}.nav-link.active{color:#fff;font-weight:600}.nav-link:after{content:"";position:absolute;width:0;height:3px;bottom:-5px;left:0;background-color:var(--text-color);transition:width .3s ease;border-radius:2px}.nav-link.active:after{width:100%}.nav-controls{display:flex;align-items:center;gap:15px}.control-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:8px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .2s}.control-btn:hover{background:#fff3;border-color:#fff}.lang-text{font-size:.8rem;font-weight:700}.mobile-toggle{display:none;background:none;border:none;color:#fff;cursor:pointer}.mobile-menu{position:absolute;top:100%;left:0;width:100%;background-color:var(--bg-color);border-top:1px solid rgba(255,255,255,.1);padding:20px;display:flex;flex-direction:column;gap:15px;transform:translateY(-150%);transition:transform .3s ease-in-out;z-index:900;box-shadow:0 10px 20px #0003}.mobile-menu.open{transform:translateY(0)}.mobile-link{color:#cbd5e1;font-size:1.1rem;font-weight:500;padding:12px;border-radius:8px;text-align:center;border:1px solid transparent}.mobile-link:hover,.mobile-link.active{background:#ffffff1a;color:#fff;border-color:#ffffff1a}@media(max-width:768px){.nav-links.desktop{display:none}.mobile-toggle{display:block}}.section-title{border-bottom:2px solid var(--accent-color);padding-bottom:10px;margin-bottom:25px;color:var(--primary-color);text-transform:uppercase;letter-spacing:1px}.card{background:var(--card-bg);padding:25px;margin-bottom:20px;border-radius:8px;box-shadow:0 4px 6px #0000000d;border-left:4px solid var(--border-color)}.card:hover{border-left-color:var(--accent-color)}.job-title{font-size:1.2rem;font-weight:700;color:var(--text-color)}.company{color:var(--accent-color);font-weight:600}.date{color:var(--secondary-text);font-size:.9rem}.tech-tag{background:var(--border-color);color:var(--text-color);padding:4px 10px;border-radius:4px;font-size:.8rem;margin-right:5px;display:inline-block;margin-top:5px}.hero{text-align:center;margin-bottom:40px}.hero h1{color:var(--primary-color)}.hero p{color:var(--secondary-text);max-width:700px;margin:10px auto}.exp-card{cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.exp-card:hover{transform:translateY(-3px);box-shadow:0 8px 15px #0000001a;border-left-color:var(--accent-color)}.exp-header{display:flex;justify-content:space-between;align-items:flex-start}.exp-role-group{flex:1}.exp-toggle-icon{color:var(--secondary-text);transition:transform .3s ease;margin-left:15px}.exp-card.expanded .exp-toggle-icon{transform:rotate(180deg);color:var(--accent-color)}.exp-summary{color:var(--secondary-text);margin-top:8px;font-style:italic;font-size:.95rem}.tech-stack-container{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tech-badge{background-color:var(--bg-color);color:var(--accent-color);border:1px solid var(--border-color);padding:4px 10px;border-radius:15px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.exp-details{max-height:0;opacity:0;overflow:hidden;transition:max-height .4s ease,opacity .4s ease,margin-top .3s}.exp-card.expanded .exp-details{max-height:500px;opacity:1;margin-top:20px;border-top:1px dashed var(--border-color);padding-top:15px}.exp-details ul{padding-left:20px;margin:0}.exp-details li{margin-bottom:8px;color:var(--text-color);font-size:.95rem;line-height:1.5}.exp-details li::marker{color:var(--accent-color)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px;margin-top:20px}.project-card{background:var(--card-bg);border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000001a;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer;border:1px solid var(--border-color);display:flex;flex-direction:column}.project-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #00000026;border-color:var(--accent-color)}.project-image-container{width:100%;height:180px;overflow:hidden;background-color:var(--border-color);position:relative}.project-image{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.project-card:hover .project-image{transform:scale(1.05)}.project-content{padding:20px;flex-grow:1;display:flex;flex-direction:column}.project-category{font-size:.75rem;text-transform:uppercase;color:var(--accent-color);font-weight:700;letter-spacing:1px;margin-bottom:5px}.project-title{font-size:1.25rem;font-weight:700;margin:0 0 10px;color:var(--text-color)}.project-desc-short{font-size:.9rem;color:var(--secondary-text);margin-bottom:15px;line-height:1.5}.project-tech{font-size:.8rem;color:var(--primary-color);font-weight:500;margin-top:auto;padding-top:10px;border-top:1px solid var(--border-color)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:2000;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .2s ease-out}.modal-content{background:var(--card-bg);width:100%;max-width:800px;max-height:90vh;border-radius:12px;overflow-y:auto;position:relative;box-shadow:0 20px 25px -5px #0000001a;animation:slideUp .3s ease-out}.modal-header{position:relative}.modal-img{width:100%;height:300px;object-fit:cover}.close-btn{position:absolute;top:15px;right:15px;background:#0009;color:#fff;border:none;border-radius:50%;width:36px;height:36px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.close-btn:hover{background:#000000e6}.modal-body{padding:30px;color:var(--text-color)}.modal-actions{display:flex;gap:15px;margin-top:25px}.btn-primary,.btn-secondary{padding:10px 20px;border-radius:6px;text-decoration:none;font-weight:600;text-align:center;display:inline-flex;align-items:center;gap:8px}.btn-primary{background-color:var(--accent-color);color:#fff}.btn-secondary{background-color:transparent;border:2px solid var(--border-color);color:var(--text-color)}.btn-secondary:hover{border-color:var(--accent-color);color:var(--accent-color)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.gallery-item-wrapper{position:relative;cursor:pointer;overflow:hidden;border-radius:8px;border:1px solid var(--border-color);background:#000;aspect-ratio:16/9}.gallery-img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;display:block}.zoom-icon{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;justify-content:center;align-items:center;opacity:0;transition:opacity .2s ease;z-index:2}.gallery-item-wrapper:hover .zoom-icon{opacity:1}.gallery-item-wrapper:hover .gallery-img{transform:scale(1.1)}@media(max-width:600px){.modal-gallery{grid-template-columns:repeat(2,1fr)}}.lightbox-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000f2;z-index:3000;display:flex;justify-content:center;align-items:center}.lightbox-container{position:relative;max-width:95%;max-height:95%;display:flex;justify-content:center;align-items:center}.lightbox-img{max-width:100%;max-height:90vh;border-radius:4px;box-shadow:0 0 30px #000c}.close-btn-lightbox{position:absolute;top:-40px;right:-10px;background:none;border:none;color:#fff;cursor:pointer;transition:transform .2s}.close-btn-lightbox:hover{transform:scale(1.2)}.expand-btn{background:none;border:none;color:var(--accent-color);font-weight:600;cursor:pointer;padding:5px 0;margin-bottom:15px;display:flex;align-items:center;gap:5px;font-size:.9rem;transition:color .2s}.expand-btn:hover{color:var(--primary-color);text-decoration:underline}.chevron{transition:transform .3s ease}.chevron.rotate{transform:rotate(180deg)}.extended-summary-container{max-height:0;overflow:hidden;transition:max-height .5s ease-in-out,opacity .5s ease;opacity:0}.extended-summary-container.open{max-height:500px;opacity:1;margin-bottom:15px}.extended-text{background-color:var(--bg-color);padding:10px;border-radius:6px;border-left:3px solid var(--accent-color);font-size:.9rem;line-height:1.5;color:var(--text-color)}.tabs-container{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:30px}.tab-btn{background:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color);padding:8px 16px;border-radius:20px;cursor:pointer;font-weight:600;transition:all .2s ease;font-size:.9rem}.tab-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.tab-btn.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color);box-shadow:0 4px 6px #0000001a}.category-badge{position:absolute;top:10px;right:10px;font-size:.7rem;padding:3px 8px;border-radius:4px;color:#fff;text-transform:uppercase;font-weight:700;z-index:5}.category-badge.web{background-color:#8b5cf6}.category-badge.embedded-sw{background-color:var(--text-color)}.category-badge.hardware{background-color:#ef4444}.category-badge.software{background-color:#10b981}.category-badge.mobile{background-color:#3ddc84;color:#0d3318}.edu-card{position:relative;border-left:5px solid var(--accent-color);transition:all .3s ease}.edu-header{display:flex;gap:20px;align-items:flex-start}.edu-icon-container{background:var(--accent-color);padding:12px;border-radius:12px;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 10px #0000001a}.edu-info{flex:1}.period-badge{display:inline-flex;align-items:center;background:var(--border-color);color:var(--secondary-text);font-size:.8rem;padding:4px 10px;border-radius:20px;font-weight:600;margin-bottom:8px}.edu-degree{margin:0;font-size:1.4rem;color:var(--text-color)}.edu-school{margin:5px 0;color:var(--accent-color);font-weight:500}.edu-meta{display:flex;gap:15px;font-size:.9rem;color:var(--secondary-text);margin-top:5px}.grade-badge{color:var(--primary-color);background-color:var(--accent-soft);padding:0 8px;border-radius:4px}.edu-desc{margin-top:15px;color:var(--text-color);line-height:1.6}.curriculum-btn{width:100%;background:var(--bg-color);border:1px solid var(--border-color);padding:10px;margin-top:20px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:600;color:var(--accent-color);transition:all .2s}.curriculum-btn:hover{background:var(--border-color)}.curriculum-container{max-height:0;overflow:hidden;transition:max-height .5s ease-in-out;background:var(--bg-color);margin-top:0;border-radius:0 0 8px 8px}.curriculum-container.open{max-height:1000px;padding:20px;margin-top:10px;border:1px solid var(--border-color)}.curriculum-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:25px}.year-title{margin:0 0 10px;color:var(--primary-color);border-bottom:2px solid var(--accent-color);padding-bottom:5px;font-size:1rem}.subject-list{padding-left:20px;margin:0}.subject-list li{margin-bottom:5px;font-size:.9rem;color:var(--secondary-text)}.subject-list li::marker{color:var(--accent-color)}@media(max-width:600px){.edu-header{flex-direction:column}.edu-icon-container{width:50px;height:50px}}.contact-page-container{max-width:1000px;margin:0 auto}.contact-wrapper{display:grid;grid-template-columns:1fr 1.5fr;gap:30px}.contact-info-card{background:var(--card-bg);padding:30px;border-radius:12px;box-shadow:0 4px 6px #0000000d;border:1px solid var(--border-color);display:flex;flex-direction:column}.info-item{display:flex;align-items:center;gap:15px;margin-bottom:25px}.icon-box{background:var(--accent-soft);color:var(--accent-color);width:40px;height:40px;border-radius:50%;display:flex;justify-content:center;align-items:center}.label{font-size:.8rem;text-transform:uppercase;color:var(--secondary-text);font-weight:600;display:block;margin-bottom:2px}.value{font-size:1rem;color:var(--text-color);margin:0;font-weight:500}.value-row{display:flex;align-items:center;gap:10px}.value-row a{color:var(--text-color);text-decoration:none;font-weight:500;transition:color .2s}.value-row a:hover{color:var(--accent-color)}.copy-btn{background:none;border:none;cursor:pointer;color:var(--secondary-text);padding:5px;display:flex;align-items:center;transition:transform .2s}.copy-btn:hover{transform:scale(1.2);color:var(--accent-color)}.social-links-row{margin-top:auto;display:flex;gap:15px;padding-top:20px;border-top:1px solid var(--border-color)}.social-btn{width:45px;height:45px;border-radius:8px;display:flex;justify-content:center;align-items:center;color:#fff;transition:transform .2s,box-shadow .2s}.social-btn:hover{transform:translateY(-3px);box-shadow:0 5px 15px #0003}.social-btn.github{background:#333}.social-btn.linkedin{background:#0077b5}.social-btn.facebook{background:#1877f2}.social-btn.instagram{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}.social-btn.producthunt{background:#da552f}.contact-form{background:var(--card-bg);padding:30px;border-radius:12px;box-shadow:0 4px 6px #0000000d;border:1px solid var(--border-color)}.contact-form h3{margin-top:0;margin-bottom:20px;color:var(--text-color)}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:var(--text-color);font-weight:500;font-size:.9rem}.form-group input,.form-group textarea{width:100%;padding:12px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-color);font-family:inherit;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-soft)}.submit-btn{background:var(--accent-color);color:#fff;border:none;padding:12px 25px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:10px;transition:background .3s}.submit-btn:hover{background:var(--primary-color)}@media(max-width:768px){.contact-wrapper{grid-template-columns:1fr}}.home-container{padding-bottom:50px}.hero-section{display:flex;align-items:center;justify-content:space-between;min-height:80vh;gap:40px;margin-bottom:60px;animation:fadeIn .8s ease-out}.hero-greeting{font-size:1.2rem;color:var(--accent-color);font-weight:600;display:block;margin-bottom:10px}.hero-name{font-size:3.5rem;font-weight:800;line-height:1.1;margin:0 0 15px;background:linear-gradient(90deg,var(--text-color) 0%,var(--accent-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-role{font-size:1.5rem;color:var(--secondary-text);margin:0 0 20px;font-weight:500}.hero-desc{font-size:1.1rem;line-height:1.6;color:var(--text-color);margin-bottom:30px;max-width:90%}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-logo-stack-section{margin-bottom:56px;text-align:center}.projects-page .app-logo-stack-section{margin-top:4px;margin-bottom:32px}.app-logo-stack-header{margin-bottom:18px}.app-logo-stack-title{font-size:1.35rem;color:var(--text-color);margin:0 0 8px;font-weight:700}.app-logo-stack-subtitle{font-size:.9rem;color:var(--secondary-text);margin:0 auto;max-width:440px;line-height:1.5}.app-play-store-link{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:9px 18px;border-radius:999px;background:#3ddc84;color:#0d3318;font-weight:600;font-size:.88rem;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 14px #3ddc8459}.app-play-store-link:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3ddc8473}.app-play-store-link:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px}.app-logo-stack{display:flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:nowrap;padding:16px 8px 20px;min-height:88px;overflow:visible}.app-logo-stack-item{position:relative;flex:0 0 auto;width:56px;height:56px;border-radius:14px;margin-left:-30px;transition:margin .38s cubic-bezier(.34,1.15,.64,1),transform .38s cubic-bezier(.34,1.15,.64,1),box-shadow .35s ease,opacity .25s ease,filter .25s ease;box-shadow:0 6px 18px #00000024;border:3px solid var(--bg-color);background:var(--card-bg);overflow:hidden;display:flex;align-items:center;justify-content:center}.app-logo-stack-item:first-child{margin-left:0}.app-logo-stack-img{width:100%;height:100%;object-fit:cover;display:block}.app-logo-stack-item--link{cursor:pointer;text-decoration:none;color:inherit}.app-logo-stack-item--link:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 14px 32px #0003}.app-logo-stack-item--link:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px}.app-logo-stack-item--soon{cursor:default;opacity:.9;filter:saturate(.88)}.app-logo-stack:hover .app-logo-stack-item,.app-logo-stack:focus-within .app-logo-stack-item{margin-left:12px}.app-logo-stack:hover .app-logo-stack-item:first-child,.app-logo-stack:focus-within .app-logo-stack-item:first-child{margin-left:0}@media(prefers-reduced-motion:reduce){.app-logo-stack-item{transition-duration:.01ms!important}}@media(max-width:640px){.app-logo-stack-item{width:48px;height:48px;margin-left:-22px;border-radius:12px;border-width:2px}.app-logo-stack:hover .app-logo-stack-item,.app-logo-stack:focus-within .app-logo-stack-item{margin-left:6px}}.hero-actions{display:flex;gap:15px;flex-wrap:wrap}.hero-social{margin-top:1.75rem;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.hero-social-label{font-size:.8rem;font-weight:600;color:var(--secondary-text);letter-spacing:.02em}.hero-social-links{display:flex;flex-wrap:wrap;gap:12px}.hero-social .social-btn{text-decoration:none}.social-btn.tiktok,.social-btn.x-com{background:#000;border:1px solid rgba(255,255,255,.12)}.social-btn.youtube{background:red}.social-btn.playstore{background:#3ddc84;color:#0d3318}.btn-primary-lg,.btn-secondary-lg,.btn-outline-lg{padding:12px 24px;border-radius:8px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:transform .2s,box-shadow .2s;cursor:pointer}.btn-primary-lg{background:var(--accent-color);color:#fff;box-shadow:0 4px 15px var(--accent-soft)}.btn-secondary-lg{background:var(--card-bg);color:var(--text-color);border:1px solid var(--border-color)}.btn-outline-lg{background:transparent;color:var(--secondary-text);border:1px solid transparent}.btn-outline-lg:hover{border-color:var(--border-color);color:var(--text-color)}.btn-primary-lg:hover,.btn-secondary-lg:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.hero-image-container{flex:1;display:flex;justify-content:center;align-items:center;position:relative;padding:20px}.profile-frame{position:relative;z-index:2;width:380px;height:420px;border-radius:24px;overflow:hidden;border:8px solid var(--bg-color);box-shadow:0 20px 40px #00000026;transition:transform .3s ease,box-shadow .3s ease}.profile-img{width:100%;height:100%;object-fit:cover;display:block}.image-offset-bg{position:absolute;top:40px;right:0;width:380px;height:420px;background-color:var(--accent-color);border-radius:24px;opacity:.2;z-index:1;transition:transform .3s ease}.hero-image-container:hover .profile-frame{transform:translateY(-5px) translate(-5px);box-shadow:0 25px 50px #0003}.hero-image-container:hover .image-offset-bg{transform:translateY(5px) translate(5px)}.profile-frame--scope{box-shadow:0 20px 40px #00000026,inset 0 0 0 1px #22c55e59}.profile-frame--scope:before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,transparent 35%,transparent 55%,rgba(0,20,0,.5) 100%)}.profile-scope-wave{position:absolute;left:0;right:0;bottom:0;height:56px;z-index:4;pointer-events:none;color:#4ade80;filter:drop-shadow(0 0 4px rgba(74,222,128,.8))}.profile-scope-path{stroke-dasharray:12 8;animation:scope-trace 1.2s linear infinite}.profile-scope-path--dim{animation-duration:1.8s;animation-direction:reverse}@keyframes scope-trace{to{stroke-dashoffset:-40}}.profile-scope-hud{position:absolute;top:10px;left:10px;right:10px;z-index:5;display:flex;justify-content:space-between;gap:8px;font-family:Consolas,Courier New,monospace;font-size:10px;color:#86efac;text-shadow:0 0 6px rgba(74,222,128,.9);pointer-events:none;letter-spacing:.04em}.btn-playstore{background:#3ddc84!important;color:#0d3318!important;border-color:#3ddc84!important}.btn-playstore:hover{filter:brightness(1.05)}@media(max-width:900px){.hero-section{flex-direction:column-reverse;text-align:center;justify-content:center;padding-top:40px}.hero-image-container{margin-bottom:40px;transform:scale(.9)}.profile-frame,.image-offset-bg{width:300px;height:340px}}.hero-text{flex:1;max-width:600px}.skills-overview{display:flex;justify-content:space-between;gap:20px;margin-bottom:80px;flex-wrap:wrap}.skill-card-home{flex:1;min-width:250px;background:var(--card-bg);padding:25px;border-radius:12px;box-shadow:0 4px 6px #0000000d;border-top:4px solid var(--accent-color);text-align:center;transition:transform .3s}.skill-card-home:hover{transform:translateY(-5px)}.skill-icon{color:var(--accent-color);margin-bottom:15px;background:var(--accent-soft);padding:5px;border-radius:8px;width:40px;height:40px}.skill-card-home h3{margin:10px 0;color:var(--text-color)}.skill-card-home p{color:var(--secondary-text);font-size:.9rem}.section-header-center{text-align:center;margin-bottom:40px}.section-header-center h2{font-size:2rem;color:var(--text-color);margin-bottom:10px}.underline-center{height:4px;width:60px;background:var(--accent-color);margin:0 auto;border-radius:2px}.explore-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px}.explore-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:25px;display:flex;align-items:flex-start;gap:20px;text-decoration:none;transition:all .3s ease;position:relative;overflow:hidden}.explore-card:hover{border-color:var(--accent-color);box-shadow:0 8px 20px #0000001a;transform:translateY(-3px)}.explore-card.featured{background:linear-gradient(135deg,var(--card-bg) 0%,var(--accent-soft) 100%);border-color:var(--accent-color)}.explore-icon{background:var(--bg-color);padding:10px;border-radius:8px;color:var(--text-color)}.explore-content h3{margin:0 0 5px;color:var(--text-color)}.explore-content p{color:var(--secondary-text);font-size:.9rem;margin-bottom:15px}.explore-link{color:var(--accent-color);font-weight:600;font-size:.9rem}@media(max-width:900px){.hero-section{flex-direction:column-reverse;text-align:center;justify-content:center}.hero-text{max-width:100%}.hero-actions{justify-content:center}.hero-image-wrapper{margin-bottom:30px}.profile-pic{width:250px;height:250px}}.hobbies-container{max-width:1000px;margin:0 auto}.hobbies-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}.hobby-card{background:var(--card-bg);border-radius:16px;overflow:hidden;box-shadow:0 10px 25px #0000000d;transition:transform .3s ease,box-shadow .3s ease;border:1px solid var(--border-color);display:flex;flex-direction:column}.hobby-card:hover{transform:translateY(-8px);box-shadow:0 15px 35px #0000001a}.hobby-image-wrapper{height:200px;position:relative}.hobby-img{width:100%;height:100%;object-fit:cover}.hobby-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.6) 100%)}.hobby-icon-circle{position:absolute;bottom:-20px;right:20px;width:50px;height:50px;border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 10px #0003;border:3px solid var(--card-bg)}.hobby-content{padding:30px 20px 20px;flex:1;display:flex;flex-direction:column}.hobby-title{margin:0 0 10px;color:var(--text-color);font-size:1.3rem}.hobby-desc{color:var(--secondary-text);font-size:.95rem;margin-bottom:20px;flex:1}.hobby-card-link{text-decoration:none;color:inherit}.hobby-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-color);color:var(--accent-color);font-weight:600;transition:color .2s}.hobby-card-link:hover .hobby-card-footer{color:var(--primary-color)}.hobby-detail-page{animation:fadeIn .5s ease-out}.hobby-detail-header{height:50vh;min-height:300px;max-height:400px;background-size:cover;background-position:center;background-attachment:fixed;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff}.hobby-detail-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to top,#000c,#0006,#0003);z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px}.hobby-detail-header h1{font-size:3.5rem;font-weight:800;margin:0;text-shadow:0 4px 10px rgba(0,0,0,.5);animation:slideUp .8s ease-out}.back-link{position:absolute;top:20px;left:20px;z-index:2;color:#fff;background:#0000004d;padding:8px 12px;border-radius:20px;text-decoration:none;display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.2);transition:all .2s ease}.back-link:hover{background:#0009}.back-link-inline{display:inline-flex;align-items:center;gap:8px;color:var(--secondary-text);text-decoration:none;font-size:.9rem;font-weight:600;margin-bottom:1.5rem;transition:color .2s ease}.back-link-inline:hover{color:var(--accent-color)}.hobby-detail-content{padding-top:40px;padding-bottom:40px}.hobby-section{margin-bottom:4rem}.hobby-section-title{text-align:center;font-size:2rem;font-weight:700;color:var(--text-color);margin-bottom:2rem;position:relative}.hobby-section-title:after{content:"";display:block;width:50px;height:4px;background:var(--accent-color);border-radius:2px;margin:.5rem auto 0}.hobby-summary-text{font-size:1.2rem;line-height:1.7;color:var(--secondary-text);text-align:center;max-width:700px;margin:0 auto}.hobby-journey-timeline{position:relative;max-width:700px;margin:2rem auto 0;padding:2rem 0}.hobby-journey-timeline:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:3px;height:100%;background-color:var(--border-color);border-radius:3px}.journey-item{padding:1rem 2rem;position:relative;width:50%;box-sizing:border-box}.journey-item:nth-child(odd){left:0;text-align:right;padding-right:3rem}.journey-item:nth-child(2n){left:50%;text-align:left;padding-left:3rem}.journey-item:after{content:"";position:absolute;width:20px;height:20px;top:calc(50% - 10px);background-color:var(--card-bg);border:4px solid var(--accent-color);border-radius:50%;z-index:1}.journey-item:nth-child(odd):after{right:-10px}.journey-item:nth-child(2n):after{left:-10px}.journey-item h3{margin-top:0;color:var(--primary-color)}.journey-item p{color:var(--secondary-text);font-size:.95rem}.hobby-principles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;max-width:800px;margin:0 auto}.principle-card{background:var(--card-bg);border:1px solid var(--border-color);padding:1.5rem;border-radius:12px;text-align:center;transition:all .3s ease}.principle-card:hover{transform:translateY(-5px);border-color:var(--accent-color);box-shadow:0 8px 15px #00000012}.principle-card svg{color:var(--accent-color);margin-bottom:1rem}.principle-card h4{margin:0;font-size:1.1rem;color:var(--text-color)}.hobby-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.hobby-gallery-item{overflow:hidden;border-radius:12px;box-shadow:0 4px 6px #0000001a;aspect-ratio:16/10}.hobby-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.hobby-gallery-item:hover img{transform:scale(1.05)}@media(max-width:768px){.hobby-detail-header h1{font-size:2.5rem}.hobby-journey-timeline:before{left:20px}.journey-item,.journey-item:nth-child(2n){width:100%;left:0;padding-left:3rem;text-align:left}.journey-item:nth-child(odd){padding-right:1rem}.journey-item:after,.journey-item:nth-child(odd):after,.journey-item:nth-child(2n):after{left:10px}.hobby-gallery-grid{grid-template-columns:1fr}}.certificates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-top:2rem}.certificate-link{display:flex;align-items:center;gap:.5rem;padding:.75rem;border-radius:8px;background-color:var(--card-bg);color:var(--text-color);text-decoration:none;transition:all .2s ease-in-out;border:1px solid var(--border-color)}.certificate-link:hover{transform:translateY(-3px);box-shadow:0 4px 12px #0000001a;background-color:var(--card-bg-hover)}.certificate-link span{flex-grow:1;font-size:.9rem}.cert-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.cert-filters{display:flex;flex-wrap:wrap;gap:.5rem}.filter-btn{background:var(--card-bg);color:var(--secondary-text);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:20px;cursor:pointer;font-weight:600;transition:all .2s ease;font-size:.85rem}.filter-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.filter-btn.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.search-bar{position:relative;flex-grow:1;max-width:300px}.search-bar input{width:100%;padding:.6rem 1rem .6rem 2.5rem;border-radius:20px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-color);font-size:.9rem;transition:all .2s ease}.search-bar input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-soft)}.search-bar .search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--secondary-text);pointer-events:none}@media(max-width:768px){.cert-controls{flex-direction:column;align-items:stretch}.search-bar{max-width:100%}}.hobby-gallery{display:flex;flex-direction:column;gap:1rem}.gallery-main-image{width:100%;aspect-ratio:16 / 9;background:var(--bg-color);border-radius:12px;overflow:hidden;box-shadow:0 10px 20px #0000001a}.gallery-main-image img{width:100%;height:100%;object-fit:cover}.gallery-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}.thumbnail-item{aspect-ratio:1 / 1;border-radius:8px;overflow:hidden;cursor:pointer;border:3px solid transparent;transition:all .2s ease;box-shadow:0 2px 5px #00000014}.thumbnail-item:hover{border-color:var(--accent-color);transform:scale(1.05)}.thumbnail-item.active{border-color:var(--accent-color);box-shadow:0 4px 10px var(--accent-soft);transform:scale(1.05)}.thumbnail-item img{width:100%;height:100%;object-fit:cover}.book-background{width:100%;height:100vh;display:flex;justify-content:center;align-items:center;background-color:var(--bg-color)}.hobby-detail-page.hobby-detail-scroll{display:block;min-height:100vh;width:100%;background-color:var(--bg-color)}.book-container{width:90%;height:90%;max-width:1000px;max-height:700px}.hobby-book{box-shadow:0 10px 30px #0003}.book-page{background:#fdfaf7;border:1px solid #e0d9d3;color:#594a41}.page-content{padding:20px;overflow:hidden}.book-cover{position:relative;width:100%;height:100%;background:#333;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.cover-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.4}.book-cover h1{font-size:2.5rem;position:relative;z-index:1;text-shadow:0 2px 5px rgba(0,0,0,.5)}.book-back-cover{display:flex;justify-content:center;align-items:center;height:100%;background-color:#333;color:#ccc}.page-text-content{padding:20px}.page-text-content h2{color:#8c6b5d;border-bottom:2px solid #c9b7ad;padding-bottom:5px;margin-bottom:15px}.page-text-content p{line-height:1.6;font-size:.95rem}.page-gallery-content{padding:15px}.book-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.book-gallery-item{width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:4px}.book-gallery-item img{width:100%;height:100%;object-fit:cover}.book-journey-column{display:flex;flex-direction:column;gap:15px}.journey-item-book h4{margin:0 0 5px;color:#8c6b5d}.journey-item-book p{font-size:.9rem;margin:0}.book-principles-grid{display:grid;grid-template-columns:1fr;gap:15px}.principle-card-book{display:flex;align-items:center;gap:10px;background:#f7f2ee;padding:10px;border-radius:6px}.principle-card-book svg{color:#8c6b5d}.back-link-book{position:fixed;top:20px;left:20px;z-index:2000;color:var(--text-color);background:var(--card-bg);padding:8px 12px;border-radius:20px;text-decoration:none;display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600;box-shadow:0 2px 10px #0000001a;border:1px solid var(--border-color);transition:all .2s ease}.back-link-book:hover{transform:translateY(-2px);box-shadow:0 4px 15px #00000026}.tech-stack-page{max-width:640px;margin:0 auto;padding:8px 0 64px;animation:fadeIn .5s ease-out}.tech-stack-back{display:inline-block;font-size:.95rem;color:var(--secondary-text);text-decoration:none;margin-bottom:28px;font-weight:500;transition:color .2s ease}.tech-stack-back:hover{color:var(--accent-color)}.tech-stack-hero{margin-bottom:40px}.tech-stack-avatar-wrap{margin-bottom:16px}.tech-stack-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid var(--border-color);box-shadow:0 4px 14px #00000014;display:block}.tech-stack-h1{font-size:1.75rem;font-weight:700;color:var(--text-color);margin:0 0 14px;line-height:1.2}.tech-stack-intro{font-size:1rem;line-height:1.65;color:var(--secondary-text);margin:0}.tech-stack-section{margin-bottom:40px}.tech-stack-section-title{font-size:1.15rem;font-weight:700;color:var(--text-color);margin:0 0 22px;letter-spacing:-.02em}.tech-stack-list{list-style:none;margin:0;padding:0}.tech-stack-row{display:flex;align-items:flex-start;gap:16px;padding:20px 0;border-bottom:1px solid var(--border-color)}.tech-stack-row:first-child{padding-top:4px}.tech-stack-row:last-child{border-bottom:none}.tech-stack-icon{width:40px;height:40px;border-radius:10px;object-fit:contain;flex-shrink:0;background:var(--card-bg);border:1px solid var(--border-color);padding:4px}.tech-stack-icon-fallback{width:40px;height:40px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:var(--accent-color);background:var(--accent-soft);border:1px solid var(--border-color)}.tech-stack-body{flex:1;min-width:0}.tech-stack-name{display:inline-block;font-size:1.05rem;font-weight:600;color:var(--text-color);text-decoration:none;margin-bottom:6px;line-height:1.3}.tech-stack-name:hover{text-decoration:underline}[data-theme=dark] .tech-stack-name{color:var(--text-color)}.tech-stack-desc{margin:0 0 6px;font-size:.9rem;line-height:1.55;color:var(--secondary-text);display:flex;align-items:flex-start;gap:6px}.tech-stack-desc:last-child{margin-bottom:0}.tech-stack-arrow{flex-shrink:0;color:var(--secondary-text);opacity:.65;font-size:.95rem;line-height:1.55;margin-top:1px}@media(max-width:480px){.tech-stack-row{gap:12px;padding:16px 0}.tech-stack-icon,.tech-stack-icon-fallback{width:36px;height:36px}}.git-bash-overlay{position:fixed;inset:0;z-index:10000;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:16px}.git-bash-window{width:min(720px,100%);max-height:min(480px,85vh);display:flex;flex-direction:column;border-radius:6px;overflow:hidden;box-shadow:0 12px 40px #00000073;border:1px solid #3a3a3a;font-family:Consolas,Courier New,monospace}.git-bash-titlebar{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:linear-gradient(180deg,#4d4d4d,#2d2d2d);color:#e8e8e8;font-size:12px;-webkit-user-select:none;user-select:none}.git-bash-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-bash-close{border:none;background:transparent;color:#e8e8e8;font-size:18px;line-height:1;cursor:pointer;padding:0 4px;font-family:inherit}.git-bash-close:hover{color:#fff}.git-bash-body{background:#0c0c0c;color:#ccc;padding:10px 12px;overflow-y:auto;font-size:13px;line-height:1.45;flex:1}.git-bash-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:0;margin-bottom:2px;word-break:break-word}.git-bash-system{color:#888;margin-bottom:8px;font-style:italic}.git-bash-output{color:silver;padding-left:0;width:100%}.git-prompt-user{color:#7ecb7e;font-weight:600}.git-prompt-mingw{color:#d6a6ff}.git-prompt-path{color:#e8e87a}.git-prompt-dollar{color:#ccc;margin:0 6px 0 2px}.git-bash-input-echo{color:#f0f0f0}.git-bash-form{margin-top:4px}.git-bash-input{flex:1;min-width:120px;border:none;background:transparent;color:#f0f0f0;font-family:inherit;font-size:inherit;outline:none;padding:0;margin:0}.firmware-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:9999;display:flex;align-items:center;gap:10px;padding:12px 20px;background:#1e293b;color:#e2e8f0;border:1px solid var(--accent-color, #3b82f6);border-radius:8px;box-shadow:0 8px 24px #00000040;font-size:.95rem;animation:firmware-toast-in 2.8s ease forwards}.firmware-toast-led{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e;animation:firmware-blink .6s ease 3}@keyframes firmware-toast-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}12%{opacity:1;transform:translate(-50%) translateY(0)}82%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-8px)}}@keyframes firmware-blink{50%{opacity:.35}}.logo-icon--boot{animation:logo-firmware-boot .55s ease}@keyframes logo-firmware-boot{0%,to{filter:none}50%{filter:drop-shadow(0 0 6px var(--accent-color, #3b82f6));transform:scale(1.08)}}.konami-toast{position:fixed;top:88px;right:20px;z-index:9998;padding:10px 16px;background:#7c3aed;color:#fff;border-radius:8px;font-size:.9rem;box-shadow:0 6px 20px #7c3aed66;animation:konami-pop 3s ease forwards}@keyframes konami-pop{0%{opacity:0;transform:translate(12px)}10%{opacity:1;transform:translate(0)}85%{opacity:1}to{opacity:0}}.op-amp-icon{color:var(--secondary-text);opacity:.75;flex-shrink:0;transition:transform .3s ease,color .2s ease,opacity .2s ease}.curriculum-btn:hover .op-amp-icon{color:var(--accent-color);opacity:1}.op-amp-icon.rotate{transform:rotate(180deg)}.nav-logo-chip-btn{display:flex;align-items:center;justify-content:center;padding:0;margin:0;border:none;background:transparent;cursor:pointer;color:inherit}.nav-logo-chip-btn:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px;border-radius:4px}.nav-logo-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff}.nav-logo-text-link{text-decoration:none;color:inherit;font-weight:700;font-size:1.2rem}.nav-logo-text-link:hover{color:#fff}.page-image-content{width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:#f3f3f3;padding:15px;box-sizing:border-box;overflow:hidden}.page-image-content img{width:auto;height:100%;max-width:100%;object-fit:contain}.beautiful-title{font-family:Times New Roman,Times,serif;font-style:italic;font-size:2rem;color:#8c6b5d;text-align:center;margin-bottom:2rem;border-bottom:1px solid #c9b7ad;padding-bottom:1rem}.gamer-page-container{color:#000;padding:2rem;min-height:100vh;font-family:Times New Roman,Times,serif}.gamer-header{text-align:center;margin-bottom:3rem}.gamer-title{font-size:4rem;color:#0f0;text-shadow:-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,2px 2px 0 #000;font-family:Times New Roman,Times,serif}.gamer-content{display:flex;flex-direction:column;gap:2rem;align-items:center}.pc-animation{width:100%;display:flex;flex-direction:column;align-items:center}.monitor{width:400px;height:400px;background:#333;border:10px solid #222;border-radius:10px;position:relative;margin:0 auto;padding:5px;display:flex;flex-direction:column;box-sizing:border-box}.gamer-game-bar{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:2px 4px 6px;z-index:5}.gamer-game-label{font-size:.65rem;font-family:Times New Roman,Times,serif;color:#9ca3af;cursor:default}.gamer-game-select{font-family:Times New Roman,Times,serif;font-size:.45rem;max-width:220px;padding:6px 8px;background:#111;color:#bef264;border:2px solid #444;border-radius:6px;cursor:pointer}.gamer-game-select:focus{outline:2px solid #84cc16;outline-offset:2px}.screen{flex:1;min-height:0;width:100%;background:transparent;overflow:hidden;position:relative;border-radius:5px}.keyboard{width:416px;height:20px;background:#222;margin:10px auto 0;border-radius:5px;position:relative;display:flex;align-items:center;justify-content:center;gap:4px;padding:2px}.keyboard:before{content:"";position:absolute;width:95%;height:80%;background-color:#111;border-radius:3px;box-shadow:inset 0 1px #ffffff1a}.gamer-text{margin-top:2rem;max-width:600px;text-align:center}@keyframes keypress{0%,to{left:10%}25%{left:40%}50%{left:80%}75%{left:60%}}@media(max-width:500px){.monitor{width:90vw;height:90vw;border-width:5px}.keyboard{width:95vw}.gamer-title{font-size:2.5rem}}.hiking-nature{--hn-accent: #22c55e;--hn-accent-soft: rgba(34, 197, 94, .18);--hn-forest: #0c1a14;--hn-mist: rgba(255, 255, 255, .78);width:100%;overflow-x:hidden}.hn-hero{position:relative;min-height:min(78vh,760px);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(2rem,5vw,3.5rem) clamp(1.25rem,4vw,3rem) clamp(2.25rem,5vw,3.5rem);background-size:cover;background-position:center;color:#fff}.hn-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0c1a1440,#0c1a148c 40%,#0c1a14e0);pointer-events:none}.hn-hero-inner{position:relative;z-index:1;max-width:720px}.hn-hero-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--hn-accent);margin-bottom:.85rem}.hn-hero h1{margin:0 0 1rem;font-size:clamp(2rem,4.8vw,3.2rem);font-weight:800;line-height:1.06;letter-spacing:-.03em}.hn-hero-lead{margin:0;font-size:clamp(1.02rem,2.1vw,1.2rem);line-height:1.65;color:var(--hn-mist);max-width:34rem}.hn-scroll-hint{position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%);z-index:1;font-size:.65rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#ffffff73;animation:hn-float 2.4s ease-in-out infinite}@keyframes hn-float{0%,to{opacity:.45;transform:translate(-50%) translateY(0)}50%{opacity:.85;transform:translate(-50%) translateY(4px)}}.hn-section{padding:clamp(2rem,5vw,3.5rem) clamp(1.25rem,4vw,3rem);max-width:1100px;margin:0 auto}.hn-section-head{margin-bottom:clamp(1.25rem,3vw,1.85rem)}.hn-section-head h2{margin:0 0 .45rem;font-size:clamp(1.35rem,2.8vw,1.65rem);font-weight:800;letter-spacing:-.02em;color:var(--text-color)}.hn-section-head p{margin:0;font-size:.92rem;color:var(--secondary-text);line-height:1.55;max-width:36rem}.hn-principles{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem}.hn-principle{background:var(--card-bg);border:1px solid var(--border-color);border-radius:18px;padding:1.5rem 1.35rem;display:flex;gap:1rem;align-items:flex-start;transition:border-color .2s ease,box-shadow .2s ease}.hn-principle:hover{border-color:#22c55e59;box-shadow:0 16px 48px #0000000f}.hn-principle-icon{flex-shrink:0;width:52px;height:52px;border-radius:14px;background:var(--hn-accent-soft);display:flex;align-items:center;justify-content:center;color:var(--hn-accent)}.hn-principle h3{margin:0 0 .4rem;font-size:1.05rem;font-weight:800;color:var(--text-color)}.hn-principle p{margin:0;font-size:.88rem;color:var(--secondary-text);line-height:1.55}.hn-journey-card{background:linear-gradient(135deg,var(--card-bg) 0%,var(--card-bg) 100%);border:1px solid var(--border-color);border-radius:20px;padding:clamp(1.5rem,4vw,2.25rem);border-left:4px solid var(--hn-accent);box-shadow:0 4px 24px #0000000a}.hn-journey-card h3{margin:0 0 .65rem;font-size:clamp(1.15rem,2.2vw,1.35rem);font-weight:800;color:var(--text-color)}.hn-journey-card p{margin:0;font-size:1rem;line-height:1.7;color:var(--secondary-text)}.hn-spotlight{display:grid;grid-template-columns:1.15fr 1fr;gap:.75rem;max-width:1100px;margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem) clamp(1.5rem,4vw,2.5rem)}.hn-spotlight figure{margin:0;border-radius:16px;overflow:hidden;border:1px solid var(--border-color);aspect-ratio:4 / 3}.hn-spotlight:not(.hn-spotlight--one):not(.hn-spotlight--two) figure:first-child{aspect-ratio:3 / 4;grid-row:span 2}.hn-spotlight--one{grid-template-columns:1fr;max-width:900px}.hn-spotlight--one figure:first-child{aspect-ratio:16 / 10;grid-row:auto}.hn-spotlight--two{grid-template-columns:1fr 1fr}.hn-spotlight--two figure:first-child{aspect-ratio:4 / 3;grid-row:auto}.hn-spotlight img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.hn-spotlight figure:hover img{transform:scale(1.04)}.hn-gallery-wrap{background:var(--card-bg);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:clamp(2.25rem,5vw,3.5rem) clamp(1.25rem,4vw,3rem) clamp(2.5rem,6vw,4rem)}.hn-gallery-inner{max-width:1200px;margin:0 auto}.hn-masonry{column-count:3;column-gap:14px}.hn-masonry-item{break-inside:avoid;margin-bottom:14px;border-radius:14px;overflow:hidden;border:1px solid var(--border-color);background:var(--bg-color)}.hn-masonry-item img{width:100%;height:auto;display:block;vertical-align:middle;transition:transform .4s ease,filter .3s ease}.hn-masonry-item:hover img{transform:scale(1.02);filter:brightness(1.05)}.hn-quote{max-width:640px;margin:0 auto;padding:clamp(2rem,5vw,3rem) clamp(1.25rem,4vw,3rem) clamp(2.5rem,6vw,4rem);text-align:center}.hn-quote blockquote{margin:0;font-size:clamp(1.05rem,2.2vw,1.25rem);font-weight:600;font-style:italic;line-height:1.65;color:var(--text-color)}.hn-quote footer{margin-top:1rem;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--hn-accent)}@media(max-width:900px){.hn-principles,.hn-spotlight{grid-template-columns:1fr}.hn-spotlight:not(.hn-spotlight--one):not(.hn-spotlight--two) figure:first-child{grid-row:auto;aspect-ratio:16 / 10}.hn-masonry{column-count:2}}@media(max-width:520px){.hn-masonry{column-count:1}.hn-scroll-hint{display:none}}.fitness-coach{--fc-accent: #ef4444;--fc-accent-hover: #f87171;--fc-accent-soft: rgba(239, 68, 68, .14);--fc-ink: #0a0a0b;--fc-muted: rgba(255, 255, 255, .72);width:100%;overflow-x:hidden}.fitness-hero{position:relative;min-height:min(88vh,820px);display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(2rem,6vw,4rem) clamp(1.25rem,4vw,3rem) clamp(2.5rem,5vw,4rem);background-size:cover;background-position:center;color:#fff}.fitness-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0a0a0b73,#0a0a0bbf 45%,#0a0a0beb);pointer-events:none}.fitness-hero-inner{position:relative;z-index:1;max-width:920px}.fitness-hero-eyebrow{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--fc-accent);margin-bottom:.75rem}.fitness-hero h1{margin:0 0 .85rem;font-size:clamp(2.1rem,5vw,3.35rem);font-weight:800;line-height:1.08;letter-spacing:-.02em}.fitness-hero-lead{margin:0 0 1.75rem;font-size:clamp(1rem,2.2vw,1.15rem);line-height:1.65;color:var(--fc-muted);max-width:36rem}.fitness-hero-ctas{display:flex;flex-wrap:wrap;gap:.75rem 1rem}.fc-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.35rem;border-radius:999px;font-weight:700;font-size:.9rem;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;border:none;cursor:pointer}.fc-btn-primary{background:var(--fc-accent);color:#fff;box-shadow:0 8px 28px #ef444459}.fc-btn-primary:hover{background:var(--fc-accent-hover);transform:translateY(-2px);box-shadow:0 12px 32px #ef444466}.fc-btn-ghost{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.22)}.fc-btn-ghost:hover{background:#ffffff24;transform:translateY(-2px)}.fitness-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:clamp(1.5rem,4vw,2.25rem) clamp(1.25rem,4vw,3rem);background:var(--card-bg);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.fitness-stat{text-align:center;padding:.5rem}.fitness-stat-value{display:block;font-size:clamp(1.5rem,3vw,2rem);font-weight:800;color:var(--fc-accent);letter-spacing:-.02em;line-height:1.2}.fitness-stat-label{display:block;margin-top:.35rem;font-size:.75rem;font-weight:600;color:var(--secondary-text);line-height:1.35;text-transform:uppercase;letter-spacing:.06em}.fc-section{padding:clamp(2.5rem,6vw,4.5rem) clamp(1.25rem,4vw,3rem);max-width:1100px;margin:0 auto}.fc-section-head{margin-bottom:clamp(1.5rem,4vw,2.25rem)}.fc-section-head h2{margin:0 0 .5rem;font-size:clamp(1.5rem,3vw,1.85rem);font-weight:800;letter-spacing:-.02em;color:var(--text-color)}.fc-section-head p{margin:0;color:var(--secondary-text);font-size:.95rem;max-width:32rem;line-height:1.55}.fc-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.fc-principle-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem 1.35rem;transition:border-color .2s ease,box-shadow .2s ease}.fc-principle-card:hover{border-color:#ef444459;box-shadow:0 12px 40px #0000000f}.fc-principle-icon{width:52px;height:52px;border-radius:14px;background:var(--fc-accent-soft);display:flex;align-items:center;justify-content:center;color:var(--fc-accent);margin-bottom:1rem}.fc-principle-card h3{margin:0 0 .35rem;font-size:1.05rem;font-weight:800;color:var(--text-color)}.fc-principle-card p{margin:0;font-size:.85rem;color:var(--secondary-text);line-height:1.5}.fc-timeline{list-style:none;margin:0;padding:0;position:relative}.fc-timeline:before{content:"";position:absolute;left:15px;top:.5rem;bottom:.5rem;width:2px;background:linear-gradient(180deg,var(--fc-accent),rgba(239,68,68,.2));border-radius:2px}.fc-timeline li{position:relative;padding-left:3.25rem;padding-bottom:1.75rem}.fc-timeline li:last-child{padding-bottom:0}.fc-timeline-marker{position:absolute;left:6px;top:.35rem;width:20px;height:20px;border-radius:50%;background:var(--fc-accent);border:3px solid var(--bg-color);box-shadow:0 0 0 2px #ef444459}.fc-timeline-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;padding:1.15rem 1.25rem}.fc-timeline-card h3{margin:0 0 .5rem;font-size:1rem;font-weight:800;color:var(--text-color)}.fc-timeline-card p{margin:0;font-size:.9rem;color:var(--secondary-text);line-height:1.55}.fc-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.fc-gallery img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:12px;border:1px solid var(--border-color);transition:transform .25s ease}.fc-gallery img:hover{transform:scale(1.02)}.fitness-cta-band{margin:clamp(1rem,3vw,2rem) clamp(1.25rem,4vw,3rem) clamp(2.5rem,5vw,3.5rem);padding:clamp(1.75rem,4vw,2.5rem);border-radius:20px;background:linear-gradient(135deg,#1a1a1e,#2d1518,#1a1a1e);border:1px solid rgba(239,68,68,.25);text-align:center;color:#fff}.fitness-cta-band h2{margin:0 0 .5rem;font-size:clamp(1.25rem,3vw,1.5rem);font-weight:800}.fitness-cta-band p{margin:0 0 1.25rem;color:var(--fc-muted);font-size:.95rem;max-width:28rem;margin-left:auto;margin-right:auto;line-height:1.55}.fitness-cta-band .fitness-hero-ctas{justify-content:center}@media(max-width:900px){.fc-principles{grid-template-columns:1fr}.fitness-stats,.fc-gallery{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.fitness-stats{grid-template-columns:1fr 1fr;gap:.75rem}.fc-gallery{grid-template-columns:1fr}.fc-timeline:before{left:11px}.fc-timeline-marker{left:2px}.fc-timeline li{padding-left:2.75rem}}.app-landing{max-width:640px;margin:0 auto;padding-bottom:48px}.app-landing-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;font-size:.9rem}.app-landing-back,.app-landing-portfolio{display:inline-flex;align-items:center;gap:6px;color:var(--accent-color);text-decoration:none;font-weight:500}.app-landing-back:hover,.app-landing-portfolio:hover{text-decoration:underline}.app-landing-hero{text-align:center;margin-bottom:40px}.app-landing-logo{border-radius:20px;box-shadow:0 12px 32px #0000001f;margin-bottom:20px}.app-landing-hero h1{font-size:1.75rem;margin:0 0 10px;color:var(--text-color)}.app-landing-tagline{color:var(--secondary-text);font-size:1.05rem;line-height:1.5;margin:0 0 24px}.app-landing-cta{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;background:#3ddc84;color:#0d3318;font-weight:700;border-radius:999px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 16px #3ddc8459}.app-landing-cta:hover{transform:translateY(-2px);box-shadow:0 8px 22px #3ddc8473}.app-landing-cta--sm{padding:8px 14px;font-size:.85rem}.app-landing-soon{display:inline-block;padding:10px 18px;border-radius:999px;background:var(--card-bg);border:1px dashed var(--border-color);color:var(--secondary-text);font-size:.9rem}.app-landing-section{margin-bottom:28px}.app-landing-section h2{font-size:1.1rem;margin:0 0 12px;color:var(--text-color)}.app-landing-features{margin:0;padding-left:1.25rem;line-height:1.7;color:var(--text-color)}.app-landing-muted{padding:18px 20px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px}.app-landing-email{display:inline-flex;align-items:center;gap:8px;margin-top:10px;color:var(--accent-color);font-weight:500}.app-landing-ads-link{font-family:Consolas,Courier New,monospace;font-size:.9rem;color:var(--accent-color)}.app-landing-footer{display:flex;justify-content:space-between;padding-top:24px;border-top:1px solid var(--border-color);font-size:.85rem;color:var(--secondary-text)}.app-landing-footer a{color:var(--accent-color)}.app-landing-index-sub{text-align:center;color:var(--secondary-text);max-width:520px;margin:0 auto 12px;line-height:1.5}.app-landing-index-sub code{font-size:.88em;padding:2px 6px;border-radius:4px;background:var(--card-bg)}.app-landing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;margin-top:32px}.app-landing-card{padding:22px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:14px;text-align:center}.app-landing-card h2{font-size:1.05rem;margin:12px 0 8px}.app-landing-card p{font-size:.88rem;color:var(--secondary-text);margin:0 0 16px;line-height:1.45}.app-landing-card-logo{border-radius:14px}.app-landing-card-actions{display:flex;flex-direction:column;gap:10px;align-items:center}.app-landing-card-actions .btn-secondary-lg{width:100%;justify-content:center;text-decoration:none;font-size:.9rem;padding:10px 16px}.flappy-bird-container{position:relative;width:100%;height:100%;overflow:hidden;background:url(/images/FlappyBird/Background.png);background-size:cover}.bird{position:absolute;width:40px;height:28px;background-color:gold;border-radius:50%;border:2px solid #000;z-index:10}.bird:before{content:"";position:absolute;width:20px;height:12px;background-color:orange;border-radius:50% 0;border:1px solid #000;left:-4px;top:8px;transform:rotate(-20deg);z-index:9}.bird:after{content:"";position:absolute;width:6px;height:6px;background-color:#000;border-radius:50%;left:24px;top:6px;z-index:12}.pipe{position:absolute;background-color:#74bf2e;border:3px solid #000;border-radius:5px}.pipe-top{top:0;border-bottom-left-radius:10px;border-bottom-right-radius:10px}.pipe-bottom{bottom:0;border-top-left-radius:10px;border-top-right-radius:10px}.score{position:absolute;top:20px;left:50%;transform:translate(-50%);font-size:3rem;color:#fff;text-shadow:2px 2px 4px #000;z-index:10;font-family:Times New Roman,Times,serif}.start-screen,.game-over-screen{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;text-align:center;z-index:20;background:#000000b3;padding:30px;border-radius:15px;border:3px solid #fff;box-shadow:0 0 20px #00000080}.start-screen h1,.game-over-screen h2{font-family:Times New Roman,Times,serif;margin-bottom:20px;text-shadow:3px 3px 0 #000,-3px -3px 0 #000,3px -3px 0 #000,-3px 3px 0 #000}@media(prefers-color-scheme:dark){.start-screen h1,.game-over-screen h2{color:#fff}}.start-screen button,.game-over-screen button{margin-top:20px;padding:15px 30px;font-size:1.2rem;cursor:pointer;background:#f4d03f;color:#000;border:2px solid #000;border-radius:10px;font-family:Times New Roman,Times,serif;transition:all .2s ease-in-out}.start-screen button:hover,.game-over-screen button:hover{transform:scale(1.1);box-shadow:0 0 15px #f4d03f}.mini-game-root{position:relative;width:100%;height:100%;overflow:hidden;background:#1a1a2e;touch-action:none}.mini-game-canvas{display:block;width:100%;height:100%;cursor:default}.mini-game-score{position:absolute;top:12px;left:50%;transform:translate(-50%);font-size:1.25rem;color:#fff;text-shadow:2px 2px 0 #000;z-index:10;font-family:Times New Roman,Times,serif;pointer-events:none;text-align:center;max-width:95%;line-height:1.4}.mini-game-hint{position:absolute;bottom:8px;left:50%;transform:translate(-50%);font-size:.45rem;color:#ffffffe6;text-shadow:1px 1px 2px #000;z-index:10;font-family:Times New Roman,Times,serif;text-align:center;max-width:96%;line-height:1.5;pointer-events:none}.mini-game-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;text-align:center;z-index:20;background:#000000d1;padding:20px 18px;border-radius:12px;border:3px solid #fff;box-shadow:0 0 20px #00000080;max-width:92%}.mini-game-overlay h2{font-family:Times New Roman,Times,serif;font-size:.7rem;margin:0 0 10px;line-height:1.5}.mini-game-overlay p{font-size:.5rem;font-family:Times New Roman,Times,serif;line-height:1.5;margin:0 0 14px;color:#e2e8f0}.mini-game-overlay button{margin-top:6px;padding:12px 20px;font-size:.55rem;cursor:pointer;background:#f4d03f;color:#000;border:2px solid #000;border-radius:8px;font-family:Times New Roman,Times,serif;transition:transform .15s ease}.mini-game-overlay button:hover{transform:scale(1.05)}.mini-game-grid{display:grid;gap:4px;padding:8px;justify-content:center;align-content:center;height:100%;box-sizing:border-box}.mini-game-cell{border:2px solid #334155;border-radius:6px;background:#334155;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:Times New Roman,Times,serif;color:#fff;-webkit-user-select:none;user-select:none}.mini-game-cell:active{transform:scale(.96)}::selection{background:var(--text-color);color:var(--bg-color)}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-family);font-size:16px;transition:background-color .35s ease,color .35s ease}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}a{color:inherit}:focus-visible{outline:1px solid var(--text-color);outline-offset:3px}.container{max-width:1120px;padding:120px 28px 40px}.navbar,[data-theme=dark] .navbar,.navbar.scrolled{height:76px;background-color:var(--nav-bg);backdrop-filter:saturate(140%) blur(18px);-webkit-backdrop-filter:saturate(140%) blur(18px);border-bottom:1px solid var(--border-color);box-shadow:none;color:var(--text-color);opacity:1}.navbar.scrolled{height:64px}.nav-container{max-width:1200px;padding:0 28px}.nav-logo-brand{color:var(--text-color)}.nav-logo-brand:hover{transform:none}.brand-link{display:inline-flex;align-items:center;line-height:0;background:none;border:0;padding:4px 0;cursor:pointer}.brand-wordmark{height:24px;width:auto;display:block;transition:opacity .25s ease}.brand-link:hover .brand-wordmark{opacity:.82}.brand-wordmark--light,[data-theme=light] .brand-wordmark--dark{display:none}[data-theme=light] .brand-wordmark--light{display:block}.nav-links.desktop{gap:30px}.nav-link{color:var(--secondary-text);font-size:.74rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}.nav-link:hover,.nav-link.active{color:var(--text-color);font-weight:500}.nav-link:after{height:1px;bottom:-4px;background-color:var(--text-color);border-radius:0}.control-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-color);border-radius:999px;padding:7px 10px}.control-btn:hover{background:var(--accent-soft);border-color:var(--border-strong)}.lang-text{font-weight:500;letter-spacing:.12em}.mobile-toggle{color:var(--text-color)}.mobile-menu{background-color:var(--bg-color);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-soft)}.mobile-link{color:var(--secondary-text);font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;border-radius:0}.mobile-link:hover,.mobile-link.active{background:var(--accent-soft);color:var(--text-color);border-color:var(--border-color)}@media(max-width:960px){.nav-links.desktop{gap:18px}}@media(max-width:860px){.nav-links.desktop{display:none}.mobile-toggle{display:block}}.section-title{font-family:var(--font-heading);font-size:.95rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--text-color);border-bottom:1px solid var(--border-color);padding-bottom:20px;margin:0 0 44px}.section-header-center h2{font-size:.95rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase}.underline-center{height:1px;width:48px;background:var(--border-strong);margin-top:18px}.hobby-section-title:after{height:1px;background:var(--border-strong)}.card,.contact-info-card,.contact-form,.skill-card-home,.explore-card,.project-card,.hobby-card,.principle-card,.certificate-link{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:none}.card{border-radius:16px;padding:28px 30px}.card:hover,.exp-card:hover{border-color:var(--border-strong);box-shadow:none;transform:none}.edu-card{border-left:1px solid var(--border-color)}.job-title{font-family:var(--font-heading);font-weight:600;letter-spacing:-.01em}.company,.edu-school{color:var(--highlight);font-weight:500}.tech-tag,.tech-badge,.period-badge{background:transparent;color:var(--secondary-text);border:1px solid var(--border-color);border-radius:999px;font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:4px 11px}.grade-badge{color:var(--text-color);background:var(--accent-soft);border:1px solid var(--border-color)}.edu-icon-container,.icon-box,.skill-icon,.explore-icon{background:var(--accent-soft);color:var(--text-color);border:1px solid var(--border-color);box-shadow:none}.icon-box{border-radius:12px}.exp-details li::marker,.subject-list li::marker{color:var(--muted-text)}.exp-card.expanded .exp-toggle-icon{color:var(--text-color)}.year-title{border-bottom:1px solid var(--border-color);color:var(--text-color);font-weight:500;letter-spacing:.06em}.curriculum-btn{color:var(--text-color);font-weight:500;letter-spacing:.04em}.btn-primary-lg,.btn-primary,.submit-btn,.btn-playstore,.app-landing-cta{background:var(--primary-color)!important;color:var(--on-accent)!important;border:1px solid var(--primary-color)!important;border-radius:999px;font-weight:500;letter-spacing:.02em;box-shadow:none!important;transition:opacity .2s ease,background-color .2s ease,color .2s ease}.btn-primary-lg:hover,.btn-primary:hover,.submit-btn:hover,.btn-playstore:hover,.app-landing-cta:hover{opacity:.86;transform:none;filter:none}.btn-secondary-lg,.btn-secondary,.btn-outline-lg,.app-play-store-link{background:transparent;color:var(--text-color);border:1px solid var(--border-strong);border-radius:999px;font-weight:500;letter-spacing:.02em;box-shadow:none;transition:background-color .2s ease,border-color .2s ease}.btn-secondary-lg:hover,.btn-secondary:hover,.btn-outline-lg:hover,.app-play-store-link:hover{background:var(--accent-soft);border-color:var(--text-color);color:var(--text-color);transform:none;box-shadow:none}.btn-primary-lg,.btn-secondary-lg,.btn-outline-lg{padding:13px 26px;font-size:.92rem}.app-play-store-link{margin-top:18px;padding:9px 20px;font-size:.82rem}.expand-btn{color:var(--text-color);font-weight:500;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.expand-btn:hover{color:var(--secondary-text);text-decoration:none}.hero-section{min-height:calc(88vh - 120px);gap:64px;margin-bottom:96px}.hero-greeting{font-size:.75rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--muted-text);margin-bottom:18px}.hero-name{font-family:var(--font-heading);font-size:clamp(2.5rem,5.4vw,4.1rem);font-weight:600;letter-spacing:-.03em;line-height:1.04;background:none;color:var(--text-color);-webkit-text-fill-color:currentColor;margin-bottom:18px}.hero-role{font-family:var(--font-heading);font-size:1.2rem;font-weight:400;color:var(--highlight);letter-spacing:.01em;margin-bottom:18px}.hero-founder{display:inline-flex;align-items:center;gap:10px;padding:7px 16px 7px 10px;margin:0 0 26px;border:1px solid var(--border-color);border-radius:999px;color:var(--secondary-text);font-size:.85rem;letter-spacing:.01em;background:var(--accent-soft)}.hero-founder strong{color:var(--text-color);font-weight:500}.hero-founder-mark{width:18px;height:18px;display:block}.hero-founder-mark--light,[data-theme=light] .hero-founder-mark--dark{display:none}[data-theme=light] .hero-founder-mark--light{display:block}.hero-desc{color:var(--secondary-text);font-size:1.05rem;line-height:1.75;margin-bottom:36px}.hero-actions{gap:12px}.hero-social{margin-top:40px;gap:14px}.hero-social-label{font-size:.7rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--muted-text)}.profile-frame{border:1px solid var(--border-strong);border-radius:20px;box-shadow:var(--shadow-soft)}.image-offset-bg{background:transparent;border:1px solid var(--border-strong);border-radius:20px;opacity:1;top:44px;right:-4px}.hero-image-container:hover .profile-frame{transform:translate(-3px,-3px);box-shadow:var(--shadow-soft)}.hero-image-container:hover .image-offset-bg{transform:translate(3px,3px)}@media(max-width:900px){.hero-section{gap:24px;margin-bottom:64px;padding-top:0}.hero-social{align-items:center}.hero-social-links{justify-content:center}.hero-desc{max-width:100%}}.social-btn,.social-btn.github,.social-btn.linkedin,.social-btn.facebook,.social-btn.instagram,.social-btn.producthunt,.social-btn.tiktok,.social-btn.x-com,.social-btn.youtube,.social-btn.playstore{width:44px;height:44px;border-radius:999px;background:transparent;color:var(--text-color);border:1px solid var(--border-strong);transition:background-color .2s ease,color .2s ease,border-color .2s ease}.social-btn:hover{background:var(--text-color);color:var(--bg-color);border-color:var(--text-color);transform:none;box-shadow:none}.social-links-row{flex-wrap:wrap;gap:10px}.social-section-label{display:block;width:100%;font-size:.7rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--muted-text);margin-bottom:4px}.app-logo-stack-title{font-size:.85rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase}.app-logo-stack-subtitle{color:var(--muted-text);font-size:.85rem}.app-logo-stack-item{border:2px solid var(--bg-color);box-shadow:0 8px 24px #00000059}[data-theme=light] .app-logo-stack-item{box-shadow:0 6px 18px #0a0a0b1f}.skills-overview{gap:20px;margin-bottom:104px}.skill-card-home{border-radius:16px;padding:34px 30px;text-align:left}.skill-card-home:hover,.explore-card:hover,.principle-card:hover,.hobby-card:hover{transform:none;border-color:var(--border-strong);box-shadow:none}.skill-card-home h3,.explore-content h3{font-weight:500;font-size:1.1rem}.skill-icon{border-radius:12px;padding:8px}.explore-card{border-radius:16px;padding:30px}.explore-card.featured{background:var(--surface-2);border-color:var(--border-strong)}.explore-link{color:var(--text-color);font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase}.projects-grid{gap:24px}.project-card{border-radius:16px}.project-card:hover{transform:translateY(-2px);border-color:var(--border-strong);box-shadow:none}.project-card:hover .project-image{transform:scale(1.025)}.project-image-container{background-color:var(--surface-2);border-bottom:1px solid var(--border-color)}.project-content{padding:24px}.project-title{font-family:var(--font-heading);font-size:1.12rem;font-weight:600;letter-spacing:-.01em}.project-tech{color:var(--muted-text);font-size:.75rem;letter-spacing:.04em}.category-badge,.category-badge.web,.category-badge.embedded-sw,.category-badge.hardware,.category-badge.software,.category-badge.mobile{background:#0a0a0bb8;color:#fff;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:999px;font-size:.62rem;font-weight:500;letter-spacing:.16em;padding:4px 10px;top:12px;right:12px}.modal-category{display:inline-block;font-size:.68rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--secondary-text);border:1px solid var(--border-color);border-radius:999px;padding:4px 12px}.modal-overlay{background:#000000b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-content{border:1px solid var(--border-color);border-radius:18px;box-shadow:var(--shadow-soft)}.modal-actions{flex-wrap:wrap}.extended-text{background:var(--surface-2);border-left:1px solid var(--border-strong);color:var(--secondary-text)}.tabs-container,.cert-filters{gap:8px}.tab-btn,.filter-btn{background:transparent;color:var(--secondary-text);border:1px solid var(--border-color);border-radius:999px;font-size:.75rem;font-weight:500;letter-spacing:.08em;padding:8px 16px}.tab-btn:hover,.filter-btn:hover{border-color:var(--border-strong);color:var(--text-color)}.tab-btn.active,.filter-btn.active{background:var(--primary-color);color:var(--on-accent);border-color:var(--primary-color);box-shadow:none}.gallery-item-wrapper{border-radius:10px}.thumbnail-item:hover,.thumbnail-item.active{border-color:var(--text-color);box-shadow:none}.form-group label{font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--secondary-text)}.form-group input,.form-group textarea,.search-bar input{background:var(--bg-color);border:1px solid var(--border-color);border-radius:10px;color:var(--text-color)}.form-group input:focus,.form-group textarea:focus,.search-bar input:focus{border-color:var(--text-color);box-shadow:0 0 0 3px var(--accent-soft)}.contact-info-card,.contact-form{border-radius:18px;padding:36px}.contact-info-card h3,.contact-form h3{font-weight:500}.copy-btn:hover,.value-row a:hover{color:var(--secondary-text)}.certificate-link{border-radius:12px}.certificate-link:hover{transform:none;border-color:var(--border-strong);box-shadow:none}.hobby-icon-circle{background:var(--bg-color)!important;color:var(--text-color);border:1px solid var(--border-strong)}.hobby-card-footer{color:var(--text-color);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500}.journey-item:after{border:1px solid var(--text-color);width:14px;height:14px;top:calc(50% - 7px)}.journey-item h3{color:var(--text-color)}.tech-stack-name,[data-theme=dark] .tech-stack-name{color:var(--text-color);font-family:var(--font-heading);font-weight:500}.tech-stack-icon{background:#fff;border-color:var(--border-color)}.tech-stack-icon-fallback{color:var(--text-color);background:var(--accent-soft)}.tech-stack-h1{font-size:.95rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase}.tech-stack-section-title{font-size:.8rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--secondary-text)}.tech-stack-back:hover,.back-link-inline:hover,.app-landing-back,.app-landing-portfolio,.app-landing-email,.app-landing-ads-link,.app-landing-footer a{color:var(--text-color)}.not-found{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 0 80px}.not-found-mark{width:64px;height:64px;margin-bottom:28px;opacity:.9}.not-found-mark--light,[data-theme=light] .not-found-mark--dark{display:none}[data-theme=light] .not-found-mark--light{display:block}.not-found-code{font-family:var(--font-heading);font-size:clamp(4.5rem,14vw,8rem);font-weight:300;letter-spacing:.08em;line-height:1;margin:0;color:var(--text-color)}.not-found-title{font-size:.85rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--secondary-text);margin:22px 0 14px}.not-found-text{color:var(--muted-text);max-width:420px;margin:0 0 34px}.not-found-path{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--text-color);font-size:.9em;word-break:break-all}.not-found-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.site-footer{border-top:1px solid var(--border-color);margin-top:40px}.site-footer-inner{max-width:1120px;margin:0 auto;padding:28px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-text)}.site-footer-inner a:hover{color:var(--text-color)}@media(max-width:600px){.container{padding:104px 20px 32px}.card,.contact-info-card,.contact-form{padding:24px}.site-footer-inner{justify-content:center;text-align:center}}@media(min-width:901px){.hero-text{flex:1.15;max-width:620px}.hero-founder{white-space:nowrap}}@media(max-width:900px){.hero-founder{border-radius:14px;text-align:left}}.contact-wrapper>*{min-width:0}.value-row a{overflow-wrap:anywhere}@media(max-width:640px){.app-logo-stack-item{margin-left:-32px}.app-logo-stack:hover .app-logo-stack-item,.app-logo-stack:focus-within .app-logo-stack-item{margin-left:-8px}}:root{--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-premium: cubic-bezier(.22, 1, .36, 1);--glow: rgba(255, 255, 255, .1);--glow-border: rgba(255, 255, 255, .55);--grid-line: rgba(255, 255, 255, .055);--spot: rgba(255, 255, 255, .075)}[data-theme=light]{--glow: rgba(10, 10, 11, .045);--glow-border: rgba(10, 10, 11, .45);--grid-line: rgba(10, 10, 11, .06);--spot: rgba(10, 10, 11, .05)}.App{overflow-x:clip}.page-transition{display:block}.scroll-progress{position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--text-color);transform-origin:0 50%;pointer-events:none;z-index:2}.split-mask{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}.split-word{display:inline-block;will-change:transform}.hero-greeting.hero-greeting{display:block}.hero-section{position:relative;isolation:isolate}.hero-text,.hero-image-container{position:relative;z-index:1}.hero-backdrop{position:absolute;top:-140px;bottom:-40px;left:calc(50% - 50vw);right:calc(50% - 50vw);z-index:-1;overflow:hidden;pointer-events:none}.hero-grid{position:absolute;inset:-64px;background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 60% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 60% 40%,#000 20%,transparent 75%);animation:grid-drift 28s linear infinite;will-change:transform}@keyframes grid-drift{0%{transform:translateZ(0)}to{transform:translate3d(64px,64px,0)}}.hero-spotlight{position:absolute;top:0;left:0;width:820px;height:820px;margin:-410px 0 0 -410px;border-radius:50%;background:radial-gradient(circle at center,var(--spot) 0%,transparent 62%);will-change:transform}.hero-grain{position:absolute;inset:0;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}[data-theme=light] .hero-grain{opacity:.035;filter:invert(1)}.hero-fade{position:absolute;left:0;right:0;bottom:0;height:160px;background:linear-gradient(to bottom,transparent,var(--bg-color))}.scroll-cue{position:absolute;left:50%;bottom:-28px;width:1px;height:56px;overflow:hidden;background:var(--border-color)}.scroll-cue-line{position:absolute;inset:0;background:var(--text-color);transform:translateY(-100%);animation:scroll-cue 2.4s var(--ease-premium) infinite}@keyframes scroll-cue{0%{transform:translateY(-100%)}55%{transform:translateY(0)}to{transform:translateY(100%)}}.tilt-stage{perspective:1100px}.tilt-card{position:relative;z-index:2;transform-style:preserve-3d;will-change:transform}.tilt-stage .profile-frame,.tilt-stage:hover .profile-frame,.hero-image-container.tilt-stage:hover .profile-frame{transform:none}.tilt-glare{position:absolute;inset:0;border-radius:20px;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.16) 0%,transparent 38%);opacity:0;transition:opacity .6s var(--ease-premium);z-index:3}.tilt-stage:hover .tilt-glare{opacity:1}.image-offset-bg{will-change:transform}.magnetic{display:inline-flex;will-change:transform}.btn-primary-lg,.btn-secondary-lg,.btn-outline-lg,.app-play-store-link{transition:opacity .3s ease,background-color .35s var(--ease-premium),border-color .35s var(--ease-premium),color .35s var(--ease-premium),scale .25s var(--ease-premium)!important}.btn-primary-lg:active,.btn-secondary-lg:active,.btn-outline-lg:active{scale:.97}.btn-arrow-icon{transition:translate .45s var(--ease-out-expo)}.btn-arrow:hover .btn-arrow-icon,.btn-arrow:focus-visible .btn-arrow-icon{translate:5px 0}.social-btn{transition:background-color .3s var(--ease-premium),color .3s var(--ease-premium),border-color .3s var(--ease-premium),translate .4s var(--ease-out-expo)!important}.social-btn:hover{translate:0 -3px}.spotlight-card{position:relative;isolation:isolate;--mx: 50%;--my: 0%;transition:translate .55s var(--ease-out-expo),border-color .4s ease,background-color .4s ease!important}.spotlight-card:before,.spotlight-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .45s ease}.spotlight-card:before{z-index:-1;background:radial-gradient(420px circle at var(--mx) var(--my),var(--glow),transparent 55%)}.spotlight-card:after{z-index:3;padding:1px;background:radial-gradient(260px circle at var(--mx) var(--my),var(--glow-border),transparent 65%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}@media(hover:hover){.spotlight-card:hover:before,.spotlight-card:hover:after{opacity:1}.skill-card-home.spotlight-card:hover,.explore-card.spotlight-card:hover{translate:0 -4px}}.explore-item{display:flex}.explore-item>.explore-card{flex:1;width:100%}.explore-link{display:inline-flex;align-items:center;gap:8px}.explore-arrow{transition:translate .5s var(--ease-out-expo)}.explore-card:hover .explore-arrow,.explore-card:focus-visible .explore-arrow{translate:6px 0}.explore-icon,.skill-icon{transition:background-color .4s ease,color .4s ease,border-color .4s ease}.explore-card:hover .explore-icon,.skill-card-home:hover .skill-icon{background:var(--text-color);color:var(--bg-color);border-color:var(--text-color)}.app-marquee{position:relative;overflow:hidden;padding:18px 0 8px;margin:0 calc(-1*min(28px,4vw));-webkit-mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(to right,transparent,#000 9%,#000 91%,transparent)}.app-marquee-track{display:flex;width:max-content;animation:app-marquee calc(var(--count, 12) * 3.6s) linear infinite;will-change:transform}.app-marquee:hover .app-marquee-track,.app-marquee:focus-within .app-marquee-track{animation-play-state:paused}@keyframes app-marquee{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}.app-marquee-list{display:flex;gap:12px;padding:4px 12px 4px 0;margin:0;list-style:none}.app-chip{display:inline-flex;align-items:center;gap:12px;padding:6px 18px 6px 6px;border:1px solid var(--border-color);border-radius:999px;background:var(--card-bg);color:var(--text-color);text-decoration:none;white-space:nowrap;transition:translate .5s var(--ease-out-expo),border-color .35s ease,background-color .35s ease}a.app-chip:hover,a.app-chip:focus-visible{translate:0 -3px;border-color:var(--border-strong);background:var(--card-bg-hover, var(--card-bg))}.app-chip-icon{width:38px;height:38px;border-radius:11px;overflow:hidden;flex:0 0 auto;background:var(--surface-2, var(--card-bg))}.app-chip-icon img{width:100%;height:100%;object-fit:cover;display:block;transition:scale .6s var(--ease-out-expo)}a.app-chip:hover .app-chip-icon img{scale:1.08}.app-chip-name{font-size:.84rem;font-weight:500;letter-spacing:.01em}.app-chip--soon{opacity:.7}.tab-btn{position:relative;isolation:isolate;transition:color .35s var(--ease-premium),border-color .35s ease!important}.tab-btn.active,.tab-btn.active:hover{background:transparent!important;color:var(--on-accent)!important;border-color:var(--primary-color)}.tab-pill{position:absolute;inset:-1px;border-radius:999px;background:var(--primary-color);z-index:-1}.tab-label{position:relative}.projects-grid{position:relative;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}@media(max-width:400px){.projects-grid{grid-template-columns:1fr}}.project-card{overflow:hidden;transform-origin:50% 50%}@media(hover:hover){.project-card.spotlight-card:hover{translate:0 -4px;border-color:var(--border-strong)}}.project-card:hover{transform:none}.project-image-container{height:auto;aspect-ratio:16 / 10}.project-image{transition:scale 1.1s var(--ease-out-expo),opacity .4s ease}.project-card:hover .project-image{transform:none;scale:1.07}.project-open-hint{position:absolute;left:12px;bottom:12px;width:36px;height:36px;border-radius:999px;display:grid;place-items:center;background:#0a0a0bb3;color:#fff;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;translate:0 8px;transition:opacity .4s ease,translate .5s var(--ease-out-expo)}.project-card:hover .project-open-hint{opacity:1;translate:0 0}.project-open{all:unset;cursor:pointer}.project-open:after{content:"";position:absolute;inset:0;z-index:1}.project-card:has(.project-open:focus-visible){outline:1px solid var(--text-color);outline-offset:3px}.project-card .expand-btn{position:relative;z-index:2}.modal-overlay{animation:none;background:#0000008c;backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%)}[data-theme=light] .modal-overlay{background:#fafafa8c}.modal-content{animation:none;overscroll-behavior:contain;outline:none;max-width:860px}.modal-img{display:block;height:340px}@media(max-width:600px){.modal-img{height:220px}}.modal-title{margin:15px 0 0;font-size:clamp(1.6rem,3.4vw,2.2rem);font-weight:600;letter-spacing:-.02em;color:var(--text-color)}.modal-lead{font-size:1.08rem;line-height:1.65;margin:20px 0}.modal-summary{font-size:1rem;line-height:1.65;margin:20px 0;color:var(--secondary-text)}.modal-divider{border-top:1px solid var(--border-color);margin:30px 0}.modal-details{margin:15px 0 30px;padding-left:20px;line-height:1.7}.modal-gallery-title{display:flex;align-items:center;gap:10px}.close-btn{z-index:2;background:#0a0a0b99;border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}button.gallery-item-wrapper{padding:0;font:inherit;display:block;width:100%}.gallery-img{transition:scale .8s var(--ease-out-expo)!important}.gallery-item-wrapper:hover .gallery-img{transform:none;scale:1.08}.lightbox-overlay{animation:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@media(prefers-reduced-motion:reduce){.hero-grid,.scroll-cue-line{animation:none}.scroll-cue{display:none}.app-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.app-marquee-track{animation:none}.app-marquee-list[aria-hidden=true]{display:none}.spotlight-card,.app-chip,.project-image,.btn-arrow-icon,.explore-arrow,.social-btn,.gallery-img{transition-duration:.01ms!important}.spotlight-card:hover,.project-card.spotlight-card:hover,.social-btn:hover,a.app-chip:hover{translate:none!important}.project-card:hover .project-image,.gallery-item-wrapper:hover .gallery-img{scale:1}}@media(max-width:900px){.scroll-cue{display:none}.hero-backdrop{top:-110px}}.route-fallback{min-height:70vh}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}
