:root{--pink:#ff6b81;--pink-soft:#ff9ca3;--peach:#ffc3a0;--coral-light:#ffd6e0;--blush:#fff5f7;--white:#fff;--white-soft:#f9f9f9;--gray-light:#f5f5f5;--gray:#e8e8e8;--red:#ff3b3f;--dark:#222;--dark-soft:#444;--text-muted:#888;--color-primary:var(--pink);--color-primary-hover:#ff5270;--color-primary-soft:var(--pink-soft);--color-accent:var(--peach);--color-bg:var(--blush);--color-bg-gradient:linear-gradient(135deg,var(--pink-soft)0%,var(--peach)50%,var(--coral-light)100%);--color-surface:var(--white);--color-surface-soft:var(--white-soft);--color-text:var(--dark);--color-text-soft:var(--dark-soft);--color-text-muted:var(--text-muted);--shadow-soft:0 2px 12px #ff6b811a;--shadow-md:0 4px 20px #ff6b8126;--shadow-lg:0 8px 32px #ff6b8133;--shadow-button:0 4px 16px #ff6b8159;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--radius-full:9999px;--transition-fast:.15s ease-out;--transition-normal:.25s ease-out;--transition-slow:.4s ease-out;--transition-bounce:.5s cubic-bezier(.34,1.56,.64,1);--font-primary:"Poppins",-apple-system,BlinkMacSystemFont,sans-serif;--font-script:"Dancing Script",cursive}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-primary);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);color:var(--color-text);font-weight:600;line-height:1.3}h1{font-size:clamp(2rem,6vw,3rem)}h2{font-size:clamp(1.5rem,4vw,2rem)}h3{font-size:clamp(1.125rem,3vw,1.375rem)}p{color:var(--color-text-soft)}.script{font-family:var(--font-script);font-weight:500}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-hover)}.gradient-text{background:linear-gradient(135deg,var(--pink)0%,var(--peach)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{font-family:var(--font-primary);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-normal);border:none;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-button)}.btn-primary:hover{background:var(--color-primary-hover);transform:translateY(-2px)scale(1.02);box-shadow:0 6px 24px #ff6b8173}.btn-primary:active{transform:translateY(0)scale(.98)}.btn-secondary{background:var(--white);color:var(--color-text);border:2px solid var(--gray)}.btn-secondary:hover{border-color:var(--pink-soft);background:var(--blush);transform:translateY(-1px)}.btn-ghost{color:var(--color-text-muted);background:0 0}.btn-ghost:hover{color:var(--color-text);background:#ff6b8114}.btn-lg{padding:18px 36px;font-size:1.125rem}.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:32px}.input{width:100%;font-family:var(--font-primary);color:var(--color-text);background:var(--white);border:2px solid var(--gray);border-radius:var(--radius-md);transition:all var(--transition-fast);outline:none;padding:14px 18px;font-size:1rem}.input:focus{border-color:var(--pink-soft);box-shadow:0 0 0 4px #ff6b811f}.input::placeholder{color:var(--color-text-muted)}.textarea{resize:vertical;min-height:120px;line-height:1.6}.label{color:var(--color-text);margin-bottom:8px;font-size:.9375rem;font-weight:500;display:block}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.container-sm{max-width:500px}.container-md{max-width:600px}.text-center{text-align:center}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-float{animation:3s ease-in-out infinite float}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-wiggle{animation:.5s ease-in-out wiggle}.animate-fadeUp{animation:.6s ease-out forwards fadeUp}@media (max-width:768px){.container{padding:0 16px}.btn{padding:12px 24px}.btn-lg{padding:16px 32px;font-size:1rem}.card{padding:24px}}
