/* hangeul.day - Fairycore Hangul Forest */
/* Palette: Deep Forest:#1A0C18, Burgundy Bark:#6A1828, Moss Glow:#3A6A38,
   Moonlit Blue:#2A3A6A, Dappled Gold:#E8D8B0, Marble Cream:#EAE0D0,
   Petal Pink:#D8A8B0, Forest Text:#E8E0D8 */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth}

body{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1rem;line-height:1.85;color:#E8E0D8;background-color:#1A0C18;overflow-x:hidden}

.fairy-light{position:fixed;width:40px;height:40px;border-radius:50%;background:radial-gradient(circle,rgba(232,216,176,0.3) 0%,transparent 70%);pointer-events:none;z-index:100;transition:all 0.5s cubic-bezier(0.22,0.61,0.36,1);transform:translate(-50%,-50%)}

.dappled-lights{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}

.dapple{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(232,216,176,0.08) 0%,transparent 70%);animation:dappleDrift 30s ease-in-out infinite alternate}

@keyframes dappleDrift{0%{transform:translate(0,0)}50%{transform:translate(30px,-20px)}100%{transform:translate(-20px,15px)}}

.hero{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:1}

.hero-title{font-family:'Nanum Myeongjo',serif;font-weight:700;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:0.04em;color:#E8D8B0;opacity:0;text-shadow:0 0 30px rgba(232,216,176,0.15)}

.hero-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.1rem;color:#D8A8B0;margin-top:16px;opacity:0;transition:opacity 600ms ease}

.grove{position:relative;z-index:1;max-width:640px;margin:0 auto;padding:150px 24px;display:flex;flex-direction:column;align-items:center;gap:40px;opacity:0;transform:translateY(30px);transition:opacity 800ms ease,transform 800ms ease}

.grove.visible{opacity:1;transform:translateY(0)}

.grove-forest{background:linear-gradient(180deg,#1A0C18 0%,rgba(58,106,56,0.15) 50%,#1A0C18 100%)}
.grove-moss{background:linear-gradient(180deg,#1A0C18 0%,rgba(58,106,56,0.2) 50%,#1A0C18 100%)}
.grove-moonlit{background:linear-gradient(180deg,#1A0C18 0%,rgba(42,58,106,0.2) 50%,#1A0C18 100%)}
.grove-petal{background:linear-gradient(180deg,#1A0C18 0%,rgba(216,168,176,0.1) 50%,#1A0C18 100%)}

.marble-tablet{width:300px;padding:40px;text-align:center;background:repeating-linear-gradient(135deg,#EAE0D0,#E0D4C4 5%,#EAE0D0 10%);box-shadow:inset 0 0 20px rgba(0,0,0,0.08);opacity:0;transform:translateY(30px);transition:opacity 800ms ease-out,transform 800ms ease-out}

.grove.visible .marble-tablet{opacity:1;transform:translateY(0)}

.specimen{font-family:'Nanum Myeongjo',serif;font-weight:400;font-size:clamp(5rem,15vw,10rem);color:#6A1828;text-shadow:0 0 30px rgba(106,24,40,0.15);display:block;line-height:1.1}

.specimen-name{font-family:'EB Garamond',serif;font-style:italic;font-size:0.9rem;color:#6A1828;margin-top:8px}

.grove-heading{font-family:'Nanum Myeongjo',serif;font-weight:700;font-size:clamp(1.5rem,3vw,2rem);color:#E8D8B0;letter-spacing:0.04em;margin-bottom:16px;text-align:center}

.grove-body{font-family:'Cormorant Garamond',serif;font-size:1rem;line-height:1.85;color:#E8E0D8;text-align:center;margin-bottom:12px}

.grove-note{font-family:'EB Garamond',serif;font-style:italic;font-size:0.9rem;color:#D8A8B0;text-align:center}

.footer{position:relative;z-index:1;padding:80px 24px 40px;text-align:center}

.root-network{width:100%;max-width:800px;height:200px;margin:0 auto 24px;display:block}

.root-path{stroke-dasharray:400;stroke-dashoffset:400;transition:stroke-dashoffset 4s ease-out}

.root-path.drawn{stroke-dashoffset:0}

.footer-text{font-family:'Nanum Myeongjo',serif;font-size:1rem;color:#E8D8B0;margin-bottom:8px}
.footer-meta{font-family:'EB Garamond',serif;font-style:italic;font-size:0.85rem;color:#6A1828}

@media(max-width:768px){.marble-tablet{width:100%;max-width:280px}}
