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{--primary-color:#ff8c42;--secondary-color:#d4a373;--accent-color:#e76f51;--bg-primary-light:#fff;--bg-secondary-light:#f8f9fa;--text-primary-light:#2d3436;--text-secondary-light:#636e72;--card-bg-light:#fff;--border-light:#0000001a;--bg-primary-dark:#1a1a1a;--bg-secondary-dark:#2d2d2d;--text-primary-dark:#fff;--text-secondary-dark:#a0a0a0;--card-bg-dark:#2d2d2d;--border-dark:#ffffff1a;--bg-primary:var(--bg-primary-light);--bg-secondary:var(--bg-secondary-light);--text-primary:var(--text-primary-light);--text-secondary:var(--text-secondary-light);--card-bg:var(--card-bg-light);--border-color:var(--border-light);--font-heading:"Playfair Display",serif;--font-body:"Poppins",sans-serif;--text-color:var(--text-primary);--bg-color:var(--bg-primary)}[data-theme=dark]{--bg-primary:var(--bg-primary-dark);--bg-secondary:var(--bg-secondary-dark);--text-primary:var(--text-primary-dark);--text-secondary:var(--text-secondary-dark);--card-bg:var(--card-bg-dark);--border-color:var(--border-dark)}*{box-sizing:border-box;margin:0;padding:0;transition:background-color .3s ease,color .3s ease}body{background-color:#fff;background-color:var(--bg-primary);color:#2d3436;color:var(--text-primary);font-family:Poppins,sans-serif;font-family:var(--font-body);line-height:1.6;min-height:100vh}.App{overflow-y:scroll;scroll-snap-type:y mandatory}.App,section{height:100vh;position:relative}section{align-items:center;display:flex;flex-direction:column;min-height:800px;padding:80px 5% 0;scroll-snap-align:start;scroll-snap-stop:always}section h2{background:#f8f9fa;background:var(--bg-secondary);border-radius:.5rem;margin-bottom:2rem;margin-top:10vh;padding:1rem 2rem;position:relative;text-align:center;width:auto;z-index:10}.home-section{align-items:center;background:#fff;background:var(--bg-primary);display:flex;flex-direction:column;gap:2rem;justify-content:flex-start;justify-content:center;padding-top:calc(10vh + 80px)}.animated-text{animation:typing 3s steps(9) forwards;border-right:3px solid #ff8c42;border-right:3px solid var(--primary-color);color:#ff8c42;color:var(--primary-color);font-family:Playfair Display,serif;font-family:var(--font-heading);font-size:clamp(3.5rem,11vw,9rem);font-weight:600;margin:0 auto;overflow:hidden;position:relative;white-space:nowrap;width:0}@keyframes typing{0%{width:0}to{width:8.2ch}}@keyframes blink{0%,to{border-color:#0000}50%{border-color:#ff8c42;border-color:var(--primary-color)}}.glitch{position:relative}.glitch:after,.glitch:before{clip:rect(44px,450px,56px,0);animation:glitch-anim 3s linear infinite alternate-reverse;content:attr(data-text);height:100%;left:0;position:absolute;top:0;width:100%}.glitch:before{left:2px;text-shadow:-1px 0 red}.glitch:after{animation-duration:4s;left:-2px;text-shadow:-1px 0 blue}@keyframes glitch-anim{0%{clip:rect(44px,450px,56px,0)}20%{clip:rect(25px,450px,80px,0)}40%{clip:rect(60px,450px,40px,0)}60%{clip:rect(30px,450px,70px,0)}80%{clip:rect(55px,450px,45px,0)}to{clip:rect(35px,450px,65px,0)}}.fade-in{animation:fadeIn .5s ease-out 3s forwards;font-size:clamp(1.5rem,3vw,2rem)}.fade-in,.home-tagline{color:#636e72;color:var(--text-secondary);opacity:0}.home-tagline{animation:fadeIn .5s ease-out 3.4s forwards;font-size:clamp(1rem,2vw,1.25rem);font-style:italic;margin-top:-1rem}.nav-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(#ffffff,.8);background:rgba(var(--bg-primary),.8);left:0;padding:1rem 5%;position:fixed;right:0;top:0;z-index:1000}.nav-header h1{color:#ff8c42;color:var(--primary-color);font-family:Playfair Display,serif;font-family:var(--font-heading);font-size:1.5rem;font-weight:700}.nav-controls{align-items:center;display:flex;gap:2rem}.nav-header ul{display:flex;gap:2rem;list-style:none}.nav-header a{color:#2d3436;color:var(--text-primary);display:inline-block;font-family:Poppins,sans-serif;font-family:var(--font-body);font-weight:500;padding:.5rem 0;position:relative;text-decoration:none;transform-origin:top;transition:color .3s ease}.nav-header a:after{display:none}.nav-header a:hover{color:#ff8c42;color:var(--primary-color)}.theme-toggle{align-items:center;background:none;border:none;border-radius:50%;color:#2d3436;color:var(--text-primary);cursor:pointer;display:flex;font-size:1.5rem;height:40px;justify-content:center;transform-origin:top;transition:transform .3s ease;width:40px}.theme-toggle:hover{animation:swing 1s ease-in-out infinite}.about-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr);margin:2rem 0}.about-stat{background:#f8f9fa;background:var(--bg-secondary);border:1px solid #0000001a;border:1px solid var(--border-color);border-radius:8px;padding:1.25rem;text-align:center}.about-stat__number{color:#e76f51;color:var(--accent-color);display:block;font-size:2rem;font-weight:700}.about-stat__label{color:#636e72;color:var(--text-secondary);display:block;font-size:.8rem;margin-top:.25rem}.about-focus{margin:2rem 0}.about-focus h3{color:#636e72;color:var(--text-secondary);font-size:.8rem;letter-spacing:.1em;margin-bottom:1rem;text-transform:uppercase}.about-focus ul{grid-gap:.5rem 2rem;display:grid;gap:.5rem 2rem;grid-template-columns:1fr 1fr;list-style:none;padding:0}.about-focus ul li{color:#2d3436;color:var(--text-primary);font-size:.95rem;padding-left:1.2rem;position:relative}.about-focus ul li:before{color:#e76f51;color:var(--accent-color);content:"→";left:0;position:absolute}.about-stack{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}.about-badge{background:#f8f9fa;background:var(--bg-secondary);border:1px solid #0000001a;border:1px solid var(--border-color);border-radius:4px;color:#2d3436;color:var(--text-primary);font-size:.82rem;padding:.3rem .7rem}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:3rem}.project-card{background-position:50%;background-size:cover;border:1px solid #0000001a;border:1px solid var(--border-color);border-radius:1rem;color:#2d3436;color:var(--text-primary);overflow:hidden;padding:2rem;position:relative;transition:transform .3s ease,box-shadow .3s ease}.project-card:before{background:#fff;background:var(--card-bg);bottom:0;content:"";left:0;opacity:.9;position:absolute;right:0;top:0;transition:opacity .3s ease}.project-card:hover:before{opacity:.7}.project-card>*{position:relative;z-index:1}.project-card:hover{box-shadow:0 10px 30px #0000001a;transform:translateY(-5px)}.project-links{display:flex;gap:1rem;margin-top:1.5rem}.project-links a{background:#ff8c42;background:var(--primary-color);border-radius:.5rem;color:#fff;font-weight:500;padding:.75rem 1.5rem;text-decoration:none;transition:transform .3s ease}.project-links a:hover{transform:translateY(-2px)}.skills-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);margin-top:3rem;max-width:1200px;padding:0 1rem;width:100%}.skill-category{background:#fff;background:var(--card-bg);border:1px solid #0000001a;border:1px solid var(--border-color);border-radius:1rem;display:flex;flex-direction:column;height:100%;padding:2rem}.skill-category h3{color:#ff8c42;color:var(--primary-color);font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.skill-category ul{display:flex;flex-direction:column;flex-grow:1;gap:.8rem;list-style:none;margin:0;padding:0}.skill-category li{background:#fff;background:var(--bg-primary);border-radius:.5rem;color:#636e72;color:var(--text-secondary);padding:.8rem;text-align:center;transition:transform .3s ease}.skill-category li:hover{color:#ff8c42;color:var(--primary-color);transform:translateX(10px)}.contact-section{background:#f8f9fa;background:var(--bg-secondary);position:relative;text-align:center}.contact-links{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-top:3rem}.contact-links a{background:#ff8c42;background:var(--primary-color);border-radius:.5rem;color:#fff;font-weight:500;padding:1rem 2rem;text-decoration:none;transition:transform .3s ease}.contact-links a:hover{transform:translateY(-2px)}@media (min-width:769px) and (max-width:1024px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.nav-controls,.nav-header{background:#fff;background:var(--bg-primary)}.nav-controls{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center;position:fixed;right:-100%;top:0;transition:right .3s ease;width:100%;z-index:1000}.nav-controls.active{right:0}.nav-header ul{align-items:center;flex-direction:column;gap:2rem;margin:0;padding:0}.theme-toggle{margin-top:2rem;position:static}.menu-toggle{display:flex;position:fixed;right:1rem;top:1rem;z-index:1001}.menu-toggle.active span:first-child{transform:rotate(45deg) translate(8px,8px)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:last-child{transform:rotate(-45deg) translate(7px,-7px)}.App{height:auto;overflow-y:visible;scroll-snap-type:none}section{height:auto;min-height:auto;padding:80px 1.5rem 3rem}#home{min-height:100vh;min-height:100svh}.hero-section{align-items:center;text-align:center}.projects-grid{grid-template-columns:1fr}.contact-links{flex-direction:column}.contact-links a{width:100%}.animated-text{font-size:clamp(2.5rem,8vw,4rem)}.about-stats{grid-template-columns:repeat(2,1fr)}.about-focus ul,.skills-grid{grid-template-columns:1fr}.skills-grid{gap:1.5rem;padding:0 .5rem}.skill-category{padding:1.5rem}.skill-category li{padding:.6rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}section{animation:fadeIn .6s ease-out}.about-section,.contact-section,.projects-section,.skills-section{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}section.visible{opacity:1;transform:translateY(0)}.text-wrapper{display:flex;justify-content:center;width:100%}.animated-text span{display:inline-block}@keyframes swing{0%,to{transform:rotate(0deg)}25%{transform:rotate(3deg)}75%{transform:rotate(-3deg)}}@keyframes swingBack{0%{transform:rotate(0deg)}to{transform:rotate(0deg)}}.string-hover{--random-rotation:2deg;position:relative;transform-origin:top}.string-hover:hover{animation:stringDrop .6s cubic-bezier(.34,1.56,.64,1) forwards}.string-hover:not(:hover){animation:stringRise .6s cubic-bezier(.4,-.56,.265,1.55) forwards}@keyframes stringDrop{0%{transform:translateY(0) rotate(0)}to{transform:translateY(15px) rotate(var(--random-rotation))}}@keyframes stringRise{0%{transform:translateY(15px) rotate(var(--random-rotation))}to{transform:translateY(0) rotate(0)}}html{scroll-behavior:smooth}.menu-toggle{background:#0000;border:none;cursor:pointer;display:none;flex-direction:column;height:25px;justify-content:space-around;padding:0;width:30px;z-index:1001}.menu-toggle span{background:#2d3436;background:var(--text-primary);border-radius:10px;height:3px;transition:all .3s ease;width:100%}.project-card--modeltool{background-image:url(/static/media/modeltool.78562b50bb22c2daf738.png)}.project-card--bms{background-image:url(/static/media/typo3.e2e95d3a8a5435dfb7e5.png)}.project-card--tagbar{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASYAAAAsCAYAAADIKBUIAAAACXBIWXMAACE4AAAhOAFFljFgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABLFSURBVHgB7V1dfhNHEq/u0e7Txpb3ABuZC4D3AIvgObGRgH3c2DkAYA4Adg7ARw4AIo8bbNlmn0HkALG5QKzsBSSbfYume6t6WmI00zPT86HRyPb/9xuEpfno6Y/qqn9VVzPQ6HYHdfxo4FEHO5y0WitDmxPx3g19b1tY3zvhufQuN6A6yPxe+C70HrZt08fn9KEiwLLTR0P/Se+g6mDWZdTPLaoPUJmH86xX/T6mftAvqS7T9MEgUtUfUw89On8uAR5BSuDFnaHrbm9FDDYSSMJxXuN5TUgJxthO69uvdiEH9t99PgYpqyOYJDtpb3y1Binx9vCswxn7LsUlwzPXXd0qQLinxUQI1WobVPdSyiY2ZiPyAilPJGN9fL8ejEaHRQ0wXY5V6Ti/QvbBZAaVGeAjF+JFWYJqr3tOH1vMgVeGnyW2919n1d7dd5/p4xG25XPIjyHW3QnjvNP+5i9vok7i+NCnWYQSAa/bXOI88tqsQkndW8od7FxNyAMhi+2QecGylQcH7U1Ih/qSwzehJJAQIO2U+hK2+QcUBqfYfi+of8QKJQJjN7CP3FHn43X7h2e/7v/nf2mEsBEj72hA0UKJQGVm7CGVFyf119oimClYDZ9YYw+ifo4bh3khhWB4FDXB15VMEKKzf3T+W1Rbc+wQm5AD1ECm78n0yCqUxpCczayyFwU/e8K5AanBNmDGGAsk1I6eamG0k7fNsUOtJXXaKoGEL777+1kKJ6pnNho14rR/HIf/gsXDKrX13tH5/muPdpmAQ6ZOPwXjjDQqYKaSjC/DJQeqvJuQASQggo1dJLSpdAsH5TEJJCheM1GdFjWSV7N8j4KgTMZZCSeXc4bH04TTGrktjDkB+2prmfP3/u9qcIVKI4MZN4E2515AwUBhQdzks6wUQBrgM7aWHaeJg+52UXwO3rOHM3If0qEuSWOJNk1XJOf7+Pl3KBjYB+gjqR8wwTlpyT0oC8i1oaZ2Ynk21V+DzGDjr6gpY7961lpfekx/1hIe3Pdd2IArlIrsZtwYypwrVDCh2s0EwCtG/FF5WNXmUhHCaXB3fekWZIDWEteQR3tmNFlx0O0dnT26u75cWJ1jHwDXdZuO4zSSzkUh8R1ql7slOT0kE2Ib26Nne8HYMYICfAcMzhya6PCcI7onj3hmn6FXp72xPDnob9Bu3lwgKeu6K+31JTY+sOIzdZSLjqxm3OT6gs050pSww+yXLJTGUMKpgPfJ3IdxwNBBnt7bOPu/NJzCmOSFcj3YBxge4UEs5a6hDPVl/ufMGvasoeuvr3g5LL/hFIZC/wn9xyyYpPwUnJnU31IeQk5IBm+CsTz3SerK1Kr1hUceM26MorxzPvPtDswPq0uO8wrmjLsbyxJF0LY0mU1M3iiKayINwxGijv0g4MiQp1yIHTx2Q09n7kOoOLD+6MMkWNVkSvVnFEwoogcwM7DSY2sqAymt310HVDYgN4rxzgkXZ7kSOKUkUGhBFbx1wnUlHj8Yf0NODAqAAIcOmgj8WqLEdviRtA98zjAoHGft9CgKKFSlFqyhMSEcfudCk99MuC0kBK1neGzUjUhyzgQv0M5ai8SGOLA9F8u9ySA/xh01D+9AM5h04AlkhCKbmTwQI3EmNOlcq/HrqD43s2lgAuYN1PJh/+i8B97A8gsCBkTyFgFHBUCHTEPujvsRySg4wkc2/b/PyulRJEiw7h2eDfAVXiI35vc4ojksbxoFk5RiBWaG8oIe8eXJY2DrNYC3R+cnqEJ2bc+XjL1EIrUDMwBjxcUh5e2o6Kre4Rm0NwqapFmxbRaKPRR4L3HkNZQQnu6c5vvhNail7N5ftydcZwrPW9YPxheh6fU3yAlFFLsuTgjT2hfVQVvTLCig6KMjPV5mPK6wUGwdKi6YCEKo8n9EYn/6B8avmzkmxm8G7WT1dwGcB5kWQVVTxV+wIsyWfJCuWwkz09aMUzY6am2QiOxCTtn76ZbDAHEg5NBALmE7bm3gmAwlvgQ9INemvMCm+6E37X6rIkIJVP3TETZFpPwv5IQ245rBR6L3YbKMw2fOTfUBzdM0oeKoeYep/9ajTLm6Wh5wdD75QkIxoEpbdpzBLO59UWBlxqFAwoH/iEIKcMb5EHdqHnNOa0spIE+ZK27fT+HWpwGGA+kU3c+3JQXaTUJT5ADVj+32N8tvYHGAxHh+7zXzzLiQ+cz+cD/6/yauCz9+cKY1K4ppor97UGG0PHPYVFf1dH3uCqXAxoyjRaT0qWecxIGQ1TvHU5mUnlDKEmtEnRRBwqmtuDt0J+O9rrW/WaqsUGLeEeIk0cSypg9MUEtQXDesNUsRWuTs0zqm+gD2oah1dQuBK8FUMdiacWMinUwlacWjpTfnkHMLeoTiIFGK7eYJgBzHCbU3ltdQG9xpzSE7gi3GgY8Qqh/Zb+U0N/USlKDbX4LDQ84TZc5xPkRBHhTg9aqbcz4BHMSQBFPexjdeX4OruKQsEFZBlcHOnxxflsWNzChliS1Qy6mydlM00HRijiGmigHrQU7QEhRDDNswqn6RRJZ4HIaK4jiVXtirebSQYKKJlkdEsFrDIKkVdIRnD3IAib4OXDLYmHHBzo+mQwcskNqcY+y65Zk4m7Nc/WiRQMGmKOifQUizlacQEdtkC9RSKRjiTvDe+LzIUBMKXUAh2YOAkkChGJWOaSIezYH10PdSfuKkMmcVTuh9eEMEbNTv3HW3sgknieaJ3L5MMzDB3hs33Um1OdeDRKQz51KkMBkuUFtlHqg6zUsTBcd7Q7CpFK54nHstn5QUBxVsJ4kC76f4yxRCS1TKzMuVBlSXKB9ULq7AT5ImXuWVI+GCJ+5AukYb3kvgAHQj3coQoj9sV5hfmBVsgyrPxLRnRkHKj6jhNOOuS+OdU0GVYAkpPibez8uC+LCwjKKum5XPWtk//HzMmE2YxRcI8lR7groebiM5wMH0GMfDAeSAil0SgmKXAuEZybxVRExQJWOafNlF98O/yj5yjIeTcAFNNM5EGFQp/3SVYemN65kEC3bMHnbKxCDFJUctcehAMqwnKfSPf0o8hzSBAgeI5Px3/NiBLGDyhkyZBzx6wlCeyLYO5s0F4lwQTRZ6djJvRebc3tF5j/qHX9MtIvK/SPjyeBE/1wj8rBwo9J8rr1xFYGvGRfFuOvDQpvNZBUuO0njjGOvDJQWa1T8VIZQUPM4lSFiTGfej1fVexGdQe51V2l0i19dtTtQmcONtd3BHp16mpHCN8JmoLWlK4CpRXEVAa/pszLhggJ0f5IiISnU8uR41hSrNoIsOSmmLg66T1yqIWoKizTgrwcc9c+6lDGjOOu3uDhQM1M6294/Oty3O88oXf9aAYuDA6twrlAbmZR+MB7rk4waAsFskXNfmXGKRwBoV2/ShXBBX8httxAA5gBMTHUFtVmUSAEtEZRyAyqfd9YSSv29faUwVgCKaLUjhcbR3FCgCWIZXu5tAA6AD0eWhj74l+Y1eJPgaFgfSdd3baePsaMcVRkslKFtFeO0gw/Z7SgR/1i3HUKuhiSBkZn/JJGALY8aB8tPuWgIL+wHf8XtTRLu3/xvaoZwx6+T/QsqzpH21sKEeCi9ILzRQ8FkH2IjGMIW33fM76FzYyOF5WShQ/hkb9SQpbQo5MIgAZQmpRCzNOXtTzz7eqQroZ1wI3Kd/cKxQG+yq/N7TKXI84dQdfEwb+R2VPtefScAWvowDz/zfl5x2NwFyiIT+wch130S1Rc3LteMcM88dag0S8HjdQ7z+lqkhaHEppb2IGnC0EaJuxJD9zB3oqrJwRguobMyOhQZjqMLLxNofWnV4Fw6RQE2qs3qcd04trjw8H6qsohZZHy4TbzVe04cTAG068D4Q68W0t+kapAClz4WwtjSVSSBN+fa8hbG9QNnqdc8T2YPCIPsxHsO6MdeWFAftjXoLElDTm1Jm5giER7T1IAN0ErcpwUTeqfEQvQzbN9macfpcOi9+8NfY11JaTTGx5pz0ZpQTZpeHqW6Z88nGzFwIcG9Vf5v4JZh+pwZl2IzbZTZ0Ly+vU4hjjHN0xMJVfPNPOEE1/bfT+bR7UAwk8kJbUZPl3uEZvdTzoDPGdkzXUkT3GpHnekoOhtKdkkJNBpu8BBqSH7ZmHHipaI4Tz7ITShZajrrRL3imFVGOM+cDvF8n6n7MG8hro3hBR+vPKOiu8sIrLgOjFIKEvpVgoq2/pQubzAm8c4KjIw4cJROiJ2E6AVuZMU2UOhfI5PWCRev+MtgI7rmT38SHpDEhLxoszbhZINac01zFQZCriMFq3ZuRH5t+1CZQH2JIZ9oaSnpaWhMWANo9/ybknk8jALy8S+F4IMbWsD66PGPQs/DI+hDKSrsbJ7jRffwc6+cwrn6uvHJzRBozbkag+JaO6QfNVfQhzFVEgtaPve0Ofsm7NGNRoBOd9U2/1T3N8CTuel/sklErzTNps8ivy1uiQruh7B+e7aJw+i6wL+VK3CRGiIxjYsTs0yJcfUBEFoErZAeZcTBHjM25yBPI/EpYPBq8JUfylyJ84bJAqqMf/Br5nMQJJyJ97kxRdtpdF006PL4Pfk+T2L89ztQI82YE5KZcX9oKfN3BGfTrRVGzFwFzNOPGiDXn7irv3FkHy/gkxU7MKyic9rvvPu/CaPTGhicZL+oEb9+6JiwSPNWkARnAaor1flByHyg17W7UGj7w+ESiCW6bruMRX/ZN3zMpf4crFAKVcWG+ZhyBBkZsMjGdhOwxpLwvmqg7aKJ86B6dv+4aZka9fqqutCvH6ZJ3a9EcHzoDY8P0G5Jlg8RrR6O59IGy0+6SBxOPkNZEgipKu54Lx0R5Y1SIQurdNy4OUnjjZook79w9b8Y7kCm4Jh8odcomCp5NlXReyr5kbIhSi2JcqP3VjquL6vyIygZAYMKNncRdL3bpaVgzkKcjV7T/VFCmD/TPrfFwehGVdrdV0o4zmgg/BcrjHiDCsWzPsP+FMmaULpiIu2rr5HL77z5fr4DWMBdUwIwbo56UCkXH7Hw/vYNJ+udQpLQaxCy3SMaiwAx3i7ZD1E4m4AXDxhLfOnbpZuBrlfbjn+sFZSsA5en83WRG6bS7PSgJvgXGFNfk5zVXdfaDnanzTTeJ8hTJFEtWoiD8672ESMzjcxFRETNujERzbmoHkxnl7EoDypza+nZ5rql8aV2cnv0boR8TEuf5NjJoBH/LHFQZBQq2dCHkwCg77a63wBgGWJhQ6mGsxyfBZJJmjQlnNuIGhI9Tkl5cRKEcAHb0HSTi+lG/o5TtwAUEeWLsdAbZF67YlhmFAUeS02aHW2axpETv/XaMnMptnU9nLkGQ2Cc79zaWt2BO0ER9HSeWp4b0ugT8mnfi7hGxBCXT2rgk6GBLNMUV0exvs3rZW4nfXVe0wAt8z/WgBie8pTwTIjzSlCNugPlU7lnwIdpjswOXDY5dsjZah5QnJggH0SeD6mxC3Saz5ZRw8haxNqBE0F5zKJR2IB8a3e7nJsCoDynh0lqzWu06loMEUkSdeqlho+6h0+fWw+lzs62NS4Lmd4jfC+bqYjoHfGmCiRCxQeckjGHMe13lYyoZpLJak8ium6ujmraPjkCiOTeGNuuOaddcu+3Ji4AcYIdu3c0vlAhMOpKyKJ6mPTh5D9HbCNFCaSrZmQk6dsloeZz94SZuw5UFEds7ZdrSKy8ofADrUYUPBH5SC6DH5Zm7YNrrDjaD9uXYjVzprWcyIk1AXX6vCbHr8sjmzMRgS5gqFx2n2NvXdPBtH2YElaHCFdeqH00eTnZmhDl9rnIKzWoNW9T2ToQZpd2NhS98IFieMREOXOZl5nPMmshjPWeO85oWp/oHBf1Ns9MyZx24aLA042g7aMgJWu+WItGYbWbLCSgAE2e2DmpPt8jMKlJA0UBFgvgWaknbVd6R18Nka/TEJSg4IE0ac9oI+9SI2N5pnHa3VOjdg08jyvOAFBWOFUU5ezM2vBxipzQSkbWIe/oDz8QXr0RwplZ/Vz3tSVIQXRCkCVqbcQ7vQk5QB5Dc6ZuWTBiAFAf8A1JCa099MrPQXFglk0stX0otpKRKCcuYfIQc1kprfWnrfg6NsQbRfbAw4KRMArm9vnzNJi+3cHjEMqT824onPhvd9XiYPH6NbszSkFmBwgfwIMEUbCNS757UqEKxYGsZM1h2ohqEvt87Otvm8CW7IXn57vqIQSUUkQcRID/51Vjs3Fuoem5gB92FEkGpabGML63rQbipwh1UhsnDM7v7F+Q2FkKRjdtUn0nnooZiZfZF4Z7HP5GGdqC9Vzdc8uZyfgPf+evg+dSHsIAn3OPB+kXuJahJ32MK6jM9OytUv+dwCiPxMe3uKDpjwwfs852pewLMPGzmvlcfH6S5PmLrnXkpTF5guf2BdzKPMKX2+bk7oLiJVi3gCKB++H8NFo/8K1LG0QAAAABJRU5ErkJggg==);background-position:50%;background-repeat:no-repeat;background-size:calc(100% - 20px) auto}.project-card--qrtool{background:linear-gradient(135deg,#ff8c4226,#e76f5126);border-color:#ff8c424d}.project-card--aitool{background:linear-gradient(135deg,#5a9e601f,#3498db1f);border-color:#5a9e604d}.contact-form{display:flex;flex-direction:column;gap:.75rem;margin:1.5rem auto 0;max-width:480px;width:100%}.contact-form input,.contact-form textarea{background:#fff;background:var(--bg-primary);border:1px solid #0000001a;border:1px solid var(--border-color);border-radius:.5rem;color:#2d3436;color:var(--text-primary);font-family:Poppins,sans-serif;font-family:var(--font-body);font-size:.95rem;padding:.75rem 1rem;resize:none;transition:border-color .2s ease;width:100%}.contact-form input:focus,.contact-form textarea:focus{border-color:#ff8c42;border-color:var(--primary-color);outline:none}.contact-form button{align-self:flex-end;background:#ff8c42;background:var(--primary-color);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-family:Poppins,sans-serif;font-family:var(--font-body);font-size:.95rem;font-weight:500;padding:.75rem 1.75rem;transition:transform .2s ease}.contact-form button:hover{transform:translateY(-2px)}@media (max-width:768px){.contact-form{max-width:100%}.contact-form button{align-self:stretch}}.lang-switcher{align-items:center;display:flex;gap:2px;margin-left:auto}.lang-btn{background:none;border:1px solid #0000;border-radius:4px;color:#636e72;color:var(--text-secondary);cursor:pointer;font-family:Poppins,sans-serif;font-family:var(--font-body);font-size:.7rem;font-weight:600;letter-spacing:.05em;padding:3px 6px;transition:color .2s ease,border-color .2s ease}.lang-btn.active,.lang-btn:hover{border-color:#ff8c42;border-color:var(--primary-color);color:#ff8c42;color:var(--primary-color)}@media (max-width:768px){.lang-switcher{margin-top:1rem}}.audio-toggle{background:#ff8c42;background:var(--primary-color);border:none;border-radius:50%;bottom:2rem;color:#fff;cursor:pointer;height:40px;position:fixed;right:2rem;transition:transform .3s ease;width:40px;z-index:1000}.audio-toggle:hover{transform:scale(1.1)}.crawler-section{background:#f8f9fa;background:var(--bg-secondary);overflow:hidden}.crawler-container{display:flex;flex-direction:column;height:calc(100vh - 200px);margin:0 auto;max-width:1200px;overflow:hidden;width:100%}.crawler-controls{background:#f8f9fa;background:var(--bg-secondary);padding:2rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.crawler-content{grid-gap:2rem;display:grid;flex:1 1;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));height:calc(100vh - 200px);overflow-y:auto;padding:1rem 2rem}.crawler-content::-webkit-scrollbar{width:8px}.crawler-content::-webkit-scrollbar-track{background:#f8f9fa;background:var(--bg-secondary)}.crawler-content::-webkit-scrollbar-thumb{background:#ff8c42;background:var(--primary-color);border-radius:4px}.crawler-content::-webkit-scrollbar-thumb:hover{background:#e76f51;background:var(--accent-color)}.crawler-error{margin:0 2rem;position:-webkit-sticky;position:sticky;top:180px;z-index:9}.crawled-item{background:#fff;background:var(--bg-primary);border-radius:1rem;box-shadow:0 4px 6px #0000001a;padding:1.5rem;transition:transform .3s ease}.crawled-item:hover{transform:translateY(-5px)}.crawled-item img{border-radius:.5rem;height:auto;margin-bottom:1rem;width:100%}.crawled-item p{color:#2d3436;color:var(--text-primary);line-height:1.6;margin-bottom:1rem}.source-url{color:#636e72;color:var(--text-secondary);display:block;font-size:.8rem;margin-top:1rem}@media (max-width:768px){.crawler-controls{flex-direction:column}.crawler-content{grid-template-columns:1fr}}.crawler-error{background:#e74c3c1a;border-radius:.5rem;color:#e74c3c;margin-bottom:1rem;padding:1rem;text-align:center}.crawler-button:disabled{cursor:not-allowed;opacity:.7}.crawled-h1{font-size:1.8em;font-weight:700}.crawled-h2{font-size:1.5em;font-weight:700}.crawled-h3{font-size:1.3em;font-weight:700}.crawled-p{font-size:1em}.reddit-post{border-left:4px solid #ff8c42;border-left:4px solid var(--primary-color);margin-bottom:1rem;padding:1rem}.reddit-post h3{color:#2d3436;color:var(--text-primary);font-size:1.2rem;margin-bottom:1rem}.reddit-link{align-items:center;color:#ff8c42;color:var(--primary-color);display:inline-flex;font-weight:500;gap:.5rem;text-decoration:none}.reddit-link:hover{text-decoration:underline}.video-container{border-radius:.5rem;height:0;margin-bottom:1rem;overflow:hidden;padding-bottom:56.25%;position:relative}.video-container iframe{border:none;height:100%;left:0;position:absolute;top:0;width:100%}.product-card{background:#fff;background:var(--bg-primary);border-radius:1rem;display:flex;flex-direction:column;gap:1rem;overflow:hidden;transition:transform .3s ease}.product-card:hover{transform:translateY(-5px)}.product-image{height:200px;object-fit:cover;width:100%}.product-info{padding:1rem}.product-price{color:#ff8c42;color:var(--primary-color);font-size:1.5rem;font-weight:700;margin:.5rem 0}.product-description{font-size:.9rem;line-height:1.4;margin:.5rem 0}.product-description,.product-sku{color:#636e72;color:var(--text-secondary)}.product-sku{font-size:.8rem;margin-top:.5rem}.product-meta{align-items:center;border-top:1px solid #0000001a;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;margin-top:1rem;padding-top:1rem}.platform-badge{background:#ff8c42;background:var(--primary-color);border-radius:.3rem;color:#fff;font-size:.8rem;padding:.2rem .5rem}.view-source{color:#ff8c42;color:var(--primary-color);font-size:.9rem;text-decoration:none}.view-source:hover{text-decoration:underline}.product-link-card{align-items:center;background:#fff;background:var(--bg-primary);border-radius:.5rem;display:flex;justify-content:space-between;padding:1rem}.demo-button,.github-button{background:#e76f51;background:var(--accent-color);border:none;border-radius:4px;color:#fff;color:var(--bg-color);cursor:pointer;font-size:14px;margin:0 8px;padding:8px 16px;transition:all .3s ease}.demo-button:hover,.github-button:hover{box-shadow:0 2px 8px #0003;transform:translateY(-2px)}.github-button{background:#2d3436;background:var(--text-color)}.legal-links{align-items:center;bottom:20px;display:flex;font-size:.8rem;gap:10px;justify-content:center;left:0;position:absolute;right:0}.legal-links a,.legal-links span{color:#888;text-decoration:none;transition:color .2s ease}.legal-links a:hover{color:#ff8c42}[data-theme=dark] .legal-links a:hover{color:#5a9e60}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}.App{scroll-snap-type:none}}.modeltool-page{margin:0 auto;max-width:1200px;padding:2rem}.back-button{border:1px solid var(--text-color);border-radius:4px;color:var(--text-color);display:inline-block;margin-bottom:2rem;padding:.5rem 1rem;text-decoration:none}.back-button:hover{background-color:var(--text-color);color:var(--bg-color)}.image-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);margin:2rem 0;padding:0 2rem}.image-container{aspect-ratio:16/9;border-radius:8px;box-shadow:0 4px 12px #0000001a;overflow:hidden;transition:transform .3s ease}.image-container:hover{transform:translateY(-5px)}.grid-image{cursor:pointer;height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.grid-image:hover{transform:scale(1.05)}.description-section{line-height:1.6;margin:2rem 0}.description-section h2{margin-bottom:1rem}.description-section ul{margin:1rem 0;padding-left:1.5rem}.description-section li{margin-bottom:.5rem}.demo-section{border-top:1px solid #ffffff1f;margin:3rem 0 2rem;padding-top:1.5rem}.demo-section__header h2{margin-bottom:.25rem}.demo-privacy-note{color:var(--text-secondary);font-size:.8rem;margin-bottom:1rem;opacity:.75}.demo-section__subtitle{line-height:1.5;margin:0 0 1.25rem;opacity:.85}.demo-card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0a;border:1px solid #ffffff24;border-radius:10px;padding:1rem}.demo-card__row{grid-gap:.75rem;align-items:center;display:grid;gap:.75rem;grid-template-columns:70px 1fr auto}.demo-label{font-size:.9rem;opacity:.9}.demo-input{background:#0003;border:1px solid #ffffff2e;border-radius:8px;color:var(--text-color);outline:none;padding:.65rem .75rem;width:100%}.demo-input::placeholder{opacity:.7}.demo-button{background:#ffffff14;border:1px solid #ffffff2e;border-radius:8px;color:var(--text-color);padding:.65rem .9rem}.demo-button:disabled,.demo-input:disabled{cursor:not-allowed;opacity:.55}.demo-card__row--results{grid-template-columns:1fr;margin-top:1rem}.demo-results{background:#00000026;border:1px dashed #ffffff38;border-radius:8px;min-height:120px;padding:.9rem}.demo-results__hint{line-height:1.5;margin:0;opacity:.8}.demo-results__hint--error{color:#ffb4b4;opacity:1}.demo-model-grid{grid-gap:.9rem;display:grid;gap:.9rem;grid-template-columns:repeat(3,minmax(0,1fr))}.demo-model-card{background:#ffffff0a;border:1px solid #ffffff24;border-radius:10px;overflow:hidden}.demo-model-card__img{aspect-ratio:3/4;background:#0000002e;width:100%}.demo-model-card__img img{display:block;height:100%;object-fit:cover;width:100%}.demo-model-card__img--placeholder{background:repeating-linear-gradient(135deg,#ffffff14,#ffffff14 10px,#ffffff08 0,#ffffff08 20px);height:100%;width:100%}.demo-model-card__meta{padding:.75rem .8rem .9rem}.demo-model-card__name{font-weight:600;margin-bottom:.35rem}.demo-model-card__data{display:flex;flex-wrap:wrap;font-size:.85rem;gap:.35rem .6rem;margin-bottom:.5rem;opacity:.85}.demo-model-card__data span{background:#0000001f;border:1px solid #ffffff1f;border-radius:999px;padding:.15rem .45rem}.demo-model-card__actions{align-items:center;display:flex;gap:.75rem;margin-top:.5rem}.demo-model-card__link{border-bottom:1px solid #ffffff2e;color:var(--text-color);opacity:.85;text-decoration:none}.demo-model-card__pdf-button{background:#ffffff14;border:1px solid #ffffff2e;border-radius:6px;color:var(--text-color);cursor:pointer;font-size:.85rem;padding:.4rem .7rem;transition:all .2s ease}.demo-model-card__pdf-button:hover:not(:disabled){background:#ffffff1f;transform:translateY(-1px)}.demo-model-card__pdf-button:disabled{cursor:not-allowed;opacity:.5}.modal{align-items:center;background:#000000e6;bottom:0;cursor:pointer;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{max-height:90vh;max-width:90%;position:relative}.modal-content img{border-radius:4px;height:100%;object-fit:contain;width:100%}.models-list-section{border-top:1px solid #ffffff1f;margin:3rem 0 2rem;padding-top:1.5rem}.models-list-section__header h2{margin-bottom:1.25rem}.models-list{display:flex;flex-direction:column;gap:1rem}.models-list-item{grid-gap:1rem;background:#ffffff0a;border:1px solid #ffffff24;border-radius:10px;display:grid;gap:1rem;grid-template-columns:120px 1fr;padding:1rem;transition:transform .2s ease,box-shadow .2s ease}.models-list-item:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.models-list-item__img{aspect-ratio:3/4;background:#0000002e;border-radius:8px;overflow:hidden;width:100%}.models-list-item__img img{display:block;height:100%;object-fit:cover;width:100%}.models-list-item__img--placeholder{background:repeating-linear-gradient(135deg,#ffffff14,#ffffff14 10px,#ffffff08 0,#ffffff08 20px);height:100%;width:100%}.models-list-item__content{display:flex;flex-direction:column;gap:.5rem}.models-list-item__name{font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.models-list-item__data{display:flex;flex-wrap:wrap;font-size:.9rem;gap:.5rem 1rem;opacity:.85}.models-list-item__data span{background:#0000001f;border:1px solid #ffffff1f;border-radius:999px;padding:.2rem .5rem}.models-list-item__actions{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}.models-list-item__link{align-self:flex-start;border-bottom:1px solid #ffffff2e;color:var(--text-color);opacity:.85;text-decoration:none}.models-list-item__link:hover{opacity:1}.models-list-item__pdf-button{background:#ffffff14;border:1px solid #ffffff2e;border-radius:6px;color:var(--text-color);cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s ease}.models-list-item__pdf-button:hover:not(:disabled){background:#ffffff1f;transform:translateY(-1px)}.models-list-item__pdf-button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:400px){.demo-model-grid{grid-template-columns:1fr}}@media (max-width:768px){.image-grid{padding:0 1rem}.demo-card__row,.image-grid{grid-template-columns:1fr}.demo-model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.models-list-item{gap:.75rem;grid-template-columns:80px 1fr}.models-list-item__name{font-size:1rem}.models-list-item__data{font-size:.85rem;gap:.35rem .75rem}}.tech-doc-section{margin:0 auto 3rem;max-width:860px;padding:0 1rem}.tech-doc-section h2{color:#ff8c42;font-size:1.6rem;margin-bottom:2rem}.tech-doc-block{border-left:3px solid #ff8c42;margin-bottom:2rem;padding:.25rem 0 .25rem 1.25rem}.tech-doc-block h3{color:#ff8c42;font-size:.85rem;letter-spacing:.08em;margin:0 0 .6rem;text-transform:uppercase}.tech-doc-block p{color:#bbb;font-size:.95rem;line-height:1.75;margin:0}.tech-doc-block strong{color:#e0e0e0}.lebenslauf-page{background:#f5f5f5;min-height:100vh;padding:20px}.back-button{background:#ff8c42;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;margin-bottom:30px;padding:10px 20px;transition:all .3s ease}.back-button:hover{background:#1a3d1e;transform:translateY(-2px)}.lebenslauf-controls{display:flex;flex-wrap:wrap;gap:30px;justify-content:center;margin-bottom:40px}.address-selector{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:10px;padding:15px}.address-btn{background:#f0f0f0;border:none;border-radius:8px;color:#666;cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px;transition:all .3s ease}.address-btn:hover{background:#e0e0e0}.address-btn.active{background:#ff8c42;color:#fff}.download-buttons{display:flex;gap:10px}.download-btn{background:#ff8c42;border:none;border-radius:8px;box-shadow:0 4px 12px #2c55304d;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:12px 24px;transition:all .3s ease}.download-btn:hover:not(:disabled){background:#1a3d1e;box-shadow:0 6px 16px #2c553066;transform:translateY(-2px)}.download-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.cv-container{background:#fff;box-shadow:0 0 20px #0000001a;display:flex;margin:0 auto;max-width:1200px;min-height:100vh}.cv-left{background:linear-gradient(135deg,#ff8c42,#1a3d1e);color:#fff;min-height:100vh;padding:40px 30px;width:35%}.cv-right{color:#000;padding:40px;width:65%}.profile-section{margin-bottom:40px;text-align:center}.name{font-size:28px;font-weight:700;margin-bottom:5px}.title{color:#b8d4ba;font-size:18px;margin-bottom:20px}.summary{background:#ffffff1a;border-radius:10px;font-size:14px;line-height:1.5;padding:20px}.cv-section,.summary{margin-bottom:30px}.cv-section-title{border-bottom:2px solid #4a7c59;font-size:18px;font-weight:700;letter-spacing:1px;margin-bottom:15px;padding-bottom:5px;text-transform:uppercase}.contact-info{font-size:14px}.contact-info p{margin-bottom:8px}.skills-list{list-style:none;padding:0}.skill-item{margin-bottom:15px}.skill-name{font-size:14px;margin-bottom:5px}.skill-bar{background:#fff3;border-radius:4px;height:8px;overflow:hidden}.skill-progress{animation:fillBar 2s ease-in-out;background:linear-gradient(90deg,#4a7c59,#6ba86b);border-radius:4px;height:100%}@keyframes fillBar{0%{width:0}}.skill-item:first-child .skill-progress{width:95%}.skill-item:nth-child(2) .skill-progress{width:88%}.skill-item:nth-child(3) .skill-progress{width:95%}.skill-item:nth-child(4) .skill-progress{width:90%}.skill-item:nth-child(5) .skill-progress{width:95%}.skill-item:nth-child(6) .skill-progress{width:90%}.skill-item:nth-child(7) .skill-progress{width:80%}.skill-item:nth-child(8) .skill-progress,.skill-item:nth-child(9) .skill-progress{width:95%}.skill-item:nth-child(10) .skill-progress{width:85%}.skill-item:nth-child(11) .skill-progress{width:90%}.skill-item:nth-child(12) .skill-progress{width:95%}.skill-item:nth-child(13) .skill-progress{width:80%}.skill-item:nth-child(14) .skill-progress{width:75%}.skill-item:nth-child(15) .skill-progress{width:80%}.languages{font-size:14px}.language-item{display:flex;justify-content:space-between;margin-bottom:8px}.main-title{color:#ff8c42;font-size:32px;font-weight:700;margin-bottom:30px;text-align:center}.education-item,.experience-item{border-bottom:1px solid #eee;margin-bottom:30px;padding-bottom:20px}.education-item:last-child,.experience-item:last-child{border-bottom:none}.job-subtitle{color:#888;font-size:13px;font-style:italic;margin-bottom:5px;margin-top:-3px}.degree-title,.job-title{color:#ff8c42;font-size:20px;font-weight:700;margin-bottom:5px}.company,.institution{color:#666;font-size:16px;margin-bottom:5px}.duration{color:#888;font-size:14px;font-style:italic;margin-bottom:10px}.details,.responsibilities{list-style:none;padding-left:0}.details li,.responsibilities li{font-size:14px;line-height:1.5;margin-bottom:8px;padding-left:20px;position:relative}.details li:before,.responsibilities li:before{color:#4a7c59;content:"▶";font-size:12px;left:0;position:absolute}.section-header{border-bottom:3px solid #4a7c59;color:#ff8c42;font-size:24px;font-weight:700;letter-spacing:1px;margin:30px 0 20px;padding-bottom:10px;text-transform:uppercase}.additional-info{margin-top:30px}.additional-section{margin-bottom:25px}.additional-section h4{color:#ff8c42;font-size:16px;margin-bottom:10px}.additional-section p{color:#666;font-size:14px;margin-bottom:5px}@media (max-width:768px){.cv-container{flex-direction:column;min-height:auto}.cv-left,.cv-right{padding:20px;width:100%}.cv-left{min-height:auto}.lebenslauf-controls{flex-direction:column;gap:15px}.address-selector,.download-buttons{justify-content:center;width:100%}.main-title{font-size:24px}}.bms-page{color:var(--text-primary);margin:0 auto;max-width:1200px;padding:2rem}.bms-back-button{background:none;border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;display:inline-block;font-size:.95rem;margin-bottom:2rem;padding:.5rem 1rem;transition:background-color .2s ease,color .2s ease}.bms-back-button:hover{background-color:var(--text-primary);color:var(--bg-primary)}.bms-page h1{color:var(--primary-color);font-size:clamp(1.6rem,4vw,2.4rem);margin-bottom:.25rem}.bms-meta{color:var(--text-secondary);font-size:.9rem;margin-bottom:2.5rem}.bms-description{line-height:1.7;margin-bottom:3rem}.bms-description h2{color:var(--primary-color);font-size:1.3rem;margin-bottom:1rem}.bms-description p{color:var(--text-primary);margin-bottom:1rem}.bms-description ul{display:flex;flex-direction:column;gap:.5rem;padding-left:1.5rem}.bms-description li{color:var(--text-secondary);font-size:.95rem;line-height:1.55}.bms-section{border-top:1px solid var(--border-color);margin:3rem 0;padding-top:2rem}.bms-section h2{color:var(--primary-color);font-size:1.3rem;margin-bottom:.5rem}.bms-section__intro{color:var(--text-secondary);font-size:.92rem;line-height:1.6;margin-bottom:1.5rem;max-width:760px}.bms-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.bms-grid--narrow{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));max-width:680px}.bms-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;display:flex;flex-direction:column;gap:.4rem;padding:1.2rem;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.bms-card:hover{box-shadow:0 6px 20px #0000001f;transform:translateY(-3px)}.bms-card--featured,.bms-card:hover{border-color:var(--primary-color)}.bms-card__badge{align-self:flex-start;background:var(--primary-color);border-radius:999px;color:#fff;display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.06em;margin-bottom:.3rem;padding:.15rem .55rem;text-transform:uppercase}.bms-card__name{color:var(--text-primary);font-size:1rem;font-weight:600}.bms-card__desc{color:var(--text-secondary);flex:1 1;font-size:.875rem;line-height:1.5}.bms-card__link{color:var(--primary-color);font-size:.85rem;margin-top:.5rem}@media (max-width:768px){.bms-page{padding:80px 1.5rem 2rem}.bms-grid,.bms-grid--narrow{grid-template-columns:1fr;max-width:100%}}.qrtool-page{margin:0 auto;max-width:1100px;min-height:100vh;padding:2rem}.qrtool-embedded,.qrtool-page{color:#e0e0e0;color:var(--text-color,#e0e0e0)}.qrtool-embedded{margin-top:2rem}.qrtool-header{margin:2rem 0 2.5rem}.qrtool-header h1{font-size:2rem;font-weight:700;margin-bottom:.5rem}.qrtool-subtitle{color:#aaa;color:var(--text-secondary,#aaa);font-size:.95rem}.qrtool-layout{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}@media (max-width:768px){.qrtool-layout{grid-template-columns:1fr}}.qrtool-card{background:#ffffff0d;background:var(--card-bg,#ffffff0d);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:12px;padding:1.75rem}.qrtool-card h2{align-items:center;display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;margin-bottom:1.25rem}.qrtool-count{background:#4a9eff;background:var(--accent-color,#4a9eff);border-radius:99px;color:#fff;font-size:.75rem;font-weight:600;padding:.1rem .5rem}.qrtool-form{display:flex;flex-direction:column;gap:.5rem}.qrtool-form label{color:#aaa;color:var(--text-secondary,#aaa);font-size:.8rem;font-weight:500;margin-top:.5rem}.optional{font-weight:400;opacity:.6}.qrtool-form input{background:#ffffff12;background:var(--input-bg,#ffffff12);border:1px solid #ffffff26;border:1px solid var(--border-color,#ffffff26);border-radius:8px;color:#e0e0e0;color:var(--text-color,#e0e0e0);font-size:.9rem;outline:none;padding:.6rem .9rem;transition:border-color .2s}.qrtool-form input:focus{border-color:#4a9eff;border-color:var(--accent-color,#4a9eff)}.qrtool-error{color:#ff6b6b;font-size:.82rem;margin:0}.qrtool-btn{border:none;border-radius:8px;cursor:pointer;font-size:.88rem;font-weight:500;padding:.55rem 1.1rem;transition:opacity .2s,background .2s}.qrtool-btn:disabled{cursor:not-allowed;opacity:.5}.qrtool-btn--primary{background:#4a9eff;background:var(--accent-color,#4a9eff);color:#fff;margin-top:.75rem}.qrtool-btn--primary:hover:not(:disabled){opacity:.85}.qrtool-btn--secondary{background:#ffffff1a;color:#e0e0e0;color:var(--text-color,#e0e0e0)}.qrtool-btn--ghost{background:#0000;border:1px solid #4a9eff;border:1px solid var(--accent-color,#4a9eff);color:#4a9eff;color:var(--accent-color,#4a9eff)}.qrtool-btn--danger{background:#0000;border:1px solid #ff6b6b;color:#ff6b6b}.qrtool-result{align-items:flex-start;border-top:1px solid #ffffff1a;border-top:1px solid var(--border-color,#ffffff1a);display:flex;gap:1.25rem;margin-top:1.5rem;padding-top:1.5rem}.qrtool-qr-img{border-radius:8px;flex-shrink:0;height:120px;width:120px}.qrtool-result-info{display:flex;flex-direction:column;gap:.35rem;min-width:0}.qrtool-result-label{font-size:.95rem;font-weight:600;margin:0}.qrtool-link{color:#4a9eff;color:var(--accent-color,#4a9eff);font-size:.82rem;word-break:break-all}.qrtool-result-dest{font-size:.8rem;margin:0;word-break:break-all}.qrtool-empty,.qrtool-result-dest{color:#aaa;color:var(--text-secondary,#aaa)}.qrtool-empty{font-size:.9rem}.qrtool-list{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:0;padding:0}.qrtool-item{align-items:center;background:#ffffff0a;background:var(--input-bg,#ffffff0a);border:1px solid #ffffff14;border:1px solid var(--border-color,#ffffff14);border-radius:8px;display:flex;gap:1rem;justify-content:space-between;padding:.9rem 1rem}.qrtool-item-qr{border-radius:4px;flex-shrink:0;height:72px;width:72px}.qrtool-item-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.qrtool-item-label{font-size:.88rem;font-weight:600}.qrtool-item-url{color:#4a9eff;color:var(--accent-color,#4a9eff);font-size:.78rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qrtool-item-meta{color:#aaa;color:var(--text-secondary,#aaa);font-size:.74rem}.qrtool-item-actions{display:flex;flex-shrink:0;gap:.5rem}.qrtool-edit-form{display:flex;flex-direction:column;gap:.5rem;width:100%}.qrtool-modal-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.qrtool-modal{align-items:center;background:#1a1a2e;background:var(--bg-secondary,#1a1a2e);border:1px solid #ffffff1a;border:1px solid var(--border-color,#ffffff1a);border-radius:12px;display:flex;flex-direction:column;gap:1.25rem;max-width:420px;padding:2rem;position:relative;width:100%}.qrtool-modal h2{font-size:1.1rem;margin:0}.qrtool-modal-close{background:none;border:none;color:#aaa;color:var(--text-secondary,#aaa);cursor:pointer;font-size:1.1rem;line-height:1;padding:.25rem;position:absolute;right:.75rem;top:.75rem}.qrtool-modal-qr{border-radius:6px;height:180px;width:180px}.qrtool-modal-info{display:flex;flex-direction:column;gap:.6rem;width:100%}.qrtool-modal-row{display:flex;flex-direction:column;gap:.15rem}.qrtool-modal-label{color:#aaa;color:var(--text-secondary,#aaa);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase}.qrtool-modal-row a,.qrtool-modal-row span:last-child{font-size:.88rem;word-break:break-all}.qrtool-modal-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;width:100%}.qrtool-edit-form input{background:#ffffff12;background:var(--input-bg,#ffffff12);border:1px solid #ffffff26;border:1px solid var(--border-color,#ffffff26);border-radius:6px;color:#e0e0e0;color:var(--text-color,#e0e0e0);font-size:.85rem;outline:none;padding:.5rem .75rem}.qrtool-edit-form input:focus{border-color:#4a9eff;border-color:var(--accent-color,#4a9eff)}.qrtool-edit-actions{display:flex;gap:.5rem}.qrtool-card--list{max-height:80vh;overflow-y:auto}.legal-page{background:#f5f5f5;background:var(--bg-color,#f5f5f5);color:#1a1a1a;color:var(--text-color,#1a1a1a);min-height:100vh;padding:40px 20px 60px}[data-theme=dark] .legal-page{background:#0d0d0d;color:#e0e0e0}.legal-back{background:#ff8c42;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;margin-bottom:40px;padding:10px 20px;transition:background .2s ease,transform .2s ease}.legal-back:hover{background:#1a3d1e;transform:translateY(-2px)}.legal-content{margin:0 auto;max-width:720px}.legal-content h1{font-size:2rem;margin-bottom:8px}.legal-content .legal-updated{color:#888;font-size:.85rem;margin-bottom:40px}.legal-content h2{border-bottom:1px solid #ccc;font-size:1.15rem;margin-bottom:10px;margin-top:36px;padding-bottom:4px}[data-theme=dark] .legal-content h2{border-color:#333}.legal-content li,.legal-content p{color:inherit;font-size:.95rem;line-height:1.7}.legal-content ul{margin:8px 0;padding-left:20px}.legal-content a{color:#ff8c42;text-decoration:none}[data-theme=dark] .legal-content a{color:#5a9e60}.legal-content a:hover{text-decoration:underline}.aitool-page{background:var(--bg-primary);margin:0 auto;max-width:900px;min-height:100vh;padding:2rem 5%}.aitool-header{align-items:center;display:flex;gap:1rem;margin-bottom:2.5rem;padding-top:1rem}.back-link{color:var(--text-secondary);font-size:.9rem;text-decoration:none;transition:color .2s}.back-link:hover{color:var(--primary-color)}.aitool-badge{background:var(--primary-color);border-radius:20px;color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.05em;padding:.2rem .6rem;text-transform:uppercase}.aitool-hero{margin-bottom:2.5rem}.aitool-hero h1{color:var(--primary-color);font-family:var(--font-heading);font-size:clamp(2rem,5vw,3rem);margin-bottom:.5rem}.aitool-hero p{color:var(--text-secondary);font-size:1.05rem;max-width:600px}.aitool-main{gap:1.5rem}.aitool-input-card,.aitool-main{display:flex;flex-direction:column}.aitool-input-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;gap:1rem;padding:1.5rem}.aitool-label{font-weight:600}.aitool-label,.aitool-textarea{color:var(--text-primary);font-size:.9rem}.aitool-textarea{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;font-family:var(--font-body);line-height:1.6;padding:1rem;resize:vertical;transition:border-color .2s;width:100%}.aitool-textarea:focus{border-color:var(--primary-color);outline:none}.aitool-btn{align-self:flex-end;background:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.75rem 2rem;transition:opacity .2s,transform .1s}.aitool-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.aitool-btn:disabled{cursor:not-allowed;opacity:.4}.aitool-error{background:#e74c3c14;border-left:3px solid #e74c3c;border-radius:8px;color:#e74c3c;font-size:.9rem;padding:.75rem 1rem}.aitool-results{display:flex;flex-direction:column;gap:1.25rem}.aitool-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.aitool-card h3{color:var(--primary-color);font-size:.8rem;font-weight:700;letter-spacing:.08em;margin-bottom:.75rem;text-transform:uppercase}.aitool-card p{color:var(--text-primary);line-height:1.7}.aitool-card ul{display:flex;flex-direction:column;gap:.4rem;list-style:none}.aitool-card ul li{color:var(--text-primary);font-size:.95rem;line-height:1.5;padding-left:1.2rem;position:relative}.aitool-card ul li:before{color:var(--primary-color);content:"›";font-weight:700;left:0;position:absolute}.aitool-card--overview,.aitool-card--tips{border-left:3px solid var(--primary-color)}.aitool-card--tips{background:linear-gradient(135deg,var(--card-bg) 0,#ff8c420d 100%)}.aitool-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr 1fr}@media (max-width:768px){.aitool-page{padding:1.5rem}.aitool-grid{grid-template-columns:1fr}.aitool-btn{align-self:stretch}}.pin-overlay{background:#0d0d0d;inset:0;justify-content:center;position:fixed;z-index:9999}.pin-box,.pin-overlay{align-items:center;display:flex}.pin-box{flex-direction:column;gap:24px}.pin-title{color:#e0e0e0;font-size:1.5rem;font-weight:600;letter-spacing:.05em;margin:0}.pin-subtitle{color:#666;font-size:.85rem;letter-spacing:.08em;margin:-16px 0 0;text-transform:uppercase}.pin-dots{display:flex;gap:16px}.pin-dots.shake{animation:shake .5s ease}.pin-dot{background:#0000;border:2px solid #444;border-radius:50%;height:14px;transition:background .15s ease,border-color .15s ease;width:14px}.pin-dot.filled{background:#e0e0e0;border-color:#e0e0e0}.pin-dot.error{background:#c0392b;border-color:#c0392b}.pin-pad{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,64px)}.pin-key{align-items:center;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:50%;color:#e0e0e0;cursor:pointer;display:flex;font-size:1.2rem;height:64px;justify-content:center;transition:background .15s ease,transform .1s ease;width:64px}.pin-key:hover:not(:disabled){background:#2a2a2a}.pin-key:active:not(:disabled){background:#333;transform:scale(.93)}.pin-key--empty{background:#0000;border-color:#0000;cursor:default;pointer-events:none}@keyframes shake{0%,to{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-6px)}80%{transform:translateX(6px)}}
/*# sourceMappingURL=main.efbc52b3.css.map*/