@font-face{font-family:BrotherSignature;src:url(/assets/BrotherSignature-BUbvCpnY.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html,body{height:100%}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}:root{--bg-primary: #0d0d0d;--bg-secondary: #141414;--bg-tertiary: #1a1a1a;--bg-hover: #242424;--bg-active: #2a2a2a;--accent-primary: #d4a574;--accent-secondary: #c9956a;--accent-hover: #e0b588;--text-primary: #f5f5f5;--text-secondary: #a0a0a0;--text-muted: #6b6b6b;--text-accent: var(--accent-primary);--border-color: #2a2a2a;--border-hover: #3a3a3a;--gradient-accent: linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);--font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", sans-serif;--font-signature: "BrotherSignature", "Caveat", cursive;--font-mono: "JetBrains Mono", "Fira Code", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--sidebar-width: 280px;--sidebar-collapsed-width: 0px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .5);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease}html{font-family:var(--font-family);scroll-behavior:smooth;font-size:16px}body{margin:0;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;font-size:var(--font-size-base);overflow-x:hidden}h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:600;margin-bottom:.5em;color:var(--text-primary)}h1{font-size:var(--font-size-5xl)}h2{font-size:var(--font-size-4xl)}h3{font-size:var(--font-size-3xl)}h4{font-size:var(--font-size-2xl)}h5{font-size:var(--font-size-xl)}h6{font-size:var(--font-size-lg)}p{margin-bottom:1em;color:var(--text-secondary)}a{color:var(--accent-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}button{border:none;cursor:pointer;font-family:inherit;font-weight:500;transition:all var(--transition-base);border-radius:var(--radius-md);background:transparent;color:var(--text-primary)}button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}input,textarea,select{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md);font-family:inherit;background-color:var(--bg-secondary);color:var(--text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #d4a57426}input::placeholder,textarea::placeholder{color:var(--text-muted)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}::selection{background-color:var(--accent-primary);color:var(--bg-primary)}.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}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-accent{color:var(--accent-primary)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-width: 768px){:root{--font-size-5xl: 2.5rem;--font-size-4xl: 2rem;--font-size-3xl: 1.5rem}}@media (max-width: 480px){:root{--font-size-5xl: 2rem;--font-size-4xl: 1.75rem;--font-size-3xl: 1.375rem}}.sidebar-overlay{display:none;position:fixed;inset:0;background-color:#0009;z-index:998;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);z-index:999;overflow:hidden}.sidebar-content{display:flex;flex-direction:column;height:100%;padding:var(--spacing-xl)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl)}.logo{text-decoration:none}.signature{font-family:var(--font-signature);font-size:2rem;color:var(--text-primary);letter-spacing:.5px;transition:color var(--transition-fast)}.logo:hover .signature{color:var(--accent-primary)}.close-btn{display:none;padding:var(--spacing-sm);color:var(--text-secondary);transition:color var(--transition-fast)}.close-btn:hover{color:var(--text-primary)}.search-container{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-muted);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xl);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast)}.search-container:hover{border-color:var(--border-hover);background-color:var(--bg-hover)}.search-shortcut{margin-left:auto;display:flex;gap:4px}.search-shortcut kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-family:var(--font-mono);font-size:11px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-muted)}.sidebar-nav{flex:1;overflow-y:auto}.nav-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;transition:all var(--transition-fast)}.nav-item:hover{color:var(--text-primary);background-color:var(--bg-hover)}.nav-item.active{color:var(--text-primary);background-color:var(--bg-active)}.nav-item svg{flex-shrink:0}.nav-section{margin-top:var(--spacing-xl)}.nav-section-title{display:block;padding:0 var(--spacing-lg);margin-bottom:var(--spacing-sm);font-size:var(--font-size-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.sidebar-footer{padding-top:var(--spacing-xl);border-top:1px solid var(--border-color);margin-top:auto}.social-links{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:12px;justify-content:center;align-items:center}.social-link{display:inline-flex!important;align-items:center;justify-content:center;width:52px;height:52px;min-width:52px;color:var(--text-secondary);background-color:var(--bg-tertiary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.social-link svg{width:32px!important;height:32px!important;min-width:32px;min-height:32px}.social-link:hover{color:var(--text-primary);background-color:var(--bg-hover);transform:translateY(-2px)}@media (min-width: 1025px){.sidebar{transform:translate(0)!important}.mobile-only{display:none!important}}@media (max-width: 1024px){.sidebar-overlay{display:block}.sidebar{transform:translate(-100%);width:min(var(--sidebar-width),85vw)}.sidebar.open{transform:translate(0)}.close-btn{display:flex}}@media (max-width: 480px){.sidebar-content{padding:var(--spacing-lg)}.signature{font-size:1.75rem}.search-container{padding:var(--spacing-sm) var(--spacing-md)}}.footer{border-top:1px solid var(--border-color);padding:var(--spacing-xl)}.footer-content{display:flex;justify-content:space-between;align-items:center;max-width:1000px;margin:0 auto}.copyright{font-size:var(--font-size-sm);color:var(--text-muted);margin:0}.footer-social{display:flex;align-items:center;gap:var(--spacing-md)}.footer-social-link{display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:color var(--transition-fast)}.footer-social-link:hover{color:var(--text-primary)}@media (max-width: 480px){.footer-content{flex-direction:column;gap:var(--spacing-md);text-align:center;padding:0 var(--spacing-md)}}.layout{min-height:100vh;display:flex}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;height:64px;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:0 var(--spacing-lg);align-items:center;justify-content:space-between;z-index:997}.mobile-logo{font-family:var(--font-signature);font-size:1.5rem;color:var(--text-primary)}.menu-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--text-primary);background-color:transparent;border-radius:var(--radius-md);transition:background-color var(--transition-fast)}.menu-btn:hover{background-color:var(--bg-hover)}.main-content{flex:1;margin-left:var(--sidebar-width);min-height:100vh;background-color:var(--bg-primary);display:flex;flex-direction:column}.page-container{flex:1;max-width:1000px;margin:0 auto;padding:var(--spacing-3xl) var(--spacing-xl);width:100%}@media (min-width: 1025px){.mobile-header{display:none!important}}@media (max-width: 1024px){.mobile-header{display:flex}.main-content{margin-left:0;padding-top:64px}.page-container{padding:var(--spacing-xl) var(--spacing-lg)}}@media (max-width: 480px){.mobile-header{padding:0 var(--spacing-md);height:56px}.mobile-logo{font-size:1.25rem}.menu-btn{width:40px;height:40px}.main-content{padding-top:56px}.page-container{padding:var(--spacing-lg) var(--spacing-md)}}.home-page{--content-width: 600px;--label-width: 80px;--label-gap: var(--spacing-xl);max-width:calc(var(--content-width) + var(--label-width) + var(--label-gap));margin:0 auto;padding-left:calc(var(--label-width) + var(--label-gap))}.hero-image-container{position:relative;max-width:var(--content-width);margin-bottom:var(--spacing-3xl);border-radius:var(--radius-xl);overflow:hidden}.hero-image{width:100%;height:auto;aspect-ratio:16 / 10;object-fit:cover;object-position:center top;border-radius:var(--radius-xl)}.image-glow{position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(to top,var(--bg-primary) 0%,transparent 100%);pointer-events:none}.intro-section,.devblog-section{position:relative;max-width:var(--content-width);margin-bottom:var(--spacing-3xl)}.intro-greeting,.section-label{position:absolute;left:calc(-1 * (var(--label-width) + var(--label-gap)));width:var(--label-width);font-size:var(--font-size-sm);font-weight:500;color:var(--text-muted);padding-top:4px}.intro-content,.devblog-content{width:100%}.intro-text{font-size:var(--font-size-lg);line-height:1.8;color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.intro-text:last-of-type{margin-bottom:0}.quick-links{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-3xl);max-width:var(--content-width)}.quick-link-card{position:relative;display:flex;flex-direction:column;padding:var(--spacing-xl);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);text-decoration:none;transition:all var(--transition-base);overflow:hidden}.quick-link-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}.quick-link-card:hover{border-color:var(--border-hover);background-color:var(--bg-tertiary);transform:translateY(-2px)}.quick-link-card:hover:before{transform:scaleX(1)}.card-label{font-size:var(--font-size-xs);font-weight:600;color:var(--accent-primary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--spacing-sm)}.card-title{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.card-description{font-size:var(--font-size-sm);color:var(--text-secondary);flex:1}.card-arrow{position:absolute;bottom:var(--spacing-xl);right:var(--spacing-xl);color:var(--text-muted);transition:all var(--transition-fast)}.quick-link-card:hover .card-arrow{color:var(--accent-primary);transform:translate(4px)}.cta-section{display:flex;justify-content:flex-start;max-width:var(--content-width)}.cta-button{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-weight:500;text-decoration:none;transition:all var(--transition-base)}.cta-button:hover{background-color:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--accent-primary)}.cta-button svg{transition:transform var(--transition-fast)}.cta-button:hover svg{transform:translate(4px)}@media (max-width: 900px){.home-page{padding-left:0;max-width:var(--content-width)}.intro-section,.devblog-section{padding-top:var(--spacing-md)}.intro-greeting,.section-label{position:static;width:auto;margin-bottom:var(--spacing-md);padding-top:0}}@media (max-width: 768px){.quick-links{grid-template-columns:1fr}.intro-text,.devblog-text{font-size:var(--font-size-base)}.subscribe-form{flex-direction:column;align-items:stretch}.subscribe-btn{width:100%}}@media (max-width: 480px){.hero-image-container,.intro-section,.devblog-section,.quick-links{margin-bottom:var(--spacing-2xl)}.quick-link-card{padding:var(--spacing-lg)}}.about-page{max-width:800px;margin:0 auto}.profile-section{display:grid;grid-template-columns:200px 1fr;gap:var(--spacing-2xl);margin-bottom:var(--spacing-3xl);padding:var(--spacing-xl);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl)}.profile-image-container{width:200px;height:200px;border-radius:var(--radius-xl);overflow:hidden;background-color:var(--bg-tertiary)}.profile-image{width:100%;height:100%;object-fit:cover}.profile-content h2{font-size:var(--font-size-2xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.location{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--spacing-lg)}.profile-content p{font-size:var(--font-size-base);line-height:1.8;color:var(--text-secondary);margin-bottom:var(--spacing-md)}.profile-content p:last-child{margin-bottom:0}.skills-section{margin-bottom:var(--spacing-3xl)}.skills-section h2{font-size:var(--font-size-2xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.edu-section{margin-bottom:var(--spacing-3xl)}.edu-section h2{font-size:var(--font-size-2xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.edu-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.edu-card{padding:var(--spacing-xl);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.edu-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-lg);margin-bottom:var(--spacing-md)}.edu-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-xs) 0}.edu-institution{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.edu-meta{display:flex;gap:var(--spacing-lg);color:var(--text-muted);font-size:var(--font-size-xs)}.edu-meta .meta{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.edu-description{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.6;margin:0}.edu-link{display:inline-block;margin-top:var(--spacing-md);font-size:var(--font-size-sm);color:var(--accent-primary);text-decoration:none}.edu-link:hover{text-decoration:underline}.tabs-container{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-2xl);padding:var(--spacing-xs);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:fit-content}.tab-button{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);background-color:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.tab-button:hover{color:var(--text-primary);background-color:var(--bg-hover)}.tab-button.active{color:var(--text-primary);background-color:var(--bg-tertiary)}.tab-content{margin-bottom:var(--spacing-3xl)}@media (max-width: 768px){.tabs-container{width:100%}.tab-button{flex:1;justify-content:center}}@media (max-width: 480px){.tab-button{padding:var(--spacing-sm) var(--spacing-md)}.tab-button span{display:none}}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl)}.skill-category{padding:var(--spacing-lg);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.skill-category h3{font-size:var(--font-size-sm);font-weight:600;color:var(--accent-primary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--spacing-md)}.skill-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.skill-tag{padding:var(--spacing-xs) var(--spacing-md);background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--text-secondary);transition:all var(--transition-fast)}.skill-tag:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.values-section{margin-bottom:var(--spacing-3xl)}.values-section h2{font-size:var(--font-size-2xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.value-card{padding:var(--spacing-xl);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all var(--transition-base)}.value-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.value-icon{font-size:2rem;display:block;margin-bottom:var(--spacing-md)}.value-card h3{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm)}.value-card p{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.6;margin:0}.facts-section h2{font-size:var(--font-size-2xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.facts-section p{font-size:var(--font-size-base);line-height:1.8;color:var(--text-secondary)}@media (max-width: 768px){.profile-section{grid-template-columns:1fr;text-align:center}.profile-image-container{width:150px;height:150px;margin:0 auto}.skills-grid,.values-grid{grid-template-columns:1fr}}@media (max-width: 480px){.page-header h1{font-size:var(--font-size-3xl)}.profile-section{padding:var(--spacing-lg)}.skill-category,.value-card{padding:var(--spacing-md)}}.contact-page{max-width:900px;margin:0 auto}.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--spacing-2xl)}.contact-info-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.info-card{padding:var(--spacing-xl);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.info-card h2{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-lg)}.contact-methods{display:flex;flex-direction:column;gap:var(--spacing-md)}.contact-method{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);text-decoration:none;transition:all var(--transition-fast)}.contact-method:hover{border-color:var(--accent-primary);transform:translate(4px)}.method-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--bg-secondary);border-radius:var(--radius-md);color:var(--accent-primary)}.method-details{display:flex;flex-direction:column}.method-label{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.method-value{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:500}.social-links{display:flex;flex-direction:column;gap:var(--spacing-md);align-items:flex-start}.social-link{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);text-decoration:none;transition:all var(--transition-fast);color:var(--text-secondary)}.social-link:hover{border-color:var(--border-hover);background-color:var(--bg-hover);color:var(--text-primary)}.contact-form-section{padding:var(--spacing-xl);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.contact-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-group label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary)}.form-group input,.form-group textarea{padding:var(--spacing-md);background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-size-base);transition:all var(--transition-fast)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary);background-color:var(--bg-primary)}.form-group textarea{resize:vertical;min-height:120px}.error-message{padding:var(--spacing-md);background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:#ef4444;font-size:var(--font-size-sm);margin:0}.submit-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);background-color:var(--accent-primary);color:var(--bg-primary);font-weight:600;font-size:var(--font-size-base);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}.submit-btn:hover:not(:disabled){background-color:var(--accent-hover);transform:translateY(-2px)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.submit-btn.submitted{background-color:#22c55e}.spinner{width:18px;height:18px;border:2px solid var(--bg-primary);border-top-color:transparent;border-radius:50%}@media (max-width: 768px){.contact-grid,.form-row{grid-template-columns:1fr}}@media (max-width: 480px){.page-header h1{font-size:var(--font-size-3xl)}.info-card,.contact-form-section{padding:var(--spacing-lg)}}.projects-page{max-width:1200px;margin:0 auto}.page-header{margin-bottom:var(--spacing-3xl)}.page-header h1{font-size:var(--font-size-4xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-md)}.page-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);margin:0}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-2xl);margin-bottom:var(--spacing-3xl)}.project-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base)}.project-card:hover{border-color:var(--border-hover);transform:translateY(-4px);box-shadow:0 8px 24px #0003}.project-card-link{display:block;text-decoration:none;color:inherit}.projects-page .project-image-container,.project-card .project-image-container{width:100%;height:350px;overflow:hidden;background-color:var(--bg-tertiary);margin:0;margin-bottom:var(--spacing-md)!important;padding:0;display:block;line-height:0}.project-thumbnail{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform var(--transition-base);display:block;margin:0;padding:0;vertical-align:top}.project-card:hover .project-thumbnail{transform:scale(1.05)}.project-card-content{padding:0 var(--spacing-xl) var(--spacing-xl)}.project-card-title{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-sm) 0}.project-card-subtitle{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--spacing-lg)}.project-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.project-tag{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-xs);color:var(--text-secondary);font-weight:500}.no-category-selected,.no-projects{text-align:center;padding:var(--spacing-3xl);color:var(--text-muted);font-size:var(--font-size-lg)}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr;gap:var(--spacing-xl)}.page-header h1{font-size:var(--font-size-3xl)}}@media (max-width: 480px){.projects-page .project-image-container,.project-card .project-image-container{height:280px}.project-card-content{padding:0 var(--spacing-lg) var(--spacing-lg)}}.not-found-page{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:var(--spacing-3xl) var(--spacing-xl)}.not-found-content{text-align:center;max-width:600px}.not-found-title{font-size:8rem;font-weight:700;color:var(--accent-primary);margin:0;line-height:1;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.not-found-subtitle{font-size:var(--font-size-3xl);font-weight:600;color:var(--text-primary);margin:var(--spacing-lg) 0 var(--spacing-md)}.not-found-message{font-size:var(--font-size-lg);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--spacing-3xl)}.not-found-actions{display:flex;gap:var(--spacing-lg);justify-content:center;flex-wrap:wrap}.not-found-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-weight:500;font-size:var(--font-size-base);text-decoration:none;transition:all var(--transition-base);border:none;cursor:pointer;font-family:inherit}.not-found-btn.primary{background-color:var(--accent-primary);color:var(--bg-primary)}.not-found-btn.primary:hover{background-color:var(--accent-hover);transform:translateY(-2px)}.not-found-btn.secondary{background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.not-found-btn.secondary:hover{background-color:var(--bg-tertiary);border-color:var(--border-hover);transform:translateY(-2px)}@media (max-width: 768px){.not-found-title{font-size:6rem}.not-found-subtitle{font-size:var(--font-size-2xl)}.not-found-message{font-size:var(--font-size-base)}.not-found-actions{flex-direction:column;align-items:stretch}.not-found-btn{width:100%;justify-content:center}}@media (max-width: 480px){.not-found-title{font-size:4rem}.not-found-page{padding:var(--spacing-2xl) var(--spacing-lg)}}.project-page{max-width:800px;margin:0 auto}.back-link{display:inline-flex;align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);text-decoration:none;font-size:var(--font-size-sm);margin-bottom:var(--spacing-2xl);transition:color var(--transition-fast)}.back-link:hover{color:var(--accent-primary)}.back-link svg{transition:transform var(--transition-fast)}.back-link:hover svg{transform:translate(-4px)}.project-header{margin-bottom:var(--spacing-lg);padding:0}.project-header-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.project-category{display:inline-block;padding:var(--spacing-xs) var(--spacing-md);background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;color:var(--accent-primary);text-transform:uppercase;letter-spacing:.1em}.project-title{font-size:var(--font-size-4xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-md);line-height:1.2}.project-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);line-height:1.6;margin:0}.project-image-container{margin-bottom:var(--spacing-xl);border-radius:var(--radius-lg);overflow:hidden;background-color:var(--bg-secondary);border:1px solid var(--border-color)}.project-hero-image{width:100%;height:auto;display:block}.project-actions{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);flex-wrap:wrap}.action-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-weight:500;text-decoration:none;transition:all var(--transition-base)}.action-btn.primary{background-color:var(--accent-primary);color:var(--bg-primary)}.action-btn.primary:hover{background-color:var(--accent-hover);transform:translateY(-2px)}.action-btn.secondary{background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.action-btn.secondary:hover{background-color:var(--bg-tertiary);border-color:var(--border-hover);transform:translateY(-2px)}.project-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);align-items:center}.meta-item{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-sm)}.meta-item svg{color:var(--accent-primary)}.project-section{margin-bottom:var(--spacing-3xl)}.project-section h2{font-size:var(--font-size-2xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.project-section p{font-size:var(--font-size-base);line-height:1.8;color:var(--text-secondary)}.features-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-lg)}.features-list li{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-lg);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all var(--transition-base)}.features-list li:hover{border-color:var(--border-hover);transform:translate(4px)}.feature-title{font-weight:600;color:var(--text-primary)}.feature-description{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.6}.tech-stack{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.tech-tag{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--text-secondary);transition:all var(--transition-fast)}.tech-tag:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-lg)}.result-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-xl);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.result-value{font-size:var(--font-size-3xl);font-weight:700;color:var(--accent-primary);margin-bottom:var(--spacing-xs)}.result-label{font-size:var(--font-size-sm);color:var(--text-secondary)}.project-navigation{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);margin-top:var(--spacing-3xl);padding-top:var(--spacing-2xl);border-top:1px solid var(--border-color)}.nav-card{display:flex;flex-direction:column;padding:var(--spacing-xl);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);text-decoration:none;transition:all var(--transition-base)}.nav-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.nav-card.prev{text-align:left}.nav-card.next{text-align:right;grid-column:2}.nav-label{font-size:var(--font-size-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--spacing-xs)}.nav-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.nav-card:hover .nav-title{color:var(--accent-primary)}@media (max-width: 768px){.project-title{font-size:var(--font-size-3xl)}.project-header-top{flex-direction:column;align-items:flex-start}.project-meta{width:100%;flex-direction:column;gap:var(--spacing-md);align-items:flex-start}.project-actions{flex-direction:column}.action-btn{justify-content:center}.project-navigation{grid-template-columns:1fr}.nav-card.next{grid-column:1;text-align:left}}@media (max-width: 480px){.project-title{font-size:var(--font-size-2xl)}.project-subtitle{font-size:var(--font-size-base)}.results-grid{grid-template-columns:repeat(2,1fr)}}#root{margin:0;padding:0;min-height:100vh}html{scroll-behavior:smooth}.page-container{animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
