:root{--primary-blue:#2563eb;--secondary-blue:#1d4ed8;--dark-blue:#1e40af;--light-blue:#3b82f6;--card-bg:#f8fafc;--bg-primary:#fff;--text-primary:#1f2937;--text-secondary:#6b7280;--border-color:#e5e7eb;--link-color:#06c;--link-hover:#0052a3;--error-color:#d32f2f;--success-color:#2e7d32;--warning-color:#f57c00}.visually-hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important}.audio-cue{position:absolute;left:-9999px;width:1px;height:1px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;transform:none !important}*:focus,*:focus-visible{transition:outline .15s ease !important}}.status-indicator{position:relative}.status-indicator::before{content:'';position:absolute;top:0;right:0;width:8px;height:8px;border-radius:50%}.status-success::before{background:var(--success-color);content:'✓';color:#fff;font-size:6px;display:flex;align-items:center;justify-content:center}.status-error::before{background:var(--error-color);content:'✗';color:#fff;font-size:6px;display:flex;align-items:center;justify-content:center}.status-warning::before{background:var(--warning-color);content:'!';color:#fff;font-size:6px;display:flex;align-items:center;justify-content:center;font-weight:bold}a:focus,button:focus,input:focus,textarea:focus,select:focus,.project-card:focus,.skill-category:focus,.filter-btn:focus{outline:3px solid #00b4d8;outline-offset:2px;border-radius:4px}.skip-link{position:absolute;left:-9999px;top:0;z-index:999;padding:1rem;background:#000;color:#fff;text-decoration:none;border-radius:0 0 5px 0;font-weight:bold;transition:left .2s ease}.skip-link:focus{left:0}.project-card,.skill-category,.filter-btn,.timeline-item,.article-card,.tech-badge[tabindex="0"]{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.project-card:focus,.skill-category:focus,.filter-btn:focus,.timeline-item:focus,.article-card:focus{transform:translateY(-2px);box-shadow:0 6px 20px rgba(37,99,235,.3)}[tabindex="0"]:focus,[tabindex="-1"]:focus{outline:3px solid var(--link-color,var(--primary-blue));outline-offset:2px;border-radius:4px}*:focus:not(:focus-visible){outline:none}*:focus-visible{outline:3px solid var(--link-color,var(--primary-blue));outline-offset:2px;border-radius:4px}.nav-links a:focus{background:rgba(37,99,235,.1);transform:scale(1.05)}.mobile-menu-toggle:focus{background:rgba(37,99,235,.1);transform:scale(1.05)}.modal:focus{outline:none}.modal .close-modal:focus{background:rgba(255,255,255,.2);transform:scale(1.1)}.breadcrumb-link:focus{background:rgba(37,99,235,.1);transform:translateY(-1px);text-decoration:underline}table:focus,th:focus,td:focus{outline:2px solid var(--link-color,var(--primary-blue));outline-offset:1px}fieldset:focus-within{border-color:var(--link-color,var(--primary-blue));box-shadow:0 0 0 2px rgba(37,99,235,.2)}[data-theme="light"]{--text-primary:#1f2937;--text-secondary:#374151;--link-color:#1d4ed8;--link-hover:#1e40af;--border-color:#6b7280;--button-primary:#1d4ed8;--button-secondary:#374151}[data-theme="dark"]{--text-primary:#fff;--text-secondary:#e5e7eb;--link-color:#60a5fa;--link-hover:#93c5fd;--border-color:#9ca3af;--button-primary:#3b82f6;--button-secondary:#6b7280}@media(prefers-contrast:high){:root{--text-primary:#000;--background:#fff;--border-color:#000;--link-color:#00e;--link-hover:#551a8b}[data-theme="dark"]{--text-primary:#fff;--background:#000;--border-color:#fff;--link-color:#87ceeb;--link-hover:#add8e6}button,.btn,a,input,select,textarea{border:2px solid currentColor !important}.project-card,.skill-category{border:3px solid var(--text-primary) !important}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}.theme-toggle{background:transparent;border:2px solid #00b4d8;color:#00b4d8;padding:.5rem;border-radius:50%;cursor:pointer;font-size:1.2rem;transition:all .3s ease;margin-left:1rem;width:48px;height:48px;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.theme-toggle:hover,.theme-toggle:focus{background:#00b4d8;color:#fff;transform:scale(1.1)}.cta-button,.filter-btn,.submit-btn,.tcode-nav{min-height:44px;padding:.75rem 1.5rem;display:inline-flex;align-items:center;justify-content:center;touch-action:manipulation}a,button,input,select,textarea,[role="button"],[tabindex="0"]{min-width:44px;min-height:44px}p a,li a{padding:.25rem .5rem;margin:-.25rem -.5rem;display:inline-block}.sr-only,.visually-hidden{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important}.sr-only-focusable:focus,.sr-only-focusable:active{position:static !important;width:auto !important;height:auto !important;padding:.25rem .5rem !important;margin:0 !important;overflow:visible !important;clip:auto !important;white-space:normal !important;background:var(--background) !important;color:var(--text-primary) !important;border:2px solid var(--primary-blue) !important;border-radius:4px !important;z-index:1000 !important}.sr-live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}[aria-label]:empty::before{content:attr(aria-label);position:absolute;left:-9999px}[aria-describedby]::after{content:'';speak:literal-punctuation}img{max-width:100%;height:auto;display:block}.lazy-image{background:var(--card-bg);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;min-height:200px;position:relative;overflow:hidden}.lazy-image::before{content:'📷';font-size:2rem;opacity:.5}.responsive-image{width:100%;height:auto;object-fit:cover;transition:opacity .3s ease}.responsive-image[data-loading="true"]{opacity:0}.responsive-image[data-loaded="true"]{opacity:1}.critical-image{content-visibility:auto;contain-intrinsic-size:300px 200px}.lazy-load-image{loading:lazy;content-visibility:auto;contain-intrinsic-size:300px 200px}.webp-image{background-size:cover;background-position:center;background-repeat:no-repeat}@supports (background-image:url('data:image/webp;base64,')){.webp-image{background-image:var(--webp-src)}}@supports not (background-image:url('data:image/webp;base64,')){.webp-image{background-image:var(--fallback-src)}}.progressive-image{background:linear-gradient(45deg,#f0f0f0 25%,transparent 25%),linear-gradient(-45deg,#f0f0f0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f0f0f0 75%),linear-gradient(-45deg,transparent 75%,#f0f0f0 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;transition:background .3s ease}.progressive-image.loaded{background:none}.smooth-transform{transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform}.hero,.nav-links,.project-card,.skill-category{contain:layout style paint;content-visibility:auto}.animate-on-scroll{will-change:opacity,transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}.animate-on-scroll.in-viewport{will-change:auto}.efficient-shadow{box-shadow:0 2px 8px rgba(0,0,0,.1);transition:box-shadow .3s ease}.efficient-shadow:hover{box-shadow:0 4px 16px rgba(0,0,0,.15)}@media(prefers-reduced-data:reduce){.float-animation,.typewriter,.sap-loader{animation:none !important}img{image-rendering:optimizeSpeed}.hero{background:var(--background) !important}}@media(max-width:768px) and (prefers-reduced-data:reduce){.abap-code,.sap-message-bar,.tech-badge{display:none}.projects-grid,.skills-grid{grid-template-columns:1fr}}.slow-connection .image-gallery{display:none}.slow-connection .video-content{display:none}.fast-connection .preload-images{display:block}@font-face{font-family:'fallback';src:local('Arial'),local('Helvetica'),local('sans-serif');font-display:swap}.critical-content{font-display:block}.non-critical-content{font-display:swap}.complex-border{border:1px solid var(--border-color)}@media(max-width:768px){.complex-border{border-radius:0}.project-card:hover,.skill-category:hover{box-shadow:0 2px 8px rgba(37,99,235,.2)}}.observe-viewport{contain:layout;content-visibility:auto;contain-intrinsic-size:300px}.optimized-text{text-rendering:optimizeSpeed;-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto}@media(min-resolution:2dppx){.optimized-text{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.page-loader{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--background);display:flex;justify-content:center;align-items:center;z-index:9999;transition:opacity .5s ease,visibility .5s ease}.page-loader.hidden{opacity:0;visibility:hidden}.loader-content{text-align:center}.sap-loader{width:60px;height:60px;border:4px solid rgba(0,180,216,.3);border-top:4px solid #00b4d8;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem auto}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.loader-text{color:#00b4d8;font-family:'Courier New',monospace;font-size:.9rem;animation:pulse-text 2s ease-in-out infinite}@keyframes pulse-text{0%,100%{opacity:.6}50%{opacity:1}}.page-transition{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.page-transition.loaded{opacity:1;transform:translateY(0)}.animate-card{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.animate-card.visible{opacity:1;transform:translateY(0)}.animate-card:nth-child(1){transition-delay:.1s}.animate-card:nth-child(2){transition-delay:.2s}.animate-card:nth-child(3){transition-delay:.3s}.animate-card:nth-child(4){transition-delay:.4s}.animate-card:nth-child(5){transition-delay:.5s}.animate-card:nth-child(6){transition-delay:.6s}.float-animation{animation:float 6s ease-in-out infinite}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.typewriter{overflow:hidden;border-right:.15em solid #00b4d8;white-space:nowrap;margin:0 auto;letter-spacing:.15em;animation:typing 3.5s steps(40,end),blink-caret .75s step-end infinite}@keyframes typing{from{width:0}to{width:100%}}@keyframes blink-caret{from,to{border-color:transparent}50%{border-color:#00b4d8}}.smooth-hover{transition:all .3s ease}.smooth-hover:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,180,216,.3)}.loading-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,#00b4d8,#90e0ef,#0077b6);transform-origin:left;transition:transform .3s ease;z-index:10000}.button-click{transform:scale(.95);transition:transform .1s ease}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .6s ease forwards}@keyframes slideInLeft{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.slide-in-left{animation:slideInLeft .6s ease forwards}@keyframes slideInRight{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.slide-in-right{animation:slideInRight .6s ease forwards}[data-theme="light"]{--background:#fff;--black:#f8fafc;--dark-gray:#f3f4f6;--light-gray:#374151;--white:#1f2937;--text-primary:#1f2937;--text-secondary:#374151;--border-color:#9ca3af;--shadow-color:rgba(0,0,0,.1);--card-bg:#f8fafc;--bg-primary:#fff}[data-theme="dark"]{--background:#0f172a;--black:#000;--dark-gray:#1f2937;--light-gray:#d1d5db;--white:#fff;--text-primary:#fff;--text-secondary:#d1d5db;--border-color:#6b7280;--shadow-color:rgba(0,0,0,.3);--card-bg:#1f2937;--bg-primary:#0f172a}*{margin:0;padding:0;box-sizing:border-box;border:0;outline:0;-webkit-tap-highlight-color:transparent}html,body,header,nav{border:none !important;outline:none !important}body,header,.hero,.about-section,.projects-section,.contact-section,.project-card,.tech-badge,.btn,.form-group input,.form-group textarea,.info-item,.skill-tag{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:var(--white);background:var(--background);-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;min-height:100vh;margin:0;padding:0}p,li,td,dd{font-size:1rem;line-height:1.8}*{font-size:max(1em,16px)}h1,h2,h3,h4,h5,h6{line-height:1.2;margin-top:1.5em;margin-bottom:.5em;font-weight:bold;scroll-margin-top:80px}h1{font-size:2.5rem;color:var(--primary-blue);margin-top:0}h2{font-size:2rem;color:var(--text-primary);border-bottom:2px solid var(--border-color);padding-bottom:.25rem}h3{font-size:1.5rem;color:var(--text-primary)}h4{font-size:1.25rem;color:var(--text-secondary)}h5{font-size:1.1rem;color:var(--text-secondary)}h6{font-size:1rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}section[aria-labelledby]{border:1px solid transparent;margin:2rem 0;padding:1rem;border-radius:8px}section[aria-labelledby]:focus-within{border-color:var(--primary-blue);box-shadow:0 0 0 2px rgba(37,99,235,.1)}.container{max-width:1200px;margin:0 auto;padding:0 20px}header{background:var(--black);padding:1rem 0;position:fixed;width:100%;top:0;z-index:1000;box-shadow:0 2px 10px var(--shadow-color);border:none;outline:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}nav{display:flex;justify-content:space-between;align-items:center;gap:3rem}.logo{font-size:1.5rem;font-weight:bold;color:var(--primary-blue);margin-right:auto;flex-shrink:0}.logo a{white-space:nowrap;text-decoration:none;color:inherit;display:inline-block;padding:.5rem 0}.nav-links{display:flex;list-style:none;gap:2rem;margin:0;padding:0}.nav-links a{color:var(--text-primary);text-decoration:none;transition:color .3s;padding:.5rem 1rem;border-radius:5px;display:inline-block}.nav-links a:hover,.nav-links a:focus{background:rgba(37,99,235,.1);text-decoration:underline}.nav-links a:hover{color:var(--primary-blue)}main{margin-top:80px;min-height:calc(100vh - 80px)}.hero{min-height:90vh;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,var(--background) 0%,var(--dark-gray) 100%);padding:2rem 0}.hero-content h1{font-size:3.5rem;margin-bottom:1rem;background:linear-gradient(45deg,var(--primary-blue),var(--light-blue));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-content h2{font-size:1.8rem;color:var(--light-gray);margin-bottom:2rem}.hero-content p{font-size:1.2rem;max-width:600px;margin:0 auto 2rem}.cta-button{display:inline-block;background:var(--button-primary,var(--primary-blue));color:var(--white);padding:12px 30px;text-decoration:none;border-radius:5px;font-weight:bold;transition:background .3s,transform .2s,box-shadow .2s;margin-top:1.5rem;margin-bottom:2rem;border:2px solid transparent;position:relative;text-align:center;cursor:pointer}.cta-button:hover,.cta-button:focus{background:var(--link-hover,var(--dark-blue));transform:translateY(-2px);box-shadow:0 4px 15px rgba(37,99,235,.3);text-decoration:none}.cta-button:focus{outline:3px solid var(--link-color);outline-offset:2px}.cta-button:active{transform:translateY(0);box-shadow:0 2px 8px rgba(37,99,235,.2)}.cta-button:hover{background:var(--dark-blue)}.section{padding:5rem 0 4rem 0}.section-title{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:var(--primary-blue)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin:2rem 0}.skill-category{background:var(--dark-gray);padding:2rem;border-radius:10px;border:1px solid var(--primary-blue)}.skill-category h3{color:var(--primary-blue);margin-bottom:1rem}.skill-list{list-style:none}.skill-list li{padding:.5rem 0;border-bottom:1px solid var(--border-color)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin:2rem 0}.project-card{background:var(--dark-gray);border-radius:10px;overflow:hidden;border:1px solid var(--primary-blue);transition:transform .3s,box-shadow .3s;cursor:pointer}.project-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(37,99,235,.3)}.project-content{padding:2rem}.project-content h3{color:var(--primary-blue);margin-bottom:1rem}.project-content p{margin-bottom:1rem}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.tag{background:var(--primary-blue);color:var(--white);padding:.3rem .8rem;border-radius:15px;font-size:.8rem}.contact-form{max-width:600px;margin:0 auto;background:var(--dark-gray);padding:2rem;border-radius:10px;border:1px solid var(--primary-blue)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--primary-blue)}.form-group input,.form-group textarea{width:100%;padding:.8rem;border:1px solid var(--border-color);border-radius:5px;background:var(--background);color:var(--white)}.form-group input:focus,.form-group textarea:focus,.form-control:focus{outline:3px solid var(--link-color,var(--primary-blue));outline-offset:2px;border-color:var(--link-color,var(--primary-blue));box-shadow:0 0 0 2px rgba(37,99,235,.2)}.form-group input:invalid,.form-group textarea:invalid{border-color:var(--error-color,#ef4444)}.form-group input:valid,.form-group textarea:valid{border-color:var(--success-color,#10b981)}.submit-btn{background:var(--button-primary,var(--primary-blue));color:var(--white);border:2px solid var(--button-primary,var(--primary-blue));padding:12px 30px;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:bold;transition:background .3s,transform .2s,box-shadow .2s;position:relative}.submit-btn:hover,.submit-btn:focus{background:var(--link-hover,var(--dark-blue));border-color:var(--link-hover,var(--dark-blue));transform:translateY(-1px);box-shadow:0 4px 12px rgba(37,99,235,.3)}.submit-btn:focus{outline:3px solid var(--link-color);outline-offset:2px}.submit-btn:active{transform:translateY(0);box-shadow:0 2px 6px rgba(37,99,235,.2)}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.submit-btn:hover{background:var(--dark-blue)}footer{background:var(--black);padding:2rem 0;text-align:center;border-top:1px solid var(--primary-blue)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.image-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin:2rem 0}.image-item{background:var(--dark-gray);border-radius:10px;overflow:hidden;border:1px solid var(--primary-blue);transition:transform .3s,box-shadow .3s}.image-item:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(37,99,235,.3)}.image-item img{width:100%;height:200px;object-fit:cover;cursor:pointer;loading:lazy;decoding:async;content-visibility:auto;contain-intrinsic-size:300px 200px;transition:opacity .3s ease}.image-item img[data-loading="true"]{opacity:0}.image-item img[data-loaded="true"]{opacity:1}.image-caption{padding:1rem;color:var(--white);text-align:center}.image-caption h4{color:var(--primary-blue);margin-bottom:.5rem}.modal{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,.9)}.modal-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:90%;max-height:90%}.modal-content img{width:100%;height:auto;border-radius:10px}.close-modal{position:absolute;top:20px;right:35px;color:var(--white);font-size:40px;font-weight:bold;cursor:pointer}.close-modal:hover{color:var(--primary-blue)}.image-placeholder{background:var(--dark-gray);border:2px dashed var(--primary-blue);border-radius:10px;padding:2rem;text-align:center;color:var(--light-gray);margin:2rem 0}.image-placeholder h4{color:var(--primary-blue);margin-bottom:1rem}.alert{padding:1rem;border-radius:8px;margin-bottom:2rem;font-weight:500}.alert-success{background-color:#10b981;color:#fff;border:1px solid #059669}.alert-error{background-color:#ef4444;color:#fff;border:1px solid #dc2626}.text-danger{color:#ef4444 !important;font-size:.875rem;margin-top:.25rem;display:block}.form-control{width:100%;padding:.8rem;border:1px solid var(--border-color);border-radius:5px;background:var(--background);color:var(--text-primary);font-size:1rem}.form-control:focus{outline:none;border-color:var(--primary-blue);box-shadow:0 0 0 2px rgba(37,99,235,.2)}.form-control.input-validation-error{border-color:#ef4444}.form-control.input-validation-error:focus{border-color:#ef4444;box-shadow:0 0 0 2px rgba(239,68,68,.2)}.mobile-menu-toggle{display:none;background:transparent;border:2px solid var(--primary-blue);color:var(--primary-blue);padding:.5rem;border-radius:5px;cursor:pointer;font-size:1.5rem;margin-left:auto;width:48px;height:48px;min-width:48px;min-height:48px;align-items:center;justify-content:center;transition:all .3s ease;position:relative;-webkit-tap-highlight-color:transparent}.mobile-menu-toggle:hover,.mobile-menu-toggle:focus{background:var(--primary-blue);color:var(--white)}.mobile-menu-toggle span{display:block;width:24px;height:3px;background:currentColor;margin:4px 0;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;border-radius:2px;transform-origin:center}.mobile-menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-menu-toggle.active span:nth-child(2){opacity:0;transform:scaleX(0)}.mobile-menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.mobile-menu-toggle:focus{outline:2px solid var(--primary-blue);outline-offset:2px}.mobile-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(0)}.mobile-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}@media(max-width:1024px){.container{padding:0 15px}.nav-links{gap:1rem}.tcode-nav{font-size:.75rem;min-width:85px;width:auto;min-height:30px;padding:.3rem .6rem}}@media(max-width:1200px){html{font-size:15px}}@media(max-width:768px){.mobile-menu-toggle{display:flex;margin-left:1rem}nav{flex-wrap:nowrap;position:relative;border:none;outline:none;gap:1rem;padding:0 .5rem}.logo{font-size:1.2rem;margin-right:auto}header{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;border:none;outline:none}.nav-links{position:absolute;top:100%;left:0;right:0;background:var(--black);flex-direction:column;gap:0;padding:0;max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1),padding .4s cubic-bezier(.4,0,.2,1),opacity .3s ease,visibility .3s ease;border-top:1px solid var(--border-color);box-shadow:0 4px 20px var(--shadow-color);opacity:0;visibility:hidden;z-index:1000;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.nav-links.active{max-height:500px;padding:1rem 0;opacity:1;visibility:visible}.nav-links li{opacity:0;transform:translateY(-10px);transition:opacity .3s ease,transform .3s ease}.nav-links.active li{opacity:1;transform:translateY(0)}.nav-links.active li:nth-child(1){transition-delay:.1s}.nav-links.active li:nth-child(2){transition-delay:.15s}.nav-links.active li:nth-child(3){transition-delay:.2s}.nav-links.active li:nth-child(4){transition-delay:.25s}.nav-links.active li:nth-child(5){transition-delay:.3s}.nav-links.active li:nth-child(6){transition-delay:.35s}.nav-links.active li:nth-child(7){transition-delay:.4s}.nav-links li{width:100%;text-align:center;padding:.5rem 0}.tcode-nav{width:100%;max-width:200px;margin:0 auto;display:block;padding:.8rem 1rem;font-size:.9rem;min-height:44px}.theme-toggle{margin-left:.5rem;margin-right:.5rem;flex-shrink:0}header{padding:.75rem 0}.logo{font-size:1.2rem}main{margin-top:65px}.hero{min-height:80vh;padding:1rem 0}.hero-content h1{font-size:2rem;line-height:1.2}.hero-content h2{font-size:1.2rem;line-height:1.3}.hero-content p{font-size:1rem;padding:0 1rem}.cta-button{padding:.8rem 1.5rem;font-size:.95rem}.section{padding:3rem 0 2rem 0}.section-title{font-size:2rem;margin-bottom:2rem}.projects-grid{grid-template-columns:1fr;gap:1.5rem}.skills-grid{grid-template-columns:1fr;gap:1.5rem}.contact-grid{grid-template-columns:1fr;gap:1.5rem}.project-card,.skill-category,.contact-form{margin:0 -10px}.project-content,.skill-category{padding:1.5rem}html{font-size:16px}body{font-size:1rem;line-height:1.7}p,li,td,dd,blockquote{font-size:1rem;line-height:1.8;letter-spacing:.01em}h1{font-size:1.75rem;line-height:1.2;margin-top:1rem;margin-bottom:.75rem}h2{font-size:1.5rem;line-height:1.3;margin-top:1rem;margin-bottom:.5rem}h3{font-size:1.25rem;line-height:1.4;margin-top:.75rem;margin-bottom:.5rem}h4,h5,h6{font-size:1.1rem;line-height:1.4}small,.small{font-size:.875rem}code,pre{font-size:.875rem}.form-group input,.form-group textarea,.form-group select,input[type="text"],input[type="email"],input[type="password"],input[type="tel"],input[type="number"],input[type="search"],textarea,select{font-size:16px;line-height:1.5;padding:.875rem 1rem;min-height:48px;border-radius:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none}label,.form-label,.form-text{font-size:1rem;line-height:1.5;margin-bottom:.5rem;display:block}}@media(max-width:480px){.container{padding:0 10px}.hero-content h1{font-size:1.75rem}.hero-content h2{font-size:1.1rem}.section-title{font-size:1.75rem}.projects-grid{grid-template-columns:1fr}.tag,.tech-badge{font-size:.75rem;padding:.25rem .6rem}}.abap-code{background:#1e1e1e;color:#d4d4d4;font-family:'Courier New',monospace;padding:1rem;border-radius:5px;margin:1rem 0;border-left:4px solid var(--primary-blue);overflow-x:auto}.abap-keyword{color:#569cd6;font-weight:bold}.abap-string{color:#ce9178}.abap-comment{color:#6a9955;font-style:italic}.abap-type{color:#4ec9b0}.sap-message-bar{background:linear-gradient(90deg,#f0f0f0 0%,#e8e8e8 100%);color:#333;padding:.5rem 1rem;font-family:'Segoe UI',sans-serif;font-size:.9rem;border:1px solid #ccc;margin:1rem 0;position:relative}.sap-message-bar.success{background:linear-gradient(90deg,#d4edda 0%,#c3e6cb 100%);border-color:#28a745;color:#155724}.sap-message-bar.info{background:linear-gradient(90deg,#d1ecf1 0%,#bee5eb 100%);border-color:#17a2b8;color:#0c5460}.sap-message-bar::before{content:"💡";margin-right:.5rem}.sap-message-bar.success::before{content:"✅"}.sap-message-bar.info::before{content:"ℹ️"}.tcode-nav{font-family:'Courier New',monospace;background:#f8f9fa;color:#333;padding:.4rem .8rem;border:1px solid #ddd;border-radius:6px;font-size:.85rem;display:inline-flex;align-items:center;justify-content:center;margin:0 .2rem;position:relative;transition:all .3s ease;width:auto;min-width:100px;min-height:32px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:2px 0 4px rgba(0,0,0,.1);text-decoration:none}.tcode-nav::after{content:'';position:absolute;right:0;top:2px;bottom:2px;width:2px;background:linear-gradient(to bottom,#2563eb,#3b82f6);border-radius:0 6px 6px 0;opacity:.7;transition:all .3s ease}.tcode-nav:hover{background:var(--primary-blue);color:var(--white);border-color:var(--primary-blue);box-shadow:3px 0 8px rgba(37,99,235,.3);transform:translateX(2px);text-decoration:none;z-index:10;position:relative}.tcode-nav:hover::after{background:linear-gradient(to bottom,#fff,#e5e7eb);opacity:1;width:3px}[data-theme="dark"] .tcode-nav{background:var(--dark-gray);color:var(--white);border-color:var(--border-color)}[data-theme="dark"] .tcode-nav:hover{background:var(--primary-blue);color:var(--white)}.alv-header{background:linear-gradient(90deg,#e9ecef 0%,#dee2e6 100%);color:#333;padding:.5rem;font-weight:bold;border:1px solid #adb5bd;font-family:'Segoe UI',sans-serif;font-size:.9rem}.alv-row{background:#fff;border:1px solid #dee2e6;transition:background .2s;color:#333}.alv-row:nth-child(even){background:#f8f9fa;color:#333}.alv-row:hover{background:#e3f2fd;color:#333}.alv-cell{padding:.5rem;border-right:1px solid #dee2e6;font-family:'Segoe UI',sans-serif;font-size:.9rem;color:#333}.typewriter{overflow:hidden;border-right:2px solid var(--primary-blue);white-space:nowrap;margin:0 auto;animation:typing 3s steps(40,end),blink-caret .75s step-end infinite}.abap-loading{font-family:'Courier New',monospace;color:var(--primary-blue);text-align:center;margin:2rem 0}.sap-system-info{background:#f8f9fa;border:1px solid #dee2e6;padding:.5rem;font-family:'Courier New',monospace;font-size:.8rem;color:#6c757d;margin:1rem 0}.screenshot-container{margin:2rem 0;text-align:center}.screenshot{max-width:100%;height:auto;border:1px solid var(--border-color);border-radius:10px;box-shadow:0 4px 20px var(--shadow-color);transition:transform .3s ease,box-shadow .3s ease;cursor:pointer;loading:lazy;decoding:async;content-visibility:auto;contain-intrinsic-size:800px 600px;background:var(--card-bg)}.screenshot:hover{transform:scale(1.02);box-shadow:0 8px 30px var(--shadow-color)}.screenshot-caption{margin-top:1rem;font-style:italic;color:var(--text-secondary);font-size:.9rem}.project-detail-content{line-height:1.8;color:var(--text-primary)}.project-detail-content h2{color:var(--primary-blue);margin:2rem 0 1rem 0;font-size:1.8rem}.project-detail-content h3{color:var(--primary-blue);margin:1.5rem 0 1rem 0;font-size:1.4rem}.project-detail-content ul{margin:1rem 0;padding-left:2rem}.project-detail-content li{margin:.5rem 0}.project-title{color:var(--primary-blue);font-size:2.5rem;margin:2rem 0;text-align:center}.project-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:2rem 0;padding:1.5rem;background:var(--dark-gray);border-radius:10px;border:1px solid var(--primary-blue)}.info-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1rem;background:var(--background);border-radius:8px;border:1px solid var(--border-color)}.info-item strong{color:var(--primary-blue);margin-bottom:.5rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.tech-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0;justify-content:center}.tech-badge{background:var(--primary-blue);color:var(--white);padding:.5rem 1rem;border-radius:25px;font-size:.85rem;font-weight:500;transition:transform .2s ease,box-shadow .2s ease}.tech-badge:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(37,99,235,.3)}.back-link{display:inline-block;color:var(--primary-blue);text-decoration:none;margin-bottom:2rem;font-weight:500;transition:color .3s ease}.back-link:hover{color:var(--light-blue);text-decoration:underline}.container{width:100%;padding-left:20px;padding-right:20px}@media(max-width:1400px){.container{max-width:1200px}}@media(max-width:1200px){.container{max-width:992px}}@media(max-width:992px){.container{max-width:768px}}@media(max-width:768px){.container{max-width:100%;padding-left:15px;padding-right:15px}.abap-code{font-size:.75rem;padding:.75rem;margin:.5rem -15px;border-radius:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.typewriter{font-size:.9rem;animation:none;border-right:none;white-space:normal}.project-title{font-size:1.75rem;margin:1.5rem 0}.project-info{grid-template-columns:1fr;padding:1rem;margin:1rem -15px;border-radius:0}.info-item{padding:.75rem}.tech-badges{justify-content:center;gap:.4rem}.tech-badge{font-size:.8rem;padding:.4rem .8rem}.contact-form{padding:1.5rem;margin:0 -15px;border-radius:0}.form-group{margin-bottom:1rem}.form-group label{font-size:.9rem;margin-bottom:.4rem}.form-control{padding:.8rem;font-size:16px}.alv-header,.alv-cell{font-size:.75rem;padding:.4rem}.sap-message-bar{font-size:.85rem;padding:.4rem .8rem;margin:.5rem -15px}.screenshot-container{margin:1rem -15px}.screenshot{border-radius:0;max-width:100vw;margin-left:-15px;margin-right:-15px;width:calc(100% + 30px)}footer{padding:1.5rem 0}.sap-system-info{font-size:.7rem;padding:.4rem}}@media(max-width:480px){body{font-size:14px}.logo{font-size:1.1rem}.hero{min-height:70vh}.hero-content h1{font-size:1.5rem}.hero-content h2{font-size:1rem}.hero-content p{font-size:.9rem}.section-title{font-size:1.5rem}.project-content h3{font-size:1.1rem}.skill-category h3{font-size:1.1rem}.section{padding:2rem 0}.project-content,.skill-category{padding:1rem}.cta-button,.filter-btn{width:100%;padding:.9rem 1rem;font-size:.9rem}.project-tags{justify-content:center}.tag{font-size:.7rem;padding:.25rem .5rem}}