@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;600;700&display=swap";:root{font-family:Space Grotesk,sans-serif}html,body,#root{min-height:100%}#root{min-height:100vh;min-height:100svh;isolation:isolate}:root{--bg-0: #090e1f;--bg-1: #0d1328;--bg-2: #131b3a;--text-0: #f5f7ff;--text-1: #cdd5f7;--accent: #78d4ff;--accent-2: #8b7bff;--card: rgba(255, 255, 255, .06);--card-border: rgba(255, 255, 255, .12);--shadow: 0 20px 50px rgba(0, 0, 0, .45);--radius: 16px;--header-height: 72px;--font: "Space Grotesk", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background-color:var(--bg-0)}html.scroll-locked,body.scroll-locked{overflow:hidden;height:100%;overscroll-behavior:none}body{overflow-x:hidden;margin:0;padding:0;position:relative;font-family:var(--font);color:var(--text-0);background:radial-gradient(1200px 600px at 10% -10%,rgba(120,212,255,.16),transparent 60%),radial-gradient(1000px 500px at 110% 10%,rgba(139,123,255,.2),transparent 55%),linear-gradient(180deg,var(--bg-0),var(--bg-2));min-height:100vh;min-height:100svh;text-align:center;background-color:var(--bg-0)}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(1200px 600px at 10% -10%,rgba(120,212,255,.16),transparent 60%),radial-gradient(1000px 500px at 110% 10%,rgba(139,123,255,.2),transparent 55%),linear-gradient(180deg,var(--bg-0),var(--bg-2))}img{max-width:100%;display:block}a{color:var(--text-0);text-decoration:none;transition:color .2s ease,opacity .2s ease}a:hover{color:var(--accent)}section{padding:40px 0 0;scroll-margin-top:calc(var(--header-height) + 16px)}.main-header{width:100%;height:var(--header-height);background:#0f121cbf;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:none;padding:0 2rem;position:fixed;top:0;left:0;z-index:50;display:flex;align-items:center;justify-content:space-between;transform:translateZ(0);backface-visibility:hidden}.logo{height:38px;width:auto}.burger-menu{display:none;background:transparent;border:none;color:var(--text-0);font-size:1.5rem;cursor:pointer;z-index:20;padding:8px;border-radius:10px;transition:background .2s ease,color .2s ease}.burger-menu:hover{background:#ffffff14;color:var(--accent)}.burger-menu .material-icons{font-size:28px;line-height:1}.lang-switch{position:relative;display:flex;align-items:center;margin-left:auto;margin-right:6px}.lang-toggle{display:inline-flex;align-items:center;gap:6px;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:var(--text-1);padding:6px 12px;border-radius:999px;font-weight:600;font-size:.85rem;cursor:pointer;transition:color .2s ease,background .2s ease,border-color .2s ease}.lang-toggle .material-icons{font-size:18px;line-height:1}.lang-toggle[aria-expanded=true]{color:var(--text-0);background:#6ee7ff24;border-color:#6ee7ff66}.lang-toggle:hover{color:var(--text-0);background:#ffffff24}.lang-menu{position:absolute;top:calc(100% + 8px);right:0;display:none;flex-direction:column;min-width:180px;background:#0f121cf5;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:6px;box-shadow:var(--shadow);z-index:20}.lang-switch.open .lang-menu{display:flex}.lang-option{background:transparent;border:1px solid transparent;color:var(--text-1);text-align:left;padding:8px 10px;border-radius:10px;font-weight:600;font-size:.85rem;cursor:pointer;transition:color .2s ease,background .2s ease,border-color .2s ease}.lang-option[aria-selected=true]{color:var(--text-0);background:#6ee7ff1f;border-color:#6ee7ff59}.lang-option:hover{color:var(--text-0);background:#ffffff1f}.center-nav{position:absolute;left:50%;transform:translate(-50%);display:flex;gap:12px}nav a{color:var(--text-1);font-weight:600;font-size:1rem;padding:8px 14px;border-radius:999px;transition:color .2s ease,background .2s ease,transform .2s ease}nav a:hover{color:var(--text-0);background:#ffffff14;transform:translateY(-1px)}.nav-space{display:none}.hero{position:relative;z-index:0;min-height:100svh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--header-height) 6vw 0;text-align:left;overflow:hidden;background:radial-gradient(900px 520px at 75% 10%,rgba(120,212,255,.12),transparent 60%),linear-gradient(135deg,#121729,#0f1430 40%,#0c1024)}@supports not (height: 100dvh){.hero{min-height:100vh}}.hero:before,.hero:after{content:"";position:absolute;width:220px;height:220px;background:#ffffff0a;transform:rotate(20deg);border-radius:50%;box-shadow:0 30px 80px #0006;pointer-events:none}.hero:before{top:24px;right:10%}.hero:after{bottom:14%;right:18%;transform:rotate(-18deg)}.hero-inner{width:min(980px,100%);display:grid;grid-template-columns:minmax(0,1fr);position:relative;z-index:1}.hero-dots{position:absolute;left:-40px;top:40px;width:140px;height:140px;font-family:Space Grotesk,monospace;font-size:86px;font-weight:600;letter-spacing:2px;line-height:1;color:#cfb9a58c;opacity:.75;display:grid;place-items:center;border-radius:50%;background:#ffffff0a;box-shadow:0 20px 60px #00000059;pointer-events:none}.hero-dots:before{content:"<>";display:block;white-space:nowrap}.hero:before,.hero:after{display:grid;place-items:center;font-family:Space Grotesk,monospace;font-size:88px;font-weight:600;color:#cfb9a52e;letter-spacing:2px}.hero:before{content:"1"}.hero:after{content:"0"}.hero-copy{max-width:520px}.hero-title{font-size:clamp(2.4rem,5vw,3.8rem);font-weight:600;margin:0 0 .2rem;color:#f3f5ff;letter-spacing:-.01em;white-space:nowrap}.hero-role{font-size:clamp(2rem,4.6vw,3.4rem);font-weight:600;margin:0 0 1rem;color:#8da7ff}.hero-subtitle{font-size:1.05rem;color:#d9e1ffcc;margin:0 0 2rem;line-height:1.7}.hero-fade{position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(to bottom,rgba(12,16,36,0),var(--bg-0));pointer-events:none;z-index:0}.scroll-hint{position:absolute;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;color:#8da7ffbf;font-size:1.2rem;z-index:1;cursor:pointer}.scroll-icon-fingerprint{display:none}.scroll-hint .scroll-arrow{animation:floatDown 1.8s ease-in-out infinite}.container,.about,.skills,.projekte{margin:2.5rem auto;background:linear-gradient(180deg,#ffffff0f,#ffffff05),var(--card);border:1px solid var(--card-border);padding:clamp(2.2rem,5vw,4rem) clamp(2rem,6vw,4.5rem);border-radius:var(--radius);width:min(92%,980px);max-width:none;box-shadow:var(--shadow);text-align:left;position:relative;overflow:hidden;animation:fadeUp .6s ease both}.container{text-align:center}h1{font-size:clamp(2.2rem,4vw,3.2rem);font-weight:700;margin:0 0 .5rem;letter-spacing:-.02em}h2{font-size:clamp(1.3rem,2.4vw,1.8rem);font-weight:600;margin:0 0 1rem;color:var(--text-1)}p{line-height:1.7;color:var(--text-1)}ul{list-style:none;padding:0;margin:.5rem 0 1.5rem;display:grid;gap:10px}ul li{background:#ffffff0d;border:1px solid rgba(255,255,255,.06);padding:10px 14px;border-radius:12px}.social-buttons{display:flex;justify-content:center;gap:1rem;margin-top:2rem}.social-button{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);transition:transform .25s ease,border-color .25s ease,background .25s ease;box-shadow:0 10px 24px #00000059}.social-button:hover{transform:translateY(-4px);border-color:#6ee7ff80;background:#6ee7ff1f}.button-image{width:60%;height:60%;object-fit:contain}.main-footer{background:#0f121cb3;border-top:none;padding:1.5rem 1rem calc(1.5rem + env(safe-area-inset-bottom,0px));text-align:center;margin-top:0}.footer-inner{width:min(92%,980px);margin:0 auto;display:flex;flex-direction:column;align-items:stretch;gap:20px}.footer-copy{margin:0;color:var(--text-1);font-weight:600;letter-spacing:.02em}.footer-columns{display:flex;flex-wrap:wrap;justify-content:center;gap:24px 40px;text-align:center}.footer-group{display:flex;flex-direction:column;gap:10px;align-items:center}.footer-title{margin:0;font-size:1rem;font-weight:600;color:var(--text-0);text-decoration:underline solid rgba(120,212,255,.7);text-underline-offset:6px}.footer-list{display:flex;flex-direction:column;gap:10px;align-items:center}.footer-list a{color:var(--text-1);margin:0}.footer-list a:hover{color:var(--accent)}.footer-links button{background:none;border:none;padding:0;color:var(--text-1);font:inherit;cursor:pointer;text-align:center}.footer-links button:hover{color:var(--accent)}.social-pill{display:inline-flex;align-items:center;gap:10px;padding:6px 12px;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--text-0);font-weight:600;letter-spacing:.01em;box-shadow:0 12px 26px #00000059;transition:transform .25s ease,border-color .25s ease,background .25s ease}.social-pill:hover{transform:translateY(-2px);border-color:#6ee7ff80;background:#6ee7ff1f;color:var(--text-0)}.social-icon{width:18px;height:18px;display:inline-block;object-fit:contain}.social-text{font-size:.9rem}.back-to-top{position:fixed;right:20px;bottom:calc(14px + env(safe-area-inset-bottom,0px));width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#0f121ccc;color:var(--text-0);cursor:pointer;box-shadow:0 12px 26px #00000073;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,background .2s ease,border-color .2s ease;z-index:30;transform:translateY(8px) translateZ(0);backface-visibility:hidden}.back-to-top:hover{background:#6ee7ff1f;border-color:#6ee7ff73}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.temp-popup{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:#ff5722;color:#fff;padding:10px 20px;border-radius:5px;z-index:1000;box-shadow:0 2px 10px #00000080;animation:popup-fadein .5s,popup-fadeout .5s 2.5s forwards}@keyframes popup-fadein{0%{opacity:0}to{opacity:1}}@keyframes popup-fadeout{0%{opacity:1}to{opacity:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes floatDown{0%{transform:translateY(0);opacity:.6}50%{transform:translateY(6px);opacity:1}to{transform:translateY(0);opacity:.6}}.link-button{background:none;border:none;padding:0;color:var(--accent);font:inherit;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px;transition:opacity .2s ease}.link-button:hover{opacity:.75}.modal-github{text-align:center}.github-modal-icon{width:48px;height:48px;margin:0 auto 1rem;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:14px;display:flex;align-items:center;justify-content:center;padding:10px}.github-modal-icon img{width:100%;height:100%;object-fit:contain}.github-url-box{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 14px;font-size:.85rem;color:var(--accent);word-break:break-all;margin:.8rem 0;font-family:monospace}.github-modal-hint{font-size:.85rem!important;color:#ffffff73!important;margin-bottom:1.5rem!important}.github-modal-actions{display:flex;gap:10px;justify-content:center}.github-btn-cancel{padding:10px 20px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:var(--text-1);font:inherit;font-weight:600;cursor:pointer;transition:background .2s ease,color .2s ease}.github-btn-cancel:hover{background:#ffffff1a;color:var(--text-0)}.github-btn-confirm{display:flex;align-items:center;gap:6px;padding:10px 20px;border-radius:10px;border:1px solid rgba(120,212,255,.35);background:#78d4ff1f;color:var(--accent);font:inherit;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease}.github-btn-confirm:hover{background:#78d4ff33;border-color:#78d4ff99}.github-btn-confirm .material-icons{font-size:18px}.modal-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:100;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fadeUp .2s ease both}.modal-box{position:relative;background:var(--bg-1);border:1px solid var(--card-border);border-radius:var(--radius);padding:2.5rem 2rem 2rem;width:min(520px,100%);box-shadow:var(--shadow);text-align:left;animation:fadeUp .25s ease both}.modal-box h3{font-size:1.4rem;font-weight:700;margin:0 0 1.2rem;color:var(--text-0)}.modal-box p{font-size:.95rem;line-height:1.7;color:var(--text-1);margin:0 0 .8rem}.modal-disclaimer{text-align:center;max-width:560px}.modal-disclaimer p{margin-bottom:0}.disclaimer-actions{display:flex;justify-content:center;margin-top:1.5rem}.modal-box a{color:var(--accent)}.modal-placeholder{margin-top:1.2rem;padding:10px 14px;background:#ffc80012;border:1px solid rgba(255,200,0,.2);border-radius:10px;font-size:.85rem!important;color:#ffdc64d9!important}.modal-close{position:absolute;top:14px;right:14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--text-1);border-radius:10px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease,color .2s ease}.modal-close:hover{background:#ff505026;color:#ff6b6b;border-color:#ff50504d}.modal-close .material-icons{font-size:20px}@media(max-width:768px){.modal-box{padding:2rem 1.5rem 1.5rem}}.skills-group{margin-bottom:2rem}.skills-group:last-child{margin-bottom:0}.skills-group h2{margin-bottom:1rem}.skill-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.skill-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:16px;cursor:default;transition:transform .2s ease,border-color .2s ease,background .2s ease}.skill-card:hover{transform:translateY(-4px);border-color:#78d4ff66;background:#78d4ff12}@media(min-width:769px){.skill-card{position:relative}.skill-card:after{content:attr(data-tooltip);position:absolute;top:-38px;left:50%;transform:translate(-50%) translateY(4px);background:#0f121cf2;border:1px solid rgba(120,212,255,.4);color:var(--text-0);font-size:.8rem;font-weight:600;padding:5px 12px;border-radius:999px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .2s ease,transform .2s ease;box-shadow:0 6px 20px #0006}.skill-card:hover:after{opacity:1;transform:translate(-50%) translateY(0)}}.skill-icon{font-size:2rem;line-height:1}.skill-name{font-size:.9rem;font-weight:600;color:var(--text-1);text-align:center}@media(max-width:768px){.skill-cards{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.skill-card{padding:16px 10px}.skill-icon{font-size:1.7rem}.footer-inner{flex-direction:column}.footer-copy{text-align:center;align-self:center}}@media(max-width:768px){html{-webkit-text-size-adjust:100%;overscroll-behavior-y:none}body,#root{overscroll-behavior-y:none}.hero-name{display:block}.scroll-icon-mouse{display:none}.scroll-icon-fingerprint{display:inline-block}:root{--header-height: 64px}.main-header{padding:0 1rem;backdrop-filter:none;-webkit-backdrop-filter:none}.logo{height:30px}.burger-menu{display:block;color:var(--text-0)}.lang-switch{margin-right:0}.lang-toggle{padding:5px 8px;font-size:.8rem}.lang-menu{min-width:160px}.center-nav{position:absolute;left:0;transform:none;display:none;top:var(--header-height);width:100%;background:#0f121cf5;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid rgba(255,255,255,.06);box-shadow:0 8px 20px #00000059;flex-direction:column;padding:12px 0;z-index:15}.main-header.nav-open .center-nav{display:flex}.center-nav a{padding:12px 16px;text-align:center;width:100%;margin-left:0}.hero{padding:0 1.8rem;text-align:center}.hero:before,.hero:after,.hero-dots{display:none}.hero-inner{justify-items:center}.hero-copy{max-width:100%}.hero-title{white-space:normal}.hero-dots{left:0;top:10px;opacity:.4}.hero-fade{position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(to bottom,rgba(12,16,36,0),var(--bg-0));pointer-events:none;z-index:0}.scroll-hint{bottom:18px}.container,.about,.skills,.projekte{padding:clamp(2rem,7vw,3rem) 6vw;margin:1.8rem auto}.back-to-top{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));width:44px;height:44px}body:before{background:radial-gradient(900px 480px at 10% -10%,rgba(120,212,255,.14),transparent 60%),linear-gradient(180deg,var(--bg-0),var(--bg-2))}.modal-overlay{backdrop-filter:none;-webkit-backdrop-filter:none}}@media(prefers-reduced-motion:reduce),(max-width:768px){html{scroll-behavior:auto}.container,.about,.skills,.projekte,.modal-overlay,.modal-box,.scroll-hint .scroll-arrow{animation:none}.back-to-top,nav a,.social-pill,.skill-card,.github-btn-cancel,.github-btn-confirm,.modal-close,.link-button,a{transition:none}}
