.container-wrapper{width:100%;padding:1rem;box-sizing:border-box}@media (min-width:768px){.container-wrapper{padding:2rem}}@media (min-width:1024px){.container-wrapper{padding:2.5rem 3rem}}.about-container,.contact,.datenschutz-container,.gallery-box,.home-container,.impressum-container,.projects-container{max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}:root{--background:#ffffff;--foreground:#171717;--primary:#007bff;--primary-dark:#0056b3;--secondary:#6c757d;--danger:#dc3545;--success:#28a745;--info:#0af;--muted:#f2f2f2;--shadow:0 2px 4px rgba(0,0,0,0.08);--card-bg:#fafafa;--border:#e9ecef;--text-muted:#666;--text-secondary:#495057;--text-link:#0077b5;--footer-bg:#f2f2f2;--footer-text:#666;--header-bg:#f2f2f2;--header-text:#171717;--cookie-bg:#333;--cookie-text:#fff;--cookie-link:#0af;--input-bg:#fff;--input-border:#007bff;--input-text:#2c3e50;--button-bg:#007bff;--button-text:#fff;--button-bg-secondary:#6c757d;--button-text-secondary:#fff;--danger-bg:#dc3545;--danger-text:#fff;--success-bg:#28a745;--success-text:#fff;--card-shadow:0 2px 4px rgba(0,0,0,0.08);--modal-bg:#fff;--modal-text:#2c3e50;--modal-shadow:0 4px 12px rgba(0,0,0,0.3)}@media (prefers-color-scheme:dark){:root{--background:#0a0a0a;--foreground:#ededed;--primary:#3399ff;--primary-dark:#1976d2;--secondary:#adb5bd;--danger:#ff6b6b;--success:#51cf66;--info:#4fd1c5;--muted:#222;--shadow:0 2px 4px rgba(0,0,0,0.5);--card-bg:#181818;--border:#333;--text-muted:#aaa;--text-secondary:#bbb;--text-link:#4fd1c5;--footer-bg:#181818;--footer-text:#aaa;--header-bg:#181818;--header-text:#ededed;--cookie-bg:#222;--cookie-text:#fff;--cookie-link:#4fd1c5;--input-bg:#222;--input-border:#3399ff;--input-text:#ededed;--button-bg:#3399ff;--button-text:#fff;--button-bg-secondary:#adb5bd;--button-text-secondary:#222;--danger-bg:#ff6b6b;--danger-text:#fff;--success-bg:#51cf66;--success-text:#222;--card-shadow:0 2px 4px rgba(0,0,0,0.7);--modal-bg:#222;--modal-text:#ededed;--modal-shadow:0 4px 12px rgba(0,0,0,0.7)}}.dark,html.dark{--background:#0a0a0a;--foreground:#ededed;--primary:#3399ff;--primary-dark:#1976d2;--secondary:#adb5bd;--danger:#ff6b6b;--success:#51cf66;--info:#4fd1c5;--muted:#222;--shadow:0 2px 4px rgba(0,0,0,0.5);--card-bg:#181818;--border:#333;--text-muted:#aaa;--text-secondary:#bbb;--text-link:#4fd1c5;--footer-bg:#181818;--footer-text:#aaa;--header-bg:#181818;--header-text:#ededed;--cookie-bg:#222;--cookie-text:#fff;--cookie-link:#4fd1c5;--input-bg:#222;--input-border:#3399ff;--input-text:#ededed;--button-bg:#3399ff;--button-text:#fff;--button-bg-secondary:#adb5bd;--button-text-secondary:#222;--danger-bg:#ff6b6b;--danger-text:#fff;--success-bg:#51cf66;--success-text:#222;--card-shadow:0 2px 4px rgba(0,0,0,0.7);--modal-bg:#222;--modal-text:#ededed;--modal-shadow:0 4px 12px rgba(0,0,0,0.7)}body,html{max-width:100vw;overflow-x:hidden;height:100%}body{color:var(--foreground);background:var(--background);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column;min-height:100vh}*{box-sizing:border-box;padding:0;margin:0}a{color:inherit;text-decoration:none}main{flex:1 1;display:flex;flex-direction:column}@media (min-width:768px){body{font-size:16px}}@media (prefers-color-scheme:dark){html{color-scheme:dark}}.about-container h1,.contact-header h1,.datenschutz-container h1,.gallery-box h1,.home-container h1,.impressum-heading,.projects-container h1,.skills-container h1{font-size:1.4rem!important;margin-bottom:.75rem!important;margin-top:2rem!important;color:var(--modal-text)!important;font-weight:700!important;text-align:center!important}@media (min-width:768px){.about-container h1,.contact-header h1,.datenschutz-container h1,.gallery-box h1,.home-container h1,.impressum-heading,.projects-container h1,.skills-container h1{font-size:2rem!important;margin-bottom:1.25rem!important;margin-top:3rem!important;text-align:left!important}}@media (min-width:1024px){.about-container h1,.contact-header h1,.datenschutz-container h1,.gallery-box h1,.home-container h1,.impressum-heading,.projects-container h1,.skills-container h1{font-size:2.25rem!important;margin-bottom:1.5rem!important;margin-top:3.5rem!important}}.about-container,.contact,.datenschutz-container,.gallery-box,.home-container,.impressum-container,.projects-container,.skills-container{text-align:center;padding:1rem 1.5rem;margin:0 auto;max-width:1200px;box-sizing:border-box}.about-container h1,.contact-header h1,.datenschutz-container h1,.gallery-box h1,.home-container h1,.impressum-heading,.projects-container h1,.skills-container h1{margin-left:0;padding-left:0}@media (min-width:768px){.about-container,.contact,.datenschutz-container,.gallery-box,.home-container,.impressum-container,.projects-container,.skills-container{text-align:left;padding:2rem 3rem;margin:0 auto;max-width:1200px}}@media (min-width:1024px){.about-container,.contact,.datenschutz-container,.gallery-box,.home-container,.impressum-container,.projects-container,.skills-container{padding:2.5rem 4rem;margin:0 auto;max-width:1200px}}.cookie-banner{position:fixed;bottom:10px;left:50%;transform:translateX(-50%);width:100%;max-width:90vw;background-color:var(--cookie-bg);color:var(--cookie-text);padding:.4rem;display:flex;flex-direction:column;gap:.4rem;align-items:center;z-index:1000;box-shadow:0 -1px 5px rgba(0,0,0,.1);border-radius:6px}.cookie-text{margin:0;font-size:.7rem;text-align:center;line-height:1.2;max-width:400px}.cookie-link{color:var(--cookie-link);text-decoration:underline}.cookie-buttons{display:flex;gap:.3rem;flex-direction:row;width:auto;justify-content:center}.cookie-button{background-color:var(--cookie-bg);color:var(--cookie-text);border:none;padding:.4rem .6rem;cursor:pointer;transition:background-color .3s;border-radius:3px;font-size:.7rem;white-space:nowrap}.cookie-button.accept:hover{background-color:var(--success-bg)}.cookie-button.decline:hover{background-color:var(--danger-bg)}@media (min-width:768px){.cookie-banner{padding:.5rem .8rem;flex-direction:row;gap:.8rem;align-items:center;max-width:80vw;width:auto}.cookie-text{font-size:.75rem;text-align:left;white-space:normal;flex:1 1;min-width:0}.cookie-buttons{flex-direction:row;flex-shrink:0}.cookie-button{padding:.3rem .6rem;font-size:.7rem}}@media (min-width:1024px){.cookie-banner{padding:.6rem 1rem;max-width:70vw}.cookie-text{font-size:.75rem}.cookie-buttons{gap:.4rem}.cookie-button{padding:.35rem .8rem;font-size:.7rem}}.darkmode-switch-wrapper{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0 .25rem}.darkmode-switch-wrapper.small{margin:0}.switch{position:relative;display:inline-block;width:48px;height:24px}.switch.small{width:28px;height:14px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:24px}.switch.small .slider{border-radius:14px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:white;transition:.4s;border-radius:50%}.switch.small .slider:before{height:10px;width:10px;left:2px;bottom:2px}input:checked+.slider{background-color:#3399ff}input:checked+.slider:before{transform:translateX(24px)}.switch.small input:checked+.slider:before{transform:translateX(14px)}.footer{background-color:var(--footer-bg);padding:.5rem;text-align:center;font-size:.75rem;border-top:1px solid var(--border);position:relative}.footer p{margin:0}.footer-links{margin-top:.3rem;display:flex;justify-content:center;flex-wrap:wrap;gap:.3rem}.footer-links a{color:var(--footer-text);text-decoration:none;font-size:.75rem}.footer-links a:hover{text-decoration:underline}.copyright{color:var(--footer-text);font-size:.85rem;margin-top:.1rem}@media (min-width:768px){.footer{font-size:.9rem;padding:.5rem 1rem}.footer-links{gap:.5rem}.footer-links a{font-size:.9rem}.footer-links-center{display:flex;align-items:center;justify-content:center;gap:.5rem}}.navbar{display:flex;align-items:center;justify-content:flex-start;padding:15px 8px;background-color:var(--header-bg);position:relative;height:60px;min-height:60px;max-height:60px;animation:slideDown .8s cubic-bezier(.4,0,.2,1) forwards;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);box-sizing:border-box;z-index:9997}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.logo-link{position:absolute;left:8px;display:flex;align-items:center}.logo{height:40px;width:40px;border-radius:20px;transition:all .3s cubic-bezier(.4,0,.2,1);animation:logoFadeIn 1s cubic-bezier(.4,0,.2,1) .3s both}.logo:hover{transform:scale(1.1) rotate(5deg);box-shadow:0 4px 15px rgba(0,0,0,.2)}@keyframes logoFadeIn{0%{opacity:0;transform:scale(.8) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.burger{display:flex;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;position:absolute;top:50%;right:8px;transform:translateY(-50%);z-index:9999;padding:8px}.burger-line{width:20px;height:2px;background-color:var(--header-text);border-radius:1px;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:center}.burger.menu-open .burger-line:first-child{transform:rotate(45deg) translate(5px,5px)}.burger.menu-open .burger-line:nth-child(2){opacity:0;transform:scale(0)}.burger.menu-open .burger-line:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.nav-wrapper{position:fixed;text-align:center;top:60px;left:0;right:0;background:var(--card-bg);width:100vw;flex-direction:column;box-shadow:var(--card-shadow);z-index:9998;max-height:0;overflow:hidden;opacity:0;transform:translateY(-10px);transition:all .4s cubic-bezier(.4,0,.2,1)}.nav-wrapper.open{max-height:400px;opacity:1;transform:translateY(0)}.nav-links{display:flex;flex-direction:column;gap:5px;list-style:none;margin:0;padding:10px 0;width:100%}@media (max-width:767px){.nav-links li{opacity:0;transform:translateX(-20px);animation:slideInStagger .6s cubic-bezier(.4,0,.2,1) forwards}.nav-wrapper.open .nav-links li:first-child{animation-delay:.1s}.nav-wrapper.open .nav-links li:nth-child(2){animation-delay:.15s}.nav-wrapper.open .nav-links li:nth-child(3){animation-delay:.2s}.nav-wrapper.open .nav-links li:nth-child(4){animation-delay:.25s}.nav-wrapper.open .nav-links li:nth-child(5){animation-delay:.3s}.nav-wrapper.open .nav-links li:nth-child(6){animation-delay:.35s}.nav-wrapper:not(.open) .nav-links li{animation:none;opacity:0;transform:translateX(-20px)}}@keyframes slideInStagger{to{opacity:1;transform:translateX(0)}}.nav-links a{text-decoration:none;font-weight:500;padding:12px 15px;display:block;text-align:center;width:100%;font-size:.9rem;position:relative;border-radius:8px}.nav-links a,.nav-links a:hover{color:var(--header-text);transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-links a:hover{background-color:rgba(0,0,0,.05);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1);text-shadow:1px 1px 0 rgba(0,0,0,.3),2px 2px 0 rgba(0,0,0,.2),3px 3px 0 rgba(0,0,0,.1)}.dark .nav-links a:hover,html.dark .nav-links a:hover{background-color:rgba(255,255,255,.1);color:var(--foreground);box-shadow:0 4px 12px rgba(255,255,255,.1);text-shadow:1px 1px 0 rgba(255,255,255,.3),2px 2px 0 rgba(255,255,255,.2),3px 3px 0 rgba(255,255,255,.1);transition:all .3s cubic-bezier(.4,0,.2,1)}.nav-links a.active{font-weight:700;text-decoration:underline;color:blue}@media (min-width:768px){.navbar{justify-content:center;padding:20px;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:none;background-color:var(--footer-bg);height:60px}.burger{display:none}.nav-wrapper{display:flex;background:none;box-shadow:none;position:static;padding:0;align-items:center;max-height:none;opacity:1;transform:none;transition:none;overflow:visible}.nav-links,.nav-wrapper{flex-direction:row;gap:2rem;width:auto}.nav-links a{display:inline-block;text-align:left;width:auto;font-size:1rem;padding:8px 16px;position:relative;overflow:visible;margin:0 4px}.nav-links a:after{display:none}.nav-links a:hover{color:var(--header-text);transform:none;text-shadow:1px 1px 0 rgba(0,0,0,.3),2px 2px 0 rgba(0,0,0,.2),3px 3px 0 rgba(0,0,0,.1)}.dark .nav-links a:hover,.nav-links a:hover,html.dark .nav-links a:hover{background:none!important;background-color:transparent!important;border:none!important;box-shadow:none!important;transition:text-shadow .3s ease}.dark .nav-links a:hover,html.dark .nav-links a:hover{color:var(--foreground);text-shadow:1px 1px 0 rgba(255,255,255,.3),2px 2px 0 rgba(255,255,255,.2),3px 3px 0 rgba(255,255,255,.1)}.nav-links a:hover:before{display:none}.nav-links{padding:0}.nav-links li{opacity:1;transform:none;animation:none}.nav-links a.active{font-weight:700;text-decoration:none;color:var(--header-text)}.dark .nav-links a.active,html.dark .nav-links a.active{color:var(--foreground)}}