@font-face{font-family:Chilgok;src:url(/fonts/Chilgok-subset.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--color-bg:#faf8f5;--color-text:#000;--color-text-90:#000000e6;--color-text-70:#000000b3;--color-text-50:#00000080;--color-text-40:#0006;--color-text-30:#0000004d;--color-accent:#f299a6;--color-accent-soft:#f299a626;--color-margin:#f299a61f;--font-display:"Chilgok", cursive;--font-body:"Pretendard", -apple-system, sans-serif;--container-max:960px;--container-pad:24px;--ruled-line-color:#0000000b;--ruled-line-gap:32px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--color-text-90);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;background-image:url(/textures/paper.png);background-repeat:repeat;background-size:300px 300px;font-size:16px;line-height:1.7;position:relative;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background-color:#faf8f5ed;position:fixed;inset:0}body>*{z-index:1;position:relative}body:after{content:"";background-image:repeating-linear-gradient(to bottom, transparent, transparent calc(var(--ruled-line-gap) - 1px), var(--ruled-line-color) calc(var(--ruled-line-gap) - 1px), var(--ruled-line-color) var(--ruled-line-gap));pointer-events:none;z-index:0;position:fixed;inset:0}.notebook-margin{display:none}@media (width>=1025px){.notebook-margin{top:0;bottom:0;left:calc(50% - var(--container-max) / 2 - 40px);background-color:var(--color-margin);z-index:2;pointer-events:none;width:2px;display:block;position:fixed}}.font-display{font-family:var(--font-display);font-weight:400}.container{max-width:var(--container-max);padding-left:var(--container-pad);padding-right:var(--container-pad);margin:0 auto}.section-title{color:var(--color-text);margin-bottom:48px;font-size:clamp(1.6rem,4vw,2.2rem);display:inline-block;position:relative}.spiral-ring{pointer-events:none;z-index:3;position:absolute}.hero{text-align:center;padding:80px 0 60px}.hero__icon-wrap{margin-bottom:24px;display:inline-block}.hero__icon{border-radius:22px;width:96px;height:96px;transform:rotate(1.5deg);box-shadow:0 4px 20px #00000014}.hero__title{color:var(--color-text);margin-bottom:16px;font-size:clamp(3rem,8vw,5rem);line-height:1.2;display:inline-block;position:relative}.hero__title svg.sketchy-underline{pointer-events:none;width:calc(100% + 16px);position:absolute;bottom:-8px;left:-8px}.hero__tagline{color:var(--color-text-50);margin-bottom:8px;font-size:clamp(1rem,2.5vw,1.25rem)}.hero__intro{color:var(--color-text-40);margin-bottom:40px;font-size:clamp(.85rem,2vw,1rem)}.doodle-btn{color:var(--color-text);background:#ffffff80;border-radius:2px;align-items:center;gap:12px;padding:14px 28px;text-decoration:none;transition:transform .2s;display:inline-flex;position:relative}.doodle-btn:hover{transform:scale(1.03)}.doodle-btn__icon{color:var(--color-text);font-family:-apple-system,SF Pro Display,sans-serif;font-size:1.6rem;line-height:1}.doodle-btn__text{flex-direction:column;gap:2px;display:flex}.doodle-btn__sub{color:var(--color-text-50);letter-spacing:.02em;font-size:.7rem}.doodle-btn__main{color:var(--color-text);font-size:1.25rem;line-height:1.2}.story{padding:80px 0 100px}.story__heading{text-align:center;display:block}.story__timeline{max-width:540px;margin:0 auto;padding-left:48px;position:relative}.story__line-wrap{width:24px;position:absolute;top:0;bottom:0;left:16px}.story__line-svg{width:24px;height:100%;overflow:visible}.story__card{transform:rotate(var(--card-rot,0deg));background:#ffffff80;border-radius:2px;margin-bottom:40px;padding:24px 28px;position:relative}.story__card p{color:var(--color-text-70);font-size:.95rem;line-height:1.8}.story__card em{color:var(--color-accent);font-style:normal;font-weight:500}.story__time{align-items:center;gap:8px;margin-bottom:12px;display:flex}.story__time-label{color:var(--color-text);font-size:1.15rem}.story__time-icon{display:block}.story__blur-preview{filter:blur(5px);background:linear-gradient(135deg,#f299a659 0%,#b4b4c84d 40%,#f299a640 70%,#a0b4c84d 100%);border-radius:6px;width:100%;height:56px;margin-top:16px;position:relative;overflow:hidden}.story__blur-preview:before{content:"";background:radial-gradient(at 30% 40%,#0000001f 0%,#0000 50%),radial-gradient(at 70% 60%,#f299a633 0%,#0000 50%),radial-gradient(at 50% 30%,#00000014 0%,#0000 40%);border-radius:4px;position:absolute;inset:8px}.story__blur-preview:after{content:"🔒";opacity:.4;filter:blur();font-size:16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.story__reveal-pair{gap:12px;margin-top:16px;display:flex}.story__mini-canvas{height:64px;color:var(--color-accent);opacity:.5;background:#ffffffb3;border-radius:4px;flex:1;justify-content:center;align-items:center;font-size:22px;display:flex;position:relative}.reveal{text-align:center;padding:80px 0 100px}.reveal__stage{flex-wrap:wrap;justify-content:center;gap:24px;margin-bottom:32px;display:flex}.reveal__panel{flex-direction:column;align-items:center;display:flex;position:relative}.reveal__label{color:var(--color-text-50);margin-bottom:12px;font-size:1rem;display:block}.reveal__canvas{cursor:crosshair;touch-action:none;background:#ffffffb3;border:1px solid #0000000f;border-radius:4px;max-width:100%;height:auto;display:block}.reveal__panel--partner .reveal__canvas{cursor:default;filter:blur(12px)saturate(.5);transition:filter .8s cubic-bezier(.22,1,.36,1)}.reveal__panel--partner.revealed .reveal__canvas{filter:blur()saturate()}.reveal__lock{opacity:.5;pointer-events:none;margin-top:14px;transition:opacity .4s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.reveal__panel--partner.revealed .reveal__lock{opacity:0}.reveal__tools{gap:8px;margin-top:12px;display:flex}.reveal__tool{cursor:pointer;width:44px;height:44px;color:var(--color-text-50);background:#ffffffb3;border:1px solid #0000001a;border-radius:50%;justify-content:center;align-items:center;transition:border-color .15s,background .15s;display:flex}.reveal__tool:hover{border-color:#0003}.reveal__tool--active{border-color:var(--color-accent);background:var(--color-accent-soft)}.reveal__tool-dot{border-radius:50%;width:16px;height:16px}.reveal__submit{cursor:pointer;color:var(--color-text);background:0 0;border:none;margin-top:8px;padding:14px 40px;font-size:1.15rem;transition:transform .15s;position:relative}.reveal__submit:disabled{opacity:.35;cursor:default}.reveal__submit:not(:disabled):hover{transform:scale(1.04)}.reveal__after-text{color:var(--color-text-50);opacity:0;visibility:hidden;margin-top:32px;font-size:1.05rem;transition:opacity .8s .5s,visibility 0s 1.3s}.reveal__after-text.visible{opacity:1;visibility:visible;transition:opacity .8s .5s,visibility}.reveal__hearts{pointer-events:none;z-index:100;width:100%;height:100%;position:fixed;inset:0}.features{padding:80px 0 100px}.features .section-title{text-align:center;display:block}.features__scatter{grid-template-columns:1fr;gap:24px;max-width:720px;margin:0 auto;display:grid}@media (width>=640px){.features__scatter{grid-template-columns:1fr 1fr;gap:32px}.features__scatter .features__card:nth-child(2){margin-top:40px}.features__scatter .features__card:nth-child(3){margin-top:-20px}.features__scatter .features__card:nth-child(4){margin-top:20px}}.features__card{transform:rotate(var(--card-rot,0deg));background:#ffffff73;border-radius:2px;padding:28px 24px;transition:transform .3s;position:relative}.features__card:hover{transform:rotate(0)scale(1.02)}.features__card-title{color:var(--color-text);margin-bottom:10px;font-size:1.2rem}.features__card p{color:var(--color-text-50);font-size:.9rem;line-height:1.7}.cta{text-align:center;padding:100px 0 80px}.cta__title{color:var(--color-text);margin-bottom:16px;font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.5}.cta__sub{color:var(--color-text-50);margin-bottom:40px;font-size:1rem}.cta__hearts{justify-content:center;margin-top:48px;display:flex}.cta__hearts canvas{max-width:100%;height:auto}.footer{text-align:center;padding:48px 0 40px}.footer__divider{width:200px;height:12px;margin:0 auto 32px;display:block;overflow:visible}.footer__copy{color:var(--color-text-30);margin-bottom:16px;font-size:.85rem}.footer__links{justify-content:center;gap:20px;margin-bottom:16px;display:flex}.footer__links a{color:var(--color-text-40);font-size:.8rem;text-decoration:none;transition:color .15s}.footer__links a:hover{color:var(--color-text-70)}.footer__credits{color:var(--color-text-30);font-size:.75rem}[data-anim=wobble]{opacity:0;transform:rotate(calc(var(--card-rot,0deg) + 6deg)) scale(.95)}[data-anim=wobble].anim-in{animation:.6s cubic-bezier(.34,1.56,.64,1) forwards wobbleSettle}@keyframes wobbleSettle{0%{opacity:0;transform:rotate(calc(var(--card-rot,0deg) + 6deg)) scale(.95)}60%{opacity:1;transform:rotate(calc(var(--card-rot,0deg) - 2deg)) scale(1.01)}to{opacity:1;transform:rotate(var(--card-rot,0deg)) scale(1)}}.sketchy-draw-in path,.sketchy-draw-in line{stroke-dasharray:var(--dash-length,1000);stroke-dashoffset:var(--dash-length,1000)}.sketchy-draw-in.drawn path,.sketchy-draw-in.drawn line{animation:.8s forwards drawStroke}@keyframes drawStroke{to{stroke-dashoffset:0}}.story__card--evening .story__reveal-pair{filter:blur(4px);transition:filter .6s}.story__card--evening.anim-in .story__reveal-pair{filter:blur();transition-delay:.4s}.section-title{opacity:0}.section-title.anim-in{animation:.5s cubic-bezier(.34,1.56,.64,1) forwards wobbleSettle}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-anim=wobble]{opacity:1;transform:rotate(var(--card-rot,0deg))}.section-title{opacity:1}.sketchy-draw-in path,.sketchy-draw-in line{stroke-dashoffset:0}}@media (width<=639px){:root{--container-pad:20px;--ruled-line-gap:28px}.hero{padding:56px 0 40px}.hero__icon{width:72px;height:72px}.story__timeline{padding-left:40px}.story__line-wrap{left:10px}.story__card{padding:20px;--card-rot:0deg!important}.reveal__stage{flex-direction:column;align-items:center}.reveal__canvas{width:280px;height:280px}.features__card{--card-rot:0deg!important}.cta__title{font-size:1.6rem}}@media (width>=640px) and (width<=1024px){.reveal__canvas{width:280px;height:280px}}@media (width>=1025px){.reveal__canvas{width:320px;height:320px}}[data-sketchy]{position:relative}[data-sketchy]>svg.sketchy-border{pointer-events:none;z-index:1;width:calc(100% + 8px);height:calc(100% + 8px);position:absolute;inset:-4px}
