*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{overflow-x:hidden}img{max-width:100%;height:auto}.lazy-loading{filter:blur(5px);transition:filter 0.3s ease}.lazy-loaded{filter:blur(0)}.navbar-scrolled{backdrop-filter:blur(10px);background-color:rgb(17 24 39 / .95)!important;box-shadow:0 4px 6px -1px rgb(0 0 0 / .1);transition:all 0.3s ease}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.shake{animation:shake 0.5s ease-in-out}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn 0.5s ease-in-out}.animate-fade-in-up{animation:fadeInUp 0.6s ease-out}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.will-change-transform{will-change:transform}.will-change-scroll{will-change:scroll-position}.preload-hint{content-visibility:auto;contain-intrinsic-size:200px}.stars-container{background:linear-gradient(135deg,#0c0c0c 0%,#1a1a2e 50%,#16213e 100%)}.stars{width:1px;height:1px;background:#fff0;box-shadow:378px 1812px #fff,1117px 1491px #fff,1702px 1257px #fff,1889px 1715px #fff,1499px 1064px #fff,2102px 1774px #fff,1323px 1026px #fff,1925px 1449px #fff,847px 1651px #fff,1726px 1707px #fff,1654px 1502px #fff,1761px 1365px #fff,1288px 1565px #fff,1979px 1520px #fff,1515px 1892px #fff,1102px 1238px #fff,1273px 1773px #fff,1544px 1284px #fff,1717px 1314px #fff,1824px 1746px #fff,1997px 1053px #fff,1829px 1107px #fff,1933px 1848px #fff,1735px 1394px #fff,1514px 1190px #fff,1925px 1674px #fff,1343px 1874px #fff,1978px 1329px #fff,1123px 1735px #fff,1512px 1441px #fff,891px 567px #fff,1456px 923px #fff,678px 1234px #fff,1987px 456px #fff,234px 1567px #fff,1678px 789px #fff,456px 1890px #fff,1234px 345px #fff,789px 1678px #fff,1567px 890px #fff,345px 1456px #fff,1890px 678px #fff;animation:animStar 50s linear infinite}.stars:after{content:" ";position:absolute;top:2000px;width:1px;height:1px;background:#fff0;box-shadow:378px 1812px #fff,1117px 1491px #fff,1702px 1257px #fff,1889px 1715px #fff,1499px 1064px #fff,2102px 1774px #fff}.stars2{width:2px;height:2px;background:#fff0;box-shadow:700px 400px #fff,1200px 800px #fff,300px 1200px #fff,1800px 300px #fff,500px 1500px #fff,1600px 600px #fff,900px 1000px #fff,400px 700px #fff,1400px 1400px #fff,800px 200px #fff,1000px 1600px #fff,200px 900px #fff,1700px 1100px #fff,600px 500px #fff,1300px 200px #fff,100px 1300px #fff,1500px 900px #fff,1100px 1700px #fff,1900px 700px #fff,750px 1250px #fff,350px 450px #fff,1450px 1050px #fff,950px 650px #fff,550px 1450px #fff,1750px 850px #fff,150px 1150px #fff,1350px 350px #fff,850px 1550px #fff,450px 750px #fff,1650px 1350px #fff;animation:animStar 100s linear infinite}.stars2:after{content:" ";position:absolute;top:2000px;width:2px;height:2px;background:#fff0;box-shadow:700px 400px #fff,1200px 800px #fff,300px 1200px #fff}.stars3{width:3px;height:3px;background:#fff0;box-shadow:1000px 500px #fff,500px 1000px #fff,1500px 200px #fff,200px 1500px #fff,800px 800px #fff,1200px 1200px #fff,400px 400px #fff,1600px 600px #fff,600px 1600px #fff,1000px 100px #fff,100px 1000px #fff,1400px 1400px #fff,700px 700px #fff,1100px 300px #fff,300px 1100px #fff,1700px 900px #fff,900px 1700px #fff,1300px 500px #fff,500px 1300px #fff,1800px 800px #fff,800px 1800px #fff,1900px 400px #fff,400px 1900px #fff,1000px 1000px #fff,200px 200px #fff,1600px 1600px #fff,600px 600px #fff,1200px 800px #fff,800px 1200px #fff,1400px 600px #fff;animation:animStar 150s linear infinite}.stars3:after{content:" ";position:absolute;top:2000px;width:3px;height:3px;background:#fff0;box-shadow:1000px 500px #fff,500px 1000px #fff,1500px 200px #fff}@keyframes animStar{from{transform:translateY(0)}to{transform:translateY(-2000px)}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#0f172a}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#6366f1 0%,#8b5cf6 100%);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#8b5cf6 0%,#ec4899 100%)}header.scrolled{background:rgb(15 23 42 / .95);backdrop-filter:blur(20px)}.nav-link{position:relative}.nav-link::after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:2px;background:linear-gradient(90deg,#6366f1,#8b5cf6);transition:width 0.3s ease}.nav-link:hover::after{width:100%}.hover-card{transition:all 0.3s ease}.hover-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px rgb(99 102 241 / .3)}.gradient-text{background:linear-gradient(90deg,#6366f1 0%,#8b5cf6 50%,#ec4899 100%);-webkit-background-clip:text;-webkit-text-fill-color:#fff0;background-clip:text}.btn-primary{position:relative;overflow:hidden;z-index:1}.btn-primary::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / .2),transparent);transition:left 0.5s ease;z-index:-1}.btn-primary:hover::before{left:100%}@keyframes shine{0%{background-position:-200% center}100%{background-position:200% center}}.shine-effect{background:linear-gradient(90deg,#fff0 0%,rgb(255 255 255 / .1) 50%,#fff0 100%);background-size:200% auto;animation:shine 3s linear infinite}.loading-spinner{border:3px solid rgb(99 102 241 / .1);border-radius:50%;border-top:3px solid #6366f1;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.pulse-animation{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn 0.6s ease-out}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp 0.5s ease-out}@keyframes slideUp{from{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}.code-block{background:rgb(15 23 42 / .8);border:1px solid rgb(99 102 241 / .2);border-radius:12px;padding:1.5rem;position:relative;overflow-x:auto}.code-block pre{margin:0;white-space:pre-wrap;word-wrap:break-word}.code-block code{font-family:'Courier New',monospace;font-size:.9rem;line-height:1.6}.keyword{color:#ec4899}.string{color:#10b981}.number{color:#f59e0b}.comment{color:#6b7280}.function{color:#8b5cf6}.modal-overlay{background:rgb(0 0 0 / .8);backdrop-filter:blur(5px)}.toast{position:fixed;bottom:20px;right:20px;background:rgb(15 23 42 / .95);backdrop-filter:blur(10px);border:1px solid rgb(99 102 241 / .3);border-radius:12px;padding:1rem 1.5rem;box-shadow:0 10px 30px rgb(0 0 0 / .5);z-index:9999;animation:slideInRight 0.3s ease-out}@keyframes slideInRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.toast.success{border-color:#10b981}.toast.error{border-color:#ef4444}.toast.info{border-color:#6366f1}.chatbot-container{position:fixed;bottom:24px;right:24px;z-index:1000}#chatbot-btn{cursor:pointer;transition:all 0.3s ease;border:none;outline:none}#chatbot-btn:hover{transform:translateY(-2px)}#chatbot-btn:active{transform:translateY(0)}.chatbot-window{position:fixed;bottom:100px;right:24px;width:420px;max-width:calc(100vw - 48px);height:600px;background:rgb(15 23 42 / .98);backdrop-filter:blur(20px);border:1px solid rgb(99 102 241 / .3);border-radius:24px;box-shadow:0 25px 80px rgb(0 0 0 / .6);display:none;flex-direction:column;overflow:hidden}.chatbot-window.active{display:flex;animation:slideUpFade 0.3s ease-out}@keyframes slideUpFade{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.chatbot-window{width:calc(100vw - 20px);height:450px}}.skeleton{background:linear-gradient(90deg,rgb(255 255 255 / .05) 25%,rgb(255 255 255 / .1) 50%,rgb(255 255 255 / .05) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}@keyframes skeleton-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}img[loading="lazy"]{opacity:0;transition:opacity 0.3s}img[loading="lazy"].loaded{opacity:1}::selection{background:rgb(99 102 241 / .3);color:#fff}::-moz-selection{background:rgb(99 102 241 / .3);color:#fff}*:focus{outline:2px solid rgb(99 102 241 / .5);outline-offset:2px}button:focus,a:focus{outline:none;box-shadow:0 0 0 3px rgb(99 102 241 / .3)}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important}}@media print{#galaksi-arkaplan,header,footer,.chatbot-container{display:none!important}body{background:#fff;color:#000}}