.page-enter-active,.page-leave-active{transition:opacity var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.page-enter-from{opacity:0;transform:translateY(12px)}.page-leave-to{opacity:0;transform:translateY(-12px)}:root{--bg-warm: #fff8f0;--bg-cream: #fef5e7;--bg-vanilla: #fdf0dc;--bg-peach: #fef0ec;--bg-surface: #ffffff;--bg-card: #ffffff;--coral: #ff7b7b;--coral-light: #ffa5a5;--coral-glow: rgba(255, 123, 123, .25);--mint: #6bc4a4;--mint-light: #8fdbbc;--mint-glow: rgba(107, 196, 164, .2);--sky: #6bafe0;--sky-light: #94ccf2;--sky-glow: rgba(107, 175, 224, .2);--amber: #f0b840;--amber-light: #f7cf6e;--amber-glow: rgba(240, 184, 64, .25);--lavender: #b89bdb;--lavender-light: #d0bdf0;--lavender-glow: rgba(184, 155, 219, .2);--peach: #f5a58f;--peach-light: #f9c4b4;--text-primary: #3d3028;--text-secondary: #6b5d50;--text-muted: #9b8d80;--text-on-accent: #ffffff;--color-bg: var(--bg-warm);--color-surface: var(--bg-surface);--color-surface-elevated: var(--bg-card);--color-primary: var(--coral);--color-primary-hover: var(--coral-light);--color-accent: var(--amber);--color-text: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-muted: var(--text-muted);--color-border: rgba(180, 160, 140, .25);--color-border-strong: rgba(180, 160, 140, .45);--color-success: var(--mint);--font-display: "Noto Serif SC", "STSong", "SimSun", "KaiTi", serif;--font-body: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-playful: "ZCOOL KuaiLe", "Noto Sans SC", "PingFang SC", sans-serif;--text-xs: .8rem;--text-sm: .925rem;--text-base: 1.05rem;--text-lg: 1.2rem;--text-xl: 1.4rem;--text-2xl: 1.7rem;--text-3xl: 2.1rem;--text-4xl: 2.6rem;--text-5xl: 3.2rem;--space-1: .25rem;--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;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(180, 150, 130, .12);--shadow-md: 0 6px 20px rgba(180, 150, 130, .15);--shadow-lg: 0 12px 36px rgba(180, 150, 130, .18);--shadow-xl: 0 20px 60px rgba(180, 150, 130, .2);--shadow-coral: 0 4px 20px var(--coral-glow);--shadow-mint: 0 4px 20px var(--mint-glow);--shadow-amber: 0 4px 20px var(--amber-glow);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .15s;--duration-base: .25s;--duration-slow: .4s;--page-max: 1040px;--nav-height: 60px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.7;color:var(--color-text);background:var(--color-bg);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(ellipse at 20% 10%,rgba(255,180,160,.15) 0%,transparent 45%),radial-gradient(ellipse at 80% 30%,rgba(160,210,240,.12) 0%,transparent 40%),radial-gradient(ellipse at 50% 80%,rgba(180,220,170,.1) 0%,transparent 40%),radial-gradient(ellipse at 90% 90%,rgba(240,190,130,.1) 0%,transparent 30%);pointer-events:none}a{color:var(--coral);text-decoration:none;font-weight:600;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--peach)}button{cursor:pointer;font-family:inherit;border:none;background:none}img,svg{display:block;max-width:100%}input,textarea,select{font-family:inherit;font-size:inherit}:focus-visible{outline:3px solid var(--coral-light);outline-offset:3px;border-radius:var(--radius-sm)}::selection{background:#ff7b7b33;color:var(--text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-vanilla);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:#b496824d;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#b4968280}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.3;color:var(--text-primary);letter-spacing:.02em}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}p{margin-bottom:var(--space-3);color:var(--text-secondary)}p:last-child{margin-bottom:0}strong{font-weight:700;color:var(--text-primary)}.page-container{max-width:var(--page-max);margin:0 auto;padding:var(--space-8) var(--space-6)}.card{background:var(--bg-card);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:box-shadow var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-base);font-weight:700;letter-spacing:.02em;transition:all var(--duration-fast) var(--ease-bounce);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.95)}.btn-primary{background:linear-gradient(135deg,var(--coral),#ff9797);color:#fff;box-shadow:var(--shadow-coral)}.btn-primary:hover{box-shadow:0 8px 28px var(--coral-glow);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0) scale(.96)}.btn-primary:disabled{background:var(--text-muted);box-shadow:none;cursor:not-allowed;transform:none}.btn-outline{background:transparent;border:2px solid var(--coral-light);color:var(--coral)}.btn-outline:hover{background:#ff7b7b14;border-color:var(--coral)}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{color:var(--text-secondary);background:#b496821a}.btn-sm{padding:var(--space-1) var(--space-4);font-size:var(--text-sm);border-radius:var(--radius-full)}.btn-block{width:100%}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-lg)}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:700;color:var(--text-secondary)}.form-input{width:100%;padding:var(--space-3) var(--space-5);border:2px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-base);font-family:var(--font-body);background:var(--bg-surface);color:var(--text-primary);transition:all var(--duration-fast) var(--ease-out)}.form-input::placeholder{color:var(--text-muted)}.form-input:hover{border-color:var(--color-border-strong)}.form-input:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 4px var(--coral-glow)}.form-input--search{padding-left:var(--space-10);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%239b8d80' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 16px center}.form-error{color:var(--coral);font-size:var(--text-sm);font-weight:600;margin-top:var(--space-2);display:flex;align-items:center;gap:var(--space-2)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.text-center{text-align:center}.text-muted{color:var(--text-muted)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounce-in{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.08)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes sparkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@keyframes gentle-pulse{0%,to{box-shadow:0 0 0 0 var(--coral-glow)}50%{box-shadow:0 0 0 16px transparent}}@keyframes twinkle{0%,to{opacity:.2}50%{opacity:.7}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.animate-fade-in{animation:fade-in var(--duration-base) var(--ease-out) both}.animate-bounce-in{animation:bounce-in var(--duration-slow) var(--ease-bounce) both}.animate-float{animation:float 3s ease-in-out infinite}.stagger-children>*{opacity:0;animation:fade-in-up var(--duration-slow) var(--ease-out) forwards}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:80ms}.stagger-children>*:nth-child(3){animation-delay:.16s}.stagger-children>*:nth-child(4){animation-delay:.24s}.stagger-children>*:nth-child(5){animation-delay:.32s}.stagger-children>*:nth-child(6){animation-delay:.4s}.stagger-children>*:nth-child(7){animation-delay:.48s}.stagger-children>*:nth-child(8){animation-delay:.56s}@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-5xl: 2.2rem;--text-4xl: 1.9rem;--text-3xl: 1.6rem;--text-2xl: 1.35rem}.page-container{padding:var(--space-5) var(--space-4)}}@media (max-width: 480px){:root{--text-5xl: 1.9rem;--text-4xl: 1.6rem}.page-container{padding:var(--space-4) var(--space-3)}}
