:root{--brand:#4f46e5;--brand-accent:#6366f1;--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1.5rem;--shadow-xs:0 1px 2px 0 rgb(0 0 0/.04);--shadow-sm:0 2px 4px -2px rgb(0 0 0/.05),0 4px 6px -1px rgb(0 0 0/.06);--shadow:0 4px 10px -2px rgb(0 0 0/.07),0 12px 28px -6px rgb(0 0 0/.08);--shadow-lg:0 8px 18px -6px rgb(0 0 0/.12),0 18px 38px -8px rgb(0 0 0/.16);--focus-ring:0 0 0 4px rgb(99 102 241/.35);--ease:cubic-bezier(.4,0,.2,1)}*{box-sizing:border-box}body{font-family:Inter,sans-serif;background:radial-gradient(circle at 30% 20%,#e2e8f0,#f1f5f9 60%);min-height:100vh;-webkit-font-smoothing:antialiased;color:#1f2937}.container{max-width:1280px}.panel{position:relative;background:linear-gradient(145deg,#ffffff 0%,#fdfdff 50%,#f9fafb 100%);border:1px solid rgba(226,232,240,0.7);border-radius:16px;box-shadow:0 4px 12px rgba(15,23,42,0.06),0 2px 6px rgba(15,23,42,0.04),inset 0 1px 0 rgba(255,255,255,0.8);transition:all 0.35s cubic-bezier(.23,1,.32,1);backdrop-filter:blur(8px)}.panel:hover{box-shadow:0 8px 25px rgba(15,23,42,0.1),0 4px 12px rgba(15,23,42,0.06),inset 0 1px 0 rgba(255,255,255,0.9);transform:translateY(-2px);border-color:rgba(79,70,229,0.15)}.panel:focus-within{box-shadow:0 12px 35px rgba(79,70,229,0.15),0 6px 18px rgba(79,70,229,0.08),inset 0 1px 0 rgba(255,255,255,0.95);border-color:rgba(79,70,229,0.3);transform:translateY(-3px)}.panel input[type=text],.panel input[type=date],.panel select{border:1px solid #d5dbe3;background:#fff;border-radius:var(--radius-sm);transition:border-color .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease)}.panel input[type=text]:focus,.panel input[type=date]:focus,.panel select:focus{outline:0;border-color:var(--brand-accent);box-shadow:var(--focus-ring);background:#fff}.panel label{font-weight:500;letter-spacing:.25px}label{font-family:Inter,sans-serif;font-weight:600;font-size:.95rem;line-height:1.4;color:#374151;letter-spacing:.025em;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;position:relative;transition:.2s;text-shadow:0 1px 2px rgba(0,0,0,.05)}label:before{font-size:1.15em;opacity:.85;transition:.3s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));transform-origin:center}label[for=school-name]:before{content:"🎓"}label[for=student-name]:before{content:"👨🏻‍🎓"}label[for=student-id]:before{content:"🆔"}label[for=dob]:before{content:"🎂"}label[for=course]:before{content:"👨🏻‍💻"}label[for=valid-to]:before{content:"🕒"}label.school-email-label:before{content:"📧"}label:hover{color:#1f2937;transform:translatey(-1px)}label:hover::before{opacity:1;transform:scale(1.15) translatey(-1px);filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}label:active{transform:translatey(0)}label:active::before{transform:scale(1.05)}.focus-within label,input:focus+label,select:focus+label,input:focus~label{color:var(--brand);text-shadow:0 1px 3px rgba(79,70,229,.1)}.focus-within label:before,input:focus+label::before,select:focus+label::before,input:focus~label::before{opacity:1;transform:scale(1.2);filter:drop-shadow(0 2px 4px rgba(79,70,229,.2))}div:focus-within label{color:var(--brand);text-shadow:0 1px 3px rgba(79,70,229,.1)}div:focus-within label:before{opacity:1;transform:scale(1.2);filter:drop-shadow(0 2px 4px rgba(79,70,229,.2))}input[type=file]{display:none}.custom-file-upload{border:2px dashed #cbd5e1;display:inline-flex;align-items:center;gap:.75rem;padding:.8rem 1.2rem;cursor:pointer;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:.75rem;font-size:.85rem;font-weight:600;color:#374151;transition:.25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;min-height:44px}.custom-file-upload:hover{border-color:#3b82f6;background:linear-gradient(135deg,#f8fafc,#e0f2fe);transform:translatey(-1px);box-shadow:0 4px 8px rgba(59,130,246,.15)}.custom-file-upload:active{transform:translatey(0)}.custom-file-upload:focus{outline:0;box-shadow:0 0 0 3px rgba(59,130,246,.3)}.random-btn{padding:.6rem 1rem;font-size:.8rem;font-weight:600;letter-spacing:.3px;border:0;border-radius:.5rem;background:linear-gradient(135deg,#f8fafc,#e2e8f0);color:#475569;box-shadow:0 2px 4px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06);transition:all 0.3s cubic-bezier(.4,0,.2,1);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:40px;position:relative;overflow:hidden}.random-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transition:left 0.6s ease}.random-btn:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 15px rgba(0,0,0,.15),0 4px 8px rgba(0,0,0,.1)}.random-btn:hover::before{left:100%}.random-btn:active{transform:translatey(0);box-shadow:0 1px 2px rgba(0,0,0,.1)}.random-btn:focus{outline:0;box-shadow:0 0 0 3px rgba(59,130,246,.3),0 2px 4px rgba(0,0,0,.1)}#download-btn,#random-color-btn,#copy-script-btn{position:relative;overflow:hidden;isolation:isolate;border:0;border-radius:.75rem;font-weight:700;letter-spacing:.3px;transition:.3s cubic-bezier(.4,0,.2,1);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;font-size:.9rem;text-transform:none;text-decoration:none}#download-btn{background:linear-gradient(135deg,#4f46e5,#3b82f6);color:#fff;box-shadow:0 4px 12px rgba(79,70,229,.3),0 2px 4px rgba(0,0,0,.1)}#download-btn:hover{background:linear-gradient(135deg,#4338ca,#2563eb);transform:translatey(-2px);box-shadow:0 6px 16px rgba(79,70,229,.4),0 4px 8px rgba(0,0,0,.15)}#random-color-btn{background:linear-gradient(135deg,#14b8a6,#06b6d4);color:#fff;box-shadow:0 4px 12px rgba(20,184,166,.3),0 2px 4px rgba(0,0,0,.1)}#random-color-btn:hover{background:linear-gradient(135deg,#0d9488,#0891b2);transform:translatey(-2px);box-shadow:0 6px 16px rgba(20,184,166,.4),0 4px 8px rgba(0,0,0,.15)}#copy-script-btn{background:linear-gradient(135deg,#374151,#1f2937);color:#fff;box-shadow:0 4px 12px rgba(55,65,81,.3),0 2px 4px rgba(0,0,0,.1)}#copy-script-btn:hover{background:linear-gradient(135deg,#1f2937,#111827);transform:translatey(-2px);box-shadow:0 6px 16px rgba(55,65,81,.4),0 4px 8px rgba(0,0,0,.15)}#download-btn:active,#random-color-btn:active,#copy-script-btn:active{transform:translatey(0);box-shadow:0 2px 6px rgba(0,0,0,.2)}#download-btn:focus,#random-color-btn:focus,#copy-script-btn:focus{outline:0;box-shadow:0 0 0 3px rgba(59,130,246,.3),0 4px 12px rgba(0,0,0,.2)}#random-all-btn{background:linear-gradient(135deg,#ff6b6b,#feca57,#48cae4,#06ffa5);background-size:300% 300%;color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:1px;border:none;border-radius:12px;padding:12px 24px;position:relative;overflow:hidden;box-shadow:0 8px 30px rgba(255,107,107,.4);transition:all 0.4s cubic-bezier(.175,.885,.32,1);animation:gradient-flow 3s ease infinite;transform:translateY(0)}@keyframes gradient-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}#random-all-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left 0.6s}#random-all-btn:hover{transform:translateY(-3px);box-shadow:0 15px 40px rgba(255,107,107,.6);animation:gradient-flow 1.5s ease infinite}#random-all-btn:hover::before{left:100%}#random-all-btn:active{transform:translateY(-1px);box-shadow:0 8px 25px rgba(255,107,107,.5)}#random-all-btn:focus{outline:none;box-shadow:0 0 0 4px rgba(255,107,107,.3)}@keyframes sparkle{0%,100%{opacity:1;transform:translateY(-50%) scale(1)}50%{opacity:.7;transform:translateY(-50%) scale(1.2)}}#copy-email-btn,#copy-school-btn{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#374151;border:0;border-radius:.5rem;padding:.5rem;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.06)}#copy-email-btn:hover,#copy-school-btn:hover{background:linear-gradient(135deg,#e5e7eb,#d1d5db);transform:translatey(-1px);box-shadow:0 3px 6px rgba(0,0,0,.15),0 2px 4px rgba(0,0,0,.1)}#copy-email-btn:active,#copy-school-btn:active{transform:translatey(0);box-shadow:0 1px 2px rgba(0,0,0,.1)}#copy-email-btn:focus,#copy-school-btn:focus{outline:0;box-shadow:0 0 0 3px rgba(59,130,246,.3),0 1px 3px rgba(0,0,0,.1)}#card-canvas{width:100%;max-width:750px;aspect-ratio:1125/634;height:auto;border-radius:24px;background:linear-gradient(145deg,#ffffff 0%,#f8fafc 50%,#f1f5f9 100%);border:2px solid rgba(226,232,240,0.8);box-shadow:0 0 0 1px rgba(255,255,255,0.1),0 8px 32px rgba(15,23,42,0.08),0 4px 16px rgba(15,23,42,0.04),inset 0 1px 0 rgba(255,255,255,0.6);transition:all 0.4s cubic-bezier(.23,1,.32,1);margin:0 auto;display:block;position:relative;backdrop-filter:blur(1px);overflow:hidden}#card-canvas::before{content:'';position:absolute;top:-3px;left:-3px;right:-3px;bottom:-3px;border-radius:27px;background:linear-gradient(135deg,rgba(79,70,229,0.15) 0%,rgba(16,185,129,0.1) 25%,rgba(245,101,101,0.1) 50%,rgba(139,92,246,0.15) 75%,rgba(59,130,246,0.15) 100%);background-size:400% 400%;opacity:0;transition:all 0.4s ease;z-index:-1;animation:gradient-border 8s ease infinite}#card-canvas::after{content:'';position:absolute;inset:2px;border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,0.9) 0%,rgba(255,255,255,0.6) 50%,rgba(255,255,255,0.4) 100%);opacity:0.3;pointer-events:none;z-index:1}#card-canvas:hover{box-shadow:0 0 0 1px rgba(255,255,255,0.2),0 25px 50px rgba(15,23,42,0.15),0 12px 24px rgba(15,23,42,0.08),inset 0 2px 4px rgba(255,255,255,0.8);transform:translateY(-6px) scale(1.015);border-color:rgba(79,70,229,0.2)}#card-canvas:hover::before{opacity:1;background-size:200% 200%}@keyframes gradient-border{0%,100%{background-position:0% 50%}25%{background-position:100% 0%}50%{background-position:100% 100%}75%{background-position:0% 100%}}.random-faces-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;margin-top:12px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;font-weight:600;font-size:14px;border:none;border-radius:8px;cursor:pointer;transition:all 0.3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px rgba(102,126,234,.4);position:relative;overflow:hidden}.random-faces-btn::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 0.6s}.random-faces-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(102,126,234,.5);background:linear-gradient(135deg,#5a67d8 0%,#6b46c1 100%)}.random-faces-btn:hover::before{left:100%}.random-faces-btn:active{transform:translateY(0);box-shadow:0 2px 8px rgba(102,126,234,.3)}.random-faces-btn:focus{outline:none;box-shadow:0 4px 12px rgba(102,126,234,.4),0 0 0 3px rgba(102,126,234,.2)}.random-faces-btn svg{transition:transform 0.3s ease}.random-faces-btn:hover svg{transform:scale(1.1) rotate(5deg)}.random-faces-btn span{position:relative;z-index:1}.random-faces-btn.loading{background:linear-gradient(135deg,#94a3b8 0%,#64748b 100%);cursor:not-allowed;transform:none}.random-faces-btn.loading svg{animation:spin 1s linear infinite}.random-faces-btn.success{background:linear-gradient(135deg,#10b981 0%,#059669 100%)}.random-faces-btn.error{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);animation:shake 0.5s ease-in-out}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes shake{0%,20%,40%,60%,80%{transform:translateX(0)}10%,30%,50%,70%{transform:translateX(-4px)}15%,35%,55%,75%{transform:translateX(4px)}}.ai-icon{display:inline-block;margin-right:6px;font-size:16px;animation:ai-pulse 2s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(255,215,0,.6));color:gold}@keyframes ai-pulse{0%,100%{background-position:0% 50%;transform:scale(1)}25%{background-position:100% 50%;transform:scale(1.1)}50%{background-position:100% 0%;transform:scale(1.05)}75%{background-position:0% 100%;transform:scale(1.08)}}.random-faces-btn:hover .ai-icon{animation:ai-pulse 1s ease-in-out infinite;filter:drop-shadow(0 0 12px rgba(102,126,234,.6))}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:20px;border:2px solid #f1f5f9}::-webkit-scrollbar-thumb:hover{background:#94a3b8}[role=alert]{border-left-width:6px;box-shadow:var(--shadow-xs)}@keyframes fadein{from{opacity:0;transform:translatey(8px)}to{opacity:1;transform:translatey(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-50px)}100%{opacity:1;transform:translateX(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(50px)}100%{opacity:1;transform:translateX(0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(30px)}100%{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes glow{0%,100%{box-shadow:0 0 5px rgba(99,102,241,.3)}50%{box-shadow:0 0 20px rgba(99,102,241,.6),0 0 30px rgba(99,102,241,.4)}}@keyframes shimmer{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}@keyframes pulse-glow{0%,100%{box-shadow:0 4px 15px rgba(99,102,241,.2);transform:scale(1)}50%{box-shadow:0 8px 25px rgba(99,102,241,.4);transform:scale(1.02)}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}@keyframes diceSpin{0%{transform:rotate(0deg) scale(1)}25%{transform:rotate(90deg) scale(1.1)}50%{transform:rotate(180deg) scale(1.2)}75%{transform:rotate(270deg) scale(1.1)}100%{transform:rotate(360deg) scale(1)}}.animate-fade-in{animation:fadein 0.6s ease-out forwards}.animate-slide-left{animation:slideInFromLeft 0.8s ease-out forwards}.animate-slide-right{animation:slideInFromRight 0.8s ease-out forwards}.animate-slide-bottom{animation:slideInFromBottom 0.6s ease-out forwards}.animate-scale-in{animation:scaleIn 0.5s ease-out forwards}.animate-glow{animation:glow 2s ease-in-out infinite alternate}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.animate-gradient{background:linear-gradient(-45deg,#667eea,#764ba2,#f093fb,#f5576c);background-size:400% 400%;animation:gradient-shift 3s ease infinite}.dice-spin{animation:diceSpin 0.8s ease-in-out}.title-glow{background:linear-gradient(45deg,#00d4ff,#5b73ff,#ff006e,#fb5607,#ffbe0b);background-size:300% 300%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:gradientShift 4s ease-in-out infinite;text-shadow:0 0 30px rgba(91,115,255,.5);filter:drop-shadow(0 4px 8px rgba(0,212,255,.3))}.title-enhanced{background:linear-gradient(135deg,#667eea 0%,#764ba2 25%,#f093fb 50%,#f5576c 75%,#4facfe 100%);background-size:400% 400%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:gradientShift 6s ease-in-out infinite;position:relative}.title-enhanced::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb,#f5576c,#4facfe);background-size:400% 400%;animation:gradientShift 6s ease-in-out infinite;filter:blur(20px);opacity:.3;z-index:-1}@keyframes gradientShift{0%,100%{background-position:0% 50%}25%{background-position:100% 0%}50%{background-position:100% 100%}75%{background-position:0% 100%}}.signature{font-family:"Bradley Hand","Segoe Script","Alex Brush","Brush Script MT","Quick Signature Personal Use",cursive}.card-shadow{box-shadow:0 10px 15px -3px rgb(0 0 0/.1),0 4px 6px -4px rgb(0 0 0/.1)}footer{text-align: end;margin: -20px 10px 8px;}#auto-verify-btn{background:linear-gradient(135deg,#10b981 0%,#059669 50%,#047857 100%);border:none;border-radius:16px;color:#fff;font-weight:700;padding:16px 24px;font-size:16px;display:flex;align-items:center;justify-content:center;gap:12px;transition:all 0.3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 8px 25px rgba(16,185,129,.3),0 4px 10px rgba(0,0,0,.1);text-transform:none;letter-spacing:.025em;min-height:56px;width:100%}#auto-verify-btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left 0.8s ease}#auto-verify-btn:hover{transform:translateY(-2px);box-shadow:0 12px 35px rgba(16,185,129,.4),0 6px 15px rgba(0,0,0,.15);background:linear-gradient(135deg,#059669 0%,#047857 50%,#065f46 100%)}#auto-verify-btn:hover::before{left:100%}#auto-verify-btn:active{transform:translateY(0);box-shadow:0 6px 20px rgba(16,185,129,.35),0 3px 8px rgba(0,0,0,.12)}#auto-verify-btn svg{width:20px;height:20px;stroke-width:2.5;filter:drop-shadow(0 1px 3px rgba(16,185,129,.4));animation:sparkle-glow 3s ease-in-out infinite}#auto-verify-btn .rocket-emoji{font-size:18px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.3));animation:rocket-pulse 2s ease-in-out infinite}@keyframes rocket-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1) rotate(5deg)}}@keyframes sparkle-glow{0%,100%{filter:drop-shadow(0 1px 3px rgba(16,185,129,.4));transform:rotate(0deg)}25%{filter:drop-shadow(0 2px 8px rgba(16,185,129,.8));transform:rotate(90deg)}50%{filter:drop-shadow(0 3px 12px rgba(16,185,129,1));transform:rotate(180deg)}75%{filter:drop-shadow(0 2px 8px rgba(16,185,129,.8));transform:rotate(270deg)}}.auto-verify-popup{position:fixed;top:24px;right:24px;min-width:380px;max-width:420px;background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%);border-radius:20px;box-shadow:0 25px 50px -12px rgba(0,0,0,.25),0 0 0 1px rgba(255,255,255,.05),inset 0 1px 0 rgba(255,255,255,.1);border:1px solid rgba(226,232,240,.8);backdrop-filter:blur(20px);z-index:9999;opacity:0;transform:translateX(100%) scale(.9) rotateY(45deg);transition:all 0.4s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.auto-verify-popup.show{opacity:1;transform:translateX(0) scale(1) rotateY(0deg);pointer-events:auto}.auto-verify-popup .popup-header{padding:20px 24px 16px;border-bottom:1px solid rgba(226,232,240,.6);background:linear-gradient(135deg,rgba(255,255,255,.9) 0%,rgba(248,250,252,.9) 100%);border-radius:20px 20px 0 0;display:flex;align-items:center;gap:16px;position:relative}.auto-verify-popup .popup-header::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent)}.auto-verify-popup .popup-icon{width:44px;height:44px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;position:relative;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.1)}.auto-verify-popup .popup-icon::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.3) 0%,transparent 100%);border-radius:16px}.auto-verify-popup .popup-icon.loading{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);color:#d97706;animation:loading-pulse 2s ease-in-out infinite}.auto-verify-popup .popup-icon.success{background:linear-gradient(135deg,#d1fae5 0%,#a7f3d0 100%);color:#059669;animation:success-bounce 0.6s ease-out}.auto-verify-popup .popup-icon.error{background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%);color:#dc2626;animation:error-shake 0.5s ease-in-out}.auto-verify-popup .popup-icon.warning{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);color:#d97706;animation:warning-glow 1.5s ease-in-out infinite}.auto-verify-popup .popup-title{font-size:18px;font-weight:700;color:#111827;margin:0;background:linear-gradient(135deg,#111827 0%,#374151 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auto-verify-popup .popup-content{padding:20px 24px}.auto-verify-popup .popup-message{font-size:14px;color:#4b5563;margin:0 0 12px 0;line-height:1.5}.auto-verify-popup .popup-details{background:#f9fafb;border-radius:8px;padding:12px;margin-top:12px}.auto-verify-popup .popup-detail-item{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:13px}.auto-verify-popup .popup-detail-label{color:#6b7280;font-weight:500}.auto-verify-popup .popup-detail-value{color:#111827;font-weight:600;max-width:180px;text-align:right;word-break:break-word}.auto-verify-popup .popup-progress{height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden;margin:12px 0 8px}.auto-verify-popup .popup-progress-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#6366f1);border-radius:2px;width:0%;transition:width 0.5s ease}.auto-verify-popup .popup-close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:20px;color:#9ca3af;cursor:pointer;padding:4px;border-radius:4px;transition:color 0.2s}.auto-verify-popup .popup-close:hover{color:#6b7280;background:#f3f4f6}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}@keyframes loading-pulse{0%,100%{transform:scale(1);box-shadow:0 4px 12px rgba(217,119,6,.3)}50%{transform:scale(1.05);box-shadow:0 6px 16px rgba(217,119,6,.4)}}@keyframes success-bounce{0%{transform:scale(.8)}40%{transform:scale(1.1)}60%{transform:scale(.95)}100%{transform:scale(1)}}@keyframes error-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@keyframes warning-glow{0%,100%{box-shadow:0 4px 12px rgba(217,119,6,.3)}50%{box-shadow:0 4px 16px rgba(217,119,6,.5)}}@keyframes slideOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}.donate-float-btn{position:fixed;bottom:30px;right:30px;width:64px;height:64px;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 25px rgba(102, 126, 234, 0.5);transition:transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), opacity 0.4s ease;z-index:9998;color:white;animation:float-bounce 3s ease-in-out infinite;border:3px solid rgba(255, 255, 255, 0.3);transform-origin:center;}.donate-float-btn.hiding{animation:none !important;}.donate-float-btn:hover{transform:scale(1.15) rotate(10deg) !important;box-shadow:0 12px 40px rgba(102, 126, 234, 0.7);}.donate-float-btn:active{transform:scale(0.95) !important;}.donate-pulse{position:absolute;width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);opacity:0;animation:pulse-animation 2s infinite;}.donate-tooltip{position:absolute;top:50%;right:calc(100% + 15px);transform:translateY(-50%);background:rgba(0, 0, 0, 0.85);color:white;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.3s ease, transform 0.3s ease;}.donate-tooltip::after{content:'';position:absolute;top:50%;left:100%;transform:translateY(-50%);border:6px solid transparent;border-left-color:rgba(0, 0, 0, 0.85);}.donate-float-btn:hover .donate-tooltip{opacity:1;transform:translateY(-50%) translateX(-5px);}@keyframes float-bounce{0%, 100%{transform:translateY(0);}50%{transform:translateY(-12px);}}@keyframes pulse-animation{0%{transform:scale(1);opacity:0.8;}50%{transform:scale(1.4);opacity:0.4;}100%{transform:scale(1.8);opacity:0;}}.donate-popup{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.6);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;visibility:hidden;transition:all 0.3s ease;}.donate-popup.show{opacity:1;visibility:visible;}.donate-popup-content{background:#ffffff;border-radius:20px;padding:0;max-width:440px;width:90%;position:relative;box-shadow:0 20px 60px rgba(0, 0, 0, 0.3);transform:scale(0.8) translateY(30px);transition:transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);overflow:hidden;}.donate-popup.show .donate-popup-content{transform:scale(1) translateY(0);}.donate-close-btn{position:absolute;top:16px;right:16px;width:40px;height:40px;border:none;background:rgba(239, 68, 68, 0.15);backdrop-filter:blur(10px);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.3s ease;color:white;z-index:10;border:2px solid rgba(239, 68, 68, 0.3);}button.donate-close-btn{position:fixed !important;}.donate-close-btn svg{transition:transform 0.3s ease;}.donate-close-btn:hover{background:rgba(239, 68, 68, 0.3);transform:scale(1.1);border-color:rgba(239, 68, 68, 0.6);box-shadow:0 4px 12px rgba(239, 68, 68, 0.4);}.donate-close-btn:hover svg{transform:rotate(90deg);}.donate-close-btn:active{transform:scale(0.95);background:rgba(239, 68, 68, 0.4);}.donate-popup-header{text-align:center;padding:35px 30px 25px;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);position:relative;}.donate-popup-title{font-size:32px;font-weight:800;color:white;margin:0 0 10px;letter-spacing:-0.5px;}.donate-popup-subtitle{font-size:15px;color:rgba(255, 255, 255, 0.9);margin:0;font-weight:400;}.donate-popup-body{padding:40px 30px;background:white;}.qr-wrapper{text-align:center;}.qr-container{display:inline-block;background:linear-gradient(135deg, #667eea 0%, #764ba2 100%);padding:25px;border-radius:24px;position:relative;box-shadow:0 10px 40px rgba(102, 126, 234, 0.3);margin-bottom:25px;}.qr-image{width:280px;height:280px;border-radius:16px;display:block;background:white;padding:12px;}.qr-scan-line{position:absolute;top:25px;left:25px;right:25px;height:3px;background:linear-gradient(90deg, transparent, #10b981, transparent);animation:scan 2s ease-in-out infinite;z-index:1;}@keyframes scan{0%, 100%{transform:translateY(0);opacity:0;}50%{opacity:1;}100%{transform:translateY(280px);}}.qr-info{display:inline-flex;align-items:center;gap:10px;background:#f3f4f6;padding:12px 20px;border-radius:50px;font-size:14px;color:rgb(0, 168, 0);font-weight:500;}.qr-info svg{color:#667eea;flex-shrink:0;}@media (max-width:768px){.donate-float-btn{width:56px;height:56px;bottom:20px;right:20px;}.donate-float-btn svg{width:24px;height:24px;}.donate-popup-content{width:95%;max-width:none;}.donate-popup-header{padding:30px 25px 20px;}.donate-popup-title{font-size:28px;}.donate-popup-subtitle{font-size:14px;}.donate-popup-body{padding:35px 25px;}.qr-image{width:200px;height:200px;}.qr-container{padding:16px;margin-bottom:20px;}@keyframes scan{0%, 100%{transform:translateY(0);opacity:0;}50%{opacity:1;}100%{transform:translateY(200px);}}.qr-info{font-size:13px;padding:10px 18px;}.donate-tooltip{display:none;}}@media (max-width:768px){.auto-verify-popup{left:10px;right:10px;max-width:none;min-width:auto;transform:translateY(-100%) scale(.95)}.auto-verify-popup.show{transform:translateY(0) scale(1)}}@media (max-width:1024px){.container{padding:1rem!important}.order-1{margin-bottom:2rem!important}.order-2{margin-top:0!important}#card-canvas{max-width:90vw!important;min-width:320px;width:90vw!important}}@media (max-width:768px){.container{padding:.5rem!important;max-width:100%!important}.flex.flex-col.lg\:flex-row{flex-direction:column!important;gap:1rem!important}.lg\:w-2\/5,.lg\:w-3\/5{width:100%!important;margin-bottom:1rem}.mb-6{margin:.5rem .5rem 1rem;padding:.75rem;font-size:.8rem}.bg-white{padding:1rem!important;margin:.5rem;border-radius:.75rem;margin-bottom:1.5rem!important}.space-y-4>*{margin-bottom:.75rem!important}select,input[type=text],input[type=date]{padding:.4rem!important;font-size:.8rem!important;min-height:36px!important}.custom-file-upload{padding:.4rem .6rem;font-size:.75rem}.border-dashed{padding:.75rem!important}.random-btn{padding:.5rem .8rem;font-size:.75rem;min-width:50px;min-height:38px;border-radius:.5rem}.gap-2{gap:.4rem!important}button{min-height:44px!important;font-size:.85rem!important;padding:.75rem 1rem!important;border-radius:.75rem!important}#copy-email-btn,#copy-school-btn{min-width:38px!important;min-height:38px!important;padding:.4rem!important}label{font-size:.875rem;gap:.4rem;margin-bottom:.4rem}label:before{font-size:1.1em}}@media (max-width:480px){.container{padding:.3rem!important}.bg-white{margin:.3rem!important;padding:.8rem!important;margin-bottom:1.2rem!important}label{font-size:.75rem!important;margin-bottom:.375rem;gap:.35rem}label:before{font-size:1em}select,input[type=text],input[type=date]{font-size:.75rem!important;padding:.35rem!important;min-height:34px!important}.random-btn{padding:.4rem .6rem;font-size:.7rem;min-width:45px;min-height:36px;border-radius:.4rem}#school-email{font-size:.65rem!important;min-height:36px!important}#copy-email-btn,#copy-school-btn{min-width:36px!important;min-height:36px!important;padding:.3rem!important}button{min-height:42px!important;font-size:.8rem!important}}@media (hover:none) and (pointer:coarse){.random-btn{min-height:44px;min-width:44px;touch-action:manipulation;padding:.6rem 1rem}button{min-height:48px;touch-action:manipulation}#copy-email-btn,#copy-school-btn{min-height:44px;min-width:44px;touch-action:manipulation}input,select{min-height:44px;touch-action:manipulation}.custom-file-upload{min-height:48px;touch-action:manipulation}.panel:hover{box-shadow:var(--shadow-sm)}.custom-file-upload:hover{background:linear-gradient(135deg,#fff,#f8fafc);transform:none}.random-btn:hover{background:linear-gradient(135deg,#f8fafc,#e2e8f0);transform:none}}input::placeholder{color:gray;font-style:italic;font-size:14px;opacity:0.8;}