@font-face{font-family:HyliaSerif;src:url(/assets/HyliaSerifBeta-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Escoredream;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-2ExtraLight.woff) format("woff");font-weight:200;font-display:swap}@font-face{font-family:Escoredream;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-3Light.woff) format("woff");font-weight:300;font-display:swap}@font-face{font-family:Escoredream;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-4Regular.woff) format("woff");font-weight:400;font-display:swap}@font-face{font-family:Escoredream;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-5Medium.woff) format("woff");font-weight:500;font-display:swap}@font-face{font-family:Escoredream;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-6Bold.woff) format("woff");font-weight:600;font-display:swap}@font-face{font-family:Escoredream;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-7ExtraBold.woff) format("woff");font-weight:700;font-display:swap}@font-face{font-family:Escoredream;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-8Heavy.woff) format("woff");font-weight:800;font-display:swap}@font-face{font-family:Escoredream;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-9Black.woff) format("woff");font-weight:900;font-display:swap}:root{--font-main: "Montserrat", "Escoredream", -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", sans-serif;--font-title: "HyliaSerif", "Montserrat", "Escoredream", sans-serif;--font-zelda: "HyliaSerif", serif;--bg-primary: #011627;--bg-secondary: #0b2942;--bg-accent: #7fdbca;--text-primary: #d6deeb;--text-secondary: #5f7e97;--text-inverse: #011627;--accent-color: #82aaff;--accent-soft: rgba(126, 219, 202, .15);--glass-bg: rgba(1, 22, 39, .7);--glass-border: rgba(126, 219, 202, .2);--section-padding: 120px 20px;--container-width: 1200px;--transition-smooth: all .4s cubic-bezier(.165, .84, .44, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-main);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}body.no-scroll{overflow:hidden}::-webkit-scrollbar{display:none}html,body{-ms-overflow-style:none;scrollbar-width:none}button,input,select,textarea{font-family:inherit}.custom-scrollbar{position:fixed;right:5px;top:5px;bottom:5px;width:5px;z-index:10000;pointer-events:none;opacity:0;transition:opacity .3s ease}body:not(.no-scroll):hover .custom-scrollbar{opacity:1}body.no-scroll .custom-scrollbar{display:none}.scrollbar-thumb{width:100%;background:#82aaff80;border-radius:10px;position:absolute;top:0;will-change:transform,height}a{text-decoration:none;color:inherit}ul{list-style:none}img{max-width:100%}.container{max-width:var(--container-width);margin:0 auto;width:100%}section{padding:var(--section-padding)}.section-title{font-size:2.5rem;font-weight:800;margin-bottom:3rem;text-align:center;letter-spacing:-.02em}.section-subtitle{font-size:1.1rem;color:var(--text-secondary);text-align:center;margin-top:-2.5rem;margin-bottom:4rem}#particle-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10000}#audio-control,#contact-control{position:fixed;top:30px;z-index:1000;opacity:0;transition:opacity .8s ease}#audio-control{left:30px}#contact-control{right:30px}#audio-control.visible,#contact-control.visible{opacity:1}.audio-btn{background:#01162766;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(126,219,202,.3);padding:10px 18px;border-radius:30px;color:var(--bg-accent);cursor:pointer;display:flex;align-items:center;gap:10px;font-family:var(--font-title);font-size:.8rem;font-weight:700;letter-spacing:.1em;text-decoration:none;transition:all .3s ease}.audio-btn:hover{background:#7edbca33;border-color:var(--bg-accent);box-shadow:0 0 20px #7edbca33}.audio-btn.muted{color:var(--text-secondary);border-color:#5f7e974d}.audio-btn.muted .status-text{text-decoration:line-through}#intro-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#011627;display:flex;justify-content:center;align-items:center;z-index:9999;transition:opacity 1.2s ease,filter 1.2s ease,backdrop-filter 1.2s ease;perspective:1000px}#intro-overlay.hidden{opacity:0;filter:blur(20px);pointer-events:none}.intro-content{text-align:center;transform-style:preserve-3d;will-change:transform}.intro-logo{font-family:var(--font-title);font-size:5rem;font-weight:800;margin-bottom:1rem;background:linear-gradient(135deg,#7fdbca,#82aaff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:.05em;opacity:0;transform:scale(.8);animation:logo-in 1.5s forwards cubic-bezier(.165,.84,.44,1)}@keyframes logo-in{to{opacity:1;transform:scale(1)}}.start-btn{font-family:var(--font-title)!important;position:absolute;bottom:15%;left:50%;transform:translate(-50%);padding:18px 48px;background:transparent;border:1px solid var(--accent-color);color:var(--accent-color);font-size:1.1rem;font-weight:700;letter-spacing:.2em;border-radius:100px;cursor:pointer;transition:background .3s ease,color .3s ease,box-shadow .3s ease;overflow:hidden;z-index:10}.start-btn:hover{background:var(--accent-color);color:#011627;box-shadow:0 0 30px #82aaff66}.intro-hint{font-family:var(--font-zelda);margin-top:1.5rem;color:var(--text-secondary);font-size:.9rem;letter-spacing:.1em;opacity:.6}.glass{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border)}.reveal{opacity:0;transform:translateY(30px);transition:var(--transition-smooth)}.reveal.active{opacity:1;transform:translateY(0)}#hero{position:relative;height:100vh;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden;background:#011627}.hero-video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%,-50%);object-fit:cover;z-index:1}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#01162799;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2}.hero-content{position:relative;z-index:3;transform-style:preserve-3d;will-change:transform}#hero .logo{font-family:var(--font-zelda);font-size:8rem;font-weight:900;letter-spacing:.05em;margin-bottom:.5rem;color:#fff;animation:float 4s ease-in-out infinite;position:relative}@keyframes shimmer{to{background-position:200% center}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}#hero .slogan{font-family:var(--font-zelda);font-size:1.8rem;font-weight:800;color:#fff;margin-bottom:1.5rem;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 10px 20px rgba(0,0,0,.5)}#hero .sub-text{font-size:1.1rem;font-weight:500;color:#7fdbca;opacity:1;letter-spacing:.15em;text-transform:none;background:#0116274d;padding:8px 24px;border-radius:50px;display:inline-block;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(127,219,202,.2)}.scroll-indicator{font-family:var(--font-zelda);position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--text-secondary);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;opacity:.7}.mouse{width:26px;height:42px;border:2px solid var(--text-secondary);border-radius:20px;position:relative}.wheel{width:4px;height:8px;background:var(--bg-accent);border-radius:2px;position:absolute;top:8px;left:50%;transform:translate(-50%);animation:scroll-wheel 2s infinite}@keyframes scroll-wheel{0%{transform:translate(-50%);opacity:1}to{transform:translate(-50%,15px);opacity:0}}.gate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.gate-card{position:relative;height:450px;border-radius:24px;overflow:hidden;cursor:pointer;transition:box-shadow .4s ease;transform-style:preserve-3d;display:block;text-decoration:none;color:inherit}.gate-card:hover{box-shadow:0 30px 60px #00000080}.gate-card img{width:100%;height:100%;object-fit:cover;transition:var(--transition-smooth)}.gate-card:hover img{transform:scale(1.1)}.gate-info{position:absolute;bottom:0;left:0;right:0;padding:40px 30px;background:linear-gradient(transparent,#000000e6);color:#fff;height:150px;display:flex;flex-direction:column;justify-content:flex-start}.gate-info h3{font-size:1.5rem;margin-bottom:5px}.gate-info p{font-size:.9rem;opacity:.8}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.tech-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.tech-tag{padding:8px 16px;background:var(--bg-secondary);border-radius:100px;font-size:.9rem;font-weight:600;color:var(--text-primary)}.project-list{display:flex;flex-direction:column;gap:30px}.project-item{display:flex;justify-content:space-between;align-items:center;padding:30px;border-bottom:1px solid #222;transition:var(--transition-smooth)}.project-item:hover{background:var(--bg-secondary);border-radius:20px}.project-meta{font-size:.9rem;color:var(--text-secondary);margin-top:5px}.project-title{font-size:1.4rem;font-weight:700}.utils-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.util-card{padding:40px;background:var(--bg-secondary);border-radius:24px;transition:var(--transition-smooth)}.util-card:hover{background:#82aaff;color:#011627}.util-card h4{font-size:1.2rem;margin-bottom:10px;color:#ecc48d}.util-card:hover h4{color:#011627}.util-card:hover p{color:#ccc}footer{padding:80px 20px;background:var(--bg-secondary);color:#fff;text-align:center}.footer-links{margin:30px 0;display:flex;justify-content:center;gap:20px}.footer-link{color:#aaa;transition:var(--transition-smooth)}.footer-link:hover{color:#fff}footer .logo{font-family:var(--font-title);letter-spacing:.1em}@media(max-width:768px){.about-content{grid-template-columns:1fr}#hero .logo{font-size:2.5rem}.project-item{flex-direction:column;align-items:flex-start;gap:10px}}
