@import"https://cdn.jsdelivr.net/gh/MonadABXY/mona-font/web/mona.css";@import"https://hangeul.pstatic.net/hangeul_static/css/nanum-gothic-coding.css";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap";:root{--accent: #f07098;--accent-d: #c04870;--accent-dd: #7a1038;--accent-l: #f9a8c4;--accent-xl: #ffd6e8;--accent-bg: #fef0f5;--bg: #fdf5fb;--surface: #ffffff;--border: #f9c0d8;--border-d: #f09ab8;--text: #2a1020;--muted: #8a5070;--faint: #c090b0}*,*:before,*:after{box-sizing:border-box;border-radius:0!important;font-family:Mona12,Courier New,monospace;margin:0;padding:0;cursor:none!important}::selection{background:var(--accent-xl);color:var(--accent-dd)}html{scroll-behavior:smooth}body{background-color:var(--bg);background-image:radial-gradient(circle,#f0709818 1px,transparent 1px);background-size:20px 20px;color:var(--text);min-height:100vh}button{cursor:pointer;font-family:inherit;border:none;background:none}a{color:inherit;text-decoration:none}img{display:block}pre{padding:0!important}pre code,code{font-family:JetBrains Mono,Fira Code,Courier New,monospace!important;font-size:12px;line-height:1.7}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:20px}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.overflow-hidden{overflow:hidden}.w-full{width:100%}.text-white{color:#fff}@keyframes falling{0%{transform:translateY(-10vh) translate(0) rotate(0);opacity:0}10%{opacity:.8}90%{opacity:.8}to{transform:translateY(110vh) translate(var(--drift, 30px)) rotate(var(--spin, 360deg));opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes treeReveal{0%{clip-path:inset(100% 0 0 0);opacity:.3}to{clip-path:inset(0% 0 0 0);opacity:1}}@keyframes bloomPop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes bloomPulse{0%,to{opacity:.65;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}@keyframes loadingDot{0%,80%,to{opacity:.3;transform:scaleY(.6)}40%{opacity:1;transform:scaleY(1)}}@keyframes screenFadeOut{0%{opacity:1}to{opacity:0;pointer-events:none}}@keyframes cursorSpin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
