:root{--bg-primary: #f8f9fa;--bg-secondary: #ffffff;--bg-card: #ffffff;--text-primary: #1a1a2e;--text-secondary: #6b7280;--accent: #6366f1;--accent-hover: #818cf8;--accent-light: rgba(99, 102, 241, .1);--border-color: #e5e7eb;--shadow: 0 25px 50px -12px rgba(0, 0, 0, .1);--shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, .05);--gradient-1: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--gradient-bg: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);--glow: rgba(99, 102, 241, .3)}[data-theme=dark]{--bg-primary: #0a0a0a;--bg-secondary: #111111;--bg-card: #161616;--text-primary: #ffffff;--text-secondary: #a0a0a0;--accent: #6366f1;--accent-hover: #818cf8;--accent-light: rgba(99, 102, 241, .15);--border-color: #222222;--shadow: 0 25px 50px -12px rgba(0, 0, 0, .5);--shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, .3);--gradient-1: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--gradient-bg: linear-gradient(135deg, #0a0a0a 0%, #111111 100%);--glow: rgba(99, 102, 241, .4)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Commissioner,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--gradient-bg);color:var(--text-primary);min-height:100vh;line-height:1.6;transition:background .3s ease,color .3s ease;overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes modalIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.app{min-height:100vh}.background-decoration{position:fixed;top:-50%;right:-20%;width:800px;height:800px;background:radial-gradient(circle,var(--glow) 0%,transparent 70%);pointer-events:none;z-index:0;transition:background .3s ease}.background-decoration:after{content:"";position:fixed;bottom:-30%;left:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(139,92,246,.15) 0%,transparent 70%);pointer-events:none}.container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;z-index:1}.gift-card{background:var(--bg-card);border-radius:24px;border:1px solid var(--border-color);box-shadow:var(--shadow);width:100%;max-width:480px;overflow:hidden;animation:fadeInUp .6s ease-out;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.gift-card:hover{box-shadow:var(--shadow),0 0 40px var(--glow)}.gift-header{background:var(--gradient-1);padding:40px 32px;text-align:center;position:relative;overflow:hidden}.gift-header:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 50%);animation:shimmer 3s infinite linear}.gift-icon{font-size:64px;margin-bottom:16px;animation:float 3s ease-in-out infinite;position:relative;z-index:1}.gift-title{font-size:28px;font-weight:700;color:#fff;position:relative;z-index:1}.gift-content{padding:32px}.greeting-text{font-size:18px;color:var(--text-primary);text-align:center;margin-bottom:28px;line-height:1.5;transition:color .3s ease}.gift-box{background:var(--accent-light);border:1px solid var(--border-color);border-radius:16px;padding:24px;margin-bottom:28px;text-align:center;transition:background .3s ease,border-color .3s ease}.gift-label{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;transition:color .3s ease}.gift-name{font-size:22px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;justify-content:center;gap:10px;transition:color .3s ease}.gift-emoji{font-size:28px}.input-group{margin-bottom:24px}.input-label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px;transition:color .3s ease}.input-wrapper{position:relative}.input-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-secondary);transition:color .3s ease}.input-field{width:100%;padding:16px 16px 16px 48px;font-size:16px;font-family:inherit;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-secondary);color:var(--text-primary);outline:none;transition:all .3s ease}.input-field::placeholder{color:var(--text-secondary)}.input-field:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-light)}.input-field:focus~.input-icon,.input-wrapper:focus-within .input-icon{color:var(--accent)}.input-field.error{border-color:#ef4444;animation:shake .5s ease}.input-hint{font-size:12px;color:var(--text-secondary);margin-top:8px;padding-left:4px;line-height:1.4;transition:color .3s ease}.claimed-message{background:var(--accent-light);border:1px solid var(--border-color);border-radius:16px;padding:24px;text-align:center;margin-bottom:0;transition:background .3s ease,border-color .3s ease}.claimed-message p{font-size:18px;font-weight:600;color:var(--text-primary);margin:0;transition:color .3s ease}.claim-button{width:100%;padding:18px 32px;background:var(--gradient-1);color:#fff;font-size:18px;font-weight:600;font-family:inherit;border:none;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease;position:relative;overflow:hidden}.claim-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.claim-button:hover{transform:translateY(-2px);box-shadow:0 10px 30px #6366f166}.claim-button:hover:before{left:100%}.claim-button:active{transform:translateY(0)}.claim-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.claim-button:disabled:hover{box-shadow:none}.button-icon{font-size:20px;transition:transform .3s ease}.claim-button:hover .button-icon{transform:translate(4px)}.gift-footer{padding:16px 32px;border-top:1px solid var(--border-color);text-align:center;transition:border-color .3s ease}.footer-text{font-size:13px;color:var(--text-secondary);transition:color .3s ease}.theme-toggle{position:fixed;top:20px;right:20px;width:48px;height:48px;border-radius:50%;background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:100;box-shadow:var(--shadow-sm)}.theme-toggle:hover{transform:scale(1.1);border-color:var(--accent)}.theme-icon{color:var(--text-primary);transition:all .3s ease}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .3s ease}.modal-content{position:relative;background:var(--bg-card);border-radius:24px;border:1px solid var(--border-color);padding:48px 40px;max-width:400px;width:100%;text-align:center;animation:modalIn .4s cubic-bezier(.34,1.56,.64,1);box-shadow:var(--shadow)}.modal-icon{font-size:64px;margin-bottom:20px}.modal-title{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.modal-text{font-size:16px;color:var(--text-secondary);margin-bottom:28px;line-height:1.5}.modal-text strong{color:var(--accent)}.modal-hint{font-size:13px;color:var(--text-secondary);margin-bottom:24px;line-height:1.4}.modal-buttons{display:flex;gap:12px;justify-content:center}.modal-button{padding:14px 40px;background:var(--gradient-1);color:#fff;font-size:16px;font-weight:600;font-family:inherit;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease}.modal-button:hover{transform:translateY(-2px);box-shadow:0 10px 30px #6366f166}.modal-button-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.modal-button-secondary:hover{background:var(--bg-card);box-shadow:0 4px 12px #0000001a}.modal-button-single{max-width:none}.error-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;z-index:1}.error-card{background:var(--bg-card);border-radius:24px;border:1px solid var(--border-color);padding:48px 40px;max-width:400px;width:100%;text-align:center;box-shadow:var(--shadow);animation:fadeInUp .6s ease-out}.error-icon{font-size:64px;margin-bottom:20px}.error-title{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:12px}.error-text{font-size:16px;color:var(--text-secondary);margin-bottom:28px;line-height:1.5}.error-button{display:inline-block;padding:14px 40px;background:var(--gradient-1);color:#fff;font-size:16px;font-weight:600;text-decoration:none;border-radius:10px;transition:all .3s ease}.error-button:hover{transform:translateY(-2px);box-shadow:0 10px 30px #6366f166}@media(max-width:540px){.gift-header{padding:32px 24px}.gift-title{font-size:24px}.gift-icon{font-size:56px}.gift-content{padding:24px}.greeting-text{font-size:16px}.gift-name{font-size:18px}.gift-box{padding:20px}.claim-button{padding:16px 24px;font-size:16px}.modal-content,.error-card{padding:36px 24px}.theme-toggle{top:12px;right:12px;width:42px;height:42px}}
