:root{--primary-50:#f0f4ff;--primary-100:#e0e7ff;--primary-200:#c7d2fe;--primary-300:#a5b4fc;--primary-400:#818cf8;--primary-500:#6366f1;--primary-600:#4f46e5;--primary-700:#4338ca;--primary-800:#3730a3;--primary-900:#312e81;--primary-950:#1e1b4b;--gradient-primary:linear-gradient(135deg,#6366f1,#8b5cf6 50%,#a855f7);--gradient-soft:linear-gradient(135deg,#f0f4ff,#e0e7ff);--gradient-glass:linear-gradient(135deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.05));--shadow-soft:0 4px 20px rgba(99,102,241,.1);--shadow-medium:0 8px 30px rgba(99,102,241,.15);--shadow-strong:0 20px 60px rgba(99,102,241,.2);--shadow-inner:inset 0 2px 4px rgba(0,0,0,.06);--radius-sm:12px;--radius-md:20px;--radius-lg:28px;--radius-xl:36px;--radius-full:50px;--transition-fast:all 0.2s cubic-bezier(0.4,0,0.2,1);--transition-smooth:all 0.3s cubic-bezier(0.4,0,0.2,1);--transition-fluid:all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a}*{box-sizing:border-box;margin:0;padding:0}*,html{scroll-behavior:smooth}section[id]{scroll-margin-top:80px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--gradient-soft);color:var(--gray-800);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.glass{background:hsla(0,0%,100%,.25);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.18)}.btn,.btn-primary,.glass{box-shadow:var(--shadow-soft)}.btn,.btn-primary{background:var(--gradient-primary);border:none;border-radius:var(--radius-full);color:#fff;font-weight:600;padding:16px 32px;font-size:16px;cursor:pointer;transition:var(--transition-smooth);position:relative;overflow:hidden}.btn-primary:hover,.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium)}.btn-primary:active,.btn:active{transform:translateY(0);box-shadow:var(--shadow-soft)}.btn:disabled{background:var(--gray-300);cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background:var(--gray-500)}.btn-secondary:hover{background:var(--gray-600)}.card{background:hsla(0,0%,100%,.9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);border:1px solid hsla(0,0%,100%,.2);box-shadow:var(--shadow-soft);transition:var(--transition-smooth);padding:32px;margin-bottom:24px}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium)}.container{max-width:1200px;margin:0 auto;padding:0 24px}.form-group{margin-bottom:24px}.form-label{display:block;margin-bottom:12px;font-weight:600;color:var(--gray-700);font-size:14px;text-transform:uppercase;letter-spacing:.05em}.form-input,.input-fluid{width:100%;background:hsla(0,0%,100%,.8);border:2px solid transparent;border-radius:var(--radius-md);padding:16px 20px;font-size:16px;transition:var(--transition-smooth);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.form-input:focus,.input-fluid:focus{outline:none;border-color:var(--primary-500);background:hsla(0,0%,100%,.95);box-shadow:0 0 0 4px rgba(99,102,241,.1)}.upload-area{border:2px dashed var(--primary-300);border-radius:var(--radius-lg);padding:48px;text-align:center;cursor:pointer;transition:var(--transition-smooth);background:hsla(0,0%,100%,.5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.upload-area:hover{border-color:var(--primary-500);background:hsla(0,0%,100%,.7);transform:translateY(-2px)}.upload-area.dragover{border-color:var(--primary-600);background:rgba(99,102,241,.1);transform:scale(1.02)}.result-section{margin-top:40px}.result-item{background:hsla(0,0%,100%,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-md);padding:24px;margin-bottom:20px;border:1px solid hsla(0,0%,100%,.2);transition:var(--transition-smooth)}.result-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.result-label{font-weight:600;color:var(--gray-600);margin-bottom:12px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.result-value{color:var(--gray-800);line-height:1.6;font-size:16px}.animate-spin,.loading{display:inline-block;width:24px;height:24px;border:3px solid rgba(99,102,241,.2);border-top:3px solid var(--primary-500);border-radius:50%;animation:spin 1s linear infinite}.error{background:rgba(239,68,68,.1);color:#dc2626;border-radius:var(--radius-md);border:1px solid rgba(239,68,68,.2)}.error,.success{padding:16px 20px;margin-bottom:24px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.success{background:rgba(34,197,94,.1);color:#16a34a;border-radius:var(--radius-md);border:1px solid rgba(34,197,94,.2)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.8}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-float{animation:float 6s ease-in-out infinite}.animate-pulse-soft{animation:pulse-soft 2s ease-in-out infinite}.animate-fadeInUp{animation:fadeInUp .6s ease-out}.animate-slideInRight{animation:slideInRight .6s ease-out}.animate-scaleIn{animation:scaleIn .4s ease-out}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--gray-100);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--gradient-primary);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--primary-700)}a{color:var(--primary-600);text-decoration:none;transition:var(--transition-fast)}a:hover{color:var(--primary-700);text-decoration:underline}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--gray-900)}h1{font-size:clamp(2rem,5vw,3.5rem);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h2{font-size:clamp(1.5rem,4vw,2.5rem)}h3{font-size:clamp(1.25rem,3vw,1.875rem)}@media (max-width:768px){.card{border-radius:var(--radius-md);padding:24px}.btn,.btn-primary{padding:14px 28px;font-size:15px}.upload-area{padding:32px 24px}.container{padding:0 16px}}@media (max-width:480px){.card{padding:20px}.btn,.btn-primary{padding:12px 24px;font-size:14px}}