:root{--color-earth-dark: #5C4D3C;--color-earth: #8B7355;--color-earth-light: #B8A892;--color-sand: #E8DED1;--color-mist: #F5F1EB;--color-moss: #6B7B5F;--color-sage: #9CAF88;--color-bamboo: #C5D5B8;--color-terracotta: #C77D63;--color-clay: #D49A7E;--color-sunset: #E8C4A8;--color-text-primary: #2D2420;--color-text-secondary: #6B5D52;--color-text-muted: #9C8F82;--color-divider: #D9CFC4;--color-surface: #FFFFFF;--color-background: #F9F6F2;--color-success: #6B7B5F;--color-warning: #D4A574;--color-error: #C77D63;--color-info: #7D8FA3;--font-chinese: "Noto Serif SC", "Source Han Serif SC", Georgia, serif;--font-sans: "Noto Sans SC", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--text-display: 40px;--text-h1: 28px;--text-h2: 24px;--text-h3: 20px;--text-h4: 18px;--text-body: 16px;--text-body-sm: 14px;--text-caption: 12px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 4px;--radius: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(92, 77, 60, .05);--shadow: 0 2px 8px rgba(92, 77, 60, .08);--shadow-md: 0 4px 16px rgba(92, 77, 60, .12);--shadow-lg: 0 8px 32px rgba(92, 77, 60, .16);--shadow-soft: 0 4px 24px rgba(139, 115, 85, .15);--duration-fast: .15s;--duration: .25s;--duration-slow: .4s;--ease-default: cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-body);line-height:1.5;color:var(--color-text-primary);background-color:var(--color-background)}h1,.text-h1{font-family:var(--font-chinese);font-size:var(--text-h1);font-weight:600;line-height:1.3;color:var(--color-text-primary)}h2,.text-h2{font-family:var(--font-chinese);font-size:var(--text-h2);font-weight:600;line-height:1.3}h3,.text-h3{font-size:var(--text-h3);font-weight:600;line-height:1.4}h4,.text-h4{font-size:var(--text-h4);font-weight:600}p{margin-bottom:var(--space-4)}.text-body{font-size:var(--text-body);line-height:1.6}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-caption{font-size:var(--text-caption);color:var(--color-text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;font-size:var(--text-body);font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--duration) var(--ease-default);text-decoration:none}.btn-primary{background:var(--color-earth);color:#fff}.btn-primary:hover{background:var(--color-earth-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:transparent;color:var(--color-earth);border:1.5px solid var(--color-earth)}.btn-secondary:hover{background:var(--color-mist)}.btn-soft{background:var(--color-sand);color:var(--color-earth-dark)}.btn-soft:hover{background:var(--color-earth-light)}.btn-ghost{background:transparent;color:var(--color-text-secondary);padding:8px 16px}.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow);border:1px solid var(--color-divider)}.card-soft{background:var(--color-mist);border:none;box-shadow:var(--shadow-soft)}.input{width:100%;padding:12px 16px;font-size:var(--text-body);font-family:inherit;background:var(--color-mist);border:1.5px solid var(--color-divider);border-radius:var(--radius-md);color:var(--color-text-primary);transition:border-color var(--duration)}.input:focus{outline:none;border-color:var(--color-earth);background:var(--color-surface)}.input::placeholder{color:var(--color-text-muted)}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-6)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animate-fade-in{animation:fadeIn var(--duration) var(--ease-default)}.animate-slide-up{animation:slideUp var(--duration-slow) var(--ease-default)}.animate-breathe{animation:breathe 4s var(--ease-default) infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:768px){:root{--text-h1: 24px;--text-h2: 20px}.container{padding:0 var(--space-4)}}body{margin:0;padding:0}
