:root{--bg:#1e2a38;--panel:#263547;--panel-border:hsla(0,0%,100%,.1);--text:#f4f4f4;--muted:#aab8c2;--primary:#4abdac;--primary-600:#3e9c8e;--btn-outline:hsla(0,0%,100%,.15);--sidebar-bg:#192430;--header-height:64px;--footer-height:64px;--sidebar-width:260px}*{box-sizing:border-box}body,html{height:100%;margin:0}body.app-body{background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-synthesis-weight:none;display:flex;flex-direction:column;min-height:100vh}.container{max-width:1100px}.app-header{position:fixed;top:0;left:0;right:0;height:var(--header-height);border-bottom:1px solid var(--panel-border);-webkit-backdrop-filter:saturate(120%) blur(2px);backdrop-filter:saturate(120%) blur(2px)}.app-footer,.app-header{background:var(--panel);z-index:1000}.app-footer{border-top:1px solid var(--panel-border);margin-top:auto}.app-viewport{padding-top:var(--header-height);flex:1 0 auto}.brand-logo{height:44px;width:auto;display:block}.brand-name{letter-spacing:.12em;font-weight:600}.brand-name,.user-badge{color:var(--muted)}.nav-link{color:var(--muted)!important;font-weight:500;transition:color .2s}.nav-link.active,.nav-link:hover{color:#fff!important}.navbar-toggler{border:none;padding:0}.navbar-toggler:focus{box-shadow:none}.about-text p{line-height:1.8;font-size:1.1rem}.skill-item{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--panel);border:1px solid var(--panel-border);border-radius:.75rem;transition:transform .2s,border-color .2s}.skill-item:hover{transform:translateY(-2px);border-color:var(--primary)}.skill-item span{font-weight:500}.portfolio-card{position:relative;background:var(--panel);border:1px solid var(--panel-border);border-radius:1rem;padding:1.5rem;transition:border-color .3s,transform .3s;overflow:hidden}.portfolio-card:hover{border-color:var(--primary);transform:translateY(-5px)}.portfolio-card-icon{width:48px;height:48px;background:rgba(74,189,172,.1);color:var(--primary);border-radius:.75rem;display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem}.portfolio-card-icon span{font-size:24px}.portfolio-card-hover{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(11,20,34,.9);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}.portfolio-card:hover .portfolio-card-hover{opacity:1}.writeup-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:.75rem;padding:1rem;transition:background .2s}.writeup-card:hover{background:hsla(0,0%,100%,.03)}.project-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:1rem;transition:box-shadow .3s,transform .3s}.project-card:hover{box-shadow:0 10px 30px rgba(0,0,0,.3);transform:translateY(-5px)}.side-project-item{transition:border-color .3s}.side-project-item:hover{border-color:var(--primary)!important}.carousel-control-next,.carousel-control-prev{width:5%}.cert-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:1rem;padding:1.5rem;display:flex;gap:1.25rem;align-items:flex-start;transition:border-color .2s}.cert-card:hover{border-color:var(--primary)}.cert-card-icon{width:48px;height:48px;background:hsla(0,0%,100%,.03);color:var(--muted);border-radius:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cert-card-icon span{font-size:24px}.contact-link-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;background:var(--panel);border:1px solid var(--panel-border);border-radius:1rem;text-decoration:none;color:inherit;transition:transform .2s,border-color .2s;height:100%}.contact-link-card:hover{transform:translateY(-5px);border-color:var(--primary);color:#fff}.contact-link-card .material-symbols-outlined{font-size:32px;color:var(--primary)}.contact-form-container .form-control:focus{background:hsla(0,0%,100%,.05);border-color:var(--primary);box-shadow:none;color:#fff}.contact-form-container label{transition:color .2s}.hover-white:hover{color:#fff!important}.form-check-input{background-color:transparent;border-color:var(--panel-border)}.form-check-input:checked{background-color:var(--primary);border-color:var(--primary)}.form-check-input:focus{box-shadow:none;border-color:var(--primary)}.btn{border-radius:.65rem;padding:.55rem 1rem}.btn-primary{background:var(--primary);border-color:var(--primary)}.btn-primary:hover{background:var(--primary-600);border-color:var(--primary-600)}.btn-outline-light{color:var(--text);border-color:var(--btn-outline)}.btn-outline-light:hover{color:#fff;border-color:var(--text);background:hsla(0,0%,100%,.06)}.btn-outline-primary{color:var(--text);border-color:var(--btn-outline)}.btn-outline-primary:hover{border-color:var(--primary);box-shadow:0 0 0 .15rem rgba(74,189,172,.15)}.text-secondary{color:var(--muted)!important}.link-primary,.text-primary{color:var(--primary)!important}.link-primary:hover{color:var(--primary-600)!important}.bg-primary-subtle{background-color:rgba(74,189,172,.1)!important}.border-primary-subtle{border-color:rgba(74,189,172,.2)!important}.home-hero{min-height:calc(100vh - var(--header-height) - var(--footer-height));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 1rem;background:radial-gradient(circle at top right,#2c3e50,var(--bg));position:relative;overflow:hidden}.home-hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(rgba(74,189,172,.1) 1px,transparent 0);background-size:40px 40px;z-index:0}.home-hero .container{position:relative;z-index:1}.home-hero-title{font-size:4rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.5rem;color:#fff}.home-hero-subtitle{font-size:1.5rem;color:var(--primary);font-weight:500;margin-bottom:1.5rem}.home-hero-pitch{font-size:1.15rem;color:var(--muted);max-width:750px;margin:0 auto 2.5rem;line-height:1.6}.home-hero-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.home-projects{padding:4rem 1rem;text-align:center}.home-projects h2{font-size:2rem;margin-bottom:1rem}.home-projects p{color:var(--muted);max-width:600px;margin:0 auto}.home-projects .project-teaser{max-width:600px;margin:2rem auto 0}.home-projects .project-teaser h3{font-size:1.5rem;margin-bottom:.5rem}.home-projects .project-teaser p{color:var(--muted);margin-bottom:1rem}.home-projects .project-teaser p:last-of-type{margin-bottom:1.5rem}.project-hero{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 1rem;background:linear-gradient(135deg,var(--bg) 0,#0e1a2d 100%)}.project-hero h1{font-size:3rem;font-weight:600;letter-spacing:.03em}.project-hero p{font-size:1.25rem;color:var(--muted);max-width:700px;margin:0 auto}.project-section{padding:4rem 1rem}.project-section h2{font-size:2rem;text-align:center;margin-bottom:1rem}.project-section p{max-width:800px;margin:0 auto 1rem;color:var(--text);text-align:center}.project-list{max-width:800px;margin:0 auto;text-align:left}.project-list li{margin-bottom:.5rem}.workflow-section .workflow-list{max-width:900px;margin:0 auto;text-align:center;line-height:1.75;font-size:1.05rem;letter-spacing:.01em;padding-left:0}.workflow-section h2{font-weight:600;letter-spacing:.02em}.highlights-section .highlights-list{max-width:900px;margin:0 auto;text-align:center;line-height:1.75;font-size:1.05rem;letter-spacing:.01em;padding-left:0}.project-footer{padding:3rem 1rem;text-align:center;background:var(--panel);border-top:1px solid var(--panel-border)}.project-footer p{margin-bottom:.25rem}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;font-size:20px;line-height:1;vertical-align:-4px;margin-right:.6rem}.status-shell{position:relative;width:100%}.status-sidebar{position:fixed;top:var(--header-height);bottom:var(--footer-height);left:0;width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--panel-border);padding:16px;overflow:auto}.status-main{margin-left:var(--sidebar-width);height:calc(100vh - var(--header-height) - var(--footer-height));overflow:auto}.status-main-inner{max-width:1100px;margin:0 auto;padding:24px}.status-nav ul{list-style:none;margin:0;padding:0}.status-nav>ul>li{margin-bottom:.25rem}.status-nav a{display:flex;align-items:center;gap:.6rem;color:var(--text);text-decoration:none;padding:.55rem .7rem;border-radius:.55rem;border:1px solid transparent}.status-nav a:hover{background:hsla(0,0%,100%,.04);border-color:var(--panel-border)}.status-nav li.active>a{background:rgba(74,189,172,.12);border-color:rgba(74,189,172,.35)}.status-nav .section .section-title{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;color:var(--muted);text-transform:uppercase;font-size:.85rem;letter-spacing:.06em;margin-top:.5rem}.status-nav .section ul.sub{list-style:none;margin:.25rem 0 .5rem;padding-left:.8rem}.status-nav .sub li{margin:.1rem 0}.table-dark{--bs-table-bg:hsla(0,0%,100%,.03)}@media (max-width:900px){:root{--sidebar-width:220px}}@media (max-width:700px){.status-sidebar{position:static;width:auto;height:auto;border-right:0;border-bottom:1px solid var(--panel-border)}.status-main{margin-left:0;height:calc(100vh - var(--header-height) - var(--footer-height) - 180px)}}.roadmap{--rm-line:hsla(0,0%,100%,.18);--rm-dot:var(--muted,#8fa2bf);--rm-current:var(--primary,#2f7efb);padding:4rem 1rem}.roadmap .container{max-width:960px;margin:0 auto}.roadmap__viewport{position:relative}@media (max-width:767.98px){.roadmap__viewport{padding-left:.75rem}}.roadmap .timeline{list-style:none;margin:0;padding:0;position:relative;display:flex;flex-direction:column;gap:2.5rem;width:100%}.roadmap .timeline:before{content:"";position:absolute;top:.65rem;bottom:.65rem;left:1rem;width:2px;background:var(--rm-line);border-radius:999px}.roadmap .node{position:relative;padding-left:2.5rem;display:grid;grid-gap:.75rem;gap:.75rem;color:var(--text,#cdd7e5);outline:none;cursor:pointer}.roadmap .node:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(47,126,251,.35);border-radius:1rem}.roadmap .node__dot{position:absolute;left:1rem;top:.2rem;transform:translate(-50%);width:18px;height:18px;border-radius:999px;background:var(--rm-dot);border:3px solid rgba(11,20,34,.85);transition:box-shadow .3s ease,background-color .3s ease}.roadmap .node__meta{background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);border-radius:1.25rem;padding:1.25rem;box-shadow:0 18px 46px rgba(6,12,24,.32)}.roadmap .node__meta h3{font-size:1.1rem;font-weight:600;margin:0;text-align:left}.roadmap .node__items{display:none}.roadmap .node--current .node__dot{background:var(--rm-current);box-shadow:0 0 0 6px rgba(47,126,251,.25);width:20px;height:20px}.roadmap .node--current .node__meta{border-color:rgba(47,126,251,.45)}.roadmap .node--current .node__meta h3{font-weight:700}.roadmap .node--past .node__dot{opacity:.6}.roadmap .node--future .node__dot{background:hsla(0,0%,100%,.3)}.roadmap .node--future .node__meta{opacity:.9}.roadmap .node--current .node__title:after{content:"Aktuell";display:inline-block;margin-left:.5rem;padding:.1rem .45rem;font-size:.75rem;font-weight:600;color:#cfe2ff;background:rgba(47,126,251,.25);border:1px solid rgba(47,126,251,.55);border-radius:999px;vertical-align:middle}@media (min-width:768px){.roadmap{padding:5rem 1rem}.roadmap__viewport{padding-left:0}.roadmap .timeline{flex-direction:row;align-items:stretch;justify-content:center;gap:3rem;padding-top:3rem}.roadmap .timeline:before{top:0;bottom:auto;left:0;right:0;height:2px}.roadmap .node{padding:0;flex:0 0 auto;text-align:center}.roadmap .node__dot{top:0;left:50%;transform:translate(-50%,-50%)}.roadmap .node__meta{margin-top:1.25rem;text-align:center}.roadmap .node__meta h3{text-align:center}.roadmap .node__items{display:none}}.roadmap__details{background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);border-radius:1.25rem;padding:1.25rem 1.25rem 1rem;box-shadow:0 18px 46px rgba(6,12,24,.32)}.roadmap__details .details__title{margin:0 0 .75rem;font-size:1.15rem;font-weight:700}.roadmap__details .details__items{margin:.25rem 0 0 1.125rem}.roadmap .node--active .node__dot{box-shadow:0 0 0 6px hsla(0,0%,100%,.22)}.roadmap .roadmap-fallback{max-width:640px;margin:2rem auto 0;padding-left:0}.roadmap .roadmap-fallback strong{display:inline-block;margin-bottom:.25rem}.roadmap .roadmap-fallback ul{padding-left:1.25rem}