body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--background-gradient-start:#203a45;--background-gradient-end:#8c6c72;--text-primary:#eaeaea;--text-secondary:#b0b0b0;--text-dark:#1c1c1c;--accent-primary:#f28e74;--accent-secondary:#4a8691;--button-bg:#8c6c72;--button-hover:#a57e84;--button-text:#fff;--input-bg:#2c464e;--input-border:#4a5a60;--input-border-hover:#5b9daf;--border-default:#4a5a60;--border-hover:#5b9daf;--text-hover:#f28e74;--text-hover-subtle:#b78389;--card-hover-bg:#2f4a52;--card-hover-shadow:#0006;--card-glass-hover:#2f4a52b3;--error:#d9534f;--success:#5cb85c;--info:#f0ad4e}*{box-sizing:border-box;color:#eaeaea;color:var(--text-primary);font-family:Inter;margin:0;padding:0}body{background:linear-gradient(135deg,#203a45,#8c6c72);background:linear-gradient(135deg,var(--background-gradient-start),var(--background-gradient-end));font-family:Roboto,sans-serif;line-height:1.6}.App{display:flex;flex-direction:column}.content{margin-left:200px;padding:20px}section{min-height:auto;padding:20px 0}.flex-end{justify-self:flex-end!important}.container{margin:auto;max-width:1100px;padding:2rem 1rem}.footer .container{align-items:center;display:flex;flex-direction:row;gap:2rem;justify-content:center}h2,section{margin-bottom:1rem}h2{font-size:2rem;position:relative;text-align:center}.card{background-color:#2c464e;background-color:var(--input-bg);border:1px solid #4a5a60;border:1px solid var(--border-default);border-radius:8px;padding:8px;transition:transform .3s ease,background-color .3s ease,box-shadow .3s ease}.card:hover{background-color:#2f4a52;background-color:var(--card-hover-bg);box-shadow:0 4px 10px #0006;box-shadow:0 4px 10px var(--card-hover-shadow);transform:translateY(-10px)}.skill-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.skill-item ul li{margin:0 1rem}.project-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.project-item{position:relative}form{grid-gap:1rem;display:grid;margin:auto;max-width:600px}form input,form textarea{border:1px solid var(--secondary-color);padding:.8rem;width:100%}.submit-button,form button{background:#f28e74;background:var(--accent-primary)}.submit-button:hover,form button:hover{background:#4a8691;background:var(--accent-secondary);transform:translateY(-2px) scale(1.03)}.footer{background-color:#34495e;color:#ecf0f1;padding:1rem 0}header.sticky{animation:slideDown .5s ease-in-out}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.skills-flex{align-items:flex-start;display:flex;flex-wrap:nowrap;gap:3rem;justify-content:space-between}.skills-about,.skills-tags{box-sizing:border-box;flex:1 1;max-width:50%;min-width:0}.skills-about{margin-right:.5rem}.skills-tags{margin-left:.5rem}@media (max-width:900px){.skills-flex{flex-direction:column;gap:2rem}.skills-about,.skills-tags{margin:0;max-width:100%}.container{padding:1.5rem 1rem}section{padding-top:6rem}h2{font-size:1.8rem;text-align:left}.skill-tag{font-size:.95rem;padding:.65rem .95rem}}.skills-about h2{color:#eaeaea;color:var(--text-primary);font-size:2rem;font-weight:700;margin-bottom:1.2rem;text-align:left}.skills-about-text p{color:#b0b0b0;color:var(--text-secondary);font-size:1.08rem;line-height:1.7;margin-bottom:0}.skills-tags h2{color:#eaeaea;color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:1.2rem;text-align:left}.skills-tag-grid{display:flex;flex-wrap:wrap;gap:.7rem}.skill-tag{background:#2c464e;background:var(--input-bg);border:1px solid #4a5a60;border:1px solid var(--border-default);border-radius:8px;box-shadow:0 2px 8px #0006;box-shadow:0 2px 8px var(--card-hover-shadow);color:#eaeaea;color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:500;margin-bottom:.2rem;padding:.5rem 1.1rem;transition:background .2s,color .2s,border .2s}.skill-tag:hover{background:#2f4a52;background:var(--card-hover-bg);border:1px solid #f28e74;border:1px solid var(--accent-primary);color:#f28e74;color:var(--accent-primary)}@media (max-width:700px){.skills-tag-grid{justify-content:center}.skill-tag{text-align:center;width:calc(50% - .35rem)}.contact .container{padding:0 1rem}.footer{padding:1.5rem 0 2rem}}section.contact{border-radius:14px;box-shadow:0 2px 10px #2c464e1a;margin-bottom:2rem;padding:2.5rem 0}.contact .container{margin:0 auto;max-width:600px;padding:0 1.5rem}.contact h2{font-size:2rem;font-weight:700;letter-spacing:1px;margin-bottom:2rem;text-align:center}form{background:none;border-radius:0;box-shadow:none;display:flex;flex-direction:column;gap:1.2rem;margin:0 auto;max-width:100%;padding:0}form label{color:#b0b0b0;color:var(--text-secondary);font-size:1rem;font-weight:500;letter-spacing:.5px;margin-bottom:.3rem}form input,form textarea{background:#2c464e;background:var(--input-bg);border:1px solid #4a5a60;border:1px solid var(--border-default);border-radius:8px;color:#eaeaea;color:var(--text-primary);font-size:1rem;margin-bottom:.2rem;outline:none;padding:.9rem 1.1rem;resize:none;transition:border .2s,background .2s}form input:focus,form textarea:focus{background:#2f4a52;background:var(--card-hover-bg);border:1.5px solid #f28e74;border:1.5px solid var(--accent-primary)}form textarea{max-height:300px;min-height:120px}.submit-button,form button{background:#2c464e;background:var(--input-bg);border:none;border-radius:8px;box-shadow:0 2px 8px #2c464e21,0 6px 24px #2c464e2e,0 1.5px 6px #0000001a;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:1px;margin-top:.5rem;padding:.8rem 2.2rem;transition:background .2s,transform .2s}.submit-button:hover,form button:hover{background:#f28e74;background:var(--accent-primary);color:#fff}.form-error{color:#f28e74;color:var(--accent-primary);display:block;font-size:.98rem;font-weight:500;letter-spacing:.2px;margin-bottom:.7rem;margin-top:-.7rem}.datenschutz,.impressum{background-color:#2c464e;background-color:var(--input-bg);border:1px solid #4a5a60;border:1px solid var(--border-default);border-radius:8px;margin:20px 0;padding:20px}.datenschutz-content,.impressum-content{margin:0 auto;max-width:800px;text-align:left}.datenschutz-content h3,.impressum-content h3{font-size:1.5rem;margin-bottom:.5rem;margin-top:1.5rem}.datenschutz-content h4,.impressum-content h4{font-size:1.2rem;margin-bottom:.5rem;margin-top:1rem}.datenschutz-content p,.impressum-content p{line-height:1.6;margin-bottom:1rem}.datenschutz-content ul,.impressum-content ul{margin-bottom:1rem;padding-left:1.5rem}.datenschutz-content li,.impressum-content li{margin-bottom:.5rem}.page{background:linear-gradient(135deg,#203a45,#8c6c72);background:linear-gradient(135deg,var(--background-gradient-start),var(--background-gradient-end));min-height:100vh;padding:20px}.back-link{color:#f28e74;color:var(--accent-primary);display:inline-block;font-weight:700;margin-bottom:20px;text-decoration:none}.back-link:hover{text-decoration:underline}.footer{background-color:#2c464e;background-color:var(--input-bg);border-top:1px solid #4a5a60;border-top:1px solid var(--border-default);padding:20px 0;text-align:center}.footer-links{margin-top:10px}.footer-links a{color:#b0b0b0;color:var(--text-secondary);font-size:14px;margin:0 10px;text-decoration:none}.footer-links a:hover{color:#f28e74;color:var(--accent-primary)}.vertical-navbar{background:#203a45;border-radius:10px;box-shadow:0 4px 10px #0000004d;left:20px;padding:10px 20px;position:fixed;top:50%;transform:translateY(-50%);z-index:1000}.vertical-navbar ul{list-style:none;margin:0;padding:0;position:relative}.vertical-navbar li{margin:10px 0;position:relative}.vertical-navbar a{color:#b0b0b0;display:block;font-size:18px;padding:10px 20px;text-decoration:none;transition:color .3s ease,background .3s ease}.vertical-navbar a:hover{color:#f28e74}.vertical-navbar .active a{color:#f28e74;font-weight:700}.nav-links{border-top:1px solid #4a5a60;margin-top:20px;padding-top:10px}.nav-links a{color:#b0b0b0;display:block;font-size:16px;padding:5px 20px;text-decoration:none;transition:color .3s ease}.nav-links a:hover{color:#f28e74}.mobile-navbar-header{display:none}.mobile-nav-toggle{background:none;border:none;cursor:pointer;display:none;flex-direction:column;height:28px;justify-content:space-between;padding:0;width:32px}.mobile-nav-toggle span{background:#b0b0b0;border-radius:999px;display:block;height:3px;width:100%}@media (max-width:1420px){.vertical-navbar{border-radius:0;display:flex;flex-direction:column;left:0;padding:.85rem 1rem;right:0;top:0;transform:none;width:100%}.mobile-navbar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.nav-brand{color:#eaeaea;font-size:1rem;font-weight:700;letter-spacing:.04em}.mobile-nav-toggle{display:flex}.vertical-navbar ul{display:flex;flex-direction:column;gap:.4rem;max-height:0;opacity:0;overflow:hidden;transition:max-height .35s ease,opacity .35s ease}.vertical-navbar.mobile-open ul{max-height:220px;opacity:1}.vertical-navbar li{margin:0}.vertical-navbar a{background:#ffffff08;border-radius:10px;font-size:1rem;padding:.85rem 1rem;width:100%}.nav-indicator{display:none}}.about-section{align-items:center;background:#0000;color:var(--text-primary);display:flex;justify-content:center;min-height:50vh}.about-container{margin:0 auto;max-width:900px;text-align:center;width:100%}.about-profile{margin-bottom:2rem}.profile-image{border:4px solid var(--accent-primary);border-radius:50%;box-shadow:0 4px 20px #0003;height:150px;object-fit:cover;width:150px}.about-hero{color:var(--text-primary);font-size:3rem;font-weight:900;letter-spacing:2px;margin-bottom:1.5rem;text-transform:uppercase}.about-subtitle{color:var(--text-secondary);font-size:1.25rem;font-weight:400;margin-bottom:2.5rem}.about-projects-btn{background:var(--input-bg);border:none;border-radius:8px;box-shadow:0 2px 8px #2c464e21,0 6px 24px #2c464e2e,0 1.5px 6px #0000001a;color:#fff;display:inline-block;font-size:1.1rem;font-weight:600;letter-spacing:1px;margin-top:1.2rem;outline:none;padding:.8rem 2.2rem;text-decoration:none;transition:background .2s,transform .2s}.about-projects-btn:hover{background:var(--accent-primary);color:#fff;transform:translateY(-2px) scale(1.03)}.social-links{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.social-link{align-items:center;border-radius:50px;box-shadow:0 4px 15px #0000001a;display:flex;font-size:1rem;font-weight:600;gap:.5rem;overflow:hidden;padding:.75rem 1.5rem;position:relative;text-decoration:none;transition:all .3s ease}.social-link:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.social-link:hover:before{left:100%}.social-link.linkedin{background:linear-gradient(135deg,#0077b5,#005885);color:#fff}.social-link.linkedin:hover{background:linear-gradient(135deg,#005885,#003d5c);box-shadow:0 8px 25px #0077b54d;transform:translateY(-3px) scale(1.05)}.social-link.github{background:linear-gradient(135deg,#333,#24292e);color:#fff}.social-link.github:hover{background:linear-gradient(135deg,#24292e,#1a1e22);box-shadow:0 8px 25px #3333334d;transform:translateY(-3px) scale(1.05)}.social-link svg{font-size:1.2rem}.social-link span{transition:opacity .3s ease}.social-link:hover span{opacity:.9}@media (max-width:600px){.about-hero{font-size:2rem}.about-subtitle{font-size:1rem}.about-projects-btn{font-size:1rem;padding:.7rem 1.5rem}.profile-image{height:120px;width:120px}.social-links{align-items:center;flex-direction:column}.social-link{justify-content:center;width:200px}}.project-card-visual{align-items:flex-start;background:var(--input-bg);border:1px solid var(--border-default);border-radius:14px;box-shadow:0 2px 10px #2c464e14;display:flex;gap:2rem;margin-bottom:1.5rem;min-height:160px;padding:2rem 1.5rem;position:relative}.project-avatar{align-items:center;border-radius:50%;box-shadow:0 2px 8px #2c464e1a;color:#fff;display:flex;flex-shrink:0;font-size:2.2rem;font-weight:700;height:70px;justify-content:center;margin-top:.2rem;width:70px}.project-card-content{display:flex;flex:1 1;flex-direction:column;justify-content:flex-start}.project-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.7rem}.project-title{color:var(--text-primary);font-size:1.35rem;font-weight:700;margin:0}.project-description{color:var(--text-secondary);font-size:1.05rem;margin-bottom:1.2rem;margin-top:.2rem}.project-case-btn{background:#7c4dff;border-radius:8px;box-shadow:0 2px 8px #2c464e1a;color:#fff;display:inline-block;font-size:1rem;font-weight:700;letter-spacing:1px;padding:.6rem 1.7rem;text-decoration:none;transition:background .2s,transform .2s}.project-case-btn:hover{background:#651fff;transform:translateY(-2px) scale(1.03)}.project-list{align-items:stretch;display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.profile-project-card{background:var(--input-bg);border:1px solid var(--border-default);border-radius:16px;box-shadow:0 2px 10px #2c464e1a;box-sizing:border-box;display:flex;flex:1 1 340px;flex-direction:column;margin-bottom:0;max-width:370px;min-width:320px;overflow:hidden;padding:2rem 1.5rem 1.5rem;width:100%}.profile-project-header{display:flex;gap:1.2rem;margin-bottom:1.2rem}.profile-project-avatar{align-items:center;background:var(--accent-secondary);border-radius:50%;box-shadow:0 2px 8px #2c464e1a;color:#fff;display:flex;flex-shrink:0;font-size:2rem;font-weight:700;height:56px;justify-content:center;width:56px}.profile-project-header-info{display:flex;flex-direction:column;gap:.2rem;justify-content:center}.profile-project-title{color:var(--text-primary);display:inline-block;font-size:1.2rem;font-weight:700;margin-bottom:.2rem;margin-left:0;vertical-align:middle}.profile-project-tabs{background:none;border-bottom:none;box-shadow:none;display:flex;gap:2rem;margin-bottom:.7rem}.profile-project-tab{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;font-weight:500;letter-spacing:.01em;margin-bottom:0;outline:none;padding:.2rem 0 .3rem;position:relative;transition:color .2s;white-space:nowrap}.profile-project-tab.active{color:var(--accent-primary)}.profile-project-tab:after{content:"";display:none}.profile-project-tab-content{background:none;border:none;box-shadow:none;color:var(--text-secondary);font-size:1rem;margin-top:1.2rem;min-height:2.5rem;word-break:break-word}.profile-project-tabs-content{display:flex;flex-direction:column;gap:1.2rem}.profile-project-tab-block{background:var(--card-hover-bg);border-radius:8px;box-shadow:0 1px 4px #2c464e12;margin-bottom:.5rem;padding:1rem 1.2rem}.profile-project-tab{border-bottom:1.5px solid var(--accent-primary);color:var(--accent-primary);display:inline-block;font-size:1.05rem;font-weight:600;margin-bottom:.5rem;padding-bottom:.2rem}.profile-project-tab:not(.active){border-bottom:1.5px solid var(--border-default);color:var(--text-secondary)}.profile-project-content{display:flex;flex-direction:column;gap:1.2rem}.profile-project-section{margin-bottom:.2rem}.profile-project-section-title{color:var(--text-hover-subtle);font-size:1.02rem;font-weight:600;margin-bottom:.3rem}.profile-project-section-content{color:var(--text-secondary);font-size:1rem;margin-top:.3rem}.profile-project-link-list,.profile-project-tech-list{display:flex;flex-wrap:wrap;gap:.7rem;list-style:none;margin:0;padding:0}.profile-project-link-list li,.profile-project-tech-list li{background:var(--input-bg);border-radius:6px;color:var(--text-primary);font-size:.98rem;font-weight:500;padding:.3rem .9rem}.profile-project-link-list li a{color:var(--accent-primary);font-weight:600;text-decoration:none}.profile-project-link-list li a:hover{text-decoration:underline}@media (max-width:900px){.project-list{align-items:stretch;flex-direction:column;gap:1.2rem}.profile-project-card{max-width:100%;min-width:0}}@media (max-width:700px){.project-card-visual{align-items:center;flex-direction:column;gap:1rem;padding:1.2rem .7rem}.project-card-header{align-items:flex-start;flex-direction:column;gap:.5rem}.project-avatar{margin-top:0}.profile-project-card{max-width:100%;padding:1.2rem .7rem 1rem}.project-list{gap:1.2rem}}.profile-project-header{align-items:center;flex-direction:row;gap:.7rem}.profile-project-card{max-width:100%;padding:1.2rem .7rem 1rem}.project-list{gap:1.2rem}.skill-popover-backdrop{align-items:center;background:#080a0c99;display:flex;inset:0;justify-content:center;position:fixed;z-index:1200}.skill-popover{background:var(--input-bg);border-radius:12px;box-shadow:0 8px 30px #00000059;color:var(--text-primary);padding:1.2rem 1.4rem;position:relative;width:min(520px,92%)}.skill-popover-close{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.4rem;position:absolute;right:10px;top:8px}.skill-popover-header{align-items:center;display:flex;gap:.9rem;margin-bottom:.6rem}.skill-popover-avatar{align-items:center;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border-radius:50%;color:#fff;display:flex;font-size:1.1rem;font-weight:700;height:48px;justify-content:center;width:48px}.skill-popover-title{margin:0}.skill-popover-body p{color:var(--text-secondary);line-height:1.55;margin:0}.timeline{margin:0 auto;max-width:800px;padding:2rem 0;position:relative}.timeline:before{background:var(--accent-primary);bottom:0;content:"";left:50%;position:absolute;top:0;transform:translateX(-50%);width:2px}.timeline-item{align-items:flex-start;display:flex;justify-content:center;margin-bottom:2rem;position:relative}.timeline-item:nth-child(2n) .timeline-content{margin-left:0;margin-right:2rem;text-align:right}.timeline-item:nth-child(odd) .timeline-content{margin-left:2rem;margin-right:0;text-align:left}.timeline-marker{background:var(--accent-primary);border:3px solid var(--background-gradient-start);border-radius:50%;height:16px;left:50%;position:absolute;top:1rem;transform:translateX(-50%);width:16px;z-index:1}.timeline-content{background:var(--input-bg);border-radius:8px;box-shadow:0 2px 10px #0000001a;flex:1 1;max-width:400px;padding:1.5rem}.timeline-date{color:var(--accent-primary);font-size:.9rem;font-weight:600;margin-bottom:.5rem}.timeline-title{font-size:1.2rem;font-weight:700}.timeline-projects h4,.timeline-title{color:var(--text-primary);margin-bottom:.5rem}.timeline-projects h4{font-size:1rem;font-weight:600}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem}.project-tag{background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border-radius:20px;box-shadow:0 2px 8px #0000001a;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.4rem .8rem;transition:transform .2s,box-shadow .2s}.project-tag:hover{box-shadow:0 4px 12px #0003;transform:translateY(-2px) scale(1.05)}.project-popover-backdrop{align-items:center;background:#080a0c99;display:flex;inset:0;justify-content:center;position:fixed;z-index:1200}.project-popover{background:var(--input-bg);border-radius:12px;box-shadow:0 8px 30px #00000059;color:var(--text-primary);padding:1.2rem 1.4rem;position:relative;width:min(520px,92%)}.project-popover-close{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.4rem;position:absolute;right:10px;top:8px}.project-popover-header{align-items:center;display:flex;gap:.9rem;margin-bottom:.6rem}.project-popover-avatar{align-items:center;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border-radius:50%;color:#fff;display:flex;font-size:1.1rem;font-weight:700;height:48px;justify-content:center;width:48px}.project-popover-title{margin:0}.project-popover-body p{color:var(--text-secondary);line-height:1.55;margin:0}
/*# sourceMappingURL=main.8c074ab0.css.map*/