.app-header[data-v-ae998747]{position:fixed;top:0;left:0;right:0;height:var(--header-h);display:flex;justify-content:space-between;align-items:center;padding:0 32px;z-index:100;background:#f5f1e8b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(0,0,0,.04)}.brand[data-v-ae998747]{background:none;border:none;padding:0;cursor:pointer}.brand-handwrite[data-v-ae998747]{font-family:var(--font-handwrite);font-size:28px;color:var(--color-olive-deep);letter-spacing:.04em}.nav[data-v-ae998747]{display:flex;gap:24px}.nav-item[data-v-ae998747]{font-size:14px;color:var(--text-secondary);padding:6px 14px;border-radius:999px;transition:all .3s ease}.nav-item[data-v-ae998747]:hover{color:var(--color-olive-deep);background:#6b7a5a1f}.nav-item.active[data-v-ae998747]{color:#fff;background:var(--color-olive)}@media (max-width: 560px){.app-header[data-v-ae998747]{padding:0 16px}.brand-handwrite[data-v-ae998747]{font-size:22px}.nav[data-v-ae998747]{gap:14px}.nav-item[data-v-ae998747]{font-size:13px;padding:6px 10px}}.cursor-spots[data-v-e0fda9b3]{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:150}.cursor-spot[data-v-e0fda9b3]{position:fixed;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle,rgba(255,245,200,1) 0%,rgba(255,210,130,.85) 35%,rgba(255,170,80,.4) 65%,transparent 80%);filter:blur(.5px);transform:translate(-50%,-50%);animation:spotFade-e0fda9b3 1.2s ease-out forwards}@keyframes spotFade-e0fda9b3{0%{opacity:1;transform:translate(-50%,-50%) scale(.5)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.4)}to{opacity:0;transform:translate(-50%,-220%) scale(.3)}}.season-layer[data-v-e0fda9b3]{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:60;overflow:hidden}.flake[data-v-e0fda9b3]{position:absolute;top:-40px;opacity:.7;will-change:transform,opacity;animation-name:fall-e0fda9b3;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes fall-e0fda9b3{0%{transform:translateY(-40px) rotate(0);opacity:0}10%{opacity:.7}90%{opacity:.7}to{transform:translate(var(--drift, 0),calc(100vh + 40px)) rotate(360deg);opacity:0}}.season-layer.summer .flake[data-v-e0fda9b3]{background:radial-gradient(circle,rgba(255,230,150,.9),transparent 70%);border-radius:50%;filter:blur(1px);font-size:0!important}.season-layer.summer .flake[data-v-e0fda9b3]:before{content:"";display:block;width:10px;height:10px}.top-balloon[data-v-e0fda9b3]{position:fixed;right:24px;bottom:28px;width:52px;height:64px;z-index:100;background:none;border:none;cursor:pointer;animation:balloonSway-e0fda9b3 3s ease-in-out infinite;transform-origin:50% 100%}.balloon-body[data-v-e0fda9b3]{font-size:32px;display:block;filter:drop-shadow(0 6px 10px rgba(0,0,0,.18));transition:transform .25s ease}.balloon-string[data-v-e0fda9b3]{position:absolute;left:50%;bottom:0;width:1.5px;height:18px;background:#5a4a2e80;transform:translate(-50%)}.top-balloon:hover .balloon-body[data-v-e0fda9b3]{transform:translateY(-4px) scale(1.08)}.top-balloon:active .balloon-body[data-v-e0fda9b3]{transform:translateY(0) scale(.95)}@keyframes balloonSway-e0fda9b3{0%,to{transform:rotate(calc(var(--shake, 0deg) * -1))}50%{transform:rotate(var(--shake, 0deg))}}.balloon-fade-enter-active[data-v-e0fda9b3],.balloon-fade-leave-active[data-v-e0fda9b3]{transition:opacity .4s ease,transform .4s ease}.balloon-fade-enter-from[data-v-e0fda9b3],.balloon-fade-leave-to[data-v-e0fda9b3]{opacity:0;transform:translateY(20px) scale(.7)}@media (max-width: 768px){.top-balloon[data-v-e0fda9b3]{right:16px;bottom:20px}}.app-main[data-v-0ae24d0f]{min-height:100vh;width:100%}:root{--color-olive: #6b7a5a;--color-olive-deep: #4a5a3a;--color-cream: #f5f1e8;--color-sky: #b8d4d9;--color-warm-orange: #d97847;--color-warm-bg: #fdf3e7;--color-warm-yellow: #f4c95d;--color-warm-orange: #f08a3e;--color-warm-pink: #f5807a;--color-warm-coral: #e85a4f;--text-primary: #2d2d2d;--text-secondary: #666666;--border-soft: rgba(0,0,0,.08);--font-sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", Arial, sans-serif;--font-handwrite: "Caveat", "Indie Flower", "Comic Sans MS", cursive;--font-handwrite-zh: "Gaegu", "Caveat", "Indie Flower", cursive;--font-handwrite-zh-cursive: "Long Cang", "Ma Shan Zheng", "Gaegu", cursive;--font-title: "Hiragino Sans", "Yu Gothic", "PingFang SC", sans-serif;--header-h: 64px;--max-w: 1280px}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;width:100%}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--color-cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.45  0 0 0 0 0.38  0 0 0 0 0.26  0 0 0 0.18 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");opacity:.5;mix-blend-mode:multiply}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}img{display:block;max-width:100%}.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0%;background:linear-gradient(90deg,var(--color-warm-orange),var(--color-olive));z-index:200;transition:width .1s linear;box-shadow:0 0 6px #d9784780}.fade-slide-enter-active,.fade-slide-leave-active{transition:opacity .6s ease,transform .6s ease}.fade-slide-enter-from{opacity:0;transform:translateY(20px)}.fade-slide-leave-to{opacity:0;transform:translateY(-20px)}.section{min-height:100vh;width:100%;padding:calc(var(--header-h) + 40px) 24px 80px;display:flex;flex-direction:column;align-items:center;justify-content:center}.section-title{font-size:clamp(28px,4vw,44px);font-weight:700;letter-spacing:.08em;margin-bottom:8px}.section-subtitle{font-size:14px;color:var(--text-secondary);letter-spacing:.12em;margin-bottom:48px}@media (max-width: 768px){.section{padding:calc(var(--header-h) + 24px) 16px 60px}}
