:root{--bg-color: #fcfcfc;--bg-secondary: #f4f4f6;--text-main: #505060;--text-light: #888899;--text-alt: #c28ce3;--text-alt-ii: #86b5e1;--silver-accent: #c0c0d0;--header-color: #ae79cf;--holo-gradient: linear-gradient(119deg, #ffcbf2 0%, #ddbcf4 25%, #dbe4ff 50%, #c0ddf2 75%, #ffcbf2 100%);--glass-bg: rgba(255, 255, 255, .65);--glass-border: rgba(255, 255, 255, .8);--shadow-dreamy: 0 10px 40px -10px rgba(180, 190, 210, .3);--holo-opacity: .4;--moon-glow-opacity: 1;--sidebar-color: #d3ecff80;--sidebar-shadow: -10px 0px 10px rgba(0, 0, 0, .1)}*{margin:0;padding:0;box-sizing:border-box}html,body{overflow-x:hidden;width:100%}body{font-family:Quicksand,sans-serif;background-color:var(--bg-color);color:var(--text-main);overflow-x:hidden;background-image:radial-gradient(circle at 10% 10%,rgba(200,200,255,.05) 0%,transparent 40%),radial-gradient(circle at 90% 90%,rgba(200,200,255,.05) 0%,transparent 40%);padding:6.8% 17%}body.dark-mode{--bg-color: #0f0f14;--bg-secondary: #1a1a22;--text-main: #e6e6f0;--text-light: #a0a0b5;--silver-accent: #7a7a9a;--header-color: #cda1e9;--glass-bg: rgba(20, 20, 30, .55);--glass-border: rgba(255, 255, 255, .1);--shadow-dreamy: 0 10px 40px -10px rgba(0, 0, 0, .6);--holo-opacity: .07;--moon-glow-opacity: .3;--sidebar-color: #212b3280;--sidebar-shadow: -10px 0px 10px rgba(255, 255, 255, .1)}body,.card,nav,footer{transition:background-color .4s ease,color .4s ease}.theme-toggle{background:none;border:1px solid var(--silver-accent);padding:.4rem 1rem;border-radius:20px;font-size:.8rem;text-transform:uppercase;letter-spacing:1px;cursor:pointer;color:var(--text-main);transition:all .3s ease}.theme-toggle:hover{border-color:#a0a0ff;background:var(--holo-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.text-alt{color:var(--text-alt)}.text-alt-ii{color:var(--text-alt-ii)}.holo-bands{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:-10;pointer-events:none}.holo-band{position:absolute;width:17%;height:200%;filter:blur(55px);opacity:0;background:linear-gradient(180deg,#ffcbf2,#ddbcf4,#bdcbf7,#a6d3f2);background-size:100% 300%;animation-timing-function:ease-in-out;animation-fill-mode:forwards}@keyframes holoFadeDrift{0%{opacity:0;background-position:0% 0%;transform:translateY(0)}20%{opacity:var(--holo-opacity)}80%{opacity:var(--holo-opacity);background-position:0% 100%;transform:translateY(-20%)}to{opacity:0;transform:translateY(-30%)}}h1,h2,h3{font-family:Cinzel,"Noto Serif JP",serif;font-weight:400;letter-spacing:2px;color:var(--header-color)}.section-title{text-align:center;margin-top:5rem;margin-bottom:3rem}.footer-subtext{margin:1rem 0 2rem;color:var(--text-light)}.halo-text{background:var(--holo-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700;animation:shimmer 6s infinite linear;background-size:200% auto}@keyframes shimmer{0%{background-position:0% 50%}to{background-position:200% 50%}}.navbar{max-width:66vw;margin:6.8vh auto 0;padding:0 2rem}.container{max-width:1100px;margin:3.4% auto;padding:0 2rem}section{padding:5rem 0}nav{display:flex;justify-content:space-between;align-items:center;padding:2rem;position:absolute;top:0;width:100%;z-index:10}.logo{font-family:Cinzel,"Noto Serif JP",serif;font-size:1.5rem;font-weight:700}.nav-links{list-style:none;display:flex;gap:2rem}.nav-links a{text-decoration:none;color:var(--text-main);font-size:.9rem;text-transform:uppercase;letter-spacing:1px;transition:color .3s;position:relative}.nav-links a:after{content:"";position:absolute;width:0;height:3px;border-radius:999px;bottom:-5px;left:0;background:var(--holo-gradient);transition:width .3s}.nav-links a:hover:after{width:100%}.hero{min-height:86.4vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;margin-bottom:6.8vh}.moon-glow{position:absolute;width:500px;max-width:100vw;height:500px;background:radial-gradient(circle,#dce1ffcc,#fff0 70%);border-radius:50%;z-index:-1;filter:blur(50px);animation:float 10s infinite ease-in-out;opacity:var(--moon-glow-opacity)}@keyframes float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.05)}}.hero h1{font-size:3.5rem;margin-bottom:1rem}.hero p{font-size:1.2rem;color:var(--text-light);max-width:600px;margin:0 auto}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem}.card{background:var(--glass-bg);margin-left:auto;margin-right:auto;border:1px solid white;border-radius:12px;padding:2rem;box-shadow:var(--shadow-dreamy);backdrop-filter:blur(10px);transition:transform .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:var(--holo-gradient);opacity:.5;transition:opacity .3s}.card:hover{transform:translateY(-5px);box-shadow:0 15px 40px -10px #a0aac880}.card:hover:before{opacity:1}.card h3{margin-bottom:.5rem;font-size:1.4rem}.card-meta{font-size:.8rem;color:var(--silver-accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:1rem;display:block}.card p{color:var(--text-light);line-height:1.6;margin-bottom:1.5rem}.btn-link{text-decoration:none;color:var(--text-main);font-size:.9rem;font-weight:700;border-bottom:1px solid var(--silver-accent);padding-bottom:2px;transition:all .3s}.btn-link:hover{border-color:#a0a0ff;background:var(--holo-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.about-layout{display:flex;gap:4rem;align-items:center}.about-text{flex:1}.about-text p{line-height:1.8;margin-bottom:1.5rem;color:var(--text-main)}footer{text-align:center;padding:4rem 0;margin-top:4rem;border-top:1px solid rgba(200,200,200,.2)}.socials{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1.5rem}.socials a{text-decoration:none;color:var(--silver-accent);transition:color .3s}.socials a:hover{color:var(--text-main)}.hamburger,.mobile-menu{display:none}.hamburger{cursor:pointer;width:25px;height:20px;flex-direction:column;justify-content:space-between;z-index:100}.hamburger span{display:block;height:3px;width:100%;background-color:var(--header-color);border-radius:3px;transition:all .3s ease}.hamburger:hover span{background-color:var(--text-main)}.mobile-menu{position:fixed;padding-top:0;top:0;right:-100%;width:250px;height:100vh;background-color:var(--sidebar-color);backdrop-filter:blur(8px);border-left:1px solid var(--glass-border);box-shadow:var(--sidebar-shadow);z-index:1000;display:flex;flex-direction:column;padding:2rem;transition:right .5s cubic-bezier(.77,.2,.05,1)}.mobile-menu.active{right:0;padding-top:5.8vh}.close-menu{align-self:flex-start;background:none;border:none;font-size:3rem;color:var(--header-color);cursor:pointer;margin-bottom:2rem;line-height:1;transition:color .3s}.close-menu:hover{color:var(--text-main)}.mobile-nav-links{list-style:none;display:flex;flex-direction:column;gap:2rem;align-items:center}.mobile-nav-links a{text-decoration:none;color:var(--header-color);font-size:1.2rem;font-family:Cinzel,"Noto Serif JP",serif;text-transform:uppercase;position:relative}.mobile-nav-links a:after{content:"";position:absolute;width:0;height:3px;border-radius:999px;bottom:-5px;left:0;background:var(--holo-gradient);transition:width .3s}.mobile-nav-links a:hover:after{width:100%}.mobile-nav-links .theme-toggle{margin-top:1rem;width:100%}@media(max-width:570px){body{padding:6.8% 7%}}@media(max-width:603px){body{padding:6.8% 8%}}@media(max-width:636px){body{padding:6.8% 9%}}@media(max-width:669px){body{padding:6.8% 10%}}@media(max-width:702px){body{padding:6.8% 11%}}@media(max-width:735px){body{padding:6.8% 12%}}@media(max-width:768px){.hero h1{font-size:2.5rem}.about-layout{flex-direction:column}.card-grid{justify-items:center}body{padding:6.8% 13%}}@media(max-width:900px){.nav-links{display:none}.hamburger,.mobile-menu{display:flex}}
