.app-container{min-height:100vh;background:var(--bg-primary)}.fade-enter-active,.fade-leave-active{transition:opacity .3s ease}.fade-enter-from,.fade-leave-to{opacity:0}:root{--color-primary: oklch(.45 .12 145);--color-primary-light: oklch(.55 .1 145);--color-primary-dark: oklch(.35 .14 145);--color-secondary: oklch(.85 .08 150);--color-secondary-dark: oklch(.75 .1 150);--color-accent: oklch(.65 .12 85);--color-accent-light: oklch(.75 .1 85);--color-bg-primary: oklch(.98 .01 85);--color-bg-secondary: oklch(.96 .015 90);--color-bg-card: oklch(.99 .008 85);--color-text-primary: oklch(.25 .02 145);--color-text-secondary: oklch(.45 .02 145);--color-text-muted: oklch(.6 .02 145);--color-border: oklch(.88 .02 145);--color-success: oklch(.6 .15 145);--color-warning: oklch(.7 .15 85);--color-error: oklch(.55 .2 25);--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--font-serif: "Noto Serif SC", serif;--font-sans: "Noto Sans SC", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .03);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .05), 0 2px 4px -2px rgb(0 0 0 / .05);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .05), 0 4px 6px -4px rgb(0 0 0 / .05);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .05), 0 8px 10px -6px rgb(0 0 0 / .05);--transition-fast: .15s ease-out;--transition-base: .25s ease-out;--transition-slow: .4s ease-out}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-bg-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:600;line-height:1.3}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}img{max-width:100%;height:auto;display:block}::selection{background:var(--color-primary);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes growLeaf{0%{transform:scale(0) rotate(-45deg);opacity:0}50%{transform:scale(1.1) rotate(0);opacity:.8}to{transform:scale(1) rotate(0);opacity:1}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out forwards}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease-out forwards}.animate-fade-in-down{animation:fadeInDown var(--transition-slow) ease-out forwards}.animate-scale-in{animation:scaleIn var(--transition-base) ease-out forwards}.animate-float{animation:float 3s ease-in-out infinite}.skeleton{background:linear-gradient(90deg,var(--color-bg-secondary) 25%,var(--color-bg-card) 50%,var(--color-bg-secondary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}
