@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Montserrat:wght@600;700&family=Playfair+Display:wght@400;600&display=swap";.contact-page{padding-top:var(--spacing-xxl, 120px);min-height:100vh;display:flex;justify-content:center;position:relative;padding-bottom:100px}.contact-wrapper{width:100%;max-width:1200px;padding:0 var(--spacing-md, 20px);display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;z-index:1}.layer-card{background:var(--color-surface, rgba(15, 23, 42, .6));border:1px solid var(--color-border, rgba(255, 255, 255, .1));border-radius:24px;padding:40px;box-shadow:0 25px 50px -12px #00000040;transition:all .5s cubic-bezier(.2,.8,.2,1)}.layer-card:hover{border-color:var(--color-border-hover, rgba(255, 255, 255, .2));box-shadow:0 30px 60px -12px #0000004d}.contact-title{font-family:var(--font-display);font-size:clamp(2.5rem,5vw,3.5rem);line-height:1.1;background:linear-gradient(to right,#fff,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:24px}.contact-description{font-size:1.1rem;line-height:1.6;color:var(--color-text-secondary, #94a3b8);margin-bottom:40px;max-width:90%}.contact-subtitle{font-family:var(--font-mono);font-size:14px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text);margin-bottom:24px;font-weight:600;display:flex;align-items:center;gap:8px}.hash{color:var(--color-accent, #6366f1)}.social-links{display:flex;flex-direction:column;gap:16px}.social-link{display:flex;align-items:center;gap:20px;padding:20px;background:var(--color-bg, rgba(0, 0, 0, .2));border:1px solid var(--color-border, rgba(255, 255, 255, .1));border-radius:16px;text-decoration:none;color:var(--color-text, #f8fafc);transition:all .3s ease}.social-link:hover{transform:translateY(-4px);border-color:var(--color-accent, #6366f1);background:#ffffff0d;box-shadow:0 10px 20px -5px #0000004d}.social-icon{width:32px;height:32px;filter:invert(1);opacity:.9}.social-content{flex:1}.social-name{font-weight:600;font-size:1.1rem;margin-bottom:4px}.social-handle{font-family:var(--font-mono);font-size:.9rem;color:var(--color-text-secondary, #94a3b8)}.social-arrow{color:var(--color-accent, #6366f1);font-size:1.2rem;opacity:0;transform:translate(-10px);transition:all .3s ease}.social-link:hover .social-arrow{opacity:1;transform:translate(0)}.contact-form{display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column;gap:10px}.form-label{font-family:var(--font-mono);font-size:.85rem;color:var(--color-text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.05em}.form-input,.form-textarea{background:var(--color-bg, rgba(0, 0, 0, .2));border:1px solid var(--color-border, rgba(255, 255, 255, .1));border-radius:12px;padding:16px;color:#fff;font-family:inherit;font-size:1rem;transition:all .3s ease;width:100%}.form-textarea{min-height:160px;resize:vertical;line-height:1.6}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-accent, #6366f1);background:#6366f10d;box-shadow:0 0 0 2px #6366f11a}.form-footer{display:flex;align-items:center;gap:20px;margin-top:10px}.submit-btn{background:var(--color-text, #fff);color:var(--color-bg, #0f172a);border:none;padding:14px 32px;border-radius:50px;font-family:var(--font-mono);font-size:.95rem;font-weight:700;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.05em}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px #fff3;background:#e2e8f0}.submit-btn:disabled{opacity:.6;cursor:wait;transform:none;box-shadow:none}.status-message{font-family:var(--font-mono);font-size:.9rem;animation:fadeIn .3s ease}.status-message.success{color:#4ade80}.status-message.error{color:#f87171}@media(max-width:900px){.contact-wrapper{grid-template-columns:1fr;gap:60px}.contact-page{padding-top:100px}.contact-title{text-align:center}.contact-description{margin:0 auto 40px;text-align:center}.contact-subtitle{justify-content:center}.form-footer{flex-direction:column;align-items:stretch}.submit-btn{width:100%}.status-message{text-align:center}}.not-found-page{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--section-gradient);padding:var(--spacing-page)}.not-found-page__content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:32px;max-width:600px}.not-found-page__hero{display:flex;flex-direction:column;align-items:center;gap:24px}.not-found-page__title{font-family:var(--font-heading);font-size:clamp(64px,10vw,120px);font-weight:var(--font-weight-heading);color:var(--color-accent);margin:0;text-shadow:var(--text-shadow)}.not-found-page__subtitle{font-family:var(--font-heading);font-size:clamp(24px,3vw,36px);font-weight:var(--font-weight-heading);color:var(--color-text);margin:0}.not-found-page__description{font-size:16px;line-height:1.6;color:var(--color-muted);margin:0}.not-found-page__link{display:inline-block;padding:12px 24px;border:1px solid var(--color-accent);border-radius:8px;background:transparent;color:var(--color-accent);text-decoration:none;font-family:var(--font-nav);font-size:16px;transition:all .3s ease}.not-found-page__link:hover{background:var(--color-accent);color:var(--color-background);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}@media(max-width:768px){.not-found-page{padding:20px}.not-found-page__content{gap:24px}.not-found-page__hero{gap:16px}.not-found-page__title{font-size:80px}.not-found-page__subtitle{font-size:28px}}:root{color-scheme:light dark;--shadow-soft: 0 20px 40px rgba(0, 0, 0, .2);--spacing-page: clamp(20px, 4vw, 48px);--spacing-section: clamp(40px, 8vw, 120px);--font-body: "Inter", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-heading: "Playfair Display", "Times New Roman", serif;--font-nav: "Montserrat", "Segoe UI", Arial, sans-serif;--font-weight-body: 400;--font-weight-heading: 500;--text-shadow: none;--section-gradient: linear-gradient(180deg, #ffffff 0%, #f5f5f5 100%);--nav-link-size: 1.5rem}*,*:before,*:after{box-sizing:border-box}body{margin:0}a{text-decoration:none}@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{font-family:var(--font-body);font-weight:var(--font-weight-body);background:var(--color-background);color:var(--color-text);line-height:1.6;transition:background-color .3s ease,color .3s ease}a{color:var(--color-accent)}a:hover{opacity:.8}.dark{--color-background: #121212;--color-surface: #1a1a1a;--color-text: #f0f0f0;--color-muted: #c7c7c7;--color-accent: #a78bfa;--color-border: #2a2a2a;--color-nav: rgba(18, 18, 18, .9);--shadow-soft: 0 20px 40px rgba(0, 0, 0, .3);--font-weight-body: 500;--font-weight-heading: 600;--text-shadow: none;--section-gradient: linear-gradient(180deg, #121212 0%, #171717 100%);--cursor-color: #BB86FC;--cursor-bg: rgba(187, 134, 252, .1);--bg-primary: var(--color-surface);--bg-secondary: var(--color-background);--bg-hover: rgba(167, 139, 250, .1);--color-text-secondary: var(--color-muted);--color-accent-rgb: 167, 139, 250;--modal-overlay-bg: rgba(0, 0, 0, .8);--modal-box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .5);--icon-filter: none;--color-bg: var(--color-surface);--color-accent-dim: rgba(167, 139, 250, .1);--color-accent-glow: #a78bfa;--color-border-hover: #374151;--shadow-large: 0 10px 25px -5px rgba(0, 0, 0, .3)}.light{--color-background: #f5f5f5;--color-surface: #ffffff;--color-text: #202020;--color-muted: #5e5e5e;--color-accent: #7c3aed;--color-border: #e0e0e0;--color-nav: rgba(245, 245, 245, .9);--shadow-soft: 0 20px 40px rgba(255, 255, 255, .5);--font-weight-body: 400;--font-weight-heading: 500;--text-shadow: 0 2px 12px rgba(0, 0, 0, .08);--section-gradient: linear-gradient(180deg, #f5f5f5 0%, #ffffff 100%);--cursor-color: #6200EA;--cursor-bg: rgba(98, 0, 234, .1);--bg-primary: var(--color-surface);--bg-secondary: var(--color-background);--bg-hover: rgba(124, 58, 237, .1);--color-text-secondary: var(--color-muted);--color-accent-rgb: 124, 58, 237;--modal-overlay-bg: rgba(0, 0, 0, .6);--modal-box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .2);--icon-filter: invert(1);--color-bg: var(--color-surface);--color-accent-dim: rgba(124, 58, 237, .1);--color-accent-glow: #7c3aed;--color-border-hover: #9ca3af;--shadow-large: 0 10px 25px -5px rgba(0, 0, 0, .1)}.nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px var(--spacing-page);background:var(--color-nav);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);transition:transform .3s ease,opacity .3s ease,background-color .3s ease,color .3s ease,border-color .3s ease}.nav--hidden{transform:translateY(-100%);opacity:0}.nav__brand{font-size:26px;letter-spacing:6px;color:var(--color-accent);font-family:Lucida Sans,Lucida Sans Regular,Lucida Grande,Lucida Sans Unicode,Geneva,Verdana,sans-serif}.nav__actions{display:flex;align-items:center;gap:16px}.nav__toggle{display:none;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:999px;width:40px;height:40px;align-items:center;justify-content:center;cursor:pointer;transition:border-color .3s ease,background-color .3s ease}.nav__toggle-lines{width:18px;height:12px;display:flex;flex-direction:column;justify-content:space-between}.nav__toggle-line{height:2px;background:var(--color-text);border-radius:999px}.nav__links{display:flex;align-items:center;gap:clamp(24px,5vw,60px)}.nav__links--primary{gap:clamp(8px,1.5vw,28px)}.nav__link{font-size:clamp(12px,calc(.45vw + 10px),16px);text-transform:uppercase;letter-spacing:2px;color:var(--color-text);font-family:var(--font-nav);font-weight:700;display:inline-flex;align-items:center;gap:12px;padding:6px 10px;border-radius:999px;border:1px solid transparent;transition:opacity .5s ease,transform .5s ease,border-color .3s ease;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat}.nav__link--active{border-color:var(--color-accent)}.nav__link-number{font-size:clamp(9px,calc(.4vw + 7px),12px);letter-spacing:6px;color:var(--color-muted);font-family:var(--font-nav)}.nav__link-text{font-size:clamp(6px,calc(.4vw + 8px),10px)}.nav__link:hover{opacity:.7;transform:translateY(-2px);background-size:100% 1px}.language-toggle{display:flex;align-items:center;gap:8px;font-size:12px;font-family:var(--font-nav)}.language-toggle__button{background:none;border:none;color:var(--color-muted);cursor:pointer;padding:0;font-size:12px;letter-spacing:2px;font-family:var(--font-nav)}.language-toggle__button--active{color:var(--color-accent)}.language-toggle__divider{color:var(--color-muted)}.theme-toggle{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:999px;width:36px;height:36px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:border-color .3s ease,background-color .3s ease,color .3s ease}@media(max-width:768px){.nav{padding:12px var(--spacing-page);min-height:60px}.nav__links{display:none}.nav__actions{gap:12px}.nav__toggle{display:inline-flex}}.nav__overlay{position:fixed;inset:0;background:#0000008c;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);will-change:opacity;z-index:20;height:100vh;display:flex;align-items:center;justify-content:center}.nav__overlay--floating{inset:auto;height:auto;width:auto;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;display:block}.nav__overlay-panel{width:min(560px,92vw);background:linear-gradient(180deg,#0f0f0f,#1a1a1a);padding:72px 32px 48px;display:flex;flex-direction:column;justify-content:space-between;gap:32px;border-radius:32px;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 40px #00000047;overflow-y:auto;transform:translateZ(0);will-change:transform,opacity}.nav__overlay-panel--floating{width:min(420px,92vw);padding:28px 24px;border-radius:24px;box-shadow:0 16px 32px #00000047}.nav__overlay-list{display:flex;flex-direction:column;gap:clamp(20px,4vw,40px);align-items:center;justify-content:center;text-align:center;flex:1}.nav__overlay-link{font-size:clamp(2.2rem,calc(3.5vw + 1rem),4.8rem);font-family:var(--font-nav);letter-spacing:3px;text-transform:uppercase;color:var(--color-text);display:inline-flex;align-items:center;gap:18px;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .3s ease}.nav__overlay-link:hover{background-size:100% 1px}.nav__overlay-link .nav__link-number{font-size:clamp(10px,calc(.6vh + 6px),16px);letter-spacing:6px}.light .nav__overlay{background:#ffffff4d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.light .nav__overlay-panel{background:linear-gradient(180deg,#f8f9fa,#ededed);border:1px solid rgba(0,0,0,.08);box-shadow:0 30px 60px #0000001a}.light .nav__overlay-link{color:var(--color-text)}@media(max-width:768px){.nav__overlay-panel{min-height:85vh;padding:64px 24px 40px;max-height:90vh}}@media(min-width:769px){.nav__overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}@media(max-width:480px){.nav__overlay-panel{padding:56px 20px 32px;max-height:88vh}.nav__overlay-list{gap:26px}}.nav__mobile-group{border-bottom:1px solid rgba(255,255,255,.05);transition:background-color .3s ease}.nav__mobile-group:last-child{border-bottom:none}.nav__mobile-group-header{display:flex;align-items:center;padding:24px 20px;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.nav__mobile-group-header:active{background-color:#ffffff08}.nav__mobile-group-header .nav__link-number{font-family:var(--font-mono);font-size:13px;color:var(--color-accent, #6366f1);opacity:.7;margin-right:16px;pointer-events:none}.nav__mobile-group-header .nav__link-text{font-family:var(--font-heading);font-size:24px;color:var(--color-text, #fff);font-weight:300;letter-spacing:.02em;flex:1}.nav__mobile-arrow{font-size:14px;color:var(--color-muted, #94a3b8);transition:transform .3s ease,color .3s ease}.nav__mobile-arrow.open{transform:rotate(180deg);color:var(--color-accent, #6366f1)}.nav__mobile-submenu{overflow:hidden;background-color:#0003}.nav__mobile-sublink{display:block;width:100%;text-align:left;background:none;border:none;padding:16px 20px 16px 50px;color:var(--color-text-secondary, #cbd5e1);font-family:var(--font-mono);font-size:14px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border-left:2px solid transparent;transition:all .2s ease}.nav__mobile-sublink:hover,.nav__mobile-sublink:active{color:var(--color-accent, #6366f1);border-left-color:var(--color-accent, #6366f1);padding-left:54px}.nav__overlay-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:10px}.nav__overlay-title{font-family:var(--font-mono);font-size:12px;color:var(--color-muted);letter-spacing:.1em}.nav__overlay-actions{display:flex;gap:16px;align-items:center}.mobile-menu__close{position:relative;top:auto;right:auto;margin:0;font-size:20px;border:0;border-radius:10%;padding:8px;background-color:#8585851e}.hero{padding-top:calc(var(--spacing-section) / 2);padding-bottom:0}.hero__tagline{font-size:clamp(18px,calc(1.2vw + 10px),28px);color:var(--color-muted);font-family:var(--font-heading)}.hero__categories{margin-top:36px;display:flex;flex-direction:column;gap:16px}.hero__brain{padding-bottom:0%;margin:0 auto;height:auto;overflow:hidden;border-radius:0;position:relative;background:transparent}.hero__brain-viewport{opacity:0;transition:opacity 1.5s ease-in-out}.hero__brain-viewport .hero__brain-canvas,.hero__brain-viewport .hero__brain-fallback{opacity:0;transition:opacity 1.5s ease-in-out;will-change:opacity}.hero__brain-viewport--visible,.hero__brain-viewport--visible .hero__brain-canvas,.hero__brain-viewport--visible .hero__brain-fallback{opacity:1}.hero__brain-motion,.hero__brain-placeholder{width:min(70vw,1280px);aspect-ratio:1 / 1;max-height:90vh;margin:0 auto}.hero__brain-asset{opacity:0;transition:opacity 1.5s ease-in-out}.hero__brain-asset--ready{opacity:1}@keyframes hero-brain-fade{0%{opacity:0}to{opacity:1}}.hero__brain-canvas{width:100%;height:100%;display:block;padding-bottom:0}.hero__brain-fallback{width:100%;height:100%;display:grid;place-items:center;background:transparent}.hero__brain-fallback:after{content:""}.hero__categories-title{text-transform:uppercase;letter-spacing:4px;font-size:clamp(11px,calc(.5vw + 8px),14px);color:var(--color-muted);font-family:var(--font-nav)}.hero__categories-list{display:flex;gap:16px;min-width:max-content;background-color:#8a2be2;padding-top:10px}.hero__category{color:var(--color-text);font-size:clamp(12px,calc(.6vw + 10px),16px);font-family:var(--font-nav)}@media(min-width:1200px){.hero{margin-bottom:calc(var(--spacing-section) / -2)}.hero__brain{width:min(70vw,1280px)}}@media(min-width:1981px){.hero__brain{max-width:1280px}}.horizontal-scroll{overflow-x:auto;overflow-y:hidden;scroll-behavior:auto;margin-left:calc(-1 * var(--spacing-page));margin-right:calc(-1 * var(--spacing-page));scrollbar-width:none;-ms-overflow-style:none}.horizontal-scroll::-webkit-scrollbar{display:none}.horizontal-scroll__track{display:flex;gap:20px;padding-bottom:12px;width:max-content}.horizontal-scroll__copy{display:contents}.horizontal-scroll__track>*{flex:0 0 auto}.horizontal-scroll__item-wrapper{display:contents}.horizontal-scroll__progress{height:2px;background:var(--color-border);border-radius:999px;overflow:hidden;margin-top:12px}.horizontal-scroll__progress-bar{display:block;height:100%;background:var(--color-accent);transform-origin:left center}.section{padding:calc(var(--spacing-section) / 1.4) var(--spacing-page);border-radius:24px;transition:background-color .3s ease,color .3s ease,border-color .3s ease;padding-bottom:0;padding-top:0}.section__title{font-size:clamp(20px,calc(1.6vw + 12px),36px);letter-spacing:3px;text-transform:uppercase;margin-bottom:24px;font-family:var(--font-heading);font-weight:var(--font-weight-heading);text-shadow:var(--text-shadow)}.portfolio__grid{display:flex;gap:24px;min-width:max-content}.portfolio__card{background:var(--color-surface);padding:24px;border-radius:12px;border:1px solid var(--color-border);box-shadow:var(--shadow-soft);transition:transform .3s ease,border-color .3s ease,background-color .3s ease,color .3s ease,border-color .3s ease;min-width:260px;flex:0 0 auto}.portfolio__card:hover{transform:translateY(-6px);border-color:var(--color-accent)}.portfolio__title{margin:0 0 12px;font-size:clamp(16px,calc(.8vw + 12px),22px);font-family:var(--font-heading)}.portfolio__description{color:var(--color-muted)}.portfolio__link{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:clamp(11px,calc(.4vw + 9px),14px);letter-spacing:2px;text-transform:uppercase;color:var(--color-accent);font-family:var(--font-nav);transition:opacity .3s ease,transform .3s ease,background-size .3s ease;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat}.portfolio__link:hover{opacity:.75;transform:translate(4px);background-size:100% 1px}.skill-modal-header{display:flex;justify-content:space-between;align-items:flex-start}.view-toggle{display:flex;gap:8px;margin-top:12px}.view-toggle button{padding:6px 12px;border-radius:4px;border:1px solid var(--color-text);background:transparent;color:var(--color-text);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.view-toggle button.active{background:transparent;color:var(--color-accent);border-color:var(--color-accent)}.view-toggle button:hover:not(.active){opacity:.8;background:#8080801a}.skill-modal-title{margin-top:0}.skill-modal-close{position:static;margin-left:auto}.skill-modal-code-wrapper{flex:1;min-height:0;margin-top:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}.skill-modal-header--has-code{margin-bottom:12px}.network{position:relative;width:100%;height:clamp(600px,70vh,900px);min-height:600px;max-height:900px;overflow:hidden}@media(max-width:1024px){.network{height:clamp(700px,80vh,980px);min-height:700px;max-height:980px}}@media(max-width:768px){.network{height:clamp(900px,100vh,1200px);min-height:900px;max-height:1200px}}@media(max-width:480px){.network{height:1400px;min-height:1200px;max-height:none}}.network__content{position:relative;width:100%;height:100%;transition:opacity .25s ease}.network__svg,.network__nodes{opacity:0;transition:opacity 1.5s ease-in-out;will-change:opacity}.network--loaded.network--visible .network__svg,.network--loaded.network--visible .network__nodes{opacity:1}.network--dimmed .network__content{opacity:.35}.network__svg{width:100%;height:100%;position:absolute;top:0;left:0}.network__nodes{position:absolute;inset:0}.network__connection{fill:none;stroke:var(--color-text);stroke-width:1px;opacity:.25;vector-effect:non-scaling-stroke}.network__node{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;width:max-content;max-width:none;padding:clamp(4px,.5vw,8px) clamp(8px,1vw,12px);border:1px solid transparent;border-radius:20px;color:var(--color-text);font-size:clamp(10px,.25vw,13px);font-weight:400;cursor:pointer;transition:box-shadow .2s ease,filter .2s ease,background-color .2s ease,border-color .2s ease;white-space:nowrap;overflow:visible;text-overflow:clip;z-index:2}@media(max-width:1024px){.network__node{font-size:11px}}@media(max-width:768px){.network__node{font-size:10px;padding:4px 8px}}html.light .network__node,.light .network__node{background-color:#ffffff73;border-color:#0000000d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-clip:padding-box;isolation:isolate;-webkit-transform:translateZ(0);transform:translateZ(0);will-change:backdrop-filter,transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:0 2px 8px #0000000d}html.dark .network__node,.dark .network__node{background-color:#1e1e1e80;border-color:#ffffff14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-clip:padding-box;isolation:isolate;-webkit-transform:translateZ(0);transform:translateZ(0);will-change:backdrop-filter,transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:0 4px 12px #0003}.network__node:hover{z-index:10;transform:scale(1.05)}html.light .network__node:hover{background-color:#ffffffb3;border-color:var(--color-accent);box-shadow:0 4px 12px #0000001a}html.dark .network__node:hover{background-color:#323232b3;border-color:var(--color-accent);box-shadow:0 6px 16px #0000004d}.network__node-text{pointer-events:none;text-align:center;line-height:1.2}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.light .modal-overlay{background:#0006}.dark .modal-overlay{background:#000000b3}.modal-content{padding:32px;border-radius:12px;max-width:500px;width:90%;max-height:70vh;overflow-y:auto;position:relative;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.light .modal-content{background:#fffffff2;box-shadow:0 25px 50px -12px #00000026}.dark .modal-content{background:#1a1a1af2;box-shadow:0 25px 50px -12px #00000080}.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:32px;font-weight:300;cursor:pointer;color:var(--color-text);padding:4px;border-radius:4px;transition:background-color .2s ease}.modal-close:hover{background:#0000001a}.dark .modal-close:hover{background:#ffffff1a}.modal-icon{font-size:48px;text-align:center;margin-bottom:16px}.modal-title{font-size:24px;margin-bottom:16px;text-align:center}.modal-description{font-size:16px;line-height:1.6}.modal-list{margin:16px 0 0;padding:0;list-style:none;display:grid;gap:8px}.modal-list__item{padding:8px 12px;border-radius:8px;background:#00000014;color:var(--color-text)}.dark .modal-list__item{background:#ffffff14}.modal-content--large{max-width:900px!important;width:90%;height:80vh;display:flex;flex-direction:column}.modal-content--no-scroll{overflow-y:hidden!important}@media(max-width:768px){.modal-content--large{height:100vh;width:100%;border-radius:0;max-width:none!important}}.testimonials__scroll{margin-top:40px}.testimonials__card{background:var(--color-surface);padding:32px;border-radius:16px;border:1px solid var(--color-border);width:450px;max-width:85vw;display:flex;flex-direction:column;justify-content:space-between;transition:transform .3s ease,border-color .3s ease}.testimonials__card:hover{border-color:var(--color-accent)}.testimonials__quote{color:var(--color-text-secondary);font-style:italic;font-size:1.1rem;line-height:1.6;margin-bottom:24px}.testimonials__link{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:clamp(11px,calc(.4vw + 9px),14px);letter-spacing:2px;text-transform:uppercase;color:var(--color-accent);font-family:var(--font-nav);transition:opacity .3s ease,transform .3s ease,background-size .3s ease;background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat}.testimonials__link:hover{opacity:.75;transform:translate(4px);background-size:100% 1px}.testimonials__meta{display:flex;flex-direction:column;gap:6px;margin:16px 0;color:var(--color-muted);font-size:clamp(12px,calc(.5vw + 10px),16px)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin-top:40px}.skill-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:16px;transition:all .3s ease;cursor:default}.skill-card:hover{box-shadow:0 4px 20px #0000001a}.skill-card__header{display:flex;justify-content:space-between;align-items:center}.skill-card__title{font-family:var(--font-mono);font-size:16px;font-weight:600;color:var(--color-text)}.skill-card__level{font-family:var(--font-mono);font-size:12px;color:var(--color-accent);font-weight:700}.skill-card__progress{width:100%;height:4px;background:var(--color-bg);border-radius:2px;overflow:hidden}.skill-card__progress-fill{height:100%;background:var(--color-accent);border-radius:2px}.skill-card__desc{font-size:14px;color:var(--color-muted);line-height:1.5}.skills__network-viewport{width:100%}.skills__network-fade{width:100%;height:100%}.skills__network-placeholder{width:100%}@media(max-width:768px){.skills-grid{grid-template-columns:1fr;gap:16px}}.contact__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.contact__item{display:flex;flex-direction:column;gap:8px;padding:20px;background:var(--color-surface);border-radius:10px;border:1px solid var(--color-border);transition:background-color .3s ease,color .3s ease,border-color .3s ease}.contact__label{text-transform:uppercase;font-size:clamp(11px,calc(.4vw + 9px),13px);letter-spacing:3px;color:var(--color-muted)}.newsletter{display:flex;flex-direction:column;gap:16px;padding:24px;background:var(--color-surface);border-radius:12px;border:1px solid var(--color-border);transition:background-color .3s ease,color .3s ease,border-color .3s ease}.newsletter__fields{display:flex;flex-wrap:wrap;gap:12px}.newsletter__input{flex:1;min-width:200px;padding:12px 16px;border-radius:8px;border:1px solid var(--color-border);background:transparent;color:var(--color-text)}.newsletter__button{padding:12px 20px;border-radius:8px;border:1px solid var(--color-accent);background:var(--color-accent);color:#111;cursor:pointer;transition:opacity .3s ease}.newsletter__button:disabled{opacity:.6;cursor:default}.newsletter__message{font-size:clamp(12px,calc(.5vw + 10px),16px)}.newsletter__message--success{color:#7dd87d}.newsletter__message--error{color:#ff8a80}.project-detail__layout{display:flex;gap:40px;max-width:100%;margin:0 auto;padding:0 20px 100px;position:relative;align-items:flex-start;overflow-x:hidden}.project-detail__depth-indicator{position:sticky;top:100px;width:200px;flex-shrink:0;display:none;opacity:0;animation:fadeIn .8s .2s forwards}@media(min-width:1024px){.project-detail__depth-indicator{display:block}}.depth-indicator__track{position:fixed;display:flex;flex-direction:column;gap:0;border-left:1px solid var(--color-border);padding-left:20px}.depth-indicator__item{display:flex;align-items:center;gap:12px;padding:12px 0;cursor:pointer;color:var(--color-muted);transition:all .3s ease;position:relative}.depth-indicator__item:hover{color:var(--color-text)}.depth-indicator__item.active{color:var(--color-accent-glow);font-weight:500}.depth-indicator__dot{width:6px;height:6px;background-color:var(--color-border);border-radius:50%;transition:all .3s ease;position:absolute;left:-23.5px}.depth-indicator__item.active .depth-indicator__dot{background-color:var(--color-accent);box-shadow:0 0 10px var(--color-accent-glow);transform:scale(1.5)}.depth-indicator__label{font-family:var(--font-mono);font-size:13px;text-transform:uppercase;letter-spacing:.05em}.project-detail{flex:1;min-width:0;display:flex;flex-direction:column;gap:60px}.layer-card{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:24px;padding:32px;transition:all .5s cubic-bezier(.2,.8,.2,1);opacity:.6;transform:scale(.98);filter:blur(5px)}.layer-card.active{opacity:1;transform:scale(1);filter:blur(0);border-color:var(--color-accent-dim);box-shadow:0 8px 32px #0003;z-index:2}.layer-card:hover{opacity:.9;filter:blur(.5px);border-color:var(--color-border-hover)}.section-connector{position:absolute;top:-60px;left:40px;bottom:100%;width:2px;background:linear-gradient(to bottom,transparent,var(--color-border) 50%,var(--color-accent-dim));z-index:0;opacity:.5}.layer-card.active .section-connector{background:linear-gradient(to bottom,var(--color-border),var(--color-accent));opacity:1}.project-detail__hero.layer-card{padding:0;overflow:hidden;border:none;background:transparent}.project-detail__content{display:flex;flex-direction:column;gap:80px}.project-detail__title{margin:32px 32px 16px;font-family:var(--font-heading);font-size:clamp(32px,5vw,64px);line-height:1.1;background:linear-gradient(to right,var(--color-text),var(--color-muted));-webkit-background-clip:text;-webkit-text-fill-color:transparent;padding-bottom:.1em;display:inline-block}.project-detail__meta{padding:0 32px 32px}.project-detail__info{display:flex;gap:24px;font-family:var(--font-mono);color:var(--color-muted);font-size:14px}.project-detail__cover{width:100%;height:50vh;object-fit:cover;border-radius:24px;border:1px solid var(--color-border)}.project-detail__subtitle{font-family:var(--font-mono);font-size:24px;color:var(--color-text);margin-bottom:24px;display:flex;align-items:center;gap:12px}.project-detail__subtitle:before{content:"#";color:var(--color-accent)}.project-detail__lead{font-size:20px;line-height:1.6;color:var(--color-text);margin-bottom:24px;max-width:65ch}.project-detail__paragraph{font-size:16px;line-height:1.7;color:var(--color-muted);margin-bottom:16px;max-width:65ch}.project-detail__paragraph strong{color:var(--color-text);font-weight:600}.project-detail__description p{font-size:16px;line-height:1.7;color:var(--color-muted);margin-bottom:24px;max-width:65ch}.project-detail__description h3{font-size:18px;color:var(--color-text);margin:32px 0 16px;font-weight:600}.project-detail__description ul,.project-detail__description ol{margin-bottom:24px;padding-left:20px;max-width:65ch}.project-detail__description li{font-size:16px;line-height:1.7;color:var(--color-muted);margin-bottom:12px}.project-detail__description li strong{color:var(--color-text);font-weight:600}.project-detail__description a{color:var(--color-accent);text-decoration:none;transition:all .2s ease;border-bottom:1px dotted var(--color-accent)}.project-detail__description a:hover{color:var(--color-accent-glow);border-bottom-style:solid}.project-detail__tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.project-detail__tech-item{display:flex;align-items:center;gap:12px;padding:16px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;transition:transform .2s ease}.project-detail__tech-item:hover{transform:translateY(-2px);border-color:var(--color-accent-dim)}.project-detail__tech-icon{width:24px;height:24px;object-fit:contain}.project-detail__tech-label{font-family:var(--font-mono);font-size:13px;font-weight:500}.project-detail__architecture{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.project-detail__card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:16px;padding:24px;height:100%;margin:0;transition:all .3s ease}.project-detail__card:hover{border-color:var(--color-accent);box-shadow:0 4px 20px #0000001a}.project-detail__card-title{font-family:var(--font-mono);font-size:16px;color:var(--color-accent-glow);margin-bottom:16px;text-transform:uppercase;letter-spacing:.05em}.project-detail__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.project-detail__list li{font-size:14px;color:var(--color-muted);padding-left:20px;position:relative}.project-detail__list li:before{content:"→";position:absolute;left:0;color:var(--color-accent);opacity:.7}.project-detail__challenges{display:grid;gap:24px}.project-detail__actions{display:flex;gap:16px;margin-top:0;filter:blur(0px)}.project-detail__link{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:50px;background:var(--color-text);color:var(--color-bg);font-family:var(--font-mono);font-size:14px;font-weight:600;text-decoration:none;transition:all .3s ease;border:2px solid transparent;cursor:pointer}.project-detail__link:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.project-detail__link--ghost{background:transparent;color:var(--color-text);border-color:var(--color-border)}.project-detail__link--ghost:hover{border-color:var(--color-text);background:var(--color-surface)}.project-detail__scroll-item{display:flex;flex-direction:column;gap:12px;min-width:260px;max-width:300px;height:100%;text-align:left;background:var(--color-bg);border:1px solid var(--color-border);border-radius:16px;padding:12px;cursor:pointer;text-decoration:none;color:inherit;transition:transform .3s ease,border-color .3s ease}.project-detail__scroll-item:hover{transform:translateY(-6px);border-color:var(--color-accent)}.project-detail__scroll-image{width:100%;height:180px;border-radius:12px;object-fit:cover}.project-detail__scroll-caption{color:var(--color-muted);font-size:13px;line-height:1.4}@media(max-width:768px){.project-detail__layout{flex-direction:column;padding:0 16px 80px}.project-detail__depth-indicator{display:none}.layer-card{padding:20px;opacity:1!important;transform:none!important;filter:none!important}.section-connector{left:20px}.project-detail__title{margin:20px 20px 12px;font-size:32px}.project-detail__meta{padding:0 20px 20px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.project-detail__filetree-controls{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px}.project-detail__filetree-search{flex:1;min-width:200px;padding:8px 12px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-family:var(--font-mono);font-size:14px}.project-detail__filetree-search:focus{outline:none;border-color:var(--color-accent)}.project-detail__filetree-filter{padding:8px 12px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:14px;cursor:pointer}.project-detail__filetree-breadcrumbs{font-family:var(--font-mono);font-size:13px;color:var(--color-muted);padding:8px 12px;background:var(--color-surface);border-radius:8px;margin-bottom:12px;word-break:break-all}.project-detail__filetree{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:24px;margin-top:24px}.project-detail__filetree-title{font-family:var(--font-heading);font-size:18px;margin-bottom:24px;color:var(--color-text)}.project-detail__filetree-trigger{display:flex;align-items:center;gap:12px;width:100%;padding:16px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;cursor:pointer;transition:all .2s ease;font-family:var(--font-mono);font-size:14px;color:var(--color-text)}.project-detail__filetree-trigger:hover{border-color:var(--color-accent);transform:translateY(-2px)}.project-detail__filetree-list{list-style:none;padding:0;margin:0}.project-detail__filetree-item{margin:0;padding:0;position:relative;white-space:nowrap}.project-detail__filetree-sublist{list-style:none;padding-left:20px;border-left:1px solid var(--color-border);margin:0 0 0 10px}.filetree-row{display:flex;align-items:center;gap:8px;position:relative;padding:4px 8px;border-radius:6px;cursor:pointer;transition:background .2s ease}.filetree-row:hover{background:var(--color-bg-secondary)}.filetree-row.is-selected{background:var(--color-accent-dim);color:var(--color-accent)}.filetree-connector{position:absolute;left:-20px;top:50%;width:20px;border-bottom:1px solid var(--color-border)}.filetree-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:0;margin:0;background:none;border:none;color:inherit;font:inherit;cursor:pointer;text-align:left}.filetree-name{flex:1;overflow:hidden;text-overflow:ellipsis}.filetree-caret{width:12px;height:12px;opacity:.7}.project-detail__filetree-toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;margin-bottom:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;color:var(--color-accent);font-family:var(--font-mono);font-size:13px;cursor:pointer;transition:all .2s ease}.project-detail__filetree-toggle:hover{background:var(--color-accent-dim);border-color:var(--color-accent)}.project-detail__related{padding-top:40px;margin-top:40px;border-top:1px dashed var(--color-border);background:transparent}.project-detail__related .project-detail__subtitle{font-size:20px;opacity:.8;color:var(--color-muted)}.filetree-node{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease;font-family:var(--font-mono);font-size:14px;color:var(--color-text)}.filetree-node:hover{background:var(--color-surface)}.filetree-node.selected{background:var(--color-accent-dim);color:var(--color-accent)}.filetree-indent{width:20px;flex-shrink:0}.filetree-icon{width:18px;height:18px;opacity:.8}.caret-icon{width:12px;height:12px;transition:transform .2s ease}.caret-icon.open{transform:rotate(90deg)}.project-detail__filetree-details{margin-top:16px;padding:16px;background:#ffffff08;border:1px solid var(--color-border);border-radius:12px}.project-detail__filetree-details-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.project-detail__filetree-details-content{animation:fadeIn .3s ease;height:100%;overflow-y:auto}.project-detail__filetree-scroll{overflow-y:auto;overflow-x:hidden;padding-right:8px;height:100%}.project-detail__filetree-modal-header{display:flex;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid rgba(255,255,255,.1);font-family:var(--font-heading);font-size:18px;color:var(--color-text)}.filetree-details-title h4{margin:0;font-size:16px;font-weight:600}.status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:uppercase}.status-badge.status-stable{background:#22c55e1a;color:#22c55e}.status-badge.status-in-progress{background:#eab3081a;color:#eab308}.filetree-details-block{margin-bottom:16px;font-size:14px;line-height:1.5;color:var(--color-text)}.filetree-details-label{font-size:12px;color:var(--color-muted);text-transform:uppercase;margin-bottom:4px;font-weight:600}.filetree-code-viewer{padding:16px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;margin-top:16px}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100}.modal-content{background:#141414a6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 50px -12px #00000080;border-radius:16px;width:90vw;height:90vh;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;overflow:auto}.project-detail__filetree-search{flex:1;min-width:200px;padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--color-text);font-family:var(--font-mono);font-size:14px;transition:all .2s ease}.project-detail__filetree-search:focus{outline:none;background:#ffffff1a;border-color:var(--color-accent)}.project-detail__filetree-filter{padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--color-text);font-size:14px;cursor:pointer;transition:all .2s ease}.project-detail__filetree-filter:hover{background:#ffffff1a}.project-detail__filetree-controls{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:12px;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.05);border-radius:0}.skill-modal-header{padding:16px 24px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center}.modal-close{background:none;border:none;color:var(--color-text);font-size:24px;cursor:pointer;padding:4px}.filetree-tabs{display:flex;border-bottom:1px solid var(--color-border)}.filetree-tabs button{padding:12px 24px;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-muted);cursor:pointer;font-family:var(--font-mono)}.filetree-tabs button.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}@media(max-width:768px){.project-detail__layout{flex-direction:column;align-items:stretch;padding:0 16px 80px;gap:40px;width:90%;overflow-x:hidden}.project-detail{width:90%;min-width:0}.project-detail__paragraph,.project-detail__lead{max-width:90%}.layer-card{padding:24px 20px;margin:0;opacity:1!important;transform:none!important;filter:none!important;border-radius:20px}.layer-card.active{box-shadow:none;border-color:var(--color-border)}.section-connector{left:20px;display:none}.project-detail__title{font-size:36px;margin:20px 0 12px;word-break:break-word}.project-detail__subtitle{font-size:24px;flex-wrap:wrap}.project-detail__cover{height:300px}.project-detail__filetree-controls{flex-direction:column;align-items:stretch}.project-detail__filetree-search{min-width:0;width:100%}.project-detail__scroll-item{min-width:240px;max-width:240px}.modal-content{width:100%;max-width:100%;max-height:100%;height:100%;border-radius:0;border:none}}.about-page{width:100%;margin-top:100px}.about-page__content{display:flex;flex-direction:column;gap:60px;max-width:100%;position:relative}.about-page__section{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:24px;padding:32px;transition:all .5s cubic-bezier(.2,.8,.2,1)}.about-page__section:hover{border-color:var(--color-border-hover);box-shadow:0 4px 20px #0000001a}.about-page__hero-section{padding:0 0 32px;background:transparent;border:none;box-shadow:none}.about-page__title{font-family:var(--font-heading);font-size:clamp(32px,5vw,64px);line-height:1.1;background:linear-gradient(to right,var(--color-text),var(--color-muted));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:32px}.about-page__intro-text{max-width:800px}.about-page__paragraph{font-size:16px;line-height:1.7;color:var(--color-muted);margin-bottom:24px}.about-page__paragraph--lead{font-size:20px;line-height:1.6;color:var(--color-text)}.about-page__subtitle{font-family:var(--font-mono);font-size:24px;color:var(--color-text);margin-bottom:24px;display:flex;align-items:center;gap:12px}.about-page__subtitle:before{content:"#";color:var(--color-accent)}.about-page__timeline{display:flex;flex-direction:column;gap:0;margin-top:32px;padding-left:12px;border-left:1px solid var(--color-border)}.timeline-item{position:relative;padding:0 0 40px 32px}.timeline-item:before{content:"";position:absolute;left:-5px;top:6px;width:9px;height:9px;background:var(--color-bg);border:1px solid var(--color-accent);border-radius:50%;z-index:1;transition:all .3s ease}.timeline-item:hover:before{background:var(--color-accent);box-shadow:0 0 10px var(--color-accent-glow)}.timeline-item:last-child{padding-bottom:0;border-left:none}.timeline-item__year{display:inline-block;font-family:var(--font-mono);font-size:13px;color:var(--color-accent);margin-bottom:8px;padding:2px 8px;background:rgba(var(--color-accent-rgb),.1);border-radius:4px}.timeline-item__title{font-size:18px;font-weight:600;color:var(--color-text);margin-bottom:8px}.timeline-item__description{font-size:15px;line-height:1.6;color:var(--color-muted)}.about-page__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px}.about-page__card{height:100%}.about-page__stack-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.about-page__link{font-family:var(--font-mono);font-size:14px;color:var(--color-accent);text-decoration:none;transition:all .2s ease}.about-page__link:hover{color:var(--color-accent-glow);text-decoration:underline}.about-page__tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}.about-page__tech-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;transition:transform .2s ease,border-color .2s ease}.about-page__tech-card:hover{transform:translateY(-4px);border-color:var(--color-accent)}.about-page__tech-icon{width:40px;height:40px;object-fit:contain;filter:grayscale(100%);transition:filter .3s ease}.about-page__tech-card:hover .about-page__tech-icon{filter:grayscale(0%)}.about-page__tech-label{font-family:var(--font-mono);font-size:13px;color:var(--color-muted)}.about-page__contacts-section{background:linear-gradient(135deg,var(--color-surface),rgba(var(--color-accent-rgb),.05))}.about-page__contacts{display:flex;flex-direction:column;gap:16px;align-items:flex-start}.about-page__contact-button{font-size:24px;font-weight:600;color:var(--color-text);text-decoration:none;border-bottom:2px solid var(--color-accent);padding-bottom:4px;transition:all .3s ease}.about-page__contact-button:hover{color:var(--color-accent);padding-bottom:8px}.about-page__contact-link{font-family:var(--font-mono);font-size:16px;color:var(--color-muted);text-decoration:none;transition:color .2s ease}.about-page__contact-link:hover{color:var(--color-text)}@media(max-width:768px){.about-page__title{font-size:36px}.about-page__paragraph--lead{font-size:18px}.about-page__section{padding:24px 20px}.about-page__grid{grid-template-columns:1fr}.about-page__tech-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}.project-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;overflow:visible;display:flex;flex-direction:column;height:100%;align-self:stretch;gap:16px;text-decoration:none;transition:transform .3s ease,border-color .3s ease}.project-card:hover{transform:translateY(-6px);border-color:var(--color-accent)}.project-card__image{width:100%;padding-top:62%;background-size:cover;background-position:center;border-radius:16px 16px 0 0;flex:0 0 auto}.project-card__content{padding:16px 20px 20px;display:flex;flex-direction:column;gap:12px;position:relative;background:var(--color-surface);border-top:1px solid var(--color-border);border-radius:0 0 16px 16px;z-index:1;flex:1 1 auto}.project-card__title{margin:0;font-family:var(--font-heading);font-size:clamp(16px,calc(.8vw + 12px),22px)}.project-card__description{margin:0;color:var(--color-muted)}.project-card__tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px}.project-card__tech{position:relative;display:flex;flex-direction:column;gap:8px}.project-card__tech-trigger{font-family:var(--font-nav);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--color-accent);border:1px dashed var(--color-border);border-radius:999px;padding:6px 12px;width:fit-content}.project-card__tech-popover{position:absolute;left:0;top:100%;margin-top:10px;min-width:240px;max-width:320px;padding:12px;border-radius:14px;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-soft);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;z-index:10}.project-card__tech:hover .project-card__tech-popover{opacity:1;visibility:visible}.project-card__tech-mobile{display:none}.project-card__tag{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-border);border-radius:999px;padding:4px 10px;font-size:clamp(11px,calc(.4vw + 9px),13px);color:var(--color-text);background:var(--color-background)}.project-card__tag--more{background:transparent;color:var(--color-muted)}.project-card__tag-icon{width:16px;height:16px;transition:filter .3s ease}.project-card__tag-icon[src*="simpleicons.org"]:not([src*=telegram]){filter:var(--icon-filter, none)}:global(.dark) .project-card__tag-icon[src*="uxwing.com"],:global(.dark) .project-card__tag-icon[src*="wordpress.com"],.dark .project-card__tag-icon[src*="uxwing.com"],.dark .project-card__tag-icon[src*="wordpress.com"]{filter:invert(1)}.project-card__tag-label{color:var(--color-text)}@media(hover:none)and (pointer:coarse){.project-card__tech-trigger,.project-card__tech-popover{display:none;z-index:-1}.project-card__tech-mobile{display:block}.project-card__tech-mobile-btn{font-family:var(--font-nav);font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--color-accent);border:1px dashed var(--color-border);border-radius:999px;padding:6px 12px;width:fit-content;background:transparent;cursor:pointer;display:inline-flex;align-items:center}}.about__content{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.about__bio{font-size:clamp(14px,calc(.6vw + 12px),18px);color:var(--color-muted)}.about__paragraph{margin:0 0 12px}.about__paragraph:last-child{margin-bottom:0}.about__mission-title{margin:0 0 12px}.skill-item{display:grid;gap:8px}.skill-item__label{font-size:clamp(12px,calc(.5vw + 10px),16px)}.skill-item__bar{width:100%;height:6px;background:var(--color-border);border-radius:999px;overflow:hidden}.skill-item__fill{display:block;height:100%;background:var(--color-accent)}.timeline-item{display:grid;grid-template-columns:80px 1fr;gap:16px}.timeline-item__year{color:var(--color-muted);font-size:clamp(12px,calc(.5vw + 10px),16px);height:fit-content;padding:15px}.timeline-item__title{margin:0}.timeline-item__description{margin:6px 0 0;color:var(--color-muted)}:root{--cursor-size: 40px;--dot-size: 8px}.dark{--cursor-color: #BB86FC;--cursor-border: rgba(255, 255, 255, .5);--cursor-bg: rgba(187, 134, 252, .05)}.light{--cursor-color: #6200EA;--cursor-border: rgba(0, 0, 0, .5);--cursor-bg: rgba(98, 0, 234, .05)}html,body,button,a,input,textarea,[role=button]{cursor:none!important}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none!important;z-index:99999!important}.cursor-dot{width:var(--dot-size);height:var(--dot-size);background-color:var(--cursor-color);border-radius:50%;margin-left:calc(var(--dot-size) / -2);margin-top:calc(var(--dot-size) / -2);box-shadow:0 0 10px #0003}.cursor-ring{width:var(--cursor-size);height:var(--cursor-size);border:1px solid var(--cursor-border);background-color:var(--cursor-bg);border-radius:50%;margin-left:calc(var(--cursor-size) / -2);margin-top:calc(var(--cursor-size) / -2)}.cursor-ring.text{border-radius:0}@media(hover:none)and (pointer:coarse){.cursor-dot,.cursor-ring{display:none!important}html,body,button,a,input,textarea{cursor:auto!important}}.footer{padding:24px var(--spacing-page) 40px;border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;color:var(--color-muted);transition:background-color .3s ease,color .3s ease,border-color .3s ease}.footer__links{display:flex;gap:16px}.footer__link{color:var(--color-muted);background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .3s ease}.footer__link:hover{background-size:100% 1px}.personal__content{text-align:right;padding-left:50%;margin:0 auto;padding-right:50px}@media(max-width:1024px){.personal__content{padding:0;left:0}}.personal__paragraph{margin-bottom:32px}.personal__text{font-size:clamp(16px,calc(.8vw + 12px),20px);line-height:1.6;color:var(--color-text)}.personal__text.handwritten{font-family:Dancing Script,cursive;font-style:oblique;font-size:large;font-weight:100;border-radius:15px 0;background:radial-gradient(circle at 20% 80%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(0,0,0,.05) 0%,transparent 50%),linear-gradient(135deg,#fff8dcf2,#f5deb3e6,#deb887d9);padding:20px 40px;color:#2c1810;box-shadow:0 6px 12px #00000026,inset 0 1px #fffc,inset 0 -1px #0003,inset 2px 0 4px #0000001a,inset -2px 0 4px #ffffff1a;position:relative;border:1px solid rgba(139,69,19,.2)}.personal__text.handwritten:before{content:"";position:absolute;inset:-5px;background:repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(0,0,0,.02) 2px,rgba(0,0,0,.02) 4px),linear-gradient(45deg,transparent 30%,rgba(0,0,0,.08) 50%,transparent 70%);border-radius:20px 5px;z-index:-1}.project-detail__scroll{margin-top:12px}.horizontal-scroll__item{display:flex;flex-direction:column;justify-content:center;align-items:stretch;min-width:260px;max-width:420px;max-height:240px;margin-right:20px;box-sizing:border-box}.horizontal-scroll__item .personal__text{margin:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical}.faq-scroll-container{overflow-x:hidden;margin-top:40px;padding-bottom:20px;margin-left:calc(-1 * var(--spacing-page));margin-right:calc(-1 * var(--spacing-page))}.faq-track{display:flex;gap:20px;width:max-content;padding-left:var(--spacing-page);padding-right:var(--spacing-page);padding-bottom:20px;cursor:grab;touch-action:pan-y}.faq-track:active{cursor:grabbing}.faq-card{flex:0 0 320px;background:var(--bg-secondary);border:1px solid rgba(128,128,128,.1);border-radius:16px;padding:24px;cursor:pointer;transition:all .3s cubic-bezier(.25,.8,.25,1);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:160px;-webkit-user-select:none;user-select:none}.faq-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent 0%,rgba(var(--color-accent-rgb),.03) 100%);opacity:0;transition:opacity .3s ease}.faq-card:hover{border-color:var(--color-accent);transform:translateY(-5px);box-shadow:0 10px 30px -10px #0000004d}.faq-card:hover:before{opacity:1}.faq-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;position:relative;z-index:1;font-family:sans-serif}.faq-card__title{font-size:18px;font-weight:600;margin:0;color:var(--color-text);line-height:1.3}.faq-card__icon-wrapper{width:32px;height:32px;border-radius:50%;background:#8080801a;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s ease}.faq-card:hover .faq-card__icon-wrapper{background:var(--color-accent);color:#fff;transform:rotate(90deg)}.faq-card__hint{margin-top:auto;font-size:13px;color:var(--color-muted);opacity:0;transform:translateY(10px);transition:all .3s ease;position:relative;z-index:1}.faq-card:hover .faq-card__hint{opacity:1;transform:translateY(0)}.faq-modal-overlay{position:fixed;inset:0;background:var(--modal-overlay-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}.faq-modal{background:var(--bg-primary);border:1px solid var(--color-accent);border-radius:24px;padding:40px;width:100%;max-width:700px;position:relative;box-shadow:var(--modal-box-shadow);overflow:hidden}.faq-modal:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--color-accent),transparent)}.faq-modal__close-btn{position:absolute;top:24px;right:24px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(128,128,128,.2);background:transparent;color:var(--color-text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10}.faq-modal__close-btn:hover{background:var(--bg-hover);transform:rotate(90deg);border-color:var(--color-accent)}.faq-modal__content{position:relative;z-index:2}.faq-modal__question{font-size:clamp(20px,4vw,28px);font-weight:700;margin:0 0 24px;color:var(--color-accent)}.faq-modal__answer{font-size:clamp(16px,2vw,18px);line-height:1.6;color:var(--color-text)}.faq-modal__answer p{margin-bottom:16px}.faq-modal__list{margin:16px 0;padding-left:0;list-style:none}.faq-modal__list-item{position:relative;padding-left:24px;margin-bottom:12px;font-size:16px;color:var(--color-text-secondary)}.faq-modal__list-item:before{content:">";position:absolute;left:0;color:var(--color-accent);font-weight:400;font-family:monospace}@media(max-width:768px){.faq-modal{padding:24px;min-height:50vh;display:flex;flex-direction:column;justify-content:center}.faq-modal__question{font-size:24px}.faq-grid{grid-template-columns:1fr}}.file-tree-container{display:flex;height:100%;min-width:300px;border:1px solid var(--color-border);border-radius:8px;overflow:hidden;background:var(--color-surface)}.file-tree-sidebar{width:250px;min-width:250px;border-right:1px solid var(--color-border);display:flex;flex-direction:column;background:var(--bg-secondary);overflow:hidden;transition:all .3s ease;opacity:1}.file-tree-sidebar--closed{width:0;min-width:0;border-right:none;opacity:0}.file-tree-controls{padding:12px;border-bottom:1px solid var(--color-border)}.file-tree-controls input{width:100%;padding:6px 8px;border-radius:4px;border:1px solid var(--color-border);background:var(--bg-secondary);color:var(--color-text);font-size:14px}.file-tree-controls input:focus{outline:none;border-color:var(--color-accent)}.file-tree-content{flex:1;overflow-y:auto;padding:8px 0}.file-tree-main{flex:1;min-width:0;background:var(--bg-primary);min-height:0;display:flex}.file-tree-node{position:relative}.file-tree-row{display:flex;align-items:center;padding:4px 8px;cursor:pointer;color:var(--color-text);transition:background-color .2s ease;border-radius:4px;margin:0 4px;height:28px}.file-tree-row:hover{background:var(--bg-hover)}.file-tree-row--selected{background:var(--color-accent);color:var(--color-surface)}.file-tree-row__icon-wrapper{display:flex;align-items:center;margin-right:6px}.file-tree-row__caret{width:12px;height:12px;opacity:.6;margin-right:4px;filter:var(--icon-filter)}.file-tree-row__icon{width:16px;height:16px;filter:var(--icon-filter)}.file-tree-row__label{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-tree-node__children{padding-left:16px;border-left:1px solid var(--color-border)}.file-tree-details{height:100%;overflow-y:hidden;padding:10px;display:flex;flex-direction:column;min-height:0}.file-tree-details__header{margin-bottom:8px;display:flex;align-items:center;min-height:24px}.file-tree-details__toggle-wrapper{margin-bottom:10px}.file-tree-details__title-row{display:flex;align-items:baseline;gap:8px;overflow:hidden}.file-tree-details__title{margin:0;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text)}.file-tree-details__role{margin:0;opacity:.6;font-size:12px;white-space:nowrap;color:var(--color-text)}.file-tree-details__empty{padding:20px;display:flex;flex-direction:column;color:var(--color-text)}.skill-code-section{flex:1;display:flex;flex-direction:column;min-height:0}.skill-code-tabs{display:flex;gap:4px;margin-bottom:8px;border-bottom:1px solid var(--color-border);flex-wrap:wrap}.skill-code-tabs button{padding:6px 12px;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:calc(.3vw + 8px);font-weight:500;color:var(--color-text);opacity:.6;transition:all .2s ease}.skill-code-tabs button:hover{opacity:.8}.skill-code-tabs button.active{border-bottom-color:currentColor;opacity:1}.skill-code-container{flex:1;overflow:auto;position:relative;min-height:0}.skill-code-motion-wrapper{height:100%;display:flex;flex-direction:column;min-height:0}.skill-code-description{font-size:12px;margin-bottom:8px;font-style:italic;opacity:.7;flex-shrink:0;color:var(--color-text)}.skill-code-viewer-wrapper{flex:1;overflow:auto;min-height:0;border-radius:6px;border:1px solid var(--color-border);display:flex;flex-direction:column;position:relative;background:var(--color-surface)}.skill-no-code{flex:1;overflow-y:auto}@media(max-width:768px){.file-tree-container{flex-direction:column;width:100%;min-width:0}.file-tree-sidebar{width:100%;min-width:0;height:auto;max-height:40%;border-right:none;border-bottom:1px solid var(--color-border)}.file-tree-sidebar--closed{height:0;max-height:0;border-bottom:none;width:100%}}.details-block{margin-bottom:16px}.details-block h4{margin:0 0 8px;font-size:14px;color:var(--color-text)}.details-block ul{margin:0;padding-left:20px;font-size:13px;color:var(--color-muted)}.details-block li{margin-bottom:4px}.file-tree-sidebar-toggle{margin-right:12px;padding:4px 8px;background:var(--bg-secondary);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;font-size:11px;display:flex;align-items:center;gap:4px;height:24px;flex-shrink:0;color:var(--color-text);transition:all .2s ease}.file-tree-sidebar-toggle:hover{background:var(--bg-hover);border-color:var(--color-accent)}.file-tree-sidebar-toggle-icon{width:10px;transform:rotate(180deg);filter:var(--icon-filter)}.code-viewer-pre{margin:0!important;padding:12px!important;height:100%;overflow:auto;font-size:13px;line-height:1.5;box-sizing:border-box;font-family:Fira Code,monospace}.code-viewer-line-number{display:inline-block;width:2em;text-align:right;margin-right:1em;opacity:.5;-webkit-user-select:none;user-select:none;color:var(--color-text-secondary)}.code-viewer{height:100%;width:100%;min-width:0;display:flex;flex-direction:column;min-height:0}.skill-code-viewer-wrapper{display:flex;flex-direction:column;z-index:1}@media(max-width:768px){.code-viewer-pre{-webkit-overflow-scrolling:touch;padding-bottom:40px!important}}.page{min-height:100vh;flex-direction:column;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.page__content,.page__stack{display:flex;flex-direction:column;gap:var(--spacing-section)}.page-section{padding:calc(var(--spacing-section) / 1) var(--spacing-page)}.projects__filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:32px}.projects__filter{border:1px solid var(--color-border);background:transparent;color:var(--color-text);padding:8px 16px;border-radius:999px;cursor:pointer;font-family:var(--font-nav);font-size:clamp(11px,calc(.4vw + 9px),14px);transition:border-color .3s ease,color .3s ease}.projects__filter--active{border-color:var(--color-accent);color:var(--color-accent)}.projects__grid{max-width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.projects__list-container{display:flex;flex-direction:column;gap:48px}.projects__group{width:100%;margin-bottom:24px}.projects__group-title{font-family:var(--font-heading);font-size:clamp(20px,3vw,24px);margin-bottom:24px;color:var(--color-text);padding-bottom:8px;opacity:.8}.projects__group-title:before{content:"// ";color:var(--color-accent);margin-right:4px}.about-page{padding:calc(var(--spacing-section) / 1.2) var(--spacing-page)}.about-page__content{display:flex;flex-direction:column;gap:32px}.about-page__hero{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:center}.about-page__avatar{width:200px;height:200px;border-radius:50%;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-soft)}.about-page__title{margin:0 0 12px;font-family:var(--font-heading);font-size:clamp(28px,calc(2vw + 14px),48px)}.about-page__paragraph{color:var(--color-muted)}.about-page__subtitle{margin:0 0 12px;font-family:var(--font-heading);font-size:clamp(20px,calc(1.2vw + 12px),28px)}.about-page__timeline{display:grid;gap:16px}.about-page__skills{display:grid;gap:14px}.about-page__contacts{display:flex;flex-direction:column;gap:10px}.about-page__contact{color:var(--color-muted)}.about-page__projects{display:grid;gap:20px}.about-page__project{padding:18px;border-radius:16px;border:1px solid var(--color-border);background:var(--color-surface)}.about-page__project-title{margin:0 0 10px;font-size:clamp(16px,calc(.8vw + 12px),22px)}.about-page__project-stack,.about-page__stack{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.about-page__chip{padding:6px 12px;border-radius:999px;border:1px solid var(--color-border);font-size:12px;color:var(--color-muted)}.about-page__project-metrics{margin:12px 0 0;padding-left:18px;color:var(--color-muted)}.about-page__metric{margin:4px 0}.about-page__tech-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px}.about-page__tech-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid var(--color-border);background:var(--color-surface)}.about-page__tech-icon{width:24px;height:24px}.about-page__tech-label{font-size:14px;color:var(--color-text)}
