.vote-container{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--color-bg-gradient);background-attachment:fixed}.vote-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(211,47,47,.1)}.header-emoji{font-size:2rem;animation:float 3s ease-in-out infinite}.vote-main{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:var(--spacing-xl)}.wish-form{width:100%;max-width:600px;background:#fff;border-radius:var(--radius-xl);padding:var(--spacing-2xl);box-shadow:var(--shadow-lg);border:1px solid rgba(211,47,47,.1)}.form-title{font-size:1.75rem;font-weight:700;color:var(--cny-red);text-align:center;margin-bottom:var(--spacing-xs);font-family:var(--font-family-chinese)}.form-subtitle{text-align:center;color:var(--color-text-muted);margin-bottom:var(--spacing-2xl);font-family:var(--font-family-chinese)}.form-group{margin-bottom:var(--spacing-xl)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-weight:600;color:var(--color-text-primary);font-size:.9375rem}.form-input,.form-textarea{width:100%;padding:var(--spacing-md);font-size:1rem;background:var(--color-bg-primary);border:2px solid transparent;border-radius:var(--radius-md);transition:all var(--transition-fast);font-family:var(--font-family-chinese)}.form-input:focus,.form-textarea:focus{outline:none;background:#fff;border-color:var(--cny-red);box-shadow:0 0 0 4px #d32f2f1a}.form-textarea{resize:vertical;min-height:120px;line-height:1.6}.word-counter{display:flex;justify-content:flex-end;margin-top:var(--spacing-xs);font-size:.875rem;color:var(--color-text-muted)}.word-counter.warning{color:var(--color-warning)}.word-counter.error{color:var(--color-error);font-weight:600}.template-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}.template-option{position:relative;aspect-ratio:1;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-normal);overflow:hidden;border:3px solid transparent}.template-option:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.template-option.selected{border-color:var(--cny-gold);box-shadow:0 0 20px #ffd70066}.template-option.selected:after{content:"✓";position:absolute;top:6px;right:6px;width:24px;height:24px;background:var(--cny-gold);color:var(--color-text-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700}.template-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2rem}.template-name{position:absolute;bottom:0;left:0;right:0;padding:var(--spacing-xs);font-size:.625rem;text-align:center;background:#00000080;color:#fff;font-weight:600}.template-option.template-red-envelope{background:linear-gradient(135deg,#d32f2f,#b71c1c)}.template-option.template-calligraphy{background:linear-gradient(180deg,#fffacd,#fff8dc)}.template-option.template-lantern{background:linear-gradient(135deg,#1a1a2e,#2d2d44)}.template-option.template-horse{background:linear-gradient(45deg,#43a047,#66bb6a)}.template-option.template-blossom{background:linear-gradient(180deg,#fce4ec,#fff9e6)}.template-option.template-firecracker{background:linear-gradient(135deg,#d32f2f,#ff5252)}.template-option.template-minimalist{background:#fff;border:2px solid #eee}.template-option.template-minimalist.selected{border:3px solid var(--cny-gold)}.template-option.template-dragon{background:linear-gradient(90deg,#7b1fa2,#9c27b0)}.preview-section{margin-bottom:var(--spacing-xl)}.preview-card-wrapper{display:flex;justify-content:center;padding:var(--spacing-lg);background:var(--color-bg-secondary);border-radius:var(--radius-lg)}.preview-card{width:280px;min-height:180px;border-radius:var(--radius-xl);padding:var(--spacing-xl);display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:var(--shadow-card);transition:all var(--transition-normal);background:linear-gradient(135deg,#d32f2f,#b71c1c);color:gold;font-family:var(--font-family-chinese)}.preview-icon{position:absolute;top:var(--spacing-md);right:var(--spacing-md);font-size:1.5rem}.preview-message{flex:1;font-size:1.125rem;line-height:1.6;font-weight:600;word-break:break-word}.preview-footer{margin-top:auto;display:flex;align-items:center;gap:var(--spacing-sm)}.preview-name{font-weight:700}.preview-location{font-size:.75rem;opacity:.8}.preview-card.template-red-envelope{background:linear-gradient(135deg,#d32f2f,#b71c1c);color:gold}.preview-card.template-calligraphy{background:linear-gradient(180deg,#fffacd,#fff8dc);color:#2c1810;font-family:var(--font-family-calligraphy);border-left:4px solid #8B0000;border-right:4px solid #8B0000}.preview-card.template-calligraphy .preview-message{font-size:1.375rem}.preview-card.template-lantern{background:linear-gradient(135deg,#1a1a2e,#2d2d44);color:#ff6b6b;box-shadow:0 0 30px #ffd7004d}.preview-card.template-lantern .preview-name{color:gold}.preview-card.template-horse{background:linear-gradient(45deg,#43a047,#66bb6a);color:#fff;border:2px solid #FFD700}.preview-card.template-horse .preview-name{color:gold}.preview-card.template-blossom{background:linear-gradient(180deg,#fce4ec,#fff9e6);color:#880e4f;border:2px solid #F48FB1}.preview-card.template-firecracker{background:linear-gradient(135deg,#d32f2f,#ff5252);color:#ffeb3b;font-family:var(--font-family)}.preview-card.template-minimalist{background:#fff;color:#d32f2f;border-left:6px solid #FFD700}.preview-card.template-dragon{background:linear-gradient(90deg,#7b1fa2,#9c27b0);color:gold;border:3px solid #FF6F00}.submit-btn{width:100%;margin-bottom:var(--spacing-lg);padding:var(--spacing-lg) var(--spacing-xl);font-size:1.125rem}.submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-loading{display:flex;align-items:center;justify-content:center}.error-message{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#d32f2f1a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error)}.error-message.hidden{display:none}.success-screen{width:100%;max-width:500px;background:#fff;border-radius:var(--radius-xl);padding:var(--spacing-3xl);box-shadow:var(--shadow-lg);text-align:center}.success-screen.hidden{display:none}.success-envelope{font-size:6rem;animation:envelope-open .8s ease-out,float 3s ease-in-out .8s infinite}.success-title{font-size:2rem;font-weight:700;color:var(--cny-red);margin:var(--spacing-lg) 0 var(--spacing-sm);font-family:var(--font-family-chinese)}.success-message{color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.success-message-zh{color:var(--color-text-muted);font-family:var(--font-family-chinese);margin-bottom:var(--spacing-xl)}.success-actions{display:flex;flex-direction:column;gap:var(--spacing-md)}.success-actions .btn{width:100%}.vote-footer{text-align:center;padding:var(--spacing-lg);background:#fffc;border-top:1px solid rgba(211,47,47,.1)}.vote-footer p{font-size:.875rem;color:var(--color-text-muted);font-family:var(--font-family-chinese)}@media (max-width: 768px){.vote-main{padding:var(--spacing-md);align-items:flex-start}.wish-form{padding:var(--spacing-xl)}.form-title{font-size:1.5rem}.template-grid{grid-template-columns:repeat(4,1fr);gap:var(--spacing-sm)}.template-icon{font-size:1.5rem}.template-name{display:none}.preview-card{width:100%;min-height:150px}.success-envelope{font-size:4rem}.success-title{font-size:1.5rem}}@media (max-width: 480px){.template-grid{grid-template-columns:repeat(4,1fr)}.vote-header{padding:var(--spacing-sm) var(--spacing-md)}.header-emoji{font-size:1.5rem}}
