:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#000;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;width:100%;height:100vh;overflow:hidden;background:#000}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.project-popup-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:popupFadeIn .3s ease forwards;pointer-events:all}.project-popup{background:linear-gradient(135deg,#141428f2,#0a0a1efa);border:2px solid rgba(255,255,255,.1);border-radius:20px;padding:40px;max-width:600px;width:90%;box-shadow:0 20px 60px #00000080;position:relative;animation:popupSlideUp .3s ease forwards;opacity:0;transform:translateY(20px) scale(.98)}.popup-close{position:absolute;top:15px;right:15px;width:36px;height:36px;border:none;background:#ffffff1a;color:#fff;font-size:1.5rem;border-radius:50%;cursor:pointer;transition:background .2s ease;pointer-events:all;display:flex;align-items:center;justify-content:center;padding:0}.popup-close:hover{background:#fff3}.popup-header{display:flex;align-items:center;gap:20px;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid}.popup-icon{width:60px;height:60px;border-radius:10px;animation:pulse 2s infinite;display:flex;align-items:center;justify-content:center}.popup-emoji{font-size:2rem;line-height:1}.popup-react-icon{font-size:2rem;color:#fff}.popup-header h2{margin:0;font-size:2rem;font-weight:300;color:#fff;letter-spacing:1px}.popup-content{color:#d0d0d0;line-height:1.8}.popup-content p{margin:0 0 20px;font-size:1.1rem}.popup-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.tag{background:#667eea33;border:1px solid rgba(102,126,234,.4);color:#a8b8ff;padding:6px 14px;border-radius:20px;font-size:.9rem;font-weight:500}.popup-actions{margin-top:30px;display:flex;justify-content:center}.visit-link-button{display:inline-block;padding:15px 40px;font-size:1.1rem;font-weight:600;color:#fff;text-decoration:none;border-radius:30px;transition:all .3s ease;box-shadow:0 4px 15px #0000004d;pointer-events:all}.visit-link-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0006}.popup-footer{margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);text-align:center}.popup-footer p{margin:0;color:gray;font-size:.9rem}.popup-footer strong{color:#667eea;font-weight:600}@keyframes popupFadeIn{0%{opacity:0}to{opacity:1}}@keyframes popupSlideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.contact-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#b0b0b0;font-size:.95rem;font-weight:500}.form-group input,.form-group textarea{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px 15px;color:#fff;font-size:1rem;font-family:inherit;transition:all .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea;background:#ffffff14}.form-group textarea{resize:vertical;min-height:120px}.contact-form button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:15px 40px;font-size:1.1rem;font-weight:600;border-radius:30px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea4d}.contact-form button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.contact-form button:disabled{opacity:.6;cursor:not-allowed}.contact-success{text-align:center;padding:40px 20px;color:#4caf50;font-size:1.2rem}.contact-error{color:#f44336;text-align:center;padding:10px;font-size:.95rem}.popup-close-hint{margin-top:30px;text-align:center;color:gray;font-size:.9rem}@media(max-width:768px){.project-popup{padding:30px 20px;max-width:95%}.popup-header h2{font-size:1.5rem}.popup-icon{width:50px;height:50px}.popup-content p{font-size:1rem}.tag{font-size:.85rem;padding:5px 12px}}.privacy-notice-overlay{position:fixed;bottom:20px;right:20px;z-index:1500;animation:slideInRight .5s ease;max-width:380px;width:calc(100vw - 40px);pointer-events:none}.privacy-notice{background:linear-gradient(135deg,#141428f5,#0a0a1ef5);border:1.5px solid rgba(255,255,255,.12);border-radius:12px;padding:20px;box-shadow:0 8px 32px #00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto}.privacy-content h3{margin:0 0 10px;font-size:1.1rem;font-weight:500;color:#fff;letter-spacing:.3px}.privacy-content>p{margin:0 0 12px;color:#d0d0d0;font-size:.88rem;line-height:1.5}.privacy-details{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;padding:12px;background:#ffffff05;border-radius:6px;border:1px solid rgba(255,255,255,.06)}.privacy-category{display:flex;flex-direction:column;gap:3px}.privacy-category strong{color:#a8b8ff;font-size:.82rem;font-weight:600}.privacy-category p{margin:0;color:#b0b0b0;font-size:.78rem;line-height:1.4}.privacy-actions{display:flex;gap:12px;justify-content:flex-end}.privacy-btn{padding:10px 20px;font-size:.88rem;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;font-family:inherit}.privacy-btn-decline{background:#ffffff14;color:#d0d0d0;border:1px solid rgba(255,255,255,.15)}.privacy-btn-decline:hover{background:#ffffff1f;color:#fff;transform:translateY(-1px)}.privacy-btn-accept{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.privacy-btn-accept:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}@keyframes slideInRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@media(max-width:768px){.privacy-notice-overlay{bottom:10px;right:10px;left:10px;max-width:none;width:auto}.privacy-notice{padding:16px}.privacy-content h3{font-size:1rem}.privacy-content>p{font-size:.85rem}.privacy-details{padding:10px;gap:6px}.privacy-category strong{font-size:.8rem}.privacy-category p{font-size:.75rem}.privacy-actions{flex-direction:column;gap:8px}.privacy-btn{width:100%;padding:10px;font-size:.85rem}}.privacy-policy-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:3000;animation:fadeIn .3s ease;pointer-events:all}.privacy-policy{background:linear-gradient(135deg,#141428fa,#0a0a1efc);border:2px solid rgba(255,255,255,.1);border-radius:20px;padding:40px;max-width:800px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;position:relative;animation:slideUp .4s ease;color:#d0d0d0;line-height:1.7}.privacy-policy-close{position:absolute;top:15px;right:15px;width:40px;height:40px;border:none;background:#ffffff1a;color:#fff;font-size:2rem;line-height:1;border-radius:50%;cursor:pointer;transition:all .3s ease;pointer-events:all}.privacy-policy-close:hover{background:#fff3;transform:rotate(90deg)}.privacy-policy h1{margin:0 0 30px;font-size:2rem;font-weight:300;color:#fff;letter-spacing:1px;padding-bottom:20px;border-bottom:2px solid rgba(102,126,234,.5)}.privacy-policy section{margin-bottom:25px}.privacy-policy h2{margin:0 0 15px;font-size:1.2rem;font-weight:500;color:#a8b8ff}.privacy-policy p{margin:0 0 12px;font-size:.95rem}.privacy-policy address{font-style:normal;background:#ffffff0d;padding:15px 20px;border-radius:8px;border-left:3px solid #667eea;margin:10px 0}.privacy-policy ul{list-style:none;padding:0;margin:15px 0}.privacy-policy li{background:#ffffff08;padding:15px 20px;border-radius:8px;margin-bottom:10px;border-left:3px solid rgba(102,126,234,.5)}.privacy-policy li strong{color:#667eea;font-family:monospace;font-size:1rem}.privacy-policy .note{color:gray;font-style:italic;font-size:.9rem}.privacy-policy-footer{margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);text-align:center}.privacy-policy-footer p{margin:0;color:gray;font-size:.9rem}.privacy-policy-footer strong{color:#667eea;font-weight:600}.privacy-policy::-webkit-scrollbar{width:8px}.privacy-policy::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.privacy-policy::-webkit-scrollbar-thumb{background:#667eea80;border-radius:4px}.privacy-policy::-webkit-scrollbar-thumb:hover{background:#667eeab3}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.privacy-policy{padding:30px 20px;max-width:95%;max-height:90vh}.privacy-policy h1{font-size:1.5rem;padding-right:40px}.privacy-policy h2{font-size:1.1rem}.privacy-policy p{font-size:.9rem}.privacy-policy li{padding:12px 15px}}.impressum-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:3000;animation:impressumFadeIn .3s ease;pointer-events:all}.impressum{background:linear-gradient(135deg,#141428fa,#0a0a1efc);border:2px solid rgba(255,255,255,.1);border-radius:20px;padding:40px;max-width:600px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;position:relative;animation:impressumSlideUp .4s ease;color:#d0d0d0;line-height:1.7}.impressum-close{position:absolute;top:15px;right:15px;width:40px;height:40px;border:none;background:#ffffff1a;color:#fff;font-size:2rem;line-height:1;border-radius:50%;cursor:pointer;transition:all .3s ease;pointer-events:all}.impressum-close:hover{background:#fff3;transform:rotate(90deg)}.impressum h1{margin:0 0 30px;font-size:2rem;font-weight:300;color:#fff;letter-spacing:1px;padding-bottom:20px;border-bottom:2px solid rgba(102,126,234,.5)}.impressum section{margin-bottom:25px}.impressum h2{margin:0 0 15px;font-size:1.2rem;font-weight:500;color:#a8b8ff}.impressum p{margin:0 0 12px;font-size:.95rem}.impressum address{font-style:normal;background:#ffffff0d;padding:15px 20px;border-radius:8px;border-left:3px solid #667eea;margin:10px 0}.impressum ul{list-style:none;padding:0;margin:15px 0}.impressum li{background:#ffffff08;padding:15px 20px;border-radius:8px;margin-bottom:10px;border-left:3px solid rgba(102,126,234,.5)}.impressum li strong{color:#667eea}.impressum li a{color:#a8b8ff;text-decoration:none;transition:color .3s ease}.impressum li a:hover{color:#667eea;text-decoration:underline}.impressum-footer{margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);text-align:center}.impressum-footer p{margin:0;color:gray;font-size:.9rem}.impressum-footer strong{color:#667eea;font-weight:600}.impressum::-webkit-scrollbar{width:8px}.impressum::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.impressum::-webkit-scrollbar-thumb{background:#667eea80;border-radius:4px}.impressum::-webkit-scrollbar-thumb:hover{background:#667eeab3}@keyframes impressumFadeIn{0%{opacity:0}to{opacity:1}}@keyframes impressumSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.impressum{padding:30px 20px;max-width:95%;max-height:90vh}.impressum h1{font-size:1.5rem;padding-right:40px}.impressum h2{font-size:1.1rem}.impressum p{font-size:.9rem}.impressum li{padding:12px 15px}}.ui-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.header{position:absolute;top:20px;left:20px;color:#fff;text-shadow:0 0 10px rgba(0,0,0,.8)}.title{margin:0;font-size:2rem;font-weight:300;letter-spacing:2px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{margin:5px 0 0;font-size:1rem;color:#a0a0a0;font-weight:300}.instructions{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:all;cursor:pointer;animation:fadeIn .5s ease-in}.instructions-content{background:#000000d9;padding:30px 40px;border-radius:15px;border:2px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;text-align:center;max-width:400px}.instructions-content h2{margin:0 0 20px;font-size:1.8rem;font-weight:300;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.instructions-content p{margin:0;line-height:1.8;font-size:1rem;color:#d0d0d0}.instructions-content strong{color:#667eea;font-weight:600}.instructions-content small{display:block;margin-top:20px;color:gray;font-size:.85rem}.permission-button{display:block;margin:20px auto 10px;padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:1rem;font-weight:500;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 4px 15px #667eea66}.permission-button:hover{transform:scale(1.05);box-shadow:0 6px 20px #667eea99}.permission-button:active{transform:scale(.98)}.permission-granted{color:#2ecc71!important;font-weight:500;margin-top:15px!important}.permission-denied{color:#e74c3c!important;font-weight:500;margin-top:10px!important;line-height:1.5}.recalibrate-button{display:block;margin:15px auto 5px;padding:8px 16px;background:transparent;border:1px solid rgba(102,126,234,.6);border-radius:6px;color:#667eea;font-size:.9rem;cursor:pointer;transition:background .2s ease,border-color .2s ease}.recalibrate-button:hover{background:#667eea1a;border-color:#667eea}.recalibrate-button:active{background:#667eea33}.footer{position:absolute;bottom:20px;left:50%;transform:translate(-50%);color:#fff9;font-size:.9rem;text-align:center}.footer-links{margin-top:8px;display:flex;align-items:center;justify-content:center;gap:8px}.footer-link{background:none;border:none;color:#fff6;font-size:.8rem;cursor:pointer;pointer-events:all;padding:4px 8px;transition:color .3s ease}.footer-link:hover{color:#667eeacc}.footer-separator{color:#fff3;font-size:.8rem}.help-button{position:absolute;bottom:20px;right:20px;width:44px;height:44px;border-radius:50%;background:#667eeae6;border:none;color:#fff;font-size:1.25rem;font-weight:600;cursor:pointer;pointer-events:all;transition:background .2s ease,transform .2s ease;box-shadow:0 2px 8px #0000004d;display:flex;align-items:center;justify-content:center}.help-button:hover{background:#667eea;transform:scale(1.05)}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}@media(max-width:768px){.header{top:10px;left:10px}.title{font-size:1.5rem}.subtitle{font-size:.85rem}.instructions-content{padding:20px 25px;max-width:90%;margin:0 15px}.instructions-content h2{font-size:1.5rem}.instructions-content p{font-size:.9rem}.footer{font-size:.8rem;bottom:10px}.help-button{width:40px;height:40px;font-size:1.1rem;bottom:15px;right:15px}}.language-switcher{position:fixed;top:20px;right:20px;z-index:3000;background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:30px;padding:10px 20px;display:flex;align-items:center;gap:10px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.language-switcher:hover{background:#fff3;border-color:#fff6;transform:scale(1.05)}.language-switcher .flag{font-size:1.5rem;line-height:1}.language-switcher .lang-text{color:#fff;font-weight:600;font-size:.9rem;letter-spacing:.5px}@media(max-width:768px){.language-switcher{top:15px;right:15px;padding:8px 15px}.language-switcher .flag{font-size:1.2rem}.language-switcher .lang-text{font-size:.8rem}}*{margin:0;padding:0;box-sizing:border-box}body,html,#root{width:100%;height:100%;overflow:hidden;background:#000}#root{position:relative}
